nanook 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -1
- data/Gemfile.lock +5 -1
- data/README.md +34 -22
- data/bin/console +2 -6
- data/docs/1.0.0/classes/Nanook/Account.html +50 -32
- data/docs/1.0.0/classes/Nanook/Block.html +202 -32
- data/docs/1.0.0/classes/Nanook/Wallet.html +95 -67
- data/docs/1.0.0/created.rid +13 -13
- data/docs/1.0.0/files/README_md.html +43 -23
- data/docs/1.0.0/files/lib/nanook/account_rb.html +1 -1
- data/docs/1.0.0/files/lib/nanook/block_rb.html +1 -1
- data/docs/1.0.0/files/lib/nanook/key_rb.html +1 -1
- data/docs/1.0.0/files/lib/nanook/node_rb.html +1 -1
- data/docs/1.0.0/files/lib/nanook/rpc_rb.html +1 -1
- data/docs/1.0.0/files/lib/nanook/util_rb.html +1 -1
- data/docs/1.0.0/files/lib/nanook/version_rb.html +1 -1
- data/docs/1.0.0/files/lib/nanook/wallet_account_rb.html +1 -1
- data/docs/1.0.0/files/lib/nanook/wallet_rb.html +1 -1
- data/docs/1.0.0/files/lib/nanook/work_peer_rb.html +1 -1
- data/docs/1.0.0/files/lib/nanook_rb.html +1 -1
- data/docs/1.0.0/js/search_index.js +1 -1
- data/lib/nanook/account.rb +1 -0
- data/lib/nanook/block.rb +128 -5
- data/lib/nanook/version.rb +1 -1
- data/lib/nanook/wallet.rb +11 -11
- data/nanook.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 925ab6dd5294f31528ae7e0e8ce816dd8eaf625a
|
4
|
+
data.tar.gz: a2812f58217a0b5dd8e81f0b0db3df52ac2d04d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df9564eb317b84945330e49390aacdf2a55fd631e4fdad266c55c04124a3fd0f2999ff1625aad23f314a45a33be2eb74008ce282a755a545471c67f455735de7
|
7
|
+
data.tar.gz: 36989a8853937febd8ad14c9b5bb3dff179725383dbf3305d6627c2af45a8fb1bbd5ba7a2882b6b5a168dd8b2a876063b380b314ba0a7beaaa369c633ba33a37
|
data/CHANGELOG.md
CHANGED
@@ -4,7 +4,17 @@ All notable changes to this project will be documented in this file.
|
|
4
4
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
5
5
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
6
6
|
|
7
|
-
##
|
7
|
+
## 1.0.1
|
8
|
+
|
9
|
+
### Fixed
|
10
|
+
|
11
|
+
- `Nanook::Wallet#balance(account_break_down: true)` always returning 0 `pending` balance.
|
12
|
+
|
13
|
+
### Changed
|
14
|
+
|
15
|
+
- Use `block.publish` in `README.md` and not the alias `block.process`.
|
16
|
+
|
17
|
+
## 1.0.0
|
8
18
|
|
9
19
|
### Added
|
10
20
|
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
nanook (1.0.
|
4
|
+
nanook (1.0.1)
|
5
5
|
symbolized (~> 0.0.1)
|
6
6
|
|
7
7
|
GEM
|
@@ -20,6 +20,7 @@ GEM
|
|
20
20
|
method_source (~> 0.9.0)
|
21
21
|
public_suffix (3.0.2)
|
22
22
|
rake (10.5.0)
|
23
|
+
rdoc (6.0.1)
|
23
24
|
rspec (3.7.0)
|
24
25
|
rspec-core (~> 3.7.0)
|
25
26
|
rspec-expectations (~> 3.7.0)
|
@@ -38,6 +39,8 @@ GEM
|
|
38
39
|
rspec_junit_formatter (0.3.0)
|
39
40
|
rspec-core (>= 2, < 4, != 2.12.0)
|
40
41
|
safe_yaml (1.0.4)
|
42
|
+
sdoc (1.0.0)
|
43
|
+
rdoc (>= 5.0)
|
41
44
|
symbolized (0.0.1)
|
42
45
|
webmock (3.3.0)
|
43
46
|
addressable (>= 2.3.6)
|
@@ -55,6 +58,7 @@ DEPENDENCIES
|
|
55
58
|
rspec (~> 3.2)
|
56
59
|
rspec-collection_matchers (~> 1.1)
|
57
60
|
rspec_junit_formatter (~> 0.3)
|
61
|
+
sdoc (~> 1.0)
|
58
62
|
webmock (~> 3.3)
|
59
63
|
|
60
64
|
BUNDLED WITH
|
data/README.md
CHANGED
@@ -62,7 +62,7 @@ Nanook.new.wallet(wallet_id).accounts
|
|
62
62
|
|
63
63
|
### Sending a payment
|
64
64
|
|
65
|
-
|
65
|
+
To send a payment from an account in a wallet:
|
66
66
|
|
67
67
|
```ruby
|
68
68
|
account = Nanook.new.wallet(wallet_id).account(account_id)
|
@@ -80,7 +80,11 @@ The `id` can be any string and needs to be unique per payment. It serves an impo
|
|
80
80
|
|
81
81
|
> You can (and should) specify a unique id for each spend to provide idempotency. That means that if you [make the payment call] two times with the same id, the second request won't send any additional Nano.
|
82
82
|
|
83
|
-
The unit of the `amount` is NANO (which is currently technically
|
83
|
+
The unit of the `amount` is NANO (which is currently technically Mnano — see [What are Nano's Units](https://nano.org/en/faq#what-are-nano-units-)). You can pass an amount of raw instead by adding the `unit: :raw` argument:
|
84
|
+
|
85
|
+
```ruby
|
86
|
+
account.pay(to: recipient_account_id, amount: 999, unit: :raw, id: unique_id)
|
87
|
+
```
|
84
88
|
|
85
89
|
Note, there may be a delay in receiving a response due to Proof of Work being done. From the [Nano RPC](https://github.com/nanocurrency/raiblocks/wiki/RPC-protocol#account-create):
|
86
90
|
|
@@ -116,6 +120,8 @@ wallet.receive(block_id, into: account_id)
|
|
116
120
|
|
117
121
|
## All commands
|
118
122
|
|
123
|
+
Below is a quick reference list of commands. See the [full Nanook documentation](https://lukes.github.io/nanook/1.0.0/) for a searchable detailed description of every class and method, what the arguments mean, and example responses (Tip: expand the "**Nanook** < Object" item in the sidebar).
|
124
|
+
|
119
125
|
### Wallets
|
120
126
|
|
121
127
|
See the [full documentation for Nanook::Wallet](https://lukes.github.io/nanook/1.0.0/classes/Nanook/Wallet.html) for a detailed description of each method and example responses.
|
@@ -131,11 +137,6 @@ Nanook.new.wallet.create
|
|
131
137
|
```ruby
|
132
138
|
wallet = Nanook.new.wallet(wallet_id)
|
133
139
|
|
134
|
-
wallet.export
|
135
|
-
wallet.locked?
|
136
|
-
wallet.unlock(password)
|
137
|
-
wallet.change_password(password)
|
138
|
-
|
139
140
|
wallet.balance
|
140
141
|
wallet.balance(account_break_down: true)
|
141
142
|
wallet.balance(unit: :raw)
|
@@ -148,6 +149,11 @@ wallet.account.create
|
|
148
149
|
wallet.accounts
|
149
150
|
wallet.contains?(account_id)
|
150
151
|
|
152
|
+
wallet.export
|
153
|
+
wallet.locked?
|
154
|
+
wallet.unlock(password)
|
155
|
+
wallet.change_password(password)
|
156
|
+
|
151
157
|
wallet.destroy
|
152
158
|
```
|
153
159
|
### Accounts
|
@@ -163,6 +169,15 @@ Nanook.new.wallet(wallet_id).account.create
|
|
163
169
|
```ruby
|
164
170
|
account = Nanook.new.wallet(wallet_id).account(account_id)
|
165
171
|
|
172
|
+
account.balance
|
173
|
+
account.balance(unit: :raw)
|
174
|
+
account.pay(to: recipient_account_id, amount: 2, id: unique_id)
|
175
|
+
account.pay(to: recipient_account_id, amount: 2, unit: :raw, id: unique_id)
|
176
|
+
account.pending
|
177
|
+
account.pending(limit: 1)
|
178
|
+
account.receive
|
179
|
+
account.receive(pending_block_id)
|
180
|
+
|
166
181
|
account.exists?
|
167
182
|
account.info
|
168
183
|
account.info(detailed: true)
|
@@ -175,15 +190,6 @@ account.delegators
|
|
175
190
|
account.representative
|
176
191
|
account.weight
|
177
192
|
|
178
|
-
account.balance
|
179
|
-
account.balance(unit: :raw)
|
180
|
-
account.pay(to: recipient_account_id, amount: 2, id: unique_id)
|
181
|
-
account.pay(to: recipient_account_id, amount: 2, unit: :raw, id: unique_id)
|
182
|
-
account.pending
|
183
|
-
account.pending(limit: 1)
|
184
|
-
account.receive
|
185
|
-
account.receive(pending_block_id)
|
186
|
-
|
187
193
|
account.destroy
|
188
194
|
```
|
189
195
|
|
@@ -194,6 +200,11 @@ See the [full documentation for Nanook::Account](https://lukes.github.io/nanook/
|
|
194
200
|
```ruby
|
195
201
|
account = Nanook.new.account(account_id)
|
196
202
|
|
203
|
+
account.balance
|
204
|
+
account.balance(unit: :raw)
|
205
|
+
account.pending
|
206
|
+
account.pending(limit: 1)
|
207
|
+
|
197
208
|
account.exists?
|
198
209
|
account.info
|
199
210
|
account.info(detailed: true)
|
@@ -205,15 +216,12 @@ account.public_key
|
|
205
216
|
account.delegators
|
206
217
|
account.representative
|
207
218
|
account.weight
|
208
|
-
|
209
|
-
account.balance
|
210
|
-
account.balance(unit: :raw)
|
211
|
-
account.pending
|
212
|
-
account.pending(limit: 1)
|
213
219
|
```
|
214
220
|
|
215
221
|
### Blocks
|
216
222
|
|
223
|
+
See the [full documentation for Nanook::Block](https://lukes.github.io/nanook/1.0.0/classes/Nanook/Block.html) for a detailed description of each method and example responses.
|
224
|
+
|
217
225
|
```ruby
|
218
226
|
block = Nanook.new.block(block_id)
|
219
227
|
|
@@ -228,7 +236,7 @@ block.republish
|
|
228
236
|
block.republish(sources: 2)
|
229
237
|
block.republish(destinations: 2)
|
230
238
|
block.pending?
|
231
|
-
block.
|
239
|
+
block.publish
|
232
240
|
block.successors
|
233
241
|
block.successors(limit: 10)
|
234
242
|
|
@@ -302,6 +310,10 @@ To run the test suite:
|
|
302
310
|
|
303
311
|
bundle exec rspec spec
|
304
312
|
|
313
|
+
To update rdoc documentation:
|
314
|
+
|
315
|
+
bundle exec rake rerdoc
|
316
|
+
|
305
317
|
## License
|
306
318
|
|
307
319
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/bin/console
CHANGED
@@ -6,9 +6,5 @@ require "nanook"
|
|
6
6
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
7
|
# with your gem easier. You can also use a different console, if you like.
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
# Pry.start
|
12
|
-
|
13
|
-
require "irb"
|
14
|
-
IRB.start(__FILE__)
|
9
|
+
require "pry"
|
10
|
+
Pry.start
|
@@ -294,21 +294,24 @@ account = Nanook::Account.new(rpc_conn, "xrb_...")
|
|
294
294
|
<div class="description">
|
295
295
|
<p>Returns a Hash containing the account's balance. Units are in <a
|
296
296
|
href="https://nano.org/en/faq#what-are-nano-units-">raw</a>.</p>
|
297
|
-
<
|
297
|
+
<dl class="rdoc-list label-list"><dt><code>:balance</code>
|
298
|
+
<dd>
|
298
299
|
<p><a href="Account.html">Account</a> balance</p>
|
299
|
-
</
|
300
|
+
</dd><dt><code>:pending</code>
|
301
|
+
<dd>
|
300
302
|
<p>Amount pending and not yet received by the account</p>
|
301
|
-
</
|
303
|
+
</dd></dl>
|
302
304
|
|
303
305
|
<h4 id="method-i-balance-label-Arguments">Arguments</h4>
|
304
|
-
<
|
306
|
+
<dl class="rdoc-list label-list"><dt><code>unit:</code>
|
307
|
+
<dd>
|
305
308
|
<p>Symbol (default is <code>:nano</code>) Represents the unit that the
|
306
309
|
balances will be returned in. Must be either <code>:nano</code> or
|
307
310
|
<code>:raw</code>. (Note: this method interprets <code>:nano</code> as
|
308
311
|
NANO, which is technically Mnano See <a
|
309
312
|
href="https://nano.org/en/faq#what-are-nano-units-">What are Nano’s
|
310
313
|
Units</a>)</p>
|
311
|
-
</
|
314
|
+
</dd></dl>
|
312
315
|
|
313
316
|
<h5 id="method-i-balance-label-Example+response">Example response</h5>
|
314
317
|
|
@@ -461,10 +464,11 @@ href="Node.html#method-i-sync_progress">Nanook::Node#sync_progress</a>.</p>
|
|
461
464
|
in <a href="https://nano.org/en/faq#what-are-nano-units-">raw</a>.</p>
|
462
465
|
|
463
466
|
<h4 id="method-i-history-label-Arguments">Arguments</h4>
|
464
|
-
<
|
467
|
+
<dl class="rdoc-list label-list"><dt><code>limit:</code>
|
468
|
+
<dd>
|
465
469
|
<p>Integer representing the maximum number of history items to return (default
|
466
470
|
is 1000)</p>
|
467
|
-
</
|
471
|
+
</dd></dl>
|
468
472
|
|
469
473
|
<h4 id="method-i-history-label-Example">Example</h4>
|
470
474
|
|
@@ -526,7 +530,7 @@ account.history(limit: 1)
|
|
526
530
|
|
527
531
|
|
528
532
|
<div class="description">
|
529
|
-
|
533
|
+
<p>Returns the id of the account</p>
|
530
534
|
</div>
|
531
535
|
|
532
536
|
|
@@ -544,7 +548,7 @@ account.history(limit: 1)
|
|
544
548
|
|
545
549
|
</p>
|
546
550
|
<div id="method-i-id_source" class="dyn-source">
|
547
|
-
<pre><span class="ruby-comment"># File lib/nanook/account.rb, line
|
551
|
+
<pre><span class="ruby-comment"># File lib/nanook/account.rb, line 137</span>
|
548
552
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">id</span>
|
549
553
|
<span class="ruby-ivar">@block</span>
|
550
554
|
<span class="ruby-keyword">end</span></pre>
|
@@ -564,39 +568,50 @@ account.history(limit: 1)
|
|
564
568
|
|
565
569
|
<div class="description">
|
566
570
|
<p>Returns a Hash containing the following information about an account:</p>
|
567
|
-
<
|
571
|
+
<dl class="rdoc-list label-list"><dt><code>:frontier</code>
|
572
|
+
<dd>
|
568
573
|
<p>The latest block hash</p>
|
569
|
-
</
|
574
|
+
</dd><dt><code>:open_block</code>
|
575
|
+
<dd>
|
570
576
|
<p>The first block in every account's blockchain. When this block was
|
571
577
|
published the account was officially open</p>
|
572
|
-
</
|
578
|
+
</dd><dt><code>:representative_block</code>
|
579
|
+
<dd>
|
573
580
|
<p>The block that named the representative for the account</p>
|
574
|
-
</
|
581
|
+
</dd><dt><code>:balance</code>
|
582
|
+
<dd>
|
575
583
|
<p>Amount in <a href="https://nano.org/en/faq#what-are-nano-units-">NANO</a></p>
|
576
|
-
</
|
584
|
+
</dd><dt><code>:last_modified</code>
|
585
|
+
<dd>
|
577
586
|
<p>Unix timestamp</p>
|
578
|
-
</
|
587
|
+
</dd><dt><code>:block_count</code>
|
588
|
+
<dd>
|
579
589
|
<p>Number of blocks in the account's blockchain</p>
|
580
|
-
</
|
590
|
+
</dd></dl>
|
581
591
|
|
582
592
|
<p>When <code>detailed: true</code> is passed as an argument, this method
|
583
593
|
makes four additional calls to the RPC to return more information about an
|
584
594
|
account:</p>
|
585
|
-
<
|
595
|
+
<dl class="rdoc-list label-list"><dt><code>:weight</code>
|
596
|
+
<dd>
|
586
597
|
<p>See <a href="Account.html#method-i-weight">weight</a></p>
|
587
|
-
</
|
598
|
+
</dd><dt><code>:pending</code>
|
599
|
+
<dd>
|
588
600
|
<p>See <a href="Account.html#method-i-balance">balance</a></p>
|
589
|
-
</
|
601
|
+
</dd><dt><code>:representative</code>
|
602
|
+
<dd>
|
590
603
|
<p>See <a href="Account.html#method-i-representative">representative</a></p>
|
591
|
-
</
|
604
|
+
</dd><dt><code>:public_key</code>
|
605
|
+
<dd>
|
592
606
|
<p>See <a href="Account.html#method-i-public_key">public_key</a></p>
|
593
|
-
</
|
607
|
+
</dd></dl>
|
594
608
|
|
595
609
|
<h4 id="method-i-info-label-Arguments">Arguments</h4>
|
596
|
-
<
|
610
|
+
<dl class="rdoc-list label-list"><dt><code>detailed:</code>
|
611
|
+
<dd>
|
597
612
|
<p>Boolean (default is false). When <code>true</code>, four additional calls
|
598
613
|
are made to the RPC to return more information</p>
|
599
|
-
</
|
614
|
+
</dd></dl>
|
600
615
|
|
601
616
|
<h4 id="method-i-info-label-Example+1">Example 1</h4>
|
602
617
|
|
@@ -652,7 +667,7 @@ are made to the RPC to return more information</p>
|
|
652
667
|
|
653
668
|
</p>
|
654
669
|
<div id="method-i-info_source" class="dyn-source">
|
655
|
-
<pre><span class="ruby-comment"># File lib/nanook/account.rb, line
|
670
|
+
<pre><span class="ruby-comment"># File lib/nanook/account.rb, line 197</span>
|
656
671
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">info</span>(<span class="ruby-value">detailed:</span> <span class="ruby-keyword">false</span>)
|
657
672
|
<span class="ruby-identifier">account_required!</span>
|
658
673
|
|
@@ -695,9 +710,10 @@ the ledger. The number of accounts returned is determined by the
|
|
695
710
|
href="Account.html#method-i-info">info</a>(detailed: false) method returns.</p>
|
696
711
|
|
697
712
|
<h4 id="method-i-ledger-label-Arguments">Arguments</h4>
|
698
|
-
<
|
713
|
+
<dl class="rdoc-list label-list"><dt><code>limit:</code>
|
714
|
+
<dd>
|
699
715
|
<p>Number of accounts to return in the ledger (default is 1)</p>
|
700
|
-
</
|
716
|
+
</dd></dl>
|
701
717
|
|
702
718
|
<h4 id="method-i-ledger-label-Example">Example</h4>
|
703
719
|
|
@@ -735,7 +751,7 @@ href="Account.html#method-i-info">info</a>(detailed: false) method returns.</p>
|
|
735
751
|
|
736
752
|
</p>
|
737
753
|
<div id="method-i-ledger_source" class="dyn-source">
|
738
|
-
<pre><span class="ruby-comment"># File lib/nanook/account.rb, line
|
754
|
+
<pre><span class="ruby-comment"># File lib/nanook/account.rb, line 248</span>
|
739
755
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">ledger</span>(<span class="ruby-value">limit:</span> <span class="ruby-value">1</span>)
|
740
756
|
<span class="ruby-identifier">account_required!</span>
|
741
757
|
<span class="ruby-identifier">rpc</span>(<span class="ruby-value">:ledger</span>, <span class="ruby-value">count:</span> <span class="ruby-identifier">limit</span>)[<span class="ruby-value">:accounts</span>]
|
@@ -765,12 +781,14 @@ href="https://nano.org/en/faq#what-are-nano-units-">raw</a> of the pending
|
|
765
781
|
block and the source account that sent it.</p>
|
766
782
|
|
767
783
|
<h4 id="method-i-pending-label-Arguments">Arguments</h4>
|
768
|
-
<
|
784
|
+
<dl class="rdoc-list label-list"><dt><code>limit:</code>
|
785
|
+
<dd>
|
769
786
|
<p>Number of pending blocks to return (default is 1000)</p>
|
770
|
-
</
|
787
|
+
</dd><dt><code>detailed:</code>
|
788
|
+
<dd>
|
771
789
|
<p>Boolean to have this method return a more complex Hash of pending block
|
772
790
|
information (default is <code>false</code>)</p>
|
773
|
-
</
|
791
|
+
</dd></dl>
|
774
792
|
|
775
793
|
<h4 id="method-i-pending-label-Example+1">Example 1</h4>
|
776
794
|
|
@@ -813,7 +831,7 @@ information (default is <code>false</code>)</p>
|
|
813
831
|
|
814
832
|
</p>
|
815
833
|
<div id="method-i-pending_source" class="dyn-source">
|
816
|
-
<pre><span class="ruby-comment"># File lib/nanook/account.rb, line
|
834
|
+
<pre><span class="ruby-comment"># File lib/nanook/account.rb, line 289</span>
|
817
835
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">pending</span>(<span class="ruby-value">limit:</span> <span class="ruby-value">1000</span>, <span class="ruby-value">detailed:</span> <span class="ruby-keyword">false</span>)
|
818
836
|
<span class="ruby-identifier">account_required!</span>
|
819
837
|
|
@@ -951,7 +969,7 @@ if it is a representative.</p>
|
|
951
969
|
|
952
970
|
</p>
|
953
971
|
<div id="method-i-weight_source" class="dyn-source">
|
954
|
-
<pre><span class="ruby-comment"># File lib/nanook/account.rb, line
|
972
|
+
<pre><span class="ruby-comment"># File lib/nanook/account.rb, line 305</span>
|
955
973
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">weight</span>
|
956
974
|
<span class="ruby-identifier">account_required!</span>
|
957
975
|
<span class="ruby-identifier">rpc</span>(<span class="ruby-value">:account_weight</span>)[<span class="ruby-value">:weight</span>]
|