nano_rpc 0.3.0 → 0.4.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/lib/nano_rpc.rb +5 -5
- data/lib/nano_rpc/client.rb +7 -0
- data/lib/nano_rpc/helpers/{account_proxy_helper.rb → account_helper.rb} +9 -9
- data/lib/nano_rpc/helpers/{accounts_proxy_helper.rb → accounts_helper.rb} +3 -3
- data/lib/nano_rpc/helpers/application_helper.rb +17 -10
- data/lib/nano_rpc/helpers/node_helper.rb +52 -0
- data/lib/nano_rpc/helpers/{wallet_proxy_helper.rb → wallet_helper.rb} +26 -35
- data/lib/nano_rpc/proxies/account.rb +2 -3
- data/lib/nano_rpc/proxies/accounts.rb +2 -2
- data/lib/nano_rpc/proxies/node.rb +2 -1
- data/lib/nano_rpc/proxies/wallet.rb +7 -2
- data/lib/nano_rpc/proxy.rb +14 -20
- data/lib/nano_rpc/version.rb +1 -1
- metadata +6 -6
- data/lib/nano_rpc/helpers/node_proxy_helper.rb +0 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51594de4d5c25a44368e84aea129bfe04cc01f28654efdd70101a77b86361111
|
4
|
+
data.tar.gz: 3dcedfce43a868796ea107807a4a196cd4e78d5416ebaae4289d3911fbbb8a88
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5df2f32a0c02eada1f18af7d460de1d01b1e9cf762091168047855cba46f002dbcda51f42c662ff29a1dbddc31ac14b0dbe1725d9602a57e2726bab4f650f214
|
7
|
+
data.tar.gz: d0cdd6a9ba34c543f8cd7039abc6e0cc368ea862e2770cfceb2f49c9cb8af538570eea14d870c7dc1aab1012fe359ee92970df819ac5b9a8c0e59351f61b8191
|
data/lib/nano_rpc.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require 'nano_rpc/version'
|
3
|
+
require 'nano_rpc/helpers/application_helper'
|
4
|
+
require 'nano_rpc/helpers/account_helper'
|
5
|
+
require 'nano_rpc/helpers/accounts_helper'
|
6
|
+
require 'nano_rpc/helpers/node_helper'
|
7
|
+
require 'nano_rpc/helpers/wallet_helper'
|
3
8
|
require 'nano_rpc/client'
|
4
9
|
require 'nano_rpc/errors'
|
5
10
|
require 'nano_rpc/proxy'
|
6
11
|
require 'nano_rpc/response'
|
7
|
-
require 'nano_rpc/helpers/application_helper'
|
8
|
-
require 'nano_rpc/helpers/account_proxy_helper'
|
9
|
-
require 'nano_rpc/helpers/accounts_proxy_helper'
|
10
|
-
require 'nano_rpc/helpers/node_proxy_helper'
|
11
|
-
require 'nano_rpc/helpers/wallet_proxy_helper'
|
12
12
|
require 'nano_rpc/proxies/account'
|
13
13
|
require 'nano_rpc/proxies/accounts'
|
14
14
|
require 'nano_rpc/proxies/node'
|
data/lib/nano_rpc/client.rb
CHANGED
@@ -8,6 +8,8 @@ module Nano
|
|
8
8
|
end
|
9
9
|
|
10
10
|
class Client
|
11
|
+
include Nano::ApplicationHelper
|
12
|
+
|
11
13
|
attr_accessor :host, :port
|
12
14
|
|
13
15
|
def initialize(host: 'localhost', port: 7076)
|
@@ -15,6 +17,11 @@ module Nano
|
|
15
17
|
@port = port
|
16
18
|
end
|
17
19
|
|
20
|
+
# Condense host/port on object inspection
|
21
|
+
def inspect
|
22
|
+
"#{inspect_prefix}, @url=\"#{@host}:#{port}\">"
|
23
|
+
end
|
24
|
+
|
18
25
|
def call(action, params = {})
|
19
26
|
args = { action: action }
|
20
27
|
args.merge!(params) if params.is_a?(Hash)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
module Nano::
|
2
|
+
module Nano::AccountHelper
|
3
3
|
include Nano::ApplicationHelper
|
4
4
|
|
5
5
|
def balance
|
@@ -10,9 +10,9 @@ module Nano::AccountProxyHelper
|
|
10
10
|
account_block_count.block_count
|
11
11
|
end
|
12
12
|
|
13
|
-
def history(
|
13
|
+
def history(*args)
|
14
14
|
account_history(
|
15
|
-
|
15
|
+
pluck_argument(args, :count)
|
16
16
|
).history
|
17
17
|
end
|
18
18
|
|
@@ -26,15 +26,15 @@ module Nano::AccountProxyHelper
|
|
26
26
|
|
27
27
|
def move(from:, to:)
|
28
28
|
account_move(
|
29
|
-
wallet:
|
30
|
-
source:
|
29
|
+
wallet: object_to_value(to),
|
30
|
+
source: object_to_value(from),
|
31
31
|
accounts: [address]
|
32
32
|
).moved == 1
|
33
33
|
end
|
34
34
|
|
35
35
|
def wallet_work_set(wallet:, work:)
|
36
36
|
work_set(
|
37
|
-
wallet:
|
37
|
+
wallet: object_to_value(wallet),
|
38
38
|
work: work
|
39
39
|
).success == ''
|
40
40
|
end
|
@@ -53,9 +53,9 @@ module Nano::AccountProxyHelper
|
|
53
53
|
end
|
54
54
|
alias blocks_pending pending_blocks
|
55
55
|
|
56
|
-
def remove(
|
56
|
+
def remove(*args)
|
57
57
|
account_remove(
|
58
|
-
|
58
|
+
pluck_argument(args, :wallet)
|
59
59
|
).removed == 1
|
60
60
|
end
|
61
61
|
|
@@ -65,7 +65,7 @@ module Nano::AccountProxyHelper
|
|
65
65
|
|
66
66
|
def representative_set(wallet:, representative:)
|
67
67
|
account_representative_set(
|
68
|
-
wallet:
|
68
|
+
wallet: object_to_value(wallet),
|
69
69
|
representative: representative
|
70
70
|
).set == 1
|
71
71
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
module Nano::
|
2
|
+
module Nano::AccountsHelper
|
3
3
|
include Nano::ApplicationHelper
|
4
4
|
|
5
5
|
def balances
|
@@ -25,8 +25,8 @@ module Nano::AccountsProxyHelper
|
|
25
25
|
|
26
26
|
def move(from:, to:)
|
27
27
|
account_move(
|
28
|
-
source:
|
29
|
-
wallet:
|
28
|
+
source: object_to_value(from),
|
29
|
+
wallet: object_to_value(to)
|
30
30
|
).moved == 1
|
31
31
|
end
|
32
32
|
|
@@ -2,19 +2,26 @@
|
|
2
2
|
module Nano::ApplicationHelper
|
3
3
|
private
|
4
4
|
|
5
|
-
def
|
6
|
-
|
5
|
+
def pluck_argument(args, key, arg_key = nil)
|
6
|
+
k = arg_key || key
|
7
|
+
arg = args.first
|
8
|
+
v = arg.is_a?(Hash) ? arg[key] : arg
|
9
|
+
{ k => object_to_value(v) }
|
7
10
|
end
|
8
11
|
|
9
|
-
def
|
10
|
-
|
12
|
+
def object_to_value(arg)
|
13
|
+
if arg.is_a?(Nano::Wallet)
|
14
|
+
arg.seed
|
15
|
+
elsif arg.is_a?(Nano::Account)
|
16
|
+
arg.address
|
17
|
+
elsif arg.is_a?(Nano::Accounts)
|
18
|
+
arg.addresses
|
19
|
+
else
|
20
|
+
arg
|
21
|
+
end
|
11
22
|
end
|
12
23
|
|
13
|
-
def
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
def accounts_addresses(accounts)
|
18
|
-
accounts.is_a?(Nano::Accounts) ? accounts.addresses : accounts
|
24
|
+
def inspect_prefix
|
25
|
+
"#<#{self.class}:#{format('0x00%x', object_id << 1)}"
|
19
26
|
end
|
20
27
|
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module Nano::NodeHelper
|
3
|
+
include Nano::ApplicationHelper
|
4
|
+
|
5
|
+
def account_containing_block(*args)
|
6
|
+
block_account(pluck_argument(args, :hash)).account
|
7
|
+
end
|
8
|
+
|
9
|
+
def create_wallet
|
10
|
+
Nano::Wallet.new(wallet_create.wallet)
|
11
|
+
end
|
12
|
+
|
13
|
+
def knano_from_raw(*args)
|
14
|
+
krai_from_raw(pluck_argument(args, :amount)).amount
|
15
|
+
end
|
16
|
+
|
17
|
+
def knano_to_raw(*args)
|
18
|
+
krai_to_raw(pluck_argument(args, :amount)).amount
|
19
|
+
end
|
20
|
+
|
21
|
+
def mnano_from_raw(*args)
|
22
|
+
mrai_from_raw(pluck_argument(args, :amount)).amount
|
23
|
+
end
|
24
|
+
|
25
|
+
def mnano_to_raw(*args)
|
26
|
+
mrai_to_raw(pluck_argument(args, :amount)).amount
|
27
|
+
end
|
28
|
+
|
29
|
+
def nano_from_raw(*args)
|
30
|
+
rai_from_raw(pluck_argument(args, :amount)).amount
|
31
|
+
end
|
32
|
+
|
33
|
+
def nano_to_raw(*args)
|
34
|
+
rai_to_raw(pluck_argument(args, :amount)).amount
|
35
|
+
end
|
36
|
+
|
37
|
+
def num_frontiers
|
38
|
+
frontier_count['count']
|
39
|
+
end
|
40
|
+
|
41
|
+
def pending_exists?(*args)
|
42
|
+
pending_exists(pluck_argument(args, :hash)).exists == 1
|
43
|
+
end
|
44
|
+
|
45
|
+
def total_supply
|
46
|
+
available_supply.available
|
47
|
+
end
|
48
|
+
|
49
|
+
def work_valid?(work:, hash:)
|
50
|
+
work_validate(work: work, hash: hash).valid == 1
|
51
|
+
end
|
52
|
+
end
|
@@ -1,14 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
module Nano::
|
2
|
+
module Nano::WalletHelper
|
3
3
|
include Nano::ApplicationHelper
|
4
4
|
|
5
|
-
def account_work(
|
6
|
-
work_get(
|
7
|
-
account: account_address(opts_pluck(opts, :account))
|
8
|
-
).work
|
5
|
+
def account_work(*args)
|
6
|
+
work_get(pluck_argument(args, :account)).work
|
9
7
|
end
|
10
8
|
|
11
9
|
def accounts
|
10
|
+
return [] unless account_list.accounts.size.positive?
|
12
11
|
Nano::Accounts.new(account_list.accounts)
|
13
12
|
end
|
14
13
|
|
@@ -32,22 +31,20 @@ module Nano::WalletProxyHelper
|
|
32
31
|
payment_begin.account
|
33
32
|
end
|
34
33
|
|
35
|
-
def change_password(
|
34
|
+
def change_password(*args)
|
36
35
|
password_change(
|
37
|
-
|
36
|
+
pluck_argument(args, :new_password, :password)
|
38
37
|
).changed == 1
|
39
38
|
end
|
40
39
|
|
41
|
-
def change_seed(
|
40
|
+
def change_seed(*args)
|
42
41
|
wallet_change_seed(
|
43
|
-
|
42
|
+
pluck_argument(args, :new_seed, :seed)
|
44
43
|
).success == ''
|
45
44
|
end
|
46
45
|
|
47
|
-
def contains?(
|
48
|
-
wallet_contains(
|
49
|
-
account: account_address(opts_pluck(opts, :account))
|
50
|
-
).exists == 1
|
46
|
+
def contains?(*args)
|
47
|
+
wallet_contains(pluck_argument(args, :account)).exists == 1
|
51
48
|
end
|
52
49
|
|
53
50
|
def create_account(work: true)
|
@@ -62,10 +59,8 @@ module Nano::WalletProxyHelper
|
|
62
59
|
wallet_destroy
|
63
60
|
end
|
64
61
|
|
65
|
-
def enter_password(
|
66
|
-
password_enter(
|
67
|
-
password: opts_pluck(opts, :password)
|
68
|
-
).valid == 1
|
62
|
+
def enter_password(*args)
|
63
|
+
password_enter(pluck_argument(args, :password)).valid == 1
|
69
64
|
end
|
70
65
|
|
71
66
|
def export
|
@@ -86,16 +81,14 @@ module Nano::WalletProxyHelper
|
|
86
81
|
|
87
82
|
def move_accounts(to:, accounts:)
|
88
83
|
account_move(
|
89
|
-
wallet:
|
84
|
+
wallet: object_to_value(to),
|
90
85
|
source: seed,
|
91
|
-
accounts:
|
86
|
+
accounts: object_to_value(accounts)
|
92
87
|
).moved == 1
|
93
88
|
end
|
94
89
|
|
95
|
-
def password_valid?(
|
96
|
-
password_valid(
|
97
|
-
password: opts_pluck(opts, :password)
|
98
|
-
).valid == 1
|
90
|
+
def password_valid?(*args)
|
91
|
+
password_valid(pluck_argument(args, :password)).valid == 1
|
99
92
|
end
|
100
93
|
|
101
94
|
def pending_balance
|
@@ -123,44 +116,42 @@ module Nano::WalletProxyHelper
|
|
123
116
|
|
124
117
|
def receive_block(account:, block:)
|
125
118
|
receive(
|
126
|
-
account:
|
119
|
+
account: object_to_value(account),
|
127
120
|
block: block
|
128
121
|
).block
|
129
122
|
end
|
130
123
|
|
131
|
-
def remove_account(
|
132
|
-
account_remove(
|
133
|
-
account: account_address(opts_pluck(opts, :account))
|
134
|
-
).removed == 1
|
124
|
+
def remove_account(*args)
|
125
|
+
account_remove(pluck_argument(args, :account)).removed == 1
|
135
126
|
end
|
136
127
|
|
137
128
|
def representative
|
138
129
|
wallet_representative.representative
|
139
130
|
end
|
140
131
|
|
141
|
-
def republish(
|
142
|
-
wallet_republish(
|
132
|
+
def republish(*args)
|
133
|
+
wallet_republish(pluck_argument(args, :count)).blocks
|
143
134
|
end
|
144
135
|
|
145
136
|
def account_work_set(account:, work:)
|
146
137
|
work_set(
|
147
|
-
account:
|
138
|
+
account: object_to_value(account),
|
148
139
|
work: work
|
149
140
|
).success == ''
|
150
141
|
end
|
151
142
|
alias set_account_work account_work_set
|
152
143
|
|
153
|
-
def representative_set(
|
144
|
+
def representative_set(*args)
|
154
145
|
wallet_representative_set(
|
155
|
-
|
146
|
+
pluck_argument(args, :representative)
|
156
147
|
).set == 1
|
157
148
|
end
|
158
149
|
alias set_representative representative_set
|
159
150
|
|
160
151
|
def send_nano(from:, to:, amount:, work: nil)
|
161
152
|
send_currency(
|
162
|
-
source:
|
163
|
-
destination:
|
153
|
+
source: object_to_value(from),
|
154
|
+
destination: object_to_value(to),
|
164
155
|
amount: amount,
|
165
156
|
work: work
|
166
157
|
).block
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
class Nano::Account
|
3
3
|
include Nano::Proxy
|
4
|
-
include Nano::
|
4
|
+
include Nano::AccountHelper
|
5
5
|
|
6
|
-
|
6
|
+
attr_reader :address
|
7
7
|
|
8
8
|
def initialize(address = nil, opts = {})
|
9
9
|
unless address.is_a?(String)
|
@@ -31,7 +31,6 @@ class Nano::Account
|
|
31
31
|
proxy_method :delegators
|
32
32
|
proxy_method :delegators_count
|
33
33
|
proxy_method :frontiers, required: %i[count]
|
34
|
-
proxy_method :frontier_count
|
35
34
|
proxy_method :ledger,
|
36
35
|
required: %i[count],
|
37
36
|
optional: %i[representative weight pending sorting]
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
class Nano::Accounts
|
3
3
|
include Nano::Proxy
|
4
|
-
include Nano::
|
4
|
+
include Nano::AccountsHelper
|
5
5
|
|
6
|
-
|
6
|
+
attr_reader :addresses
|
7
7
|
|
8
8
|
def initialize(addresses = nil, opts = {})
|
9
9
|
unless addresses.is_a?(Array)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
class Nano::Node
|
3
3
|
include Nano::Proxy
|
4
|
-
include Nano::
|
4
|
+
include Nano::NodeHelper
|
5
5
|
|
6
6
|
proxy_method :available_supply
|
7
7
|
proxy_method :block, required: %i[hash]
|
@@ -17,6 +17,7 @@ class Nano::Node
|
|
17
17
|
proxy_method :bootstrap_any
|
18
18
|
proxy_method :chain, required: %i[block count]
|
19
19
|
proxy_method :deterministic_key, required: %i[seed index]
|
20
|
+
proxy_method :frontier_count
|
20
21
|
proxy_method :history, required: %i[hash count]
|
21
22
|
proxy_method :keepalive, required: %i[address port]
|
22
23
|
proxy_method :key_create
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
class Nano::Wallet
|
3
3
|
include Nano::Proxy
|
4
|
-
include Nano::
|
4
|
+
include Nano::WalletHelper
|
5
5
|
|
6
|
-
|
6
|
+
attr_reader :seed
|
7
7
|
|
8
8
|
def initialize(seed = nil, opts = {})
|
9
9
|
unless seed.is_a?(String)
|
@@ -15,6 +15,11 @@ class Nano::Wallet
|
|
15
15
|
super(opts)
|
16
16
|
end
|
17
17
|
|
18
|
+
# Hide secret seed on object inspection
|
19
|
+
def inspect
|
20
|
+
"#{inspect_prefix}, @client=#{@client.inspect}>"
|
21
|
+
end
|
22
|
+
|
18
23
|
proxy_params wallet: :seed
|
19
24
|
|
20
25
|
proxy_method :account_create, optional: %i[work]
|
data/lib/nano_rpc/proxy.rb
CHANGED
@@ -1,9 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
module Nano::Proxy
|
3
|
+
include Nano::ApplicationHelper
|
4
|
+
|
3
5
|
attr_accessor :client
|
4
6
|
|
5
7
|
def initialize(opts = {})
|
6
8
|
@client = opts[:client] || Nano.client
|
9
|
+
self.class.proxy_methods.each { |m| define_proxy_method(m) }
|
7
10
|
end
|
8
11
|
|
9
12
|
def self.included(base)
|
@@ -24,42 +27,33 @@ module Nano::Proxy
|
|
24
27
|
def proxy_methods
|
25
28
|
proxy_method_def.keys.sort
|
26
29
|
end
|
27
|
-
|
28
|
-
def methods
|
29
|
-
(super + proxy_methods).sort
|
30
|
-
end
|
31
30
|
end
|
32
31
|
|
33
32
|
def proxy_methods
|
34
33
|
self.class.proxy_methods
|
35
34
|
end
|
36
35
|
|
37
|
-
def methods
|
38
|
-
(super + proxy_methods).sort
|
39
|
-
end
|
40
|
-
|
41
36
|
private
|
42
37
|
|
43
|
-
def method_missing(m, *args, &_block)
|
44
|
-
return super unless methods.include?(m)
|
45
|
-
define_proxy_method(m)
|
46
|
-
send(m, args.first)
|
47
|
-
end
|
48
|
-
|
49
|
-
def respond_to_missing?(m, include_private = false)
|
50
|
-
methods.include?(m) || super
|
51
|
-
end
|
52
|
-
|
53
38
|
def define_proxy_method(m)
|
54
|
-
self.class.send(:define_method, method_alias(m)) do |
|
39
|
+
self.class.send(:define_method, method_alias(m)) do |*args|
|
55
40
|
@m = m
|
56
|
-
@call_args =
|
41
|
+
@call_args = hashify_args(args)
|
57
42
|
|
58
43
|
validate_params!
|
59
44
|
execute_call
|
60
45
|
end
|
61
46
|
end
|
62
47
|
|
48
|
+
def hashify_args(args)
|
49
|
+
if args.first.is_a?(Hash)
|
50
|
+
args.first
|
51
|
+
else
|
52
|
+
(args[1].is_a?(Hash) ? args[1] : {})
|
53
|
+
.merge!(pluck_argument(args, required_params.first))
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
63
57
|
def execute_call
|
64
58
|
expose_nested_data(@client.call(@m, @call_args))
|
65
59
|
end
|
data/lib/nano_rpc/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nano_rpc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Craig-Kuhn (JCK)
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-02-
|
11
|
+
date: 2018-02-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -154,11 +154,11 @@ files:
|
|
154
154
|
- lib/nano_rpc.rb
|
155
155
|
- lib/nano_rpc/client.rb
|
156
156
|
- lib/nano_rpc/errors.rb
|
157
|
-
- lib/nano_rpc/helpers/
|
158
|
-
- lib/nano_rpc/helpers/
|
157
|
+
- lib/nano_rpc/helpers/account_helper.rb
|
158
|
+
- lib/nano_rpc/helpers/accounts_helper.rb
|
159
159
|
- lib/nano_rpc/helpers/application_helper.rb
|
160
|
-
- lib/nano_rpc/helpers/
|
161
|
-
- lib/nano_rpc/helpers/
|
160
|
+
- lib/nano_rpc/helpers/node_helper.rb
|
161
|
+
- lib/nano_rpc/helpers/wallet_helper.rb
|
162
162
|
- lib/nano_rpc/proxies/account.rb
|
163
163
|
- lib/nano_rpc/proxies/accounts.rb
|
164
164
|
- lib/nano_rpc/proxies/node.rb
|
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module Nano::NodeProxyHelper
|
3
|
-
include Nano::ApplicationHelper
|
4
|
-
|
5
|
-
def account_containing_block(opts)
|
6
|
-
block_account(opts_hash(opts)).account
|
7
|
-
end
|
8
|
-
|
9
|
-
def available_nano
|
10
|
-
available_supply.available
|
11
|
-
end
|
12
|
-
|
13
|
-
def create_wallet
|
14
|
-
Nano::Wallet.new(wallet_create.wallet)
|
15
|
-
end
|
16
|
-
|
17
|
-
def pending_exists?(opts)
|
18
|
-
pending_exists(opts_hash(opts)).exists == 1
|
19
|
-
end
|
20
|
-
|
21
|
-
def work_valid?(work:, hash:)
|
22
|
-
work_validate(work: work, hash: hash).valid == 1
|
23
|
-
end
|
24
|
-
|
25
|
-
private
|
26
|
-
|
27
|
-
def opts_hash(opts)
|
28
|
-
{ hash: opts_pluck(opts, :hash) }
|
29
|
-
end
|
30
|
-
end
|