Skip to content

Commit 309fb6d

Browse files
committed
indented transaction folder doctests further so they're documented correctly
1 parent 853dbdd commit 309fb6d

File tree

11 files changed

+260
-263
lines changed

11 files changed

+260
-263
lines changed

lib/transaction/decoder.ex

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -16,36 +16,36 @@ defmodule BitcoinLib.Transaction.Decoder do
1616
Converts a bitstring into a %Transaction{}
1717
1818
## Examples
19-
iex> <<0x01000000017b1eabe0209b1fe794124575ef807057c77ada2138ae4fa8d6c4de0398a14f3f0000000000ffffffff01f0ca052a010000001976a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac92040000::680>>
20-
...> |> BitcoinLib.Transaction.Decoder.to_struct()
21-
{
22-
:ok,
23-
%BitcoinLib.Transaction{
24-
version: 1,
25-
id: "b1caa607a324ed9132c3d894d2cf7a22d59cdb4022bd8827c49e2f0d8ca018c6",
26-
inputs: [
27-
%BitcoinLib.Transaction.Input{
28-
txid: "3f4fa19803dec4d6a84fae3821da7ac7577080ef75451294e71f9b20e0ab1e7b",
29-
vout: 0,
30-
script_sig: [],
31-
sequence: 4294967295
32-
}
33-
],
34-
outputs: [
35-
%BitcoinLib.Transaction.Output{
36-
value: 4999990000,
37-
script_pub_key: [
38-
%BitcoinLib.Script.Opcodes.Stack.Dup{},
39-
%BitcoinLib.Script.Opcodes.Crypto.Hash160{},
40-
%BitcoinLib.Script.Opcodes.Data{value: <<0xcbc20a7664f2f69e5355aa427045bc15e7c6c772::160>>},
41-
%BitcoinLib.Script.Opcodes.BitwiseLogic.EqualVerify{},
42-
%BitcoinLib.Script.Opcodes.Crypto.CheckSig{script: <<0x76a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac::200>>}
43-
]
44-
}
45-
],
46-
locktime: 1170
19+
iex> <<0x01000000017b1eabe0209b1fe794124575ef807057c77ada2138ae4fa8d6c4de0398a14f3f0000000000ffffffff01f0ca052a010000001976a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac92040000::680>>
20+
...> |> BitcoinLib.Transaction.Decoder.to_struct()
21+
{
22+
:ok,
23+
%BitcoinLib.Transaction{
24+
version: 1,
25+
id: "b1caa607a324ed9132c3d894d2cf7a22d59cdb4022bd8827c49e2f0d8ca018c6",
26+
inputs: [
27+
%BitcoinLib.Transaction.Input{
28+
txid: "3f4fa19803dec4d6a84fae3821da7ac7577080ef75451294e71f9b20e0ab1e7b",
29+
vout: 0,
30+
script_sig: [],
31+
sequence: 4294967295
32+
}
33+
],
34+
outputs: [
35+
%BitcoinLib.Transaction.Output{
36+
value: 4999990000,
37+
script_pub_key: [
38+
%BitcoinLib.Script.Opcodes.Stack.Dup{},
39+
%BitcoinLib.Script.Opcodes.Crypto.Hash160{},
40+
%BitcoinLib.Script.Opcodes.Data{value: <<0xcbc20a7664f2f69e5355aa427045bc15e7c6c772::160>>},
41+
%BitcoinLib.Script.Opcodes.BitwiseLogic.EqualVerify{},
42+
%BitcoinLib.Script.Opcodes.Crypto.CheckSig{script: <<0x76a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac::200>>}
43+
]
44+
}
45+
],
46+
locktime: 1170
47+
}
4748
}
48-
}
4949
"""
5050
@spec to_struct(bitstring()) :: {:ok, %Transaction{}} | {:error, binary()}
5151
def to_struct(encoded_transaction) do

lib/transaction/encoder.ex

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -16,37 +16,37 @@ defmodule BitcoinLib.Transaction.Encoder do
1616
Encodes a transaction in binary format from a structure
1717
1818
## Examples
19-
iex> transaction = %BitcoinLib.Transaction{
20-
...> inputs: [
21-
...> %BitcoinLib.Transaction.Input{
22-
...> script_sig: nil,
23-
...> sequence: 0xFFFFFFFF,
24-
...> txid: "5e2383defe7efcbdc9fdd6dba55da148b206617bbb49e6bb93fce7bfbb459d44",
25-
...> vout: 1
26-
...> }
27-
...> ],
28-
...> outputs: [
29-
...> %BitcoinLib.Transaction.Output{
30-
...> script_pub_key: [
31-
...> %BitcoinLib.Script.Opcodes.Stack.Dup{},
32-
...> %BitcoinLib.Script.Opcodes.Crypto.Hash160{},
33-
...> %BitcoinLib.Script.Opcodes.Data{value: <<0xf86f0bc0a2232970ccdf4569815db500f1268361::160>>},
34-
...> %BitcoinLib.Script.Opcodes.BitwiseLogic.EqualVerify{},
35-
...> %BitcoinLib.Script.Opcodes.Crypto.CheckSig{}
36-
...> ],
37-
...> value: 129000000
38-
...> }
39-
...> ],
40-
...> locktime: 0,
41-
...> version: 1
42-
...> }
43-
...> BitcoinLib.Transaction.Encoder.from_struct(transaction)
44-
<<1, 0, 0, 0>> <> # version
45-
<<1>> <> # input_count
46-
<<0x449d45bbbfe7fc93bbe649bb7b6106b248a15da5dbd6fdc9bdfc7efede83235e0100000000ffffffff::328>> <> # inputs
47-
<<1>> <> # output_count
48-
<<0x4062b007000000001976a914f86f0bc0a2232970ccdf4569815db500f126836188ac::272>> <> # outputs
49-
<<0, 0, 0, 0>> # locktime
19+
iex> transaction = %BitcoinLib.Transaction{
20+
...> inputs: [
21+
...> %BitcoinLib.Transaction.Input{
22+
...> script_sig: nil,
23+
...> sequence: 0xFFFFFFFF,
24+
...> txid: "5e2383defe7efcbdc9fdd6dba55da148b206617bbb49e6bb93fce7bfbb459d44",
25+
...> vout: 1
26+
...> }
27+
...> ],
28+
...> outputs: [
29+
...> %BitcoinLib.Transaction.Output{
30+
...> script_pub_key: [
31+
...> %BitcoinLib.Script.Opcodes.Stack.Dup{},
32+
...> %BitcoinLib.Script.Opcodes.Crypto.Hash160{},
33+
...> %BitcoinLib.Script.Opcodes.Data{value: <<0xf86f0bc0a2232970ccdf4569815db500f1268361::160>>},
34+
...> %BitcoinLib.Script.Opcodes.BitwiseLogic.EqualVerify{},
35+
...> %BitcoinLib.Script.Opcodes.Crypto.CheckSig{}
36+
...> ],
37+
...> value: 129000000
38+
...> }
39+
...> ],
40+
...> locktime: 0,
41+
...> version: 1
42+
...> }
43+
...> BitcoinLib.Transaction.Encoder.from_struct(transaction)
44+
<<1, 0, 0, 0>> <> # version
45+
<<1>> <> # input_count
46+
<<0x449d45bbbfe7fc93bbe649bb7b6106b248a15da5dbd6fdc9bdfc7efede83235e0100000000ffffffff::328>> <> # inputs
47+
<<1>> <> # output_count
48+
<<0x4062b007000000001976a914f86f0bc0a2232970ccdf4569815db500f126836188ac::272>> <> # outputs
49+
<<0, 0, 0, 0>> # locktime
5050
"""
5151
@spec from_struct(%Transaction{}) :: bitstring()
5252
def from_struct(%Transaction{} = transaction) do

lib/transaction/input.ex

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,18 @@ defmodule BitcoinLib.Transaction.Input do
1515
Extracts a transaction input from a bitstring
1616
1717
## Examples
18-
iex> <<0x7b1eabe0209b1fe794124575ef807057c77ada2138ae4fa8d6c4de0398a14f3f0000000000ffffffff01f0ca052a010000001976a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac00000000::640>>
19-
...> |> BitcoinLib.Transaction.Input.extract_from()
20-
{
21-
:ok,
22-
%BitcoinLib.Transaction.Input{
23-
txid: "3f4fa19803dec4d6a84fae3821da7ac7577080ef75451294e71f9b20e0ab1e7b",
24-
vout: 0,
25-
script_sig: [],
26-
sequence: 4294967295
27-
},
28-
<<0x01f0ca052a010000001976a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac00000000::312>>
29-
}
18+
iex> <<0x7b1eabe0209b1fe794124575ef807057c77ada2138ae4fa8d6c4de0398a14f3f0000000000ffffffff01f0ca052a010000001976a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac00000000::640>>
19+
...> |> BitcoinLib.Transaction.Input.extract_from()
20+
{
21+
:ok,
22+
%BitcoinLib.Transaction.Input{
23+
txid: "3f4fa19803dec4d6a84fae3821da7ac7577080ef75451294e71f9b20e0ab1e7b",
24+
vout: 0,
25+
script_sig: [],
26+
sequence: 4294967295
27+
},
28+
<<0x01f0ca052a010000001976a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac00000000::312>>
29+
}
3030
"""
3131
@spec extract_from(binary()) :: {:ok, %Input{}, bitstring()} | {:error, binary()}
3232
def extract_from(<<txid::little-256, vout::little-32, remaining::bitstring>>) do
@@ -54,13 +54,12 @@ defmodule BitcoinLib.Transaction.Input do
5454
Encodes an input into a bitstring
5555
5656
## Examples
57-
58-
iex> %BitcoinLib.Transaction.Input{
59-
...> sequence: 0xFFFFFFFF,
60-
...> txid: "5e2383defe7efcbdc9fdd6dba55da148b206617bbb49e6bb93fce7bfbb459d44",
61-
...> vout: 1
62-
...> } |> BitcoinLib.Transaction.Input.encode()
63-
<<0x449d45bbbfe7fc93bbe649bb7b6106b248a15da5dbd6fdc9bdfc7efede83235e0100000000ffffffff::328>>
57+
iex> %BitcoinLib.Transaction.Input{
58+
...> sequence: 0xFFFFFFFF,
59+
...> txid: "5e2383defe7efcbdc9fdd6dba55da148b206617bbb49e6bb93fce7bfbb459d44",
60+
...> vout: 1
61+
...> } |> BitcoinLib.Transaction.Input.encode()
62+
<<0x449d45bbbfe7fc93bbe649bb7b6106b248a15da5dbd6fdc9bdfc7efede83235e0100000000ffffffff::328>>
6463
"""
6564
@spec encode(%Input{}) :: bitstring()
6665
def encode(%Input{} = input) do

lib/transaction/input_list.ex

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,20 @@ defmodule BitcoinLib.Transaction.InputList do
99
Extracts a given number of inputs from a bitstring
1010
1111
## Examples
12-
iex> input_count = 1
13-
...> <<0x7b1eabe0209b1fe794124575ef807057c77ada2138ae4fa8d6c4de0398a14f3f0000000000ffffffff01f0ca052a010000001976a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac00000000::640>>
14-
...> |> BitcoinLib.Transaction.InputList.extract(input_count)
15-
{
16-
:ok,
17-
[
18-
%BitcoinLib.Transaction.Input{
19-
txid: "3f4fa19803dec4d6a84fae3821da7ac7577080ef75451294e71f9b20e0ab1e7b",
20-
vout: 0,
21-
script_sig: [],
22-
sequence: 4294967295}
23-
],
24-
<<0x01f0ca052a010000001976a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac00000000::312>>
25-
}
12+
iex> input_count = 1
13+
...> <<0x7b1eabe0209b1fe794124575ef807057c77ada2138ae4fa8d6c4de0398a14f3f0000000000ffffffff01f0ca052a010000001976a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac00000000::640>>
14+
...> |> BitcoinLib.Transaction.InputList.extract(input_count)
15+
{
16+
:ok,
17+
[
18+
%BitcoinLib.Transaction.Input{
19+
txid: "3f4fa19803dec4d6a84fae3821da7ac7577080ef75451294e71f9b20e0ab1e7b",
20+
vout: 0,
21+
script_sig: [],
22+
sequence: 4294967295}
23+
],
24+
<<0x01f0ca052a010000001976a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac00000000::312>>
25+
}
2626
"""
2727
@spec extract(bitstring(), integer()) ::
2828
{:ok, list(%Input{}), bitstring()} | {:error, binary()}

lib/transaction/output.ex

Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,22 @@ defmodule BitcoinLib.Transaction.Output do
1515
Extracts a transaction output from a bitstring
1616
1717
## Examples
18-
iex> <<0xf0ca052a010000001976a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac00000000::304>>
19-
...> |> BitcoinLib.Transaction.Output.extract_from
20-
{
21-
:ok,
22-
%BitcoinLib.Transaction.Output{
23-
value: 4999990000,
24-
script_pub_key: [
25-
%BitcoinLib.Script.Opcodes.Stack.Dup{},
26-
%BitcoinLib.Script.Opcodes.Crypto.Hash160{},
27-
%BitcoinLib.Script.Opcodes.Data{value: <<0xcbc20a7664f2f69e5355aa427045bc15e7c6c772::160>>},
28-
%BitcoinLib.Script.Opcodes.BitwiseLogic.EqualVerify{},
29-
%BitcoinLib.Script.Opcodes.Crypto.CheckSig{script: <<0x76a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac::200>>}
30-
]
31-
},
32-
<<0, 0, 0, 0>>
33-
}
18+
iex> <<0xf0ca052a010000001976a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac00000000::304>>
19+
...> |> BitcoinLib.Transaction.Output.extract_from
20+
{
21+
:ok,
22+
%BitcoinLib.Transaction.Output{
23+
value: 4999990000,
24+
script_pub_key: [
25+
%BitcoinLib.Script.Opcodes.Stack.Dup{},
26+
%BitcoinLib.Script.Opcodes.Crypto.Hash160{},
27+
%BitcoinLib.Script.Opcodes.Data{value: <<0xcbc20a7664f2f69e5355aa427045bc15e7c6c772::160>>},
28+
%BitcoinLib.Script.Opcodes.BitwiseLogic.EqualVerify{},
29+
%BitcoinLib.Script.Opcodes.Crypto.CheckSig{script: <<0x76a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac::200>>}
30+
]
31+
},
32+
<<0, 0, 0, 0>>
33+
}
3434
"""
3535
@spec extract_from(binary()) :: {:ok, %Output{}, bitstring()} | {:error, binary()}
3636
def extract_from(<<value::little-64, remaining::bitstring>>) do
@@ -48,20 +48,19 @@ defmodule BitcoinLib.Transaction.Output do
4848
Encodes an output into a bitstring
4949
5050
## Examples
51-
52-
iex> %BitcoinLib.Transaction.Output{
53-
...> script_pub_key: [
54-
...> %BitcoinLib.Script.Opcodes.Stack.Dup{},
55-
...> %BitcoinLib.Script.Opcodes.Crypto.Hash160{},
56-
...> %BitcoinLib.Script.Opcodes.Data{value: <<0xf86f0bc0a2232970ccdf4569815db500f1268361::160>>},
57-
...> %BitcoinLib.Script.Opcodes.BitwiseLogic.EqualVerify{},
58-
...> %BitcoinLib.Script.Opcodes.Crypto.CheckSig{}
59-
...> ],
60-
...> value: 129000000
61-
...> } |> BitcoinLib.Transaction.Output.encode
62-
<<0x4062b00700000000::64>> <> # value
63-
<<0x19::8>> <> # script_pub_key size
64-
<<0x76a914f86f0bc0a2232970ccdf4569815db500f126836188ac::200>> # script_pub_key
51+
iex> %BitcoinLib.Transaction.Output{
52+
...> script_pub_key: [
53+
...> %BitcoinLib.Script.Opcodes.Stack.Dup{},
54+
...> %BitcoinLib.Script.Opcodes.Crypto.Hash160{},
55+
...> %BitcoinLib.Script.Opcodes.Data{value: <<0xf86f0bc0a2232970ccdf4569815db500f1268361::160>>},
56+
...> %BitcoinLib.Script.Opcodes.BitwiseLogic.EqualVerify{},
57+
...> %BitcoinLib.Script.Opcodes.Crypto.CheckSig{}
58+
...> ],
59+
...> value: 129000000
60+
...> } |> BitcoinLib.Transaction.Output.encode
61+
<<0x4062b00700000000::64>> <> # value
62+
<<0x19::8>> <> # script_pub_key size
63+
<<0x76a914f86f0bc0a2232970ccdf4569815db500f126836188ac::200>> # script_pub_key
6564
"""
6665
@spec encode(%Output{}) :: bitstring()
6766
def encode(%Output{} = output) do

lib/transaction/output_list.ex

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,25 @@ defmodule BitcoinLib.Transaction.OutputList do
99
Extracts a given number of outputs from a bitstring
1010
1111
## Examples
12-
iex> output_count = 1
13-
...> <<0xf0ca052a010000001976a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac00000000::304>>
14-
...> |> BitcoinLib.Transaction.OutputList.extract(output_count)
15-
{
16-
:ok,
17-
[
18-
%BitcoinLib.Transaction.Output{
19-
value: 4999990000,
20-
script_pub_key: [
21-
%BitcoinLib.Script.Opcodes.Stack.Dup{},
22-
%BitcoinLib.Script.Opcodes.Crypto.Hash160{},
23-
%BitcoinLib.Script.Opcodes.Data{value: <<0xcbc20a7664f2f69e5355aa427045bc15e7c6c772::160>>},
24-
%BitcoinLib.Script.Opcodes.BitwiseLogic.EqualVerify{},
25-
%BitcoinLib.Script.Opcodes.Crypto.CheckSig{script: <<0x76a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac::200>>}
26-
]
27-
}
28-
],
29-
<<0, 0, 0, 0>>
30-
}
12+
iex> output_count = 1
13+
...> <<0xf0ca052a010000001976a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac00000000::304>>
14+
...> |> BitcoinLib.Transaction.OutputList.extract(output_count)
15+
{
16+
:ok,
17+
[
18+
%BitcoinLib.Transaction.Output{
19+
value: 4999990000,
20+
script_pub_key: [
21+
%BitcoinLib.Script.Opcodes.Stack.Dup{},
22+
%BitcoinLib.Script.Opcodes.Crypto.Hash160{},
23+
%BitcoinLib.Script.Opcodes.Data{value: <<0xcbc20a7664f2f69e5355aa427045bc15e7c6c772::160>>},
24+
%BitcoinLib.Script.Opcodes.BitwiseLogic.EqualVerify{},
25+
%BitcoinLib.Script.Opcodes.Crypto.CheckSig{script: <<0x76a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac::200>>}
26+
]
27+
}
28+
],
29+
<<0, 0, 0, 0>>
30+
}
3131
"""
3232
@spec extract(bitstring(), integer()) ::
3333
{:ok, list(%Output{}), bitstring()} | {:error, binary()}

lib/transaction/signer.ex

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,27 @@ defmodule BitcoinLib.Transaction.Signer do
1212
Takes a transaction and signs it with the private key that's in the second parameter
1313
1414
## Examples
15-
iex> private_key = BitcoinLib.Key.PrivateKey.from_seed_phrase(
16-
...> "rally celery split order almost twenty ignore record legend learn chaos decade"
17-
...> )
18-
...> %BitcoinLib.Transaction{
19-
...> version: 1,
20-
...> inputs: [
21-
...> %BitcoinLib.Transaction.Input{
22-
...> txid: "e4c226432a9319d603b2ed1fa609bffe4cd91f89b3176a9e73b19f7891a92bb6",
23-
...> vout: 0,
24-
...> sequence: 0xFFFFFFFF,
25-
...> script_sig: <<0x76A914AFC3E518577316386188AF748A816CD14CE333F288AC::200>> |> BitcoinLib.Script.parse!()
26-
...> }
27-
...> ],
28-
...> outputs: [%BitcoinLib.Transaction.Output{
29-
...> script_pub_key: <<0x76a9283265393261373463333431393661303236653839653061643561633431386366393430613361663288ac::360>> |> BitcoinLib.Script.parse!(),
30-
...> value: 10_000}
31-
...> ],
32-
...> locktime: 0
33-
...> }
34-
...> |> BitcoinLib.Transaction.Signer.sign_and_encode(private_key)
35-
"0100000001b62ba991789fb1739e6a17b3891fd94cfebf09a61fedb203d619932a4326c2e4000000006a47304402207d2ff650acf4bd2f413dc04ded50fbbfc315bcb0aa97636b3c4caf55333d1c6a02207590f62363b2263b3d9b65dad3cd56e840e0d61dc0feab8f7e7956831c7e5103012102702ded1cca9816fa1a94787ffc6f3ace62cd3b63164f76d227d0935a33ee48c3ffffffff0110270000000000002d76a9283265393261373463333431393661303236653839653061643561633431386366393430613361663288ac00000000"
15+
iex> private_key = BitcoinLib.Key.PrivateKey.from_seed_phrase(
16+
...> "rally celery split order almost twenty ignore record legend learn chaos decade"
17+
...> )
18+
...> %BitcoinLib.Transaction{
19+
...> version: 1,
20+
...> inputs: [
21+
...> %BitcoinLib.Transaction.Input{
22+
...> txid: "e4c226432a9319d603b2ed1fa609bffe4cd91f89b3176a9e73b19f7891a92bb6",
23+
...> vout: 0,
24+
...> sequence: 0xFFFFFFFF,
25+
...> script_sig: <<0x76A914AFC3E518577316386188AF748A816CD14CE333F288AC::200>> |> BitcoinLib.Script.parse!()
26+
...> }
27+
...> ],
28+
...> outputs: [%BitcoinLib.Transaction.Output{
29+
...> script_pub_key: <<0x76a9283265393261373463333431393661303236653839653061643561633431386366393430613361663288ac::360>> |> BitcoinLib.Script.parse!(),
30+
...> value: 10_000}
31+
...> ],
32+
...> locktime: 0
33+
...> }
34+
...> |> BitcoinLib.Transaction.Signer.sign_and_encode(private_key)
35+
"0100000001b62ba991789fb1739e6a17b3891fd94cfebf09a61fedb203d619932a4326c2e4000000006a47304402207d2ff650acf4bd2f413dc04ded50fbbfc315bcb0aa97636b3c4caf55333d1c6a02207590f62363b2263b3d9b65dad3cd56e840e0d61dc0feab8f7e7956831c7e5103012102702ded1cca9816fa1a94787ffc6f3ace62cd3b63164f76d227d0935a33ee48c3ffffffff0110270000000000002d76a9283265393261373463333431393661303236653839653061643561633431386366393430613361663288ac00000000"
3636
"""
3737
@spec sign_and_encode(%Transaction{}, %PrivateKey{}) :: binary()
3838
def sign_and_encode(%Transaction{} = transaction, %PrivateKey{} = private_key) do

0 commit comments

Comments
 (0)