nanook 0.6.3 → 0.7.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/Gemfile.lock +12 -3
 - data/lib/nanook/account.rb +15 -8
 - data/lib/nanook/block.rb +12 -9
 - data/lib/nanook/node.rb +6 -6
 - data/lib/nanook/util.rb +8 -0
 - data/lib/nanook/version.rb +1 -1
 - data/lib/nanook/wallet.rb +9 -7
 - data/lib/nanook/wallet_account.rb +7 -4
 - data/lib/nanook/work_peer.rb +3 -3
 - data/nanook.gemspec +4 -2
 - metadata +37 -9
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 6e6170431fd02cf9172ba555460af6fdecfefe79
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 93049e6146081de1a0019bff1ef9a2c7796114fe
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: ce1761786956bf8111289d74cd042d72fdbc23d0e623dbaee4e85a80f704b5fb22b1db6dc5666ddb9057166f5713d6194438fbd915c5b9e5c3bac6cbbce29f3e
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 0ebe5795c0a2af3a71483b7b43fe41d091b41f726bfa2fa16959f326656af77b9a3b52c367115a33e91f784699f10777fa12f52a20d8027aae4f145d60eb9dcb
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    | 
         @@ -1,24 +1,31 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            PATH
         
     | 
| 
       2 
2 
     | 
    
         
             
              remote: .
         
     | 
| 
       3 
3 
     | 
    
         
             
              specs:
         
     | 
| 
       4 
     | 
    
         
            -
                nanook (0. 
     | 
| 
       5 
     | 
    
         
            -
                  symbolized
         
     | 
| 
      
 4 
     | 
    
         
            +
                nanook (0.7.0)
         
     | 
| 
      
 5 
     | 
    
         
            +
                  symbolized (~> 0.0.1)
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            GEM
         
     | 
| 
       8 
8 
     | 
    
         
             
              remote: https://rubygems.org/
         
     | 
| 
       9 
9 
     | 
    
         
             
              specs:
         
     | 
| 
       10 
10 
     | 
    
         
             
                addressable (2.5.2)
         
     | 
| 
       11 
11 
     | 
    
         
             
                  public_suffix (>= 2.0.2, < 4.0)
         
     | 
| 
      
 12 
     | 
    
         
            +
                coderay (1.1.2)
         
     | 
| 
       12 
13 
     | 
    
         
             
                crack (0.4.3)
         
     | 
| 
       13 
14 
     | 
    
         
             
                  safe_yaml (~> 1.0.0)
         
     | 
| 
       14 
15 
     | 
    
         
             
                diff-lcs (1.3)
         
     | 
| 
       15 
16 
     | 
    
         
             
                hashdiff (0.3.7)
         
     | 
| 
      
 17 
     | 
    
         
            +
                method_source (0.9.0)
         
     | 
| 
      
 18 
     | 
    
         
            +
                pry (0.11.3)
         
     | 
| 
      
 19 
     | 
    
         
            +
                  coderay (~> 1.1.0)
         
     | 
| 
      
 20 
     | 
    
         
            +
                  method_source (~> 0.9.0)
         
     | 
| 
       16 
21 
     | 
    
         
             
                public_suffix (3.0.2)
         
     | 
| 
       17 
22 
     | 
    
         
             
                rake (10.5.0)
         
     | 
| 
       18 
23 
     | 
    
         
             
                rspec (3.7.0)
         
     | 
| 
       19 
24 
     | 
    
         
             
                  rspec-core (~> 3.7.0)
         
     | 
| 
       20 
25 
     | 
    
         
             
                  rspec-expectations (~> 3.7.0)
         
     | 
| 
       21 
26 
     | 
    
         
             
                  rspec-mocks (~> 3.7.0)
         
     | 
| 
      
 27 
     | 
    
         
            +
                rspec-collection_matchers (1.1.3)
         
     | 
| 
      
 28 
     | 
    
         
            +
                  rspec-expectations (>= 2.99.0.beta1)
         
     | 
| 
       22 
29 
     | 
    
         
             
                rspec-core (3.7.1)
         
     | 
| 
       23 
30 
     | 
    
         
             
                  rspec-support (~> 3.7.0)
         
     | 
| 
       24 
31 
     | 
    
         
             
                rspec-expectations (3.7.0)
         
     | 
| 
         @@ -43,9 +50,11 @@ PLATFORMS 
     | 
|
| 
       43 
50 
     | 
    
         
             
            DEPENDENCIES
         
     | 
| 
       44 
51 
     | 
    
         
             
              bundler (~> 1.16)
         
     | 
| 
       45 
52 
     | 
    
         
             
              nanook!
         
     | 
| 
      
 53 
     | 
    
         
            +
              pry
         
     | 
| 
       46 
54 
     | 
    
         
             
              rake (~> 10.0)
         
     | 
| 
       47 
55 
     | 
    
         
             
              rspec (~> 3.2)
         
     | 
| 
       48 
     | 
    
         
            -
               
     | 
| 
      
 56 
     | 
    
         
            +
              rspec-collection_matchers (~> 1.1)
         
     | 
| 
      
 57 
     | 
    
         
            +
              rspec_junit_formatter (~> 0.3)
         
     | 
| 
       49 
58 
     | 
    
         
             
              webmock (~> 3.3)
         
     | 
| 
       50 
59 
     | 
    
         | 
| 
       51 
60 
     | 
    
         
             
            BUNDLED WITH
         
     | 
    
        data/lib/nanook/account.rb
    CHANGED
    
    | 
         @@ -8,7 +8,7 @@ class Nanook 
     | 
|
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
                def delegators
         
     | 
| 
       10 
10 
     | 
    
         
             
                  account_required!
         
     | 
| 
       11 
     | 
    
         
            -
                  rpc(:delegators)
         
     | 
| 
      
 11 
     | 
    
         
            +
                  rpc(:delegators)[:delegators]
         
     | 
| 
       12 
12 
     | 
    
         
             
                end
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
                def exists?
         
     | 
| 
         @@ -19,17 +19,17 @@ class Nanook 
     | 
|
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         
             
                def history(limit: 1000)
         
     | 
| 
       21 
21 
     | 
    
         
             
                  account_required!
         
     | 
| 
       22 
     | 
    
         
            -
                  rpc(:account_history, count: limit)
         
     | 
| 
      
 22 
     | 
    
         
            +
                  rpc(:account_history, count: limit)[:history]
         
     | 
| 
       23 
23 
     | 
    
         
             
                end
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
25 
     | 
    
         
             
                def public_key
         
     | 
| 
       26 
26 
     | 
    
         
             
                  account_required!
         
     | 
| 
       27 
     | 
    
         
            -
                  rpc(:account_key)
         
     | 
| 
      
 27 
     | 
    
         
            +
                  rpc(:account_key)[:key]
         
     | 
| 
       28 
28 
     | 
    
         
             
                end
         
     | 
| 
       29 
29 
     | 
    
         | 
| 
       30 
30 
     | 
    
         
             
                def representative
         
     | 
| 
       31 
31 
     | 
    
         
             
                  account_required!
         
     | 
| 
       32 
     | 
    
         
            -
                  rpc(:account_representative)
         
     | 
| 
      
 32 
     | 
    
         
            +
                  rpc(:account_representative)[:representative]
         
     | 
| 
       33 
33 
     | 
    
         
             
                end
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
       35 
35 
     | 
    
         
             
                def balance
         
     | 
| 
         @@ -44,17 +44,24 @@ class Nanook 
     | 
|
| 
       44 
44 
     | 
    
         | 
| 
       45 
45 
     | 
    
         
             
                def ledger(limit: 1)
         
     | 
| 
       46 
46 
     | 
    
         
             
                  account_required!
         
     | 
| 
       47 
     | 
    
         
            -
                  rpc(:ledger, count: limit)
         
     | 
| 
      
 47 
     | 
    
         
            +
                  rpc(:ledger, count: limit)[:accounts]
         
     | 
| 
       48 
48 
     | 
    
         
             
                end
         
     | 
| 
       49 
49 
     | 
    
         | 
| 
       50 
     | 
    
         
            -
                 
     | 
| 
      
 50 
     | 
    
         
            +
                # Returns Array of block hashes
         
     | 
| 
      
 51 
     | 
    
         
            +
                # Or, with detailed: true, returns Hashes
         
     | 
| 
      
 52 
     | 
    
         
            +
                def pending(limit: 1000, detailed: false)
         
     | 
| 
       51 
53 
     | 
    
         
             
                  account_required!
         
     | 
| 
       52 
     | 
    
         
            -
             
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
                  args = { count: limit }
         
     | 
| 
      
 56 
     | 
    
         
            +
                  args[:source] = true if detailed
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
                  response = rpc(:pending, args)[:blocks]
         
     | 
| 
      
 59 
     | 
    
         
            +
                  Nanook::Util.coerce_empty_string_to_type(response, (detailed ? Hash : Array))
         
     | 
| 
       53 
60 
     | 
    
         
             
                end
         
     | 
| 
       54 
61 
     | 
    
         | 
| 
       55 
62 
     | 
    
         
             
                def weight
         
     | 
| 
       56 
63 
     | 
    
         
             
                  account_required!
         
     | 
| 
       57 
     | 
    
         
            -
                  rpc(:account_weight)
         
     | 
| 
      
 64 
     | 
    
         
            +
                  rpc(:account_weight)[:weight]
         
     | 
| 
       58 
65 
     | 
    
         
             
                end
         
     | 
| 
       59 
66 
     | 
    
         | 
| 
       60 
67 
     | 
    
         
             
                private
         
     | 
    
        data/lib/nanook/block.rb
    CHANGED
    
    | 
         @@ -8,23 +8,24 @@ class Nanook 
     | 
|
| 
       8 
8 
     | 
    
         
             
                end
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
                def account
         
     | 
| 
       11 
     | 
    
         
            -
                  rpc(:block_account, :hash)
         
     | 
| 
      
 11 
     | 
    
         
            +
                  rpc(:block_account, :hash)[:account]
         
     | 
| 
       12 
12 
     | 
    
         
             
                end
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
                def cancel_work
         
     | 
| 
       15 
     | 
    
         
            -
                  rpc(:work_cancel, :hash)
         
     | 
| 
      
 15 
     | 
    
         
            +
                  rpc(:work_cancel, :hash).empty?
         
     | 
| 
       16 
16 
     | 
    
         
             
                end
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
18 
     | 
    
         
             
                def chain(limit: 1000)
         
     | 
| 
       19 
     | 
    
         
            -
                  rpc(:chain, :block, count: limit)
         
     | 
| 
      
 19 
     | 
    
         
            +
                  response = rpc(:chain, :block, count: limit)[:blocks]
         
     | 
| 
      
 20 
     | 
    
         
            +
                  Nanook::Util.coerce_empty_string_to_type(response, Array)
         
     | 
| 
       20 
21 
     | 
    
         
             
                end
         
     | 
| 
       21 
22 
     | 
    
         | 
| 
       22 
23 
     | 
    
         
             
                def generate_work
         
     | 
| 
       23 
     | 
    
         
            -
                  rpc(:work_generate, :hash)
         
     | 
| 
      
 24 
     | 
    
         
            +
                  rpc(:work_generate, :hash)[:work]
         
     | 
| 
       24 
25 
     | 
    
         
             
                end
         
     | 
| 
       25 
26 
     | 
    
         | 
| 
       26 
27 
     | 
    
         
             
                def history(limit: 1000)
         
     | 
| 
       27 
     | 
    
         
            -
                  rpc(:history, :hash, count: limit)
         
     | 
| 
      
 28 
     | 
    
         
            +
                  rpc(:history, :hash, count: limit)[:history]
         
     | 
| 
       28 
29 
     | 
    
         
             
                end
         
     | 
| 
       29 
30 
     | 
    
         | 
| 
       30 
31 
     | 
    
         
             
                def info(allow_unchecked: false)
         
     | 
| 
         @@ -57,7 +58,7 @@ class Nanook 
     | 
|
| 
       57 
58 
     | 
    
         
             
                  params[:sources] = sources unless sources.nil?
         
     | 
| 
       58 
59 
     | 
    
         
             
                  params[:count] = 1 unless params.empty?
         
     | 
| 
       59 
60 
     | 
    
         | 
| 
       60 
     | 
    
         
            -
                  rpc(:republish, :hash, params)
         
     | 
| 
      
 61 
     | 
    
         
            +
                  rpc(:republish, :hash, params)[:blocks]
         
     | 
| 
       61 
62 
     | 
    
         
             
                end
         
     | 
| 
       62 
63 
     | 
    
         | 
| 
       63 
64 
     | 
    
         
             
                def pending?
         
     | 
| 
         @@ -66,11 +67,12 @@ class Nanook 
     | 
|
| 
       66 
67 
     | 
    
         
             
                end
         
     | 
| 
       67 
68 
     | 
    
         | 
| 
       68 
69 
     | 
    
         
             
                def process
         
     | 
| 
       69 
     | 
    
         
            -
                  rpc(:process, :block)
         
     | 
| 
      
 70 
     | 
    
         
            +
                  rpc(:process, :block)[:hash]
         
     | 
| 
       70 
71 
     | 
    
         
             
                end
         
     | 
| 
       71 
72 
     | 
    
         | 
| 
       72 
73 
     | 
    
         
             
                def successors(limit: 1000)
         
     | 
| 
       73 
     | 
    
         
            -
                  rpc(:successors, :block, count: limit)
         
     | 
| 
      
 74 
     | 
    
         
            +
                  response = rpc(:successors, :block, count: limit)[:blocks]
         
     | 
| 
      
 75 
     | 
    
         
            +
                  Nanook::Util.coerce_empty_string_to_type(response, Array)
         
     | 
| 
       74 
76 
     | 
    
         
             
                end
         
     | 
| 
       75 
77 
     | 
    
         | 
| 
       76 
78 
     | 
    
         
             
                private
         
     | 
| 
         @@ -92,8 +94,9 @@ class Nanook 
     | 
|
| 
       92 
94 
     | 
    
         
             
                def _parse_info_response(response)
         
     | 
| 
       93 
95 
     | 
    
         
             
                  # The contents is a stringified JSON
         
     | 
| 
       94 
96 
     | 
    
         
             
                  if response[:contents]
         
     | 
| 
       95 
     | 
    
         
            -
                     
     | 
| 
      
 97 
     | 
    
         
            +
                    return JSON.parse(response[:contents]).to_symbolized_hash
         
     | 
| 
       96 
98 
     | 
    
         
             
                  end
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
       97 
100 
     | 
    
         
             
                  response
         
     | 
| 
       98 
101 
     | 
    
         
             
                end
         
     | 
| 
       99 
102 
     | 
    
         | 
    
        data/lib/nanook/node.rb
    CHANGED
    
    | 
         @@ -14,27 +14,27 @@ class Nanook 
     | 
|
| 
       14 
14 
     | 
    
         
             
                end
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
                def bootstrap(address:, port:)
         
     | 
| 
       17 
     | 
    
         
            -
                  rpc(:bootstrap, address: address, port: port)
         
     | 
| 
      
 17 
     | 
    
         
            +
                  rpc(:bootstrap, address: address, port: port).has_key?(:success)
         
     | 
| 
       18 
18 
     | 
    
         
             
                end
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         
             
                def bootstrap_any
         
     | 
| 
       21 
     | 
    
         
            -
                  rpc(:bootstrap_any)
         
     | 
| 
      
 21 
     | 
    
         
            +
                  rpc(:bootstrap_any).has_key?(:success)
         
     | 
| 
       22 
22 
     | 
    
         
             
                end
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         
             
                def frontier_count
         
     | 
| 
       25 
     | 
    
         
            -
                  rpc(:frontier_count)
         
     | 
| 
      
 25 
     | 
    
         
            +
                  rpc(:frontier_count)[:count]
         
     | 
| 
       26 
26 
     | 
    
         
             
                end
         
     | 
| 
       27 
27 
     | 
    
         | 
| 
       28 
28 
     | 
    
         
             
                def peers
         
     | 
| 
       29 
     | 
    
         
            -
                  rpc(:peers)
         
     | 
| 
      
 29 
     | 
    
         
            +
                  rpc(:peers)[:peers]
         
     | 
| 
       30 
30 
     | 
    
         
             
                end
         
     | 
| 
       31 
31 
     | 
    
         | 
| 
       32 
32 
     | 
    
         
             
                def representatives
         
     | 
| 
       33 
     | 
    
         
            -
                  rpc(:representatives)
         
     | 
| 
      
 33 
     | 
    
         
            +
                  rpc(:representatives)[:representatives]
         
     | 
| 
       34 
34 
     | 
    
         
             
                end
         
     | 
| 
       35 
35 
     | 
    
         | 
| 
       36 
36 
     | 
    
         
             
                def stop
         
     | 
| 
       37 
     | 
    
         
            -
                  rpc(:stop)
         
     | 
| 
      
 37 
     | 
    
         
            +
                  rpc(:stop).has_key?(:success)
         
     | 
| 
       38 
38 
     | 
    
         
             
                end
         
     | 
| 
       39 
39 
     | 
    
         | 
| 
       40 
40 
     | 
    
         
             
                def sync_progress
         
     | 
    
        data/lib/nanook/util.rb
    CHANGED
    
    
    
        data/lib/nanook/version.rb
    CHANGED
    
    
    
        data/lib/nanook/wallet.rb
    CHANGED
    
    | 
         @@ -12,30 +12,32 @@ class Nanook 
     | 
|
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
                def accounts
         
     | 
| 
       14 
14 
     | 
    
         
             
                  wallet_required!
         
     | 
| 
       15 
     | 
    
         
            -
                  rpc(:account_list)
         
     | 
| 
      
 15 
     | 
    
         
            +
                  response = rpc(:account_list)[:accounts]
         
     | 
| 
      
 16 
     | 
    
         
            +
                  Nanook::Util.coerce_empty_string_to_type(response, Array)
         
     | 
| 
       16 
17 
     | 
    
         
             
                end
         
     | 
| 
       17 
18 
     | 
    
         | 
| 
       18 
19 
     | 
    
         
             
                def balance(account_break_down: false)
         
     | 
| 
       19 
20 
     | 
    
         
             
                  wallet_required!
         
     | 
| 
       20 
21 
     | 
    
         
             
                  if account_break_down
         
     | 
| 
       21 
     | 
    
         
            -
                    rpc(:wallet_balances)
         
     | 
| 
      
 22 
     | 
    
         
            +
                    rpc(:wallet_balances)[:balances]
         
     | 
| 
       22 
23 
     | 
    
         
             
                  else
         
     | 
| 
       23 
24 
     | 
    
         
             
                    rpc(:wallet_balance_total)
         
     | 
| 
       24 
25 
     | 
    
         
             
                  end
         
     | 
| 
       25 
26 
     | 
    
         
             
                end
         
     | 
| 
       26 
27 
     | 
    
         | 
| 
       27 
28 
     | 
    
         
             
                def create
         
     | 
| 
       28 
     | 
    
         
            -
                  rpc(:wallet_create)
         
     | 
| 
      
 29 
     | 
    
         
            +
                  rpc(:wallet_create)[:wallet]
         
     | 
| 
       29 
30 
     | 
    
         
             
                end
         
     | 
| 
       30 
31 
     | 
    
         | 
| 
       31 
32 
     | 
    
         
             
                def destroy
         
     | 
| 
       32 
33 
     | 
    
         
             
                  wallet_required!
         
     | 
| 
       33 
34 
     | 
    
         
             
                  rpc(:wallet_destroy)
         
     | 
| 
      
 35 
     | 
    
         
            +
                  true
         
     | 
| 
       34 
36 
     | 
    
         
             
                end
         
     | 
| 
       35 
37 
     | 
    
         | 
| 
       36 
38 
     | 
    
         
             
                def export
         
     | 
| 
       37 
39 
     | 
    
         
             
                  wallet_required!
         
     | 
| 
       38 
     | 
    
         
            -
                  rpc(:wallet_export)
         
     | 
| 
      
 40 
     | 
    
         
            +
                  rpc(:wallet_export)[:json]
         
     | 
| 
       39 
41 
     | 
    
         
             
                end
         
     | 
| 
       40 
42 
     | 
    
         | 
| 
       41 
43 
     | 
    
         
             
                def contains?(account)
         
     | 
| 
         @@ -62,17 +64,17 @@ class Nanook 
     | 
|
| 
       62 
64 
     | 
    
         | 
| 
       63 
65 
     | 
    
         
             
                def unlock(password)
         
     | 
| 
       64 
66 
     | 
    
         
             
                  wallet_required!
         
     | 
| 
       65 
     | 
    
         
            -
                  rpc(:password_enter, password: password)
         
     | 
| 
      
 67 
     | 
    
         
            +
                  rpc(:password_enter, password: password)[:valid] == 1
         
     | 
| 
       66 
68 
     | 
    
         
             
                end
         
     | 
| 
       67 
69 
     | 
    
         | 
| 
       68 
70 
     | 
    
         
             
                def change_password(password)
         
     | 
| 
       69 
71 
     | 
    
         
             
                  wallet_required!
         
     | 
| 
       70 
     | 
    
         
            -
                  rpc(:password_change, password: password)
         
     | 
| 
      
 72 
     | 
    
         
            +
                  rpc(:password_change, password: password)[:changed] == 1
         
     | 
| 
       71 
73 
     | 
    
         
             
                end
         
     | 
| 
       72 
74 
     | 
    
         | 
| 
       73 
75 
     | 
    
         
             
                def all
         
     | 
| 
       74 
76 
     | 
    
         
             
                  wallet_required!
         
     | 
| 
       75 
     | 
    
         
            -
                  rpc(:account_list)
         
     | 
| 
      
 77 
     | 
    
         
            +
                  rpc(:account_list)[:accounts]
         
     | 
| 
       76 
78 
     | 
    
         
             
                end
         
     | 
| 
       77 
79 
     | 
    
         | 
| 
       78 
80 
     | 
    
         
             
                private
         
     | 
| 
         @@ -14,13 +14,13 @@ class Nanook 
     | 
|
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
                def create
         
     | 
| 
       16 
16 
     | 
    
         
             
                  wallet_required!
         
     | 
| 
       17 
     | 
    
         
            -
                  rpc(:account_create)
         
     | 
| 
      
 17 
     | 
    
         
            +
                  rpc(:account_create)[:account]
         
     | 
| 
       18 
18 
     | 
    
         
             
                end
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         
             
                def destroy
         
     | 
| 
       21 
21 
     | 
    
         
             
                  wallet_required!
         
     | 
| 
       22 
22 
     | 
    
         
             
                  account_required!
         
     | 
| 
       23 
     | 
    
         
            -
                  rpc(:account_remove)
         
     | 
| 
      
 23 
     | 
    
         
            +
                  rpc(:account_remove)[:removed] == 1
         
     | 
| 
       24 
24 
     | 
    
         
             
                end
         
     | 
| 
       25 
25 
     | 
    
         | 
| 
       26 
26 
     | 
    
         
             
                def pay(to:, amount:, id:)
         
     | 
| 
         @@ -38,9 +38,10 @@ class Nanook 
     | 
|
| 
       38 
38 
     | 
    
         
             
                    id: id
         
     | 
| 
       39 
39 
     | 
    
         
             
                  }
         
     | 
| 
       40 
40 
     | 
    
         | 
| 
       41 
     | 
    
         
            -
                  @rpc.call(:send, p)
         
     | 
| 
      
 41 
     | 
    
         
            +
                  @rpc.call(:send, p)[:block]
         
     | 
| 
       42 
42 
     | 
    
         
             
                end
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
      
 44 
     | 
    
         
            +
                # Returns false if no block to receive
         
     | 
| 
       44 
45 
     | 
    
         
             
                def receive(block=nil)
         
     | 
| 
       45 
46 
     | 
    
         
             
                  wallet_required!
         
     | 
| 
       46 
47 
     | 
    
         
             
                  account_required!
         
     | 
| 
         @@ -76,8 +77,10 @@ class Nanook 
     | 
|
| 
       76 
77 
     | 
    
         
             
                  _receive_with_block(block)
         
     | 
| 
       77 
78 
     | 
    
         
             
                end
         
     | 
| 
       78 
79 
     | 
    
         | 
| 
      
 80 
     | 
    
         
            +
                # Returns block if successful, otherwise false
         
     | 
| 
       79 
81 
     | 
    
         
             
                def _receive_with_block(block)
         
     | 
| 
       80 
     | 
    
         
            -
                  rpc(:receive, block: block)
         
     | 
| 
      
 82 
     | 
    
         
            +
                  response = rpc(:receive, block: block)[:block]
         
     | 
| 
      
 83 
     | 
    
         
            +
                  response.nil? ? false : response
         
     | 
| 
       81 
84 
     | 
    
         
             
                end
         
     | 
| 
       82 
85 
     | 
    
         | 
| 
       83 
86 
     | 
    
         
             
                def rpc(action, params={})
         
     | 
    
        data/lib/nanook/work_peer.rb
    CHANGED
    
    | 
         @@ -6,15 +6,15 @@ class Nanook 
     | 
|
| 
       6 
6 
     | 
    
         
             
                end
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
                def add(address:, port:)
         
     | 
| 
       9 
     | 
    
         
            -
                  rpc(:work_peer_add, address: address, port: port)
         
     | 
| 
      
 9 
     | 
    
         
            +
                  rpc(:work_peer_add, address: address, port: port).has_key?(:success)
         
     | 
| 
       10 
10 
     | 
    
         
             
                end
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
                def clear
         
     | 
| 
       13 
     | 
    
         
            -
                  rpc(:work_peers_clear)
         
     | 
| 
      
 13 
     | 
    
         
            +
                  rpc(:work_peers_clear).has_key?(:success)
         
     | 
| 
       14 
14 
     | 
    
         
             
                end
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
                def list
         
     | 
| 
       17 
     | 
    
         
            -
                  rpc(:work_peers)
         
     | 
| 
      
 17 
     | 
    
         
            +
                  rpc(:work_peers)[:work_peers]
         
     | 
| 
       18 
18 
     | 
    
         
             
                end
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         
             
                private
         
     | 
    
        data/nanook.gemspec
    CHANGED
    
    | 
         @@ -22,10 +22,12 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       22 
22 
     | 
    
         
             
              spec.require_paths = ["lib"]
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         
             
              spec.add_development_dependency "bundler", "~> 1.16"
         
     | 
| 
      
 25 
     | 
    
         
            +
              spec.add_development_dependency "pry"
         
     | 
| 
       25 
26 
     | 
    
         
             
              spec.add_development_dependency "rake", "~> 10.0"
         
     | 
| 
       26 
27 
     | 
    
         
             
              spec.add_development_dependency "rspec", "~> 3.2"
         
     | 
| 
       27 
     | 
    
         
            -
              spec.add_development_dependency " 
     | 
| 
      
 28 
     | 
    
         
            +
              spec.add_development_dependency "rspec-collection_matchers", "~> 1.1"
         
     | 
| 
      
 29 
     | 
    
         
            +
              spec.add_development_dependency "rspec_junit_formatter", "~> 0.3"
         
     | 
| 
       28 
30 
     | 
    
         
             
              spec.add_development_dependency "webmock", "~> 3.3"
         
     | 
| 
       29 
31 
     | 
    
         | 
| 
       30 
     | 
    
         
            -
              spec.add_dependency "symbolized"
         
     | 
| 
      
 32 
     | 
    
         
            +
              spec.add_dependency "symbolized", "~> 0.0.1"
         
     | 
| 
       31 
33 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: nanook
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.7.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Luke Duncalfe
         
     | 
| 
         @@ -24,6 +24,20 @@ dependencies: 
     | 
|
| 
       24 
24 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       25 
25 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       26 
26 
     | 
    
         
             
                    version: '1.16'
         
     | 
| 
      
 27 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 28 
     | 
    
         
            +
              name: pry
         
     | 
| 
      
 29 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 30 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 31 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 32 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 33 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 34 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 35 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 36 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 37 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 38 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 39 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 40 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       27 
41 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       28 
42 
     | 
    
         
             
              name: rake
         
     | 
| 
       29 
43 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -52,20 +66,34 @@ dependencies: 
     | 
|
| 
       52 
66 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       53 
67 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       54 
68 
     | 
    
         
             
                    version: '3.2'
         
     | 
| 
      
 69 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 70 
     | 
    
         
            +
              name: rspec-collection_matchers
         
     | 
| 
      
 71 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 72 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 73 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 74 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 75 
     | 
    
         
            +
                    version: '1.1'
         
     | 
| 
      
 76 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 77 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 78 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 79 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 80 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 81 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 82 
     | 
    
         
            +
                    version: '1.1'
         
     | 
| 
       55 
83 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       56 
84 
     | 
    
         
             
              name: rspec_junit_formatter
         
     | 
| 
       57 
85 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       58 
86 
     | 
    
         
             
                requirements:
         
     | 
| 
       59 
     | 
    
         
            -
                - - " 
     | 
| 
      
 87 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
       60 
88 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       61 
     | 
    
         
            -
                    version: '0'
         
     | 
| 
      
 89 
     | 
    
         
            +
                    version: '0.3'
         
     | 
| 
       62 
90 
     | 
    
         
             
              type: :development
         
     | 
| 
       63 
91 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       64 
92 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       65 
93 
     | 
    
         
             
                requirements:
         
     | 
| 
       66 
     | 
    
         
            -
                - - " 
     | 
| 
      
 94 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
       67 
95 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       68 
     | 
    
         
            -
                    version: '0'
         
     | 
| 
      
 96 
     | 
    
         
            +
                    version: '0.3'
         
     | 
| 
       69 
97 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       70 
98 
     | 
    
         
             
              name: webmock
         
     | 
| 
       71 
99 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -84,16 +112,16 @@ dependencies: 
     | 
|
| 
       84 
112 
     | 
    
         
             
              name: symbolized
         
     | 
| 
       85 
113 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       86 
114 
     | 
    
         
             
                requirements:
         
     | 
| 
       87 
     | 
    
         
            -
                - - " 
     | 
| 
      
 115 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
       88 
116 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       89 
     | 
    
         
            -
                    version:  
     | 
| 
      
 117 
     | 
    
         
            +
                    version: 0.0.1
         
     | 
| 
       90 
118 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       91 
119 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       92 
120 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       93 
121 
     | 
    
         
             
                requirements:
         
     | 
| 
       94 
     | 
    
         
            -
                - - " 
     | 
| 
      
 122 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
       95 
123 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       96 
     | 
    
         
            -
                    version:  
     | 
| 
      
 124 
     | 
    
         
            +
                    version: 0.0.1
         
     | 
| 
       97 
125 
     | 
    
         
             
            description: Ruby library for managing a nano currency node, including making and
         
     | 
| 
       98 
126 
     | 
    
         
             
              receiving payments, using the nano RPC protocol
         
     | 
| 
       99 
127 
     | 
    
         
             
            email:
         
     |