bit_wallet 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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