bit_wallet 0.1.1 → 0.2.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.
data/README.md CHANGED
@@ -40,7 +40,7 @@ A transaction has the following methods:
40
40
  - `address`: the address it belongs to
41
41
  - `amount`: how much was transferred
42
42
  - `category`: returns the category value of the transaction
43
- - `confirmation`: how many times this has been confirmed by the network
43
+ - `confirmations`: how many times this has been confirmed by the network
44
44
  - `id`: the transaction id
45
45
  - `occurred_at`: Ruby Time object for the `time` value returned by bitcoind
46
46
  - `received_at`: Ruby Time object for the `timereceived` value returned by bitcoind
data/bit_wallet.gemspec CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |gem|
22
22
  gem.add_development_dependency 'rspec', '2.12.0'
23
23
  gem.add_development_dependency 'pry'
24
24
  gem.add_development_dependency 'factory_girl', '4.2.0'
25
- gem.add_development_dependency 'bitcoin_testnet', '0.3.1'
25
+ gem.add_development_dependency 'bitcoin_testnet', '0.4.0'
26
26
  gem.add_development_dependency 'vcr', '2.4.0'
27
27
  gem.add_development_dependency 'webmock', '1.9.0'
28
28
  end
@@ -7,7 +7,8 @@ module BitWallet
7
7
  :confirmations,
8
8
  :id,
9
9
  :occurred_at,
10
- :received_at)
10
+ :received_at,
11
+ :address_str)
11
12
 
12
13
  def initialize(wallet, args)
13
14
  args = args.with_indifferent_access
@@ -1,3 +1,3 @@
1
1
  module BitWallet
2
- VERSION = '0.1.1'
2
+ VERSION = '0.2.0'
3
3
  end
@@ -11,7 +11,7 @@ module BitWallet
11
11
 
12
12
  def recent_transactions(options={})
13
13
  count = options.delete(:limit) || 10
14
- client.listtransactions(nil, count).map do |hash|
14
+ client.listtransactions('*', count).map do |hash|
15
15
  Transaction.new self, hash
16
16
  end
17
17
  end
@@ -114,21 +114,19 @@ describe BitWallet::Account, vcr: true do
114
114
  account_1.recent_transactions.size.should == 10
115
115
  end
116
116
 
117
- context 'when transaction limit is 5' do
118
- # FIXME when bitcoin-client this is resolved: https://github.com/sinisterchipmunk/bitcoin-client/issues/4
119
- it 'should list the 5 most recent transactions'
120
- # it 'should list the 5 most recent transactions' do
121
- # pending "Fix this when when..."
122
- # wallet = build(:wallet)
123
- # default_account = wallet.accounts.new('')
124
- # account_1 = wallet.accounts.new('1')
125
-
126
- # 1.upto(6).each do |n|
127
- # default_account.send_amount n, to: account_1.addresses.first
128
- # end
129
-
130
- # account_1.recent_transactions(limit: 5).size.should == 5
131
- # end
117
+ context 'when transaction limit is 6' do
118
+ it 'should list the 6 most recent transactions' do
119
+ wallet = build(:wallet)
120
+ default_account = wallet.accounts.new('')
121
+ account_1 = wallet.accounts.new('1')
122
+
123
+ 1.upto(8).each do |n|
124
+ default_account.send_amount n, to: account_1.addresses.first
125
+ end
126
+
127
+ transactions = account_1.recent_transactions(limit: 6)
128
+ transactions.size.should == 6
129
+ end
132
130
  end
133
131
  end
134
132
 
@@ -22,19 +22,17 @@ describe BitWallet::Wallet, vcr: true do
22
22
  wallet.recent_transactions.size.should == 10
23
23
  end
24
24
 
25
- # FIXME when bitcoin-client this is resolved: https://github.com/sinisterchipmunk/bitcoin-client/issues/4
26
- it 'should allow overriding of the transaction limit'
27
- # it 'should allow overriding of the transaction limit' do
28
- # wallet = build(:wallet)
29
- # default_account = wallet.accounts.new('')
30
- # account_1 = wallet.accounts.new('1')
31
-
32
- # 1.upto(11).each do |n|
33
- # default_account.send_amount n, to: account_1.addresses.first
34
- # end
35
-
36
- # wallet.recent_transactions(limit: 5).size.should == 5
37
- # end
25
+ it 'should allow overriding of the transaction limit' do
26
+ wallet = build(:wallet)
27
+ default_account = wallet.accounts.new('')
28
+ account_1 = wallet.accounts.new('1')
29
+
30
+ 1.upto(11).each do |n|
31
+ default_account.send_amount n, to: account_1.addresses.first
32
+ end
33
+
34
+ wallet.recent_transactions(limit: 5).size.should == 5
35
+ end
38
36
  end
39
37
 
40
38
  end
@@ -0,0 +1,447 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://admin1:123@localhost:19001/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ! '{"method":"listaccounts","params":[1],"id":"jsonrpc"}'
9
+ headers:
10
+ Accept:
11
+ - ! '*/*; q=0.5, application/xml'
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Content-Length:
15
+ - '53'
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Sun, 07 Apr 2013 09:47:19 +0000
25
+ Connection:
26
+ - keep-alive
27
+ Content-Length:
28
+ - '73'
29
+ Content-Type:
30
+ - application/json
31
+ Server:
32
+ - bitcoin-json-rpc/v0.7.2-beta
33
+ body:
34
+ encoding: US-ASCII
35
+ string: ! '{"result":{"":8707.00000000,"1":0.00000000},"error":null,"id":"jsonrpc"}
36
+
37
+ '
38
+ http_version:
39
+ recorded_at: Sun, 07 Apr 2013 09:47:19 GMT
40
+ - request:
41
+ method: post
42
+ uri: http://admin1:123@localhost:19001/
43
+ body:
44
+ encoding: US-ASCII
45
+ string: ! '{"method":"getnewaddress","params":[""],"id":"jsonrpc"}'
46
+ headers:
47
+ Accept:
48
+ - ! '*/*; q=0.5, application/xml'
49
+ Accept-Encoding:
50
+ - gzip, deflate
51
+ Content-Length:
52
+ - '55'
53
+ User-Agent:
54
+ - Ruby
55
+ response:
56
+ status:
57
+ code: 200
58
+ message: OK
59
+ headers:
60
+ Date:
61
+ - Sun, 07 Apr 2013 09:47:19 +0000
62
+ Connection:
63
+ - keep-alive
64
+ Content-Length:
65
+ - '76'
66
+ Content-Type:
67
+ - application/json
68
+ Server:
69
+ - bitcoin-json-rpc/v0.7.2-beta
70
+ body:
71
+ encoding: US-ASCII
72
+ string: ! '{"result":"n2NtfCUEqT6KtzhLkWyGZGr358DUhUUU8D","error":null,"id":"jsonrpc"}
73
+
74
+ '
75
+ http_version:
76
+ recorded_at: Sun, 07 Apr 2013 09:47:19 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 09:47:19 +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":"mhS8oM6SzVU9xU2gxG8GsZSRJmChNt7kEc","error":null,"id":"jsonrpc"}
110
+
111
+ '
112
+ http_version:
113
+ recorded_at: Sun, 07 Apr 2013 09:47:19 GMT
114
+ - request:
115
+ method: post
116
+ uri: http://admin1:123@localhost:19001/
117
+ body:
118
+ encoding: US-ASCII
119
+ string: ! '{"method":"sendfrom","params":["","mhS8oM6SzVU9xU2gxG8GsZSRJmChNt7kEc",1,0],"id":"jsonrpc"}'
120
+ headers:
121
+ Accept:
122
+ - ! '*/*; q=0.5, application/xml'
123
+ Accept-Encoding:
124
+ - gzip, deflate
125
+ Content-Length:
126
+ - '91'
127
+ User-Agent:
128
+ - Ruby
129
+ response:
130
+ status:
131
+ code: 200
132
+ message: OK
133
+ headers:
134
+ Date:
135
+ - Sun, 07 Apr 2013 09:47:20 +0000
136
+ Connection:
137
+ - keep-alive
138
+ Content-Length:
139
+ - '106'
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":"5dcbd48876f8dceca4038f3baba708ca9dbc35cab560faf761e395f4c6af968a","error":null,"id":"jsonrpc"}
147
+
148
+ '
149
+ http_version:
150
+ recorded_at: Sun, 07 Apr 2013 09:47:20 GMT
151
+ - request:
152
+ method: post
153
+ uri: http://admin1:123@localhost:19001/
154
+ body:
155
+ encoding: US-ASCII
156
+ string: ! '{"method":"sendfrom","params":["","mhS8oM6SzVU9xU2gxG8GsZSRJmChNt7kEc",2,0],"id":"jsonrpc"}'
157
+ headers:
158
+ Accept:
159
+ - ! '*/*; q=0.5, application/xml'
160
+ Accept-Encoding:
161
+ - gzip, deflate
162
+ Content-Length:
163
+ - '91'
164
+ User-Agent:
165
+ - Ruby
166
+ response:
167
+ status:
168
+ code: 200
169
+ message: OK
170
+ headers:
171
+ Date:
172
+ - Sun, 07 Apr 2013 09:47:20 +0000
173
+ Connection:
174
+ - keep-alive
175
+ Content-Length:
176
+ - '106'
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":"5a47c7f35978fd42f71604ad471644fa7acc2a6f05c154ec6ed82b3ad36e6501","error":null,"id":"jsonrpc"}
184
+
185
+ '
186
+ http_version:
187
+ recorded_at: Sun, 07 Apr 2013 09:47:20 GMT
188
+ - request:
189
+ method: post
190
+ uri: http://admin1:123@localhost:19001/
191
+ body:
192
+ encoding: US-ASCII
193
+ string: ! '{"method":"sendfrom","params":["","mhS8oM6SzVU9xU2gxG8GsZSRJmChNt7kEc",3,0],"id":"jsonrpc"}'
194
+ headers:
195
+ Accept:
196
+ - ! '*/*; q=0.5, application/xml'
197
+ Accept-Encoding:
198
+ - gzip, deflate
199
+ Content-Length:
200
+ - '91'
201
+ User-Agent:
202
+ - Ruby
203
+ response:
204
+ status:
205
+ code: 200
206
+ message: OK
207
+ headers:
208
+ Date:
209
+ - Sun, 07 Apr 2013 09:47:20 +0000
210
+ Connection:
211
+ - keep-alive
212
+ Content-Length:
213
+ - '106'
214
+ Content-Type:
215
+ - application/json
216
+ Server:
217
+ - bitcoin-json-rpc/v0.7.2-beta
218
+ body:
219
+ encoding: US-ASCII
220
+ string: ! '{"result":"d52f4f3f7f5b3aefd2ed468c56bc4d05685ac334308f30bff1d0a1785e37e8ee","error":null,"id":"jsonrpc"}
221
+
222
+ '
223
+ http_version:
224
+ recorded_at: Sun, 07 Apr 2013 09:47:20 GMT
225
+ - request:
226
+ method: post
227
+ uri: http://admin1:123@localhost:19001/
228
+ body:
229
+ encoding: US-ASCII
230
+ string: ! '{"method":"sendfrom","params":["","mhS8oM6SzVU9xU2gxG8GsZSRJmChNt7kEc",4,0],"id":"jsonrpc"}'
231
+ headers:
232
+ Accept:
233
+ - ! '*/*; q=0.5, application/xml'
234
+ Accept-Encoding:
235
+ - gzip, deflate
236
+ Content-Length:
237
+ - '91'
238
+ User-Agent:
239
+ - Ruby
240
+ response:
241
+ status:
242
+ code: 200
243
+ message: OK
244
+ headers:
245
+ Date:
246
+ - Sun, 07 Apr 2013 09:47:20 +0000
247
+ Connection:
248
+ - keep-alive
249
+ Content-Length:
250
+ - '106'
251
+ Content-Type:
252
+ - application/json
253
+ Server:
254
+ - bitcoin-json-rpc/v0.7.2-beta
255
+ body:
256
+ encoding: US-ASCII
257
+ string: ! '{"result":"6850acb01b446a42acc0b677128ee0654d34da2c032c7dadcdafecb021d4b677","error":null,"id":"jsonrpc"}
258
+
259
+ '
260
+ http_version:
261
+ recorded_at: Sun, 07 Apr 2013 09:47:20 GMT
262
+ - request:
263
+ method: post
264
+ uri: http://admin1:123@localhost:19001/
265
+ body:
266
+ encoding: US-ASCII
267
+ string: ! '{"method":"sendfrom","params":["","mhS8oM6SzVU9xU2gxG8GsZSRJmChNt7kEc",5,0],"id":"jsonrpc"}'
268
+ headers:
269
+ Accept:
270
+ - ! '*/*; q=0.5, application/xml'
271
+ Accept-Encoding:
272
+ - gzip, deflate
273
+ Content-Length:
274
+ - '91'
275
+ User-Agent:
276
+ - Ruby
277
+ response:
278
+ status:
279
+ code: 200
280
+ message: OK
281
+ headers:
282
+ Date:
283
+ - Sun, 07 Apr 2013 09:47:20 +0000
284
+ Connection:
285
+ - keep-alive
286
+ Content-Length:
287
+ - '106'
288
+ Content-Type:
289
+ - application/json
290
+ Server:
291
+ - bitcoin-json-rpc/v0.7.2-beta
292
+ body:
293
+ encoding: US-ASCII
294
+ string: ! '{"result":"37159bd122b9bb257e599145a171d301610a5762181e88c4cd5e05cdf2aea69a","error":null,"id":"jsonrpc"}
295
+
296
+ '
297
+ http_version:
298
+ recorded_at: Sun, 07 Apr 2013 09:47:20 GMT
299
+ - request:
300
+ method: post
301
+ uri: http://admin1:123@localhost:19001/
302
+ body:
303
+ encoding: US-ASCII
304
+ string: ! '{"method":"sendfrom","params":["","mhS8oM6SzVU9xU2gxG8GsZSRJmChNt7kEc",6,0],"id":"jsonrpc"}'
305
+ headers:
306
+ Accept:
307
+ - ! '*/*; q=0.5, application/xml'
308
+ Accept-Encoding:
309
+ - gzip, deflate
310
+ Content-Length:
311
+ - '91'
312
+ User-Agent:
313
+ - Ruby
314
+ response:
315
+ status:
316
+ code: 200
317
+ message: OK
318
+ headers:
319
+ Date:
320
+ - Sun, 07 Apr 2013 09:47:20 +0000
321
+ Connection:
322
+ - keep-alive
323
+ Content-Length:
324
+ - '106'
325
+ Content-Type:
326
+ - application/json
327
+ Server:
328
+ - bitcoin-json-rpc/v0.7.2-beta
329
+ body:
330
+ encoding: US-ASCII
331
+ string: ! '{"result":"9dbf773d8df00fa7b97334b2618f1047bbb6db71b18424967b2de1dcf70b667b","error":null,"id":"jsonrpc"}
332
+
333
+ '
334
+ http_version:
335
+ recorded_at: Sun, 07 Apr 2013 09:47:20 GMT
336
+ - request:
337
+ method: post
338
+ uri: http://admin1:123@localhost:19001/
339
+ body:
340
+ encoding: US-ASCII
341
+ string: ! '{"method":"sendfrom","params":["","mhS8oM6SzVU9xU2gxG8GsZSRJmChNt7kEc",7,0],"id":"jsonrpc"}'
342
+ headers:
343
+ Accept:
344
+ - ! '*/*; q=0.5, application/xml'
345
+ Accept-Encoding:
346
+ - gzip, deflate
347
+ Content-Length:
348
+ - '91'
349
+ User-Agent:
350
+ - Ruby
351
+ response:
352
+ status:
353
+ code: 200
354
+ message: OK
355
+ headers:
356
+ Date:
357
+ - Sun, 07 Apr 2013 09:47:20 +0000
358
+ Connection:
359
+ - keep-alive
360
+ Content-Length:
361
+ - '106'
362
+ Content-Type:
363
+ - application/json
364
+ Server:
365
+ - bitcoin-json-rpc/v0.7.2-beta
366
+ body:
367
+ encoding: US-ASCII
368
+ string: ! '{"result":"dbfd3c5a34da52f795f14a4bd14c322aa626cf451c8f71d1a2717e7417e1b8eb","error":null,"id":"jsonrpc"}
369
+
370
+ '
371
+ http_version:
372
+ recorded_at: Sun, 07 Apr 2013 09:47:20 GMT
373
+ - request:
374
+ method: post
375
+ uri: http://admin1:123@localhost:19001/
376
+ body:
377
+ encoding: US-ASCII
378
+ string: ! '{"method":"sendfrom","params":["","mhS8oM6SzVU9xU2gxG8GsZSRJmChNt7kEc",8,0],"id":"jsonrpc"}'
379
+ headers:
380
+ Accept:
381
+ - ! '*/*; q=0.5, application/xml'
382
+ Accept-Encoding:
383
+ - gzip, deflate
384
+ Content-Length:
385
+ - '91'
386
+ User-Agent:
387
+ - Ruby
388
+ response:
389
+ status:
390
+ code: 200
391
+ message: OK
392
+ headers:
393
+ Date:
394
+ - Sun, 07 Apr 2013 09:47:20 +0000
395
+ Connection:
396
+ - keep-alive
397
+ Content-Length:
398
+ - '106'
399
+ Content-Type:
400
+ - application/json
401
+ Server:
402
+ - bitcoin-json-rpc/v0.7.2-beta
403
+ body:
404
+ encoding: US-ASCII
405
+ string: ! '{"result":"82a6bf495fa4b5d72c3f2cf59cf9f9e8a185e04e32896e119ed4b26e38d2bfc5","error":null,"id":"jsonrpc"}
406
+
407
+ '
408
+ http_version:
409
+ recorded_at: Sun, 07 Apr 2013 09:47:20 GMT
410
+ - request:
411
+ method: post
412
+ uri: http://admin1:123@localhost:19001/
413
+ body:
414
+ encoding: US-ASCII
415
+ string: ! '{"method":"listtransactions","params":["1",6],"id":"jsonrpc"}'
416
+ headers:
417
+ Accept:
418
+ - ! '*/*; q=0.5, application/xml'
419
+ Accept-Encoding:
420
+ - gzip, deflate
421
+ Content-Length:
422
+ - '61'
423
+ User-Agent:
424
+ - Ruby
425
+ response:
426
+ status:
427
+ code: 200
428
+ message: OK
429
+ headers:
430
+ Date:
431
+ - Sun, 07 Apr 2013 09:47:20 +0000
432
+ Connection:
433
+ - keep-alive
434
+ Content-Length:
435
+ - '1481'
436
+ Content-Type:
437
+ - application/json
438
+ Server:
439
+ - bitcoin-json-rpc/v0.7.2-beta
440
+ body:
441
+ encoding: US-ASCII
442
+ string: ! '{"result":[{"account":"1","address":"mhS8oM6SzVU9xU2gxG8GsZSRJmChNt7kEc","category":"receive","amount":3.00000000,"confirmations":0,"txid":"d52f4f3f7f5b3aefd2ed468c56bc4d05685ac334308f30bff1d0a1785e37e8ee","time":1365328040,"timereceived":1365328040},{"account":"1","address":"mhS8oM6SzVU9xU2gxG8GsZSRJmChNt7kEc","category":"receive","amount":4.00000000,"confirmations":0,"txid":"6850acb01b446a42acc0b677128ee0654d34da2c032c7dadcdafecb021d4b677","time":1365328040,"timereceived":1365328040},{"account":"1","address":"mhS8oM6SzVU9xU2gxG8GsZSRJmChNt7kEc","category":"receive","amount":5.00000000,"confirmations":0,"txid":"37159bd122b9bb257e599145a171d301610a5762181e88c4cd5e05cdf2aea69a","time":1365328040,"timereceived":1365328040},{"account":"1","address":"mhS8oM6SzVU9xU2gxG8GsZSRJmChNt7kEc","category":"receive","amount":6.00000000,"confirmations":0,"txid":"9dbf773d8df00fa7b97334b2618f1047bbb6db71b18424967b2de1dcf70b667b","time":1365328040,"timereceived":1365328040},{"account":"1","address":"mhS8oM6SzVU9xU2gxG8GsZSRJmChNt7kEc","category":"receive","amount":7.00000000,"confirmations":0,"txid":"dbfd3c5a34da52f795f14a4bd14c322aa626cf451c8f71d1a2717e7417e1b8eb","time":1365328040,"timereceived":1365328040},{"account":"1","address":"mhS8oM6SzVU9xU2gxG8GsZSRJmChNt7kEc","category":"receive","amount":8.00000000,"confirmations":0,"txid":"82a6bf495fa4b5d72c3f2cf59cf9f9e8a185e04e32896e119ed4b26e38d2bfc5","time":1365328040,"timereceived":1365328040}],"error":null,"id":"jsonrpc"}
443
+
444
+ '
445
+ http_version:
446
+ recorded_at: Sun, 07 Apr 2013 09:47:20 GMT
447
+ recorded_with: VCR 2.4.0