bit_wallet 0.2.0 → 0.3.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.
Files changed (41) hide show
  1. data/.gitmodules +1 -1
  2. data/Gemfile +6 -0
  3. data/README.md +1 -0
  4. data/bit_wallet.gemspec +1 -1
  5. data/lib/bit_wallet/account.rb +20 -0
  6. data/lib/bit_wallet/transaction.rb +9 -8
  7. data/lib/bit_wallet/version.rb +1 -1
  8. data/spec/bit_wallet/account_spec.rb +16 -0
  9. data/spec/fixtures/vcr_cassettes/BitWallet_Account/_balance/should_be_able_to_override_the_min_conf.yml +87 -13
  10. data/spec/fixtures/vcr_cassettes/BitWallet_Account/_balance/should_default_to_the_config_min_conf.yml +87 -13
  11. data/spec/fixtures/vcr_cassettes/BitWallet_Account/_balance/should_return_the_balance_of_the_account.yml +93 -19
  12. data/spec/fixtures/vcr_cassettes/BitWallet_Account/_recent_transactions/should_default_to_list_10_transactions.yml +146 -72
  13. data/spec/fixtures/vcr_cassettes/BitWallet_Account/_recent_transactions/when_transaction_limit_is_6/should_list_the_6_most_recent_transactions.yml +119 -45
  14. data/spec/fixtures/vcr_cassettes/BitWallet_Account/_send_amount/_to_is_a_BitWallet_Address/should_send_it_to_the_address_of_the_given_BitWallet_Address.yml +101 -27
  15. data/spec/fixtures/vcr_cassettes/BitWallet_Account/_send_amount/account_does_not_have_enough_money/should_fail_with_the_InsufficientFunds_error.yml +96 -22
  16. data/spec/fixtures/vcr_cassettes/BitWallet_Account/_send_amount/should_send_money_to_the_given_address.yml +98 -24
  17. data/spec/fixtures/vcr_cassettes/BitWallet_Account/_send_many/should_send_the_amounts_of_money_to_the_specified_accounts.yml +262 -0
  18. data/spec/fixtures/vcr_cassettes/BitWallet_Account/_total_received/should_return_the_total_amount_received_by_the_address.yml +4 -4
  19. data/spec/fixtures/vcr_cassettes/BitWallet_Account/addresses/.yml +4 -4
  20. data/spec/fixtures/vcr_cassettes/BitWallet_Account/on_initialization/should_be_assigned_that_name.yml +87 -13
  21. data/spec/fixtures/vcr_cassettes/BitWallet_Account/on_initialization/should_have_a_default_name.yml +4 -4
  22. data/spec/fixtures/vcr_cassettes/BitWallet_Account/on_initialization/when_the_account_name_already_exists/should_return_that_same_address.yml +87 -13
  23. data/spec/fixtures/vcr_cassettes/BitWallet_Account/wallet/.yml +4 -4
  24. data/spec/fixtures/vcr_cassettes/BitWallet_Accounts/_includes_account_name_account_/should_return_true_if_the_array_includes_the_account.yml +121 -10
  25. data/spec/fixtures/vcr_cassettes/BitWallet_Accounts/_new/should_create_a_new_BitWallet_Account_with_a_default_address.yml +121 -10
  26. data/spec/fixtures/vcr_cassettes/BitWallet_Accounts/_with_balance/should_return_accounts_with_a_balance_0.yml +480 -36
  27. data/spec/fixtures/vcr_cassettes/BitWallet_Accounts/wallet/.yml +118 -7
  28. data/spec/fixtures/vcr_cassettes/BitWallet_Address/_total_received/should_return_the_total_amount_received_by_the_address.yml +8 -8
  29. data/spec/fixtures/vcr_cassettes/BitWallet_Address/account/.yml +8 -8
  30. data/spec/fixtures/vcr_cassettes/BitWallet_Address/on_initialization/address_given_already_exists/should_not_create_an_address.yml +4 -4
  31. data/spec/fixtures/vcr_cassettes/BitWallet_Address/on_initialization/no_address_is_given/should_create_an_address.yml +8 -8
  32. data/spec/fixtures/vcr_cassettes/BitWallet_Addresses/_new/with_address_string_given/should_return_an_Address_with_the_given_address_string.yml +4 -4
  33. data/spec/fixtures/vcr_cassettes/BitWallet_Addresses/_new/without_any_address_string_given/should_return_an_Address_that_points_to_the_same_account.yml +8 -8
  34. data/spec/fixtures/vcr_cassettes/BitWallet_Addresses/account/.yml +4 -4
  35. data/spec/fixtures/vcr_cassettes/BitWallet_Addresses/new/.yml +8 -8
  36. data/spec/fixtures/vcr_cassettes/BitWallet_Transaction/on_initialization/should_be_able_to_take_a_bitcoind_hash.yml +235 -13
  37. data/spec/fixtures/vcr_cassettes/BitWallet_Wallet/_accounts/should_return_array_of_BitWallet_Accounts.yml +268 -9
  38. data/spec/fixtures/vcr_cassettes/BitWallet_Wallet/_recent_transactions/should_allow_overriding_of_the_transaction_limit.yml +280 -58
  39. data/spec/fixtures/vcr_cassettes/BitWallet_Wallet/_recent_transactions/should_return_the_most_recent_transactions_of_all_accounts_defaulting_to_10_transactions.yml +297 -75
  40. metadata +8 -8
  41. data/spec/fixtures/vcr_cassettes/BitWallet_Account/_recent_transactions/when_transaction_limit_is_5/should_list_the_5_most_recent_transactions.yml +0 -447
@@ -4,7 +4,7 @@ http_interactions:
4
4
  method: post
5
5
  uri: http://admin1:123@localhost:19001/
6
6
  body:
7
- encoding: UTF-8
7
+ encoding: US-ASCII
8
8
  string: ! '{"method":"getnewaddress","params":["name"],"id":"jsonrpc"}'
9
9
  headers:
10
10
  Accept:
@@ -21,7 +21,7 @@ http_interactions:
21
21
  message: OK
22
22
  headers:
23
23
  Date:
24
- - Thu, 07 Mar 2013 10:20:07 +0000
24
+ - Sun, 07 Apr 2013 10:00:21 +0000
25
25
  Connection:
26
26
  - keep-alive
27
27
  Content-Length:
@@ -32,9 +32,9 @@ http_interactions:
32
32
  - bitcoin-json-rpc/v0.7.2-beta
33
33
  body:
34
34
  encoding: US-ASCII
35
- string: ! '{"result":"mi487X6jj8ggY6FAoG8ibv7qomcq9TXL1U","error":null,"id":"jsonrpc"}
35
+ string: ! '{"result":"moXfvvK5sNGbVgd6JLhhwuvHUtBhj69nnN","error":null,"id":"jsonrpc"}
36
36
 
37
37
  '
38
38
  http_version:
39
- recorded_at: Thu, 07 Mar 2013 10:20:07 GMT
39
+ recorded_at: Sun, 07 Apr 2013 10:00:21 GMT
40
40
  recorded_with: VCR 2.4.0
@@ -21,22 +21,22 @@ http_interactions:
21
21
  message: OK
22
22
  headers:
23
23
  Date:
24
- - Sat, 09 Mar 2013 05:20:03 +0000
24
+ - Sun, 07 Apr 2013 10:01:30 +0000
25
25
  Connection:
26
26
  - keep-alive
27
27
  Content-Length:
28
- - '58'
28
+ - '134'
29
29
  Content-Type:
30
30
  - application/json
31
31
  Server:
32
32
  - bitcoin-json-rpc/v0.7.2-beta
33
33
  body:
34
34
  encoding: US-ASCII
35
- string: ! '{"result":{"":8800.00000000},"error":null,"id":"jsonrpc"}
35
+ string: ! '{"result":{"":8390.28800000,"1":0.00000000,"accountname":0.00000000,"name":0.00000000,"nona":0.00000000},"error":null,"id":"jsonrpc"}
36
36
 
37
37
  '
38
38
  http_version:
39
- recorded_at: Sat, 09 Mar 2013 05:20:03 GMT
39
+ recorded_at: Sun, 07 Apr 2013 10:01:30 GMT
40
40
  - request:
41
41
  method: post
42
42
  uri: http://admin1:123@localhost:19001/
@@ -58,7 +58,7 @@ http_interactions:
58
58
  message: OK
59
59
  headers:
60
60
  Date:
61
- - Sat, 09 Mar 2013 05:20:03 +0000
61
+ - Sun, 07 Apr 2013 10:01:30 +0000
62
62
  Connection:
63
63
  - keep-alive
64
64
  Content-Length:
@@ -69,11 +69,48 @@ http_interactions:
69
69
  - bitcoin-json-rpc/v0.7.2-beta
70
70
  body:
71
71
  encoding: US-ASCII
72
- string: ! '{"result":"mi487X6jj8ggY6FAoG8ibv7qomcq9TXL1U","error":null,"id":"jsonrpc"}
72
+ string: ! '{"result":"mqbVEXYz1M21DtyKiUsXW8QMcmrWGzBhCx","error":null,"id":"jsonrpc"}
73
73
 
74
74
  '
75
75
  http_version:
76
- recorded_at: Sat, 09 Mar 2013 05:20:03 GMT
76
+ recorded_at: Sun, 07 Apr 2013 10:01:30 GMT
77
+ - request:
78
+ method: post
79
+ uri: http://admin1:123@localhost:19001/
80
+ body:
81
+ encoding: US-ASCII
82
+ string: ! '{"method":"getnewaddress","params":["1"],"id":"jsonrpc"}'
83
+ headers:
84
+ Accept:
85
+ - ! '*/*; q=0.5, application/xml'
86
+ Accept-Encoding:
87
+ - gzip, deflate
88
+ Content-Length:
89
+ - '56'
90
+ User-Agent:
91
+ - Ruby
92
+ response:
93
+ status:
94
+ code: 200
95
+ message: OK
96
+ headers:
97
+ Date:
98
+ - Sun, 07 Apr 2013 10:01:30 +0000
99
+ Connection:
100
+ - keep-alive
101
+ Content-Length:
102
+ - '76'
103
+ Content-Type:
104
+ - application/json
105
+ Server:
106
+ - bitcoin-json-rpc/v0.7.2-beta
107
+ body:
108
+ encoding: US-ASCII
109
+ string: ! '{"result":"mnpsmghNDva6Gw2cSgiZAYkAyMmgQQSveM","error":null,"id":"jsonrpc"}
110
+
111
+ '
112
+ http_version:
113
+ recorded_at: Sun, 07 Apr 2013 10:01:30 GMT
77
114
  - request:
78
115
  method: post
79
116
  uri: http://admin1:123@localhost:19001/
@@ -95,7 +132,81 @@ http_interactions:
95
132
  message: OK
96
133
  headers:
97
134
  Date:
98
- - Sat, 09 Mar 2013 05:20:03 +0000
135
+ - Sun, 07 Apr 2013 10:01:30 +0000
136
+ Connection:
137
+ - keep-alive
138
+ Content-Length:
139
+ - '76'
140
+ Content-Type:
141
+ - application/json
142
+ Server:
143
+ - bitcoin-json-rpc/v0.7.2-beta
144
+ body:
145
+ encoding: US-ASCII
146
+ string: ! '{"result":"n15EXYdojKMbj9sq1kEDB1eFce1kXSBMUh","error":null,"id":"jsonrpc"}
147
+
148
+ '
149
+ http_version:
150
+ recorded_at: Sun, 07 Apr 2013 10:01:30 GMT
151
+ - request:
152
+ method: post
153
+ uri: http://admin1:123@localhost:19001/
154
+ body:
155
+ encoding: US-ASCII
156
+ string: ! '{"method":"getnewaddress","params":["name"],"id":"jsonrpc"}'
157
+ headers:
158
+ Accept:
159
+ - ! '*/*; q=0.5, application/xml'
160
+ Accept-Encoding:
161
+ - gzip, deflate
162
+ Content-Length:
163
+ - '59'
164
+ User-Agent:
165
+ - Ruby
166
+ response:
167
+ status:
168
+ code: 200
169
+ message: OK
170
+ headers:
171
+ Date:
172
+ - Sun, 07 Apr 2013 10:01:30 +0000
173
+ Connection:
174
+ - keep-alive
175
+ Content-Length:
176
+ - '76'
177
+ Content-Type:
178
+ - application/json
179
+ Server:
180
+ - bitcoin-json-rpc/v0.7.2-beta
181
+ body:
182
+ encoding: US-ASCII
183
+ string: ! '{"result":"mrrnQswEAtzt9MxMKYXck5rRN3rdCPHTis","error":null,"id":"jsonrpc"}
184
+
185
+ '
186
+ http_version:
187
+ recorded_at: Sun, 07 Apr 2013 10:01:30 GMT
188
+ - request:
189
+ method: post
190
+ uri: http://admin1:123@localhost:19001/
191
+ body:
192
+ encoding: US-ASCII
193
+ string: ! '{"method":"getnewaddress","params":["nona"],"id":"jsonrpc"}'
194
+ headers:
195
+ Accept:
196
+ - ! '*/*; q=0.5, application/xml'
197
+ Accept-Encoding:
198
+ - gzip, deflate
199
+ Content-Length:
200
+ - '59'
201
+ User-Agent:
202
+ - Ruby
203
+ response:
204
+ status:
205
+ code: 200
206
+ message: OK
207
+ headers:
208
+ Date:
209
+ - Sun, 07 Apr 2013 10:01:30 +0000
99
210
  Connection:
100
211
  - keep-alive
101
212
  Content-Length:
@@ -106,9 +217,9 @@ http_interactions:
106
217
  - bitcoin-json-rpc/v0.7.2-beta
107
218
  body:
108
219
  encoding: US-ASCII
109
- string: ! '{"result":"mkwWW2pnqFkDfH5esHxXBNARTN7GnUDpsv","error":null,"id":"jsonrpc"}
220
+ string: ! '{"result":"mqwmvncHVmcALtE9dp7PCzHNPsigTFTo1L","error":null,"id":"jsonrpc"}
110
221
 
111
222
  '
112
223
  http_version:
113
- recorded_at: Sat, 09 Mar 2013 05:20:03 GMT
224
+ recorded_at: Sun, 07 Apr 2013 10:01:30 GMT
114
225
  recorded_with: VCR 2.4.0
@@ -21,22 +21,22 @@ http_interactions:
21
21
  message: OK
22
22
  headers:
23
23
  Date:
24
- - Sat, 09 Mar 2013 05:19:59 +0000
24
+ - Sun, 07 Apr 2013 10:01:27 +0000
25
25
  Connection:
26
26
  - keep-alive
27
27
  Content-Length:
28
- - '58'
28
+ - '109'
29
29
  Content-Type:
30
30
  - application/json
31
31
  Server:
32
32
  - bitcoin-json-rpc/v0.7.2-beta
33
33
  body:
34
34
  encoding: US-ASCII
35
- string: ! '{"result":{"":8800.00000000},"error":null,"id":"jsonrpc"}
35
+ string: ! '{"result":{"":8390.28800000,"1":0.00000000,"name":0.00000000,"nona":0.00000000},"error":null,"id":"jsonrpc"}
36
36
 
37
37
  '
38
38
  http_version:
39
- recorded_at: Sat, 09 Mar 2013 05:19:59 GMT
39
+ recorded_at: Sun, 07 Apr 2013 10:01:27 GMT
40
40
  - request:
41
41
  method: post
42
42
  uri: http://admin1:123@localhost:19001/
@@ -58,7 +58,7 @@ http_interactions:
58
58
  message: OK
59
59
  headers:
60
60
  Date:
61
- - Sat, 09 Mar 2013 05:19:59 +0000
61
+ - Sun, 07 Apr 2013 10:01:27 +0000
62
62
  Connection:
63
63
  - keep-alive
64
64
  Content-Length:
@@ -69,11 +69,122 @@ http_interactions:
69
69
  - bitcoin-json-rpc/v0.7.2-beta
70
70
  body:
71
71
  encoding: US-ASCII
72
- string: ! '{"result":"mi487X6jj8ggY6FAoG8ibv7qomcq9TXL1U","error":null,"id":"jsonrpc"}
72
+ string: ! '{"result":"mmpdgQGwKydXLLYcjgpd9hMCzzjUrmdpws","error":null,"id":"jsonrpc"}
73
73
 
74
74
  '
75
75
  http_version:
76
- recorded_at: Sat, 09 Mar 2013 05:19:59 GMT
76
+ recorded_at: Sun, 07 Apr 2013 10:01:27 GMT
77
+ - request:
78
+ method: post
79
+ uri: http://admin1:123@localhost:19001/
80
+ body:
81
+ encoding: US-ASCII
82
+ string: ! '{"method":"getnewaddress","params":["1"],"id":"jsonrpc"}'
83
+ headers:
84
+ Accept:
85
+ - ! '*/*; q=0.5, application/xml'
86
+ Accept-Encoding:
87
+ - gzip, deflate
88
+ Content-Length:
89
+ - '56'
90
+ User-Agent:
91
+ - Ruby
92
+ response:
93
+ status:
94
+ code: 200
95
+ message: OK
96
+ headers:
97
+ Date:
98
+ - Sun, 07 Apr 2013 10:01:27 +0000
99
+ Connection:
100
+ - keep-alive
101
+ Content-Length:
102
+ - '76'
103
+ Content-Type:
104
+ - application/json
105
+ Server:
106
+ - bitcoin-json-rpc/v0.7.2-beta
107
+ body:
108
+ encoding: US-ASCII
109
+ string: ! '{"result":"n4g2q5DiwZBWdoRi1DiPLTHekhhS7ica6w","error":null,"id":"jsonrpc"}
110
+
111
+ '
112
+ http_version:
113
+ recorded_at: Sun, 07 Apr 2013 10:01:27 GMT
114
+ - request:
115
+ method: post
116
+ uri: http://admin1:123@localhost:19001/
117
+ body:
118
+ encoding: US-ASCII
119
+ string: ! '{"method":"getnewaddress","params":["name"],"id":"jsonrpc"}'
120
+ headers:
121
+ Accept:
122
+ - ! '*/*; q=0.5, application/xml'
123
+ Accept-Encoding:
124
+ - gzip, deflate
125
+ Content-Length:
126
+ - '59'
127
+ User-Agent:
128
+ - Ruby
129
+ response:
130
+ status:
131
+ code: 200
132
+ message: OK
133
+ headers:
134
+ Date:
135
+ - Sun, 07 Apr 2013 10:01:27 +0000
136
+ Connection:
137
+ - keep-alive
138
+ Content-Length:
139
+ - '76'
140
+ Content-Type:
141
+ - application/json
142
+ Server:
143
+ - bitcoin-json-rpc/v0.7.2-beta
144
+ body:
145
+ encoding: US-ASCII
146
+ string: ! '{"result":"mv18oru1tE6bzzpo1mGdkU2V5XH5q4apqa","error":null,"id":"jsonrpc"}
147
+
148
+ '
149
+ http_version:
150
+ recorded_at: Sun, 07 Apr 2013 10:01:27 GMT
151
+ - request:
152
+ method: post
153
+ uri: http://admin1:123@localhost:19001/
154
+ body:
155
+ encoding: US-ASCII
156
+ string: ! '{"method":"getnewaddress","params":["nona"],"id":"jsonrpc"}'
157
+ headers:
158
+ Accept:
159
+ - ! '*/*; q=0.5, application/xml'
160
+ Accept-Encoding:
161
+ - gzip, deflate
162
+ Content-Length:
163
+ - '59'
164
+ User-Agent:
165
+ - Ruby
166
+ response:
167
+ status:
168
+ code: 200
169
+ message: OK
170
+ headers:
171
+ Date:
172
+ - Sun, 07 Apr 2013 10:01:27 +0000
173
+ Connection:
174
+ - keep-alive
175
+ Content-Length:
176
+ - '76'
177
+ Content-Type:
178
+ - application/json
179
+ Server:
180
+ - bitcoin-json-rpc/v0.7.2-beta
181
+ body:
182
+ encoding: US-ASCII
183
+ string: ! '{"result":"mgztbGgEkJCTHypurgg4NAoKgnrWwpNnL7","error":null,"id":"jsonrpc"}
184
+
185
+ '
186
+ http_version:
187
+ recorded_at: Sun, 07 Apr 2013 10:01:27 GMT
77
188
  - request:
78
189
  method: post
79
190
  uri: http://admin1:123@localhost:19001/
@@ -95,7 +206,7 @@ http_interactions:
95
206
  message: OK
96
207
  headers:
97
208
  Date:
98
- - Sat, 09 Mar 2013 05:19:59 +0000
209
+ - Sun, 07 Apr 2013 10:01:27 +0000
99
210
  Connection:
100
211
  - keep-alive
101
212
  Content-Length:
@@ -106,9 +217,9 @@ http_interactions:
106
217
  - bitcoin-json-rpc/v0.7.2-beta
107
218
  body:
108
219
  encoding: US-ASCII
109
- string: ! '{"result":"mkwWW2pnqFkDfH5esHxXBNARTN7GnUDpsv","error":null,"id":"jsonrpc"}
220
+ string: ! '{"result":"n3TFPGdW9yXqprZsgCfiLPbGC91nx7as2u","error":null,"id":"jsonrpc"}
110
221
 
111
222
  '
112
223
  http_version:
113
- recorded_at: Sat, 09 Mar 2013 05:19:59 GMT
224
+ recorded_at: Sun, 07 Apr 2013 10:01:27 GMT
114
225
  recorded_with: VCR 2.4.0