block_io 2.0.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/{.appveyor.yml → .appveyor.yml-disabled} +2 -2
- data/.gitignore +1 -0
- data/.travis.yml +1 -1
- data/LICENSE +1 -1
- data/README.md +14 -13
- data/block_io.gemspec +6 -6
- data/examples/basic.rb +29 -5
- data/examples/dtrust.rb +43 -24
- data/examples/sweeper.rb +21 -16
- data/lib/block_io.rb +3 -2
- data/lib/block_io/api_exception.rb +11 -0
- data/lib/block_io/chainparams/BTC.yml +8 -0
- data/lib/block_io/chainparams/BTCTEST.yml +8 -0
- data/lib/block_io/chainparams/DOGE.yml +8 -0
- data/lib/block_io/chainparams/DOGETEST.yml +8 -0
- data/lib/block_io/chainparams/LTC.yml +8 -0
- data/lib/block_io/chainparams/LTCTEST.yml +8 -0
- data/lib/block_io/client.rb +143 -79
- data/lib/block_io/extended_bitcoinrb.rb +127 -0
- data/lib/block_io/helper.rb +137 -39
- data/lib/block_io/key.rb +11 -124
- data/lib/block_io/version.rb +1 -1
- data/spec/client_misc_spec.rb +76 -0
- data/spec/client_spec.rb +23 -178
- data/spec/dtrust_spec.rb +167 -0
- data/spec/helper_spec.rb +1 -1
- data/spec/key_spec.rb +50 -19
- data/spec/larger_transaction_spec.rb +351 -0
- data/spec/sweep_spec.rb +115 -0
- data/spec/test-cases/.gitignore +2 -0
- data/spec/test-cases/LICENSE +21 -0
- data/spec/test-cases/README.md +2 -0
- data/spec/test-cases/json/create_and_sign_transaction_response.json +61 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_P2WSH-over-P2SH_1of2_251inputs.json +1261 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_P2WSH-over-P2SH_1of2_252inputs.json +1266 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_P2WSH-over-P2SH_1of2_253inputs.json +1271 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_P2WSH-over-P2SH_1of2_762inputs.json +3816 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2SH_3of5_195inputs.json +2931 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2SH_4of5_195inputs.json +5 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_3of5_251inputs.json +3771 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_3of5_252inputs.json +3786 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_3of5_253inputs.json +3801 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_4of5_251inputs.json +5 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_4of5_252inputs.json +5 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_4of5_253inputs.json +5 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_3of5_251inputs.json +3771 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_3of5_252inputs.json +3786 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_3of5_253inputs.json +3801 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_4of5_251inputs.json +5 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_4of5_252inputs.json +5 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_4of5_253inputs.json +5 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_p2sh_3_of_5_keys.json +21 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_p2sh_4_of_5_keys.json +5 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_p2wsh_over_p2sh_3_of_5_keys.json +21 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_p2wsh_over_p2sh_4_of_5_keys.json +5 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_3_of_5_keys.json +36 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_3of5_251outputs.json +591 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_3of5_252outputs.json +576 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_3of5_253outputs.json +531 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_4_of_5_keys.json +5 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_4of5_251outputs.json +5 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_4of5_252outputs.json +5 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_4of5_253outputs.json +5 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_sweep_p2pkh.json +5 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_sweep_p2wpkh.json +5 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_sweep_p2wpkh_over_p2sh.json +5 -0
- data/spec/test-cases/json/create_and_sign_transaction_response_with_blockio_fee_and_expected_unsigned_txid.json +21 -0
- data/spec/test-cases/json/get_balance_response.json +8 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_P2SH_3of5_195inputs.json +1397 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_P2SH_4of5_195inputs.json +1397 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_3of5_251inputs.json +1795 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_3of5_252inputs.json +1802 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_3of5_253inputs.json +1809 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_4of5_251inputs.json +1789 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_4of5_252inputs.json +1802 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_4of5_253inputs.json +1809 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_3of5_251inputs.json +1795 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_3of5_252inputs.json +1802 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_3of5_253inputs.json +1809 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_4of5_251inputs.json +1795 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_4of5_252inputs.json +1802 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_4of5_253inputs.json +1809 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_p2sh.json +45 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_p2wsh_over_p2sh.json +45 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0.json +52 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_3of5_251outputs.json +1805 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_3of5_252outputs.json +1804 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_3of5_253outputs.json +1789 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_4of5_251outputs.json +1805 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_4of5_252outputs.json +1804 -0
- data/spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_4of5_253outputs.json +1789 -0
- data/spec/test-cases/json/prepare_sweep_transaction_response_p2pkh.json +35 -0
- data/spec/test-cases/json/prepare_sweep_transaction_response_p2wpkh.json +35 -0
- data/spec/test-cases/json/prepare_sweep_transaction_response_p2wpkh_over_p2sh.json +35 -0
- data/spec/test-cases/json/prepare_transaction_response.json +164 -0
- data/spec/test-cases/json/prepare_transaction_response_P2WSH-over-P2SH_1of2_251inputs.json +1796 -0
- data/spec/test-cases/json/prepare_transaction_response_P2WSH-over-P2SH_1of2_252inputs.json +1803 -0
- data/spec/test-cases/json/prepare_transaction_response_P2WSH-over-P2SH_1of2_253inputs.json +1810 -0
- data/spec/test-cases/json/prepare_transaction_response_P2WSH-over-P2SH_1of2_762inputs.json +5367 -0
- data/spec/test-cases/json/prepare_transaction_response_with_blockio_fee_and_expected_unsigned_txid.json +76 -0
- data/spec/test-cases/json/summarize_prepared_transaction_response_with_blockio_fee_and_expected_unsigned_txid.json +6 -0
- metadata +187 -45
- data/examples/max_withdrawal.rb +0 -29
- data/lib/block_io/constants.rb +0 -10
- data/spec/data/sign_and_finalize_dtrust_withdrawal_request.json +0 -1
- data/spec/data/sign_and_finalize_sweep_request.json +0 -1
- data/spec/data/sign_and_finalize_withdrawal_request.json +0 -4
- data/spec/data/sweep_from_address_response.json +0 -1
- data/spec/data/withdraw_from_dtrust_address_response.json +0 -1
- data/spec/data/withdraw_response.json +0 -1227
- data/spec/rfc6979_spec.rb +0 -59
- data/spec/withdraw_spec.rb +0 -90
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"status": "success",
|
|
3
|
+
"data": {
|
|
4
|
+
"network": "LTCTEST",
|
|
5
|
+
"tx_type": "basic",
|
|
6
|
+
"inputs": [
|
|
7
|
+
{
|
|
8
|
+
"input_index": 0,
|
|
9
|
+
"previous_txid": "5d5d9a902f572449786ce65a586481dfa646f66f8500cadbed811eaf82370630",
|
|
10
|
+
"previous_output_index": 0,
|
|
11
|
+
"input_value": "0.00249485",
|
|
12
|
+
"spending_address": "Qjgm6PfqcCmQr31DKnnch7zwG7sFpVc7xb"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"input_index": 1,
|
|
16
|
+
"previous_txid": "adc348dcfed62799718e375d9097fa71d2a321c9137c4a52067a13181203ead4",
|
|
17
|
+
"previous_output_index": 0,
|
|
18
|
+
"input_value": "0.00090000",
|
|
19
|
+
"spending_address": "QN7WkTwGmTxEnK4EpzsspPofsKPXvjLKxC"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"input_index": 2,
|
|
23
|
+
"previous_txid": "9ffa4dceac8b09fb099fb0ebcc5d0bcb132c98b3e8a2b1381d8d9654f82a5cf0",
|
|
24
|
+
"previous_output_index": 1,
|
|
25
|
+
"input_value": "0.17464160",
|
|
26
|
+
"spending_address": "QN7WkTwGmTxEnK4EpzsspPofsKPXvjLKxC"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"outputs": [
|
|
30
|
+
{
|
|
31
|
+
"output_index": 0,
|
|
32
|
+
"output_category": "user-specified",
|
|
33
|
+
"output_value": "0.01234500",
|
|
34
|
+
"receiving_address": "QN9ShoLwKTnW7ms7bfSrH7YgMPh2cjUkdi"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"output_index": 1,
|
|
38
|
+
"output_category": "blockio-fee",
|
|
39
|
+
"output_value": "0.00012345",
|
|
40
|
+
"receiving_address": "tltc1qyhn4wkpzt0e8qm7a9kk8v0cpxn775wlqfgl32s20n00p3q5q7uksc4xqfe"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"output_index": 2,
|
|
44
|
+
"output_category": "change",
|
|
45
|
+
"output_value": "0.16546580",
|
|
46
|
+
"receiving_address": "QN7WkTwGmTxEnK4EpzsspPofsKPXvjLKxC"
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"input_address_data": [
|
|
50
|
+
{
|
|
51
|
+
"required_signatures": 2,
|
|
52
|
+
"public_keys": [
|
|
53
|
+
"0325e036e22b3ee1593baba8052e92505a11446a1ba3e8bc3f9f74b17f2e6b6a3e",
|
|
54
|
+
"034309721935937713a2dd1c33c5c44a10a30674bebe0542aeb145ce4c9790e742"
|
|
55
|
+
],
|
|
56
|
+
"address": "Qjgm6PfqcCmQr31DKnnch7zwG7sFpVc7xb",
|
|
57
|
+
"address_type": "P2WSH-over-P2SH"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"required_signatures": 2,
|
|
61
|
+
"public_keys": [
|
|
62
|
+
"03b934de0933b8b80051530d353f5fb22ec7e5d6233d8b6bf2ddcaf7119e2f4fe7",
|
|
63
|
+
"034309721935937713a2dd1c33c5c44a10a30674bebe0542aeb145ce4c9790e742"
|
|
64
|
+
],
|
|
65
|
+
"address": "QN7WkTwGmTxEnK4EpzsspPofsKPXvjLKxC",
|
|
66
|
+
"address_type": "P2WSH-over-P2SH"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"user_key": {
|
|
70
|
+
"public_key": "034309721935937713a2dd1c33c5c44a10a30674bebe0542aeb145ce4c9790e742",
|
|
71
|
+
"encrypted_passphrase": "UMT6oOUQf/hRNCdiSc3HAHRdn95G9iSxvU5pqTCveqaQxpVShoyCBfgDOfzbgrk3Cw4oNY0sBStoWqCc4ha4kFXBblt/6DzxV7YBD2lDkjGYdrYISrGG+kAHEbLxcVwHL/6Feep9ve3NgvCSEV0MTrm2HBNfX1ke/+XBoYhn7ZX9QioLnUJW5ZH1OkSdM849"
|
|
72
|
+
},
|
|
73
|
+
"estimated_tx_size": 511,
|
|
74
|
+
"expected_unsigned_txid": "4ee43869f50d226686a0ad0949e4adeb02f4d93bb7ea2efda62dfc36f2a1b0b7"
|
|
75
|
+
}
|
|
76
|
+
}
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: block_io
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 3.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Atif Nazir
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-05-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -36,20 +36,20 @@ dependencies:
|
|
|
36
36
|
requirements:
|
|
37
37
|
- - "~>"
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '
|
|
39
|
+
version: '13.0'
|
|
40
40
|
- - ">="
|
|
41
41
|
- !ruby/object:Gem::Version
|
|
42
|
-
version:
|
|
42
|
+
version: '13.0'
|
|
43
43
|
type: :development
|
|
44
44
|
prerelease: false
|
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
|
46
46
|
requirements:
|
|
47
47
|
- - "~>"
|
|
48
48
|
- !ruby/object:Gem::Version
|
|
49
|
-
version: '
|
|
49
|
+
version: '13.0'
|
|
50
50
|
- - ">="
|
|
51
51
|
- !ruby/object:Gem::Version
|
|
52
|
-
version:
|
|
52
|
+
version: '13.0'
|
|
53
53
|
- !ruby/object:Gem::Dependency
|
|
54
54
|
name: rspec
|
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -76,7 +76,7 @@ dependencies:
|
|
|
76
76
|
requirements:
|
|
77
77
|
- - "~>"
|
|
78
78
|
- !ruby/object:Gem::Version
|
|
79
|
-
version: '3.
|
|
79
|
+
version: '3.12'
|
|
80
80
|
- - "<"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
82
|
version: '4.0'
|
|
@@ -86,30 +86,30 @@ dependencies:
|
|
|
86
86
|
requirements:
|
|
87
87
|
- - "~>"
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '3.
|
|
89
|
+
version: '3.12'
|
|
90
90
|
- - "<"
|
|
91
91
|
- !ruby/object:Gem::Version
|
|
92
92
|
version: '4.0'
|
|
93
93
|
- !ruby/object:Gem::Dependency
|
|
94
|
-
name:
|
|
94
|
+
name: bitcoinrb
|
|
95
95
|
requirement: !ruby/object:Gem::Requirement
|
|
96
96
|
requirements:
|
|
97
97
|
- - "~>"
|
|
98
98
|
- !ruby/object:Gem::Version
|
|
99
|
-
version:
|
|
100
|
-
- -
|
|
99
|
+
version: 0.7.0
|
|
100
|
+
- - '='
|
|
101
101
|
- !ruby/object:Gem::Version
|
|
102
|
-
version:
|
|
102
|
+
version: 0.7.0
|
|
103
103
|
type: :runtime
|
|
104
104
|
prerelease: false
|
|
105
105
|
version_requirements: !ruby/object:Gem::Requirement
|
|
106
106
|
requirements:
|
|
107
107
|
- - "~>"
|
|
108
108
|
- !ruby/object:Gem::Version
|
|
109
|
-
version:
|
|
110
|
-
- -
|
|
109
|
+
version: 0.7.0
|
|
110
|
+
- - '='
|
|
111
111
|
- !ruby/object:Gem::Version
|
|
112
|
-
version:
|
|
112
|
+
version: 0.7.0
|
|
113
113
|
- !ruby/object:Gem::Dependency
|
|
114
114
|
name: http
|
|
115
115
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -136,27 +136,27 @@ dependencies:
|
|
|
136
136
|
requirements:
|
|
137
137
|
- - "~>"
|
|
138
138
|
- !ruby/object:Gem::Version
|
|
139
|
-
version: 3.
|
|
139
|
+
version: '3.11'
|
|
140
140
|
- - ">="
|
|
141
141
|
- !ruby/object:Gem::Version
|
|
142
|
-
version: '3.
|
|
142
|
+
version: '3.11'
|
|
143
143
|
type: :runtime
|
|
144
144
|
prerelease: false
|
|
145
145
|
version_requirements: !ruby/object:Gem::Requirement
|
|
146
146
|
requirements:
|
|
147
147
|
- - "~>"
|
|
148
148
|
- !ruby/object:Gem::Version
|
|
149
|
-
version: 3.
|
|
149
|
+
version: '3.11'
|
|
150
150
|
- - ">="
|
|
151
151
|
- !ruby/object:Gem::Version
|
|
152
|
-
version: '3.
|
|
152
|
+
version: '3.11'
|
|
153
153
|
- !ruby/object:Gem::Dependency
|
|
154
154
|
name: connection_pool
|
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
|
156
156
|
requirements:
|
|
157
157
|
- - "~>"
|
|
158
158
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: 2.2.
|
|
159
|
+
version: 2.2.5
|
|
160
160
|
- - ">="
|
|
161
161
|
- !ruby/object:Gem::Version
|
|
162
162
|
version: '2.2'
|
|
@@ -166,7 +166,7 @@ dependencies:
|
|
|
166
166
|
requirements:
|
|
167
167
|
- - "~>"
|
|
168
168
|
- !ruby/object:Gem::Version
|
|
169
|
-
version: 2.2.
|
|
169
|
+
version: 2.2.5
|
|
170
170
|
- - ">="
|
|
171
171
|
- !ruby/object:Gem::Version
|
|
172
172
|
version: '2.2'
|
|
@@ -179,7 +179,7 @@ executables: []
|
|
|
179
179
|
extensions: []
|
|
180
180
|
extra_rdoc_files: []
|
|
181
181
|
files:
|
|
182
|
-
- ".appveyor.yml"
|
|
182
|
+
- ".appveyor.yml-disabled"
|
|
183
183
|
- ".gitignore"
|
|
184
184
|
- ".rspec"
|
|
185
185
|
- ".travis.yml"
|
|
@@ -190,32 +190,106 @@ files:
|
|
|
190
190
|
- block_io.gemspec
|
|
191
191
|
- examples/basic.rb
|
|
192
192
|
- examples/dtrust.rb
|
|
193
|
-
- examples/max_withdrawal.rb
|
|
194
193
|
- examples/proxy.rb
|
|
195
194
|
- examples/sweeper.rb
|
|
196
195
|
- lib/block_io.rb
|
|
196
|
+
- lib/block_io/api_exception.rb
|
|
197
|
+
- lib/block_io/chainparams/BTC.yml
|
|
198
|
+
- lib/block_io/chainparams/BTCTEST.yml
|
|
199
|
+
- lib/block_io/chainparams/DOGE.yml
|
|
200
|
+
- lib/block_io/chainparams/DOGETEST.yml
|
|
201
|
+
- lib/block_io/chainparams/LTC.yml
|
|
202
|
+
- lib/block_io/chainparams/LTCTEST.yml
|
|
197
203
|
- lib/block_io/client.rb
|
|
198
|
-
- lib/block_io/
|
|
204
|
+
- lib/block_io/extended_bitcoinrb.rb
|
|
199
205
|
- lib/block_io/helper.rb
|
|
200
206
|
- lib/block_io/key.rb
|
|
201
207
|
- lib/block_io/version.rb
|
|
208
|
+
- spec/client_misc_spec.rb
|
|
202
209
|
- spec/client_spec.rb
|
|
203
|
-
- spec/
|
|
204
|
-
- spec/data/sign_and_finalize_sweep_request.json
|
|
205
|
-
- spec/data/sign_and_finalize_withdrawal_request.json
|
|
206
|
-
- spec/data/sweep_from_address_response.json
|
|
207
|
-
- spec/data/withdraw_from_dtrust_address_response.json
|
|
208
|
-
- spec/data/withdraw_response.json
|
|
210
|
+
- spec/dtrust_spec.rb
|
|
209
211
|
- spec/helper_spec.rb
|
|
210
212
|
- spec/key_spec.rb
|
|
211
|
-
- spec/
|
|
213
|
+
- spec/larger_transaction_spec.rb
|
|
212
214
|
- spec/spec_helper.rb
|
|
213
|
-
- spec/
|
|
215
|
+
- spec/sweep_spec.rb
|
|
216
|
+
- spec/test-cases/.gitignore
|
|
217
|
+
- spec/test-cases/LICENSE
|
|
218
|
+
- spec/test-cases/README.md
|
|
219
|
+
- spec/test-cases/json/create_and_sign_transaction_response.json
|
|
220
|
+
- spec/test-cases/json/create_and_sign_transaction_response_P2WSH-over-P2SH_1of2_251inputs.json
|
|
221
|
+
- spec/test-cases/json/create_and_sign_transaction_response_P2WSH-over-P2SH_1of2_252inputs.json
|
|
222
|
+
- spec/test-cases/json/create_and_sign_transaction_response_P2WSH-over-P2SH_1of2_253inputs.json
|
|
223
|
+
- spec/test-cases/json/create_and_sign_transaction_response_P2WSH-over-P2SH_1of2_762inputs.json
|
|
224
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2SH_3of5_195inputs.json
|
|
225
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2SH_4of5_195inputs.json
|
|
226
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_3of5_251inputs.json
|
|
227
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_3of5_252inputs.json
|
|
228
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_3of5_253inputs.json
|
|
229
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_4of5_251inputs.json
|
|
230
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_4of5_252inputs.json
|
|
231
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_4of5_253inputs.json
|
|
232
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_3of5_251inputs.json
|
|
233
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_3of5_252inputs.json
|
|
234
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_3of5_253inputs.json
|
|
235
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_4of5_251inputs.json
|
|
236
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_4of5_252inputs.json
|
|
237
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_4of5_253inputs.json
|
|
238
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_p2sh_3_of_5_keys.json
|
|
239
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_p2sh_4_of_5_keys.json
|
|
240
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_p2wsh_over_p2sh_3_of_5_keys.json
|
|
241
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_p2wsh_over_p2sh_4_of_5_keys.json
|
|
242
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_3_of_5_keys.json
|
|
243
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_3of5_251outputs.json
|
|
244
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_3of5_252outputs.json
|
|
245
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_3of5_253outputs.json
|
|
246
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_4_of_5_keys.json
|
|
247
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_4of5_251outputs.json
|
|
248
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_4of5_252outputs.json
|
|
249
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_4of5_253outputs.json
|
|
250
|
+
- spec/test-cases/json/create_and_sign_transaction_response_sweep_p2pkh.json
|
|
251
|
+
- spec/test-cases/json/create_and_sign_transaction_response_sweep_p2wpkh.json
|
|
252
|
+
- spec/test-cases/json/create_and_sign_transaction_response_sweep_p2wpkh_over_p2sh.json
|
|
253
|
+
- spec/test-cases/json/create_and_sign_transaction_response_with_blockio_fee_and_expected_unsigned_txid.json
|
|
254
|
+
- spec/test-cases/json/get_balance_response.json
|
|
255
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_P2SH_3of5_195inputs.json
|
|
256
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_P2SH_4of5_195inputs.json
|
|
257
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_3of5_251inputs.json
|
|
258
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_3of5_252inputs.json
|
|
259
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_3of5_253inputs.json
|
|
260
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_4of5_251inputs.json
|
|
261
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_4of5_252inputs.json
|
|
262
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_4of5_253inputs.json
|
|
263
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_3of5_251inputs.json
|
|
264
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_3of5_252inputs.json
|
|
265
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_3of5_253inputs.json
|
|
266
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_4of5_251inputs.json
|
|
267
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_4of5_252inputs.json
|
|
268
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_4of5_253inputs.json
|
|
269
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_p2sh.json
|
|
270
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_p2wsh_over_p2sh.json
|
|
271
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0.json
|
|
272
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_3of5_251outputs.json
|
|
273
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_3of5_252outputs.json
|
|
274
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_3of5_253outputs.json
|
|
275
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_4of5_251outputs.json
|
|
276
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_4of5_252outputs.json
|
|
277
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_4of5_253outputs.json
|
|
278
|
+
- spec/test-cases/json/prepare_sweep_transaction_response_p2pkh.json
|
|
279
|
+
- spec/test-cases/json/prepare_sweep_transaction_response_p2wpkh.json
|
|
280
|
+
- spec/test-cases/json/prepare_sweep_transaction_response_p2wpkh_over_p2sh.json
|
|
281
|
+
- spec/test-cases/json/prepare_transaction_response.json
|
|
282
|
+
- spec/test-cases/json/prepare_transaction_response_P2WSH-over-P2SH_1of2_251inputs.json
|
|
283
|
+
- spec/test-cases/json/prepare_transaction_response_P2WSH-over-P2SH_1of2_252inputs.json
|
|
284
|
+
- spec/test-cases/json/prepare_transaction_response_P2WSH-over-P2SH_1of2_253inputs.json
|
|
285
|
+
- spec/test-cases/json/prepare_transaction_response_P2WSH-over-P2SH_1of2_762inputs.json
|
|
286
|
+
- spec/test-cases/json/prepare_transaction_response_with_blockio_fee_and_expected_unsigned_txid.json
|
|
287
|
+
- spec/test-cases/json/summarize_prepared_transaction_response_with_blockio_fee_and_expected_unsigned_txid.json
|
|
214
288
|
homepage: https://block.io/api/simple/ruby
|
|
215
289
|
licenses:
|
|
216
290
|
- MIT
|
|
217
291
|
metadata: {}
|
|
218
|
-
post_install_message:
|
|
292
|
+
post_install_message:
|
|
219
293
|
rdoc_options: []
|
|
220
294
|
require_paths:
|
|
221
295
|
- lib
|
|
@@ -223,28 +297,96 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
223
297
|
requirements:
|
|
224
298
|
- - ">="
|
|
225
299
|
- !ruby/object:Gem::Version
|
|
226
|
-
version: 2.
|
|
300
|
+
version: 2.4.0
|
|
227
301
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
228
302
|
requirements:
|
|
229
303
|
- - ">="
|
|
230
304
|
- !ruby/object:Gem::Version
|
|
231
305
|
version: '0'
|
|
232
306
|
requirements: []
|
|
233
|
-
rubygems_version: 3.
|
|
234
|
-
signing_key:
|
|
307
|
+
rubygems_version: 3.2.15
|
|
308
|
+
signing_key:
|
|
235
309
|
specification_version: 4
|
|
236
310
|
summary: An easy to use Dogecoin, Bitcoin, Litecoin wallet API by Block.io. Sign up
|
|
237
311
|
required at Block.io.
|
|
238
312
|
test_files:
|
|
313
|
+
- spec/client_misc_spec.rb
|
|
239
314
|
- spec/client_spec.rb
|
|
240
|
-
- spec/
|
|
241
|
-
- spec/data/sign_and_finalize_sweep_request.json
|
|
242
|
-
- spec/data/sign_and_finalize_withdrawal_request.json
|
|
243
|
-
- spec/data/sweep_from_address_response.json
|
|
244
|
-
- spec/data/withdraw_from_dtrust_address_response.json
|
|
245
|
-
- spec/data/withdraw_response.json
|
|
315
|
+
- spec/dtrust_spec.rb
|
|
246
316
|
- spec/helper_spec.rb
|
|
247
317
|
- spec/key_spec.rb
|
|
248
|
-
- spec/
|
|
318
|
+
- spec/larger_transaction_spec.rb
|
|
249
319
|
- spec/spec_helper.rb
|
|
250
|
-
- spec/
|
|
320
|
+
- spec/sweep_spec.rb
|
|
321
|
+
- spec/test-cases/.gitignore
|
|
322
|
+
- spec/test-cases/LICENSE
|
|
323
|
+
- spec/test-cases/README.md
|
|
324
|
+
- spec/test-cases/json/create_and_sign_transaction_response.json
|
|
325
|
+
- spec/test-cases/json/create_and_sign_transaction_response_P2WSH-over-P2SH_1of2_251inputs.json
|
|
326
|
+
- spec/test-cases/json/create_and_sign_transaction_response_P2WSH-over-P2SH_1of2_252inputs.json
|
|
327
|
+
- spec/test-cases/json/create_and_sign_transaction_response_P2WSH-over-P2SH_1of2_253inputs.json
|
|
328
|
+
- spec/test-cases/json/create_and_sign_transaction_response_P2WSH-over-P2SH_1of2_762inputs.json
|
|
329
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2SH_3of5_195inputs.json
|
|
330
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2SH_4of5_195inputs.json
|
|
331
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_3of5_251inputs.json
|
|
332
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_3of5_252inputs.json
|
|
333
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_3of5_253inputs.json
|
|
334
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_4of5_251inputs.json
|
|
335
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_4of5_252inputs.json
|
|
336
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_P2WSH-over-P2SH_4of5_253inputs.json
|
|
337
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_3of5_251inputs.json
|
|
338
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_3of5_252inputs.json
|
|
339
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_3of5_253inputs.json
|
|
340
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_4of5_251inputs.json
|
|
341
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_4of5_252inputs.json
|
|
342
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_WITNESS_V0_4of5_253inputs.json
|
|
343
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_p2sh_3_of_5_keys.json
|
|
344
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_p2sh_4_of_5_keys.json
|
|
345
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_p2wsh_over_p2sh_3_of_5_keys.json
|
|
346
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_p2wsh_over_p2sh_4_of_5_keys.json
|
|
347
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_3_of_5_keys.json
|
|
348
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_3of5_251outputs.json
|
|
349
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_3of5_252outputs.json
|
|
350
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_3of5_253outputs.json
|
|
351
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_4_of_5_keys.json
|
|
352
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_4of5_251outputs.json
|
|
353
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_4of5_252outputs.json
|
|
354
|
+
- spec/test-cases/json/create_and_sign_transaction_response_dtrust_witness_v0_4of5_253outputs.json
|
|
355
|
+
- spec/test-cases/json/create_and_sign_transaction_response_sweep_p2pkh.json
|
|
356
|
+
- spec/test-cases/json/create_and_sign_transaction_response_sweep_p2wpkh.json
|
|
357
|
+
- spec/test-cases/json/create_and_sign_transaction_response_sweep_p2wpkh_over_p2sh.json
|
|
358
|
+
- spec/test-cases/json/create_and_sign_transaction_response_with_blockio_fee_and_expected_unsigned_txid.json
|
|
359
|
+
- spec/test-cases/json/get_balance_response.json
|
|
360
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_P2SH_3of5_195inputs.json
|
|
361
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_P2SH_4of5_195inputs.json
|
|
362
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_3of5_251inputs.json
|
|
363
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_3of5_252inputs.json
|
|
364
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_3of5_253inputs.json
|
|
365
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_4of5_251inputs.json
|
|
366
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_4of5_252inputs.json
|
|
367
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_P2WSH-over-P2SH_4of5_253inputs.json
|
|
368
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_3of5_251inputs.json
|
|
369
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_3of5_252inputs.json
|
|
370
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_3of5_253inputs.json
|
|
371
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_4of5_251inputs.json
|
|
372
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_4of5_252inputs.json
|
|
373
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_WITNESS_V0_4of5_253inputs.json
|
|
374
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_p2sh.json
|
|
375
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_p2wsh_over_p2sh.json
|
|
376
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0.json
|
|
377
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_3of5_251outputs.json
|
|
378
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_3of5_252outputs.json
|
|
379
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_3of5_253outputs.json
|
|
380
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_4of5_251outputs.json
|
|
381
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_4of5_252outputs.json
|
|
382
|
+
- spec/test-cases/json/prepare_dtrust_transaction_response_witness_v0_4of5_253outputs.json
|
|
383
|
+
- spec/test-cases/json/prepare_sweep_transaction_response_p2pkh.json
|
|
384
|
+
- spec/test-cases/json/prepare_sweep_transaction_response_p2wpkh.json
|
|
385
|
+
- spec/test-cases/json/prepare_sweep_transaction_response_p2wpkh_over_p2sh.json
|
|
386
|
+
- spec/test-cases/json/prepare_transaction_response.json
|
|
387
|
+
- spec/test-cases/json/prepare_transaction_response_P2WSH-over-P2SH_1of2_251inputs.json
|
|
388
|
+
- spec/test-cases/json/prepare_transaction_response_P2WSH-over-P2SH_1of2_252inputs.json
|
|
389
|
+
- spec/test-cases/json/prepare_transaction_response_P2WSH-over-P2SH_1of2_253inputs.json
|
|
390
|
+
- spec/test-cases/json/prepare_transaction_response_P2WSH-over-P2SH_1of2_762inputs.json
|
|
391
|
+
- spec/test-cases/json/prepare_transaction_response_with_blockio_fee_and_expected_unsigned_txid.json
|
|
392
|
+
- spec/test-cases/json/summarize_prepared_transaction_response_with_blockio_fee_and_expected_unsigned_txid.json
|
data/examples/max_withdrawal.rb
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# withdraws maximum balance to a given destination in a single transaction
|
|
2
|
-
# you will need to repeat this if a single transaction does not suffice for withdrawing the entire balance
|
|
3
|
-
# for error handling, please check response['data']['status'] != 'success'
|
|
4
|
-
|
|
5
|
-
require 'block_io'
|
|
6
|
-
|
|
7
|
-
blockio = BlockIo::Client.new(:api_key => ENV['API_KEY'], :pin => ENV['PIN'], :version => 2)
|
|
8
|
-
puts blockio.get_balance
|
|
9
|
-
puts blockio.network
|
|
10
|
-
|
|
11
|
-
TO_ADDRESS = ENV['TO_ADDRESS']
|
|
12
|
-
|
|
13
|
-
raise "must specify a TO_ADDRESS" unless TO_ADDRESS.to_s.size > 0
|
|
14
|
-
|
|
15
|
-
total_balance = blockio.get_balance['data']['available_balance']
|
|
16
|
-
|
|
17
|
-
puts " -- total balance: #{total_balance} #{blockio.network}"
|
|
18
|
-
|
|
19
|
-
while true do
|
|
20
|
-
response = blockio.withdraw(:to_address => TO_ADDRESS, :amount => total_balance)
|
|
21
|
-
maximum_withdrawable_balance = response['data']['max_withdrawal_available']
|
|
22
|
-
break if BigDecimal(maximum_withdrawable_balance).zero?
|
|
23
|
-
puts blockio.withdraw(:to_address => TO_ADDRESS, :amount => maximum_withdrawable_balance)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
final_balance = blockio.get_balance['data']['available_balance']
|
|
27
|
-
|
|
28
|
-
puts " -- final balance: #{final_balance} #{blockio.network}"
|
|
29
|
-
|