cardano_wallet 0.2.9 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,15 +1,16 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module CardanoWallet
4
+ ##
5
+ # misc
2
6
  module Misc
3
-
4
7
  def self.new(opt)
5
8
  Init.new opt
6
9
  end
7
10
 
11
+ ##
12
+ # Base Class for Misc API
8
13
  class Init < Base
9
- def initialize opt
10
- super
11
- end
12
-
13
14
  # Call API for Network
14
15
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Network
15
16
  def network
@@ -30,72 +31,57 @@ module CardanoWallet
30
31
  def settings
31
32
  Settings.new @opt
32
33
  end
33
-
34
34
  end
35
35
 
36
36
  # API for Network
37
37
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Settings
38
38
  class Settings < Base
39
- def initialize opt
40
- super
41
- end
42
-
43
39
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getSettings
44
40
  def get
45
- self.class.get("/settings")
41
+ self.class.get('/settings')
46
42
  end
47
43
 
48
44
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/putSettings
49
45
  def update(params)
50
46
  CardanoWallet::Utils.verify_param_is_hash!(params)
51
- self.class.put("/settings",
52
- :body => {"settings" => params}.to_json,
53
- :headers => { 'Content-Type' => 'application/json' }
54
- )
47
+ self.class.put('/settings',
48
+ body: { 'settings' => params }.to_json,
49
+ headers: { 'Content-Type' => 'application/json' })
55
50
  end
56
51
  end
57
52
 
58
53
  # API for Network
59
54
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Network
60
55
  class Network < Base
61
- def initialize opt
62
- super
63
- end
64
-
65
56
  # Get network information
66
57
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getNetworkInformation
67
58
  def information
68
- self.class.get("/network/information")
59
+ self.class.get('/network/information')
69
60
  end
70
61
 
71
62
  # Check network clock
72
63
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getNetworkClock
73
64
  def clock
74
- self.class.get("/network/clock")
65
+ self.class.get('/network/clock')
75
66
  end
76
67
 
77
68
  # Check network parameters
78
69
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getNetworkParameters
79
70
  def parameters
80
- self.class.get("/network/parameters")
71
+ self.class.get('/network/parameters')
81
72
  end
82
-
83
73
  end
84
74
 
85
75
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Utils
86
76
  class Utils < Base
87
- def initialize opt
88
- super
89
- end
90
-
91
77
  # @see https://input-output-hk.github.io/cardano-wallet/api/#operation/signMetadata
92
78
  def sign_metadata(wid, role, index, pass, metadata)
93
79
  payload = { passphrase: pass }
94
80
  payload[:metadata] = metadata if metadata
95
81
 
96
82
  self.class.post("/wallets/#{wid}/signatures/#{role}/#{index}",
97
- :body => payload.to_json,
98
- :headers => { 'Content-Type' => 'application/json' } )
83
+ body: payload.to_json,
84
+ headers: { 'Content-Type' => 'application/json' })
99
85
  end
100
86
 
101
87
  # @see https://input-output-hk.github.io/cardano-wallet/api/#operation/getWalletKey
@@ -111,10 +97,10 @@ module CardanoWallet
111
97
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postAnyAddress
112
98
  def post_address(payload)
113
99
  CardanoWallet::Utils.verify_param_is_hash!(payload)
114
- self.class.post("/addresses",
115
- :body => payload.to_json,
116
- :headers => { 'Content-Type' => 'application/json',
117
- 'Accept' => 'application/json'} )
100
+ self.class.post('/addresses',
101
+ body: payload.to_json,
102
+ headers: { 'Content-Type' => 'application/json',
103
+ 'Accept' => 'application/json' })
118
104
  end
119
105
 
120
106
  # Current SMASH health
@@ -122,26 +108,21 @@ module CardanoWallet
122
108
  #
123
109
  # @example
124
110
  # smash_health({url: "https://smash.cardano-mainnet.iohk.io/"})
125
- def smash_health(q = {})
126
- q.empty? ? query = '' : query = CardanoWallet::Utils.to_query(q)
127
- self.class.get("/smash/health#{query}")
111
+ def smash_health(query = {})
112
+ query_formatted = query.empty? ? '' : CardanoWallet::Utils.to_query(query)
113
+ self.class.get("/smash/health#{query_formatted}")
128
114
  end
129
-
130
115
  end
131
116
 
132
117
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Proxy
133
118
  class Proxy < Base
134
- def initialize opt
135
- super
136
- end
137
-
138
119
  # Submit a transaction that was created and signed outside of cardano-wallet.
139
120
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postExternalTransaction
140
121
  # @param binary_blob [String] Signed transaction message binary blob.
141
122
  def submit_external_transaction(binary_blob)
142
- self.class.post("/proxy/transactions",
143
- :body => binary_blob,
144
- :headers => { 'Content-Type' => 'application/octet-stream' })
123
+ self.class.post('/proxy/transactions',
124
+ body: binary_blob,
125
+ headers: { 'Content-Type' => 'application/octet-stream' })
145
126
  end
146
127
  end
147
128
  end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CardanoWallet
4
+ # Init API for Shelley Shared wallets
5
+ module Shared
6
+ def self.new(opt)
7
+ Init.new opt
8
+ end
9
+
10
+ ##
11
+ # Base class for Shelley Shared Wallets API
12
+ class Init < Base
13
+ # Call API for Wallets
14
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Shared-Wallets
15
+ def wallets
16
+ Wallets.new @opt
17
+ end
18
+ end
19
+
20
+ # API for Wallets
21
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Shared-Wallets
22
+ class Wallets < Base
23
+ # List all wallets
24
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/listWallets
25
+ # def list
26
+ # self.class.get('/shared-wallets')
27
+ # end
28
+
29
+ # Get wallet details
30
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getSharedWallet
31
+ def get(wid)
32
+ self.class.get("/shared-wallets/#{wid}")
33
+ end
34
+
35
+ # Create a wallet based on the params.
36
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postSharedWallet
37
+ #
38
+ # @example Create wallet from mnemonic sentence
39
+ # create({name: "Wallet from mnemonic_sentence",
40
+ # passphrase: "Secure Passphrase",
41
+ # mnemonic_sentence: %w[story egg fun ... ],
42
+ # account_index: "1852H",
43
+ # payment_script_template: {...},
44
+ # ...
45
+ # })
46
+ def create(params)
47
+ Utils.verify_param_is_hash!(params)
48
+ self.class.post('/shared-wallets',
49
+ body: params.to_json,
50
+ headers: { 'Content-Type' => 'application/json' })
51
+ end
52
+
53
+ # Delete wallet
54
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/deleteSharedWallet
55
+ def delete(wid)
56
+ self.class.delete("/shared-wallets/#{wid}")
57
+ end
58
+
59
+ # Update payment script
60
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/patchSharedWalletInPayment
61
+ def update_payment_script(wid, cosigner, acc_pub_key)
62
+ self.class.patch("/shared-wallets/#{wid}/payment-script-template",
63
+ body: { cosigner => acc_pub_key }.to_json,
64
+ headers: { 'Content-Type' => 'application/json' })
65
+ end
66
+
67
+ # Update delegation script
68
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/patchSharedWalletInDelegation
69
+ def update_delegation_script(wid, cosigner, acc_pub_key)
70
+ self.class.patch("/shared-wallets/#{wid}/delegation-script-template",
71
+ body: { cosigner => acc_pub_key }.to_json,
72
+ headers: { 'Content-Type' => 'application/json' })
73
+ end
74
+ end
75
+ end
76
+ end
@@ -1,17 +1,15 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module CardanoWallet
2
4
  # Init API for Shelley
3
5
  module Shelley
4
-
5
6
  def self.new(opt)
6
7
  Init.new opt
7
8
  end
8
9
 
10
+ ##
11
+ # Base class for Shelley API
9
12
  class Init < Base
10
-
11
- def initialize opt
12
- super
13
- end
14
-
15
13
  # Call API for Wallets
16
14
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Wallets
17
15
  def wallets
@@ -54,22 +52,39 @@ module CardanoWallet
54
52
  Keys.new @opt
55
53
  end
56
54
 
55
+ # API for Assets
56
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Assets
57
+ def assets
58
+ Assets.new @opt
59
+ end
57
60
  end
58
61
 
59
- class Keys < Base
60
- def initialize opt
61
- super
62
+ ##
63
+ # Base class for Shelley Assets API
64
+ class Assets < Base
65
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/listAssets
66
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getAsset
67
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getAssetDefault
68
+ def get(wid, policy_id = nil, asset_name = nil)
69
+ ep = "/wallets/#{wid}/assets"
70
+ ep += "/#{policy_id}" if policy_id
71
+ ep += "/#{asset_name}" if asset_name
72
+ self.class.get(ep)
62
73
  end
74
+ end
63
75
 
76
+ ##
77
+ # Base class for Shelley Keys API
78
+ class Keys < Base
64
79
  # @see https://input-output-hk.github.io/cardano-wallet/api/#operation/signMetadata
65
80
  def sign_metadata(wid, role, index, pass, metadata)
66
81
  payload = { passphrase: pass }
67
82
  payload[:metadata] = metadata if metadata
68
83
 
69
84
  self.class.post("/wallets/#{wid}/signatures/#{role}/#{index}",
70
- :body => payload.to_json,
71
- :headers => { 'Content-Type' => 'application/json',
72
- 'Accept' => 'application/octet-stream'} )
85
+ body: payload.to_json,
86
+ headers: { 'Content-Type' => 'application/json',
87
+ 'Accept' => 'application/octet-stream' })
73
88
  end
74
89
 
75
90
  # @see https://input-output-hk.github.io/cardano-wallet/api/#operation/getWalletKey
@@ -77,19 +92,22 @@ module CardanoWallet
77
92
  self.class.get("/wallets/#{wid}/keys/#{role}/#{index}")
78
93
  end
79
94
 
95
+ # @see https://input-output-hk.github.io/cardano-wallet/api/#operation/postAccountKey
96
+ def create_acc_public_key(wid, index, pass, extended)
97
+ payload = { passphrase: pass, extended: extended }
98
+ self.class.post("/wallets/#{wid}/keys/#{index}",
99
+ body: payload.to_json,
100
+ headers: { 'Content-Type' => 'application/json' })
101
+ end
80
102
  end
81
103
 
82
104
  # API for Wallets
83
105
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Wallets
84
106
  class Wallets < Base
85
- def initialize opt
86
- super
87
- end
88
-
89
107
  # List all wallets
90
108
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/listWallets
91
109
  def list
92
- self.class.get("/wallets")
110
+ self.class.get('/wallets')
93
111
  end
94
112
 
95
113
  # Get wallet details
@@ -104,19 +122,18 @@ module CardanoWallet
104
122
  # @example Create wallet from mnemonic sentence
105
123
  # create({name: "Wallet from mnemonic_sentence",
106
124
  # passphrase: "Secure Passphrase",
107
- # mnemonic_sentence: %w[story egg fun dismiss gasp mad spoon human cloud become garbage panel rhythm knee help],
125
+ # mnemonic_sentence: %w[story egg fun ... ],
108
126
  # })
109
127
  # @example Create wallet from pub key
110
128
  # create({name: "Wallet from pub key",
111
- # account_public_key: "b47546e661b6c1791452d003d375756dde6cac2250093ce4630f16b9b9c0ac87411337bda4d5bc0216462480b809824ffb48f17e08d95ab9f1b91d391e48e66b",
129
+ # account_public_key: "b47546e...",
112
130
  # address_pool_gap: 20,
113
131
  # })
114
132
  def create(params)
115
133
  Utils.verify_param_is_hash!(params)
116
- self.class.post( "/wallets",
117
- :body => params.to_json,
118
- :headers => { 'Content-Type' => 'application/json' }
119
- )
134
+ self.class.post('/wallets',
135
+ body: params.to_json,
136
+ headers: { 'Content-Type' => 'application/json' })
120
137
  end
121
138
 
122
139
  # Delete wallet
@@ -133,9 +150,8 @@ module CardanoWallet
133
150
  def update_metadata(wid, params)
134
151
  Utils.verify_param_is_hash!(params)
135
152
  self.class.put("/wallets/#{wid}",
136
- :body => params.to_json,
137
- :headers => { 'Content-Type' => 'application/json' }
138
- )
153
+ body: params.to_json,
154
+ headers: { 'Content-Type' => 'application/json' })
139
155
  end
140
156
 
141
157
  # See wallet's utxo distribution
@@ -152,47 +168,50 @@ module CardanoWallet
152
168
  def update_passphrase(wid, params)
153
169
  Utils.verify_param_is_hash!(params)
154
170
  self.class.put("/wallets/#{wid}/passphrase",
155
- :body => params.to_json,
156
- :headers => { 'Content-Type' => 'application/json' }
157
- )
171
+ body: params.to_json,
172
+ headers: { 'Content-Type' => 'application/json' })
158
173
  end
159
174
  end
160
175
 
161
176
  # API for Addresses
162
177
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Addresses
163
178
  class Addresses < Base
164
- def initialize opt
165
- super
166
- end
167
-
168
179
  # List addresses
169
180
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/listAddresses
170
181
  #
171
182
  # @example
172
183
  # list(wid, {state: "used"})
173
- def list(wid, q = {})
174
- q.empty? ? query = '' : query = Utils.to_query(q)
175
- self.class.get("/wallets/#{wid}/addresses#{query}")
184
+ def list(wid, query = {})
185
+ query_formatted = query.empty? ? '' : Utils.to_query(query)
186
+ self.class.get("/wallets/#{wid}/addresses#{query_formatted}")
176
187
  end
177
188
  end
178
189
 
179
190
  # API for CoinSelections
180
191
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Coin-Selections
181
192
  class CoinSelections < Base
182
- def initialize opt
183
- super
184
- end
185
-
186
193
  # Show random coin selection for particular payment
187
194
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/selectCoins
188
195
  #
189
196
  # @example
190
197
  # random(wid, [{addr1: 1000000}, {addr2: 1000000}])
191
- def random(wid, payments)
192
- payments_formatted = Utils.format_payments(payments)
198
+ # random(wid, [{ "address": "addr1..",
199
+ # "amount": { "quantity": 42000000, "unit": "lovelace" },
200
+ # "assets": [{"policy_id": "pid", "asset_name": "name", "quantity": 0 } ] } ])
201
+ def random(wid, payments, withdrawal = nil, metadata = nil)
202
+ Utils.verify_param_is_array!(payments)
203
+ payments_formatted = if payments.any? { |p| p.key?(:address) || p.key?('address') }
204
+ payments
205
+ else
206
+ Utils.format_payments(payments)
207
+ end
208
+ payload = { payments: payments_formatted }
209
+ payload[:withdrawal] = withdrawal if withdrawal
210
+ payload[:metadata] = metadata if metadata
211
+
193
212
  self.class.post("/wallets/#{wid}/coin-selections/random",
194
- :body => {:payments => payments_formatted}.to_json,
195
- :headers => { 'Content-Type' => 'application/json' })
213
+ body: payload.to_json,
214
+ headers: { 'Content-Type' => 'application/json' })
196
215
  end
197
216
 
198
217
  # Coin selection -> Delegation action
@@ -204,18 +223,14 @@ module CardanoWallet
204
223
  def random_deleg(wid, deleg_action)
205
224
  Utils.verify_param_is_hash!(deleg_action)
206
225
  self.class.post("/wallets/#{wid}/coin-selections/random",
207
- :body => {:delegation_action => deleg_action}.to_json,
208
- :headers => { 'Content-Type' => 'application/json' })
226
+ body: { delegation_action: deleg_action }.to_json,
227
+ headers: { 'Content-Type' => 'application/json' })
209
228
  end
210
229
  end
211
230
 
212
231
  # API for Transactions
213
232
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Transactions
214
233
  class Transactions < Base
215
- def initialize opt
216
- super
217
- end
218
-
219
234
  # Get tx by id
220
235
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getTransaction
221
236
  def get(wid, tx_id)
@@ -227,34 +242,42 @@ module CardanoWallet
227
242
  #
228
243
  # @example
229
244
  # list(wid, {start: "2012-09-25T10:15:00Z", order: "descending"})
230
- def list(wid, q = {})
231
- q.empty? ? query = '' : query = Utils.to_query(q)
232
- self.class.get("/wallets/#{wid}/transactions#{query}")
245
+ def list(wid, query = {})
246
+ query_formatted = query.empty? ? '' : Utils.to_query(query)
247
+ self.class.get("/wallets/#{wid}/transactions#{query_formatted}")
233
248
  end
234
249
 
235
250
  # Create a transaction from the wallet
236
251
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postTransaction
237
252
  # @param wid [String] source wallet id
238
253
  # @param passphrase [String] source wallet's passphrase
239
- # @param payments [Array of Hashes] addres, amount pair
254
+ # @param payments [Array of Hashes] address / amount list or full payments payload with assets
240
255
  # @param withdrawal [String or Array] 'self' or mnemonic sentence
241
256
  # @param metadata [Hash] special metadata JSON subset format (cf: https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postTransaction)
242
257
  # @param ttl [Int] transaction's time-to-live in seconds
243
258
  #
244
259
  # @example
245
260
  # create(wid, passphrase, [{addr1: 1000000}, {addr2: 1000000}], 'self', {"1": "abc"}, ttl = 10)
261
+ # create(wid, passphrase, [{ "address": "addr1..",
262
+ # "amount": { "quantity": 42000000, "unit": "lovelace" },
263
+ # "assets": [{"policy_id": "pid", "asset_name": "name", "quantity": 0 } ] } ],
264
+ # 'self', {"1": "abc"}, ttl = 10)
246
265
  def create(wid, passphrase, payments, withdrawal = nil, metadata = nil, ttl = nil)
247
- payments_formatted = Utils.format_payments(payments)
248
- payload = { :payments => payments_formatted,
249
- :passphrase => passphrase
250
- }
266
+ Utils.verify_param_is_array!(payments)
267
+ payments_formatted = if payments.any? { |p| p.key?(:address) || p.key?('address') }
268
+ payments
269
+ else
270
+ Utils.format_payments(payments)
271
+ end
272
+ payload = { payments: payments_formatted,
273
+ passphrase: passphrase }
251
274
  payload[:withdrawal] = withdrawal if withdrawal
252
275
  payload[:metadata] = metadata if metadata
253
- payload[:time_to_live] = { quantity: ttl, unit: "second" } if ttl
276
+ payload[:time_to_live] = { quantity: ttl, unit: 'second' } if ttl
254
277
 
255
278
  self.class.post("/wallets/#{wid}/transactions",
256
- :body => payload.to_json,
257
- :headers => { 'Content-Type' => 'application/json' } )
279
+ body: payload.to_json,
280
+ headers: { 'Content-Type' => 'application/json' })
258
281
  end
259
282
 
260
283
  # Estimate fees for transaction
@@ -262,17 +285,27 @@ module CardanoWallet
262
285
  #
263
286
  # @example
264
287
  # payment_fees(wid, [{addr1: 1000000}, {addr2: 1000000}], {"1": "abc"}, ttl = 10)
288
+ # payment_fees(wid, [{ "address": "addr1..",
289
+ # "amount": { "quantity": 42000000, "unit": "lovelace" },
290
+ # "assets": [{"policy_id": "pid", "asset_name": "name", "quantity": 0 } ] } ],
291
+ # {"1": "abc"}, ttl = 10)
265
292
  def payment_fees(wid, payments, withdrawal = nil, metadata = nil, ttl = nil)
266
- payments_formatted = Utils.format_payments(payments)
267
- payload = { :payments => payments_formatted }
293
+ Utils.verify_param_is_array!(payments)
294
+ payments_formatted = if payments.any? { |p| p.key?(:address) || p.key?('address') }
295
+ payments
296
+ else
297
+ Utils.format_payments(payments)
298
+ end
299
+
300
+ payload = { payments: payments_formatted }
268
301
 
269
302
  payload[:withdrawal] = withdrawal if withdrawal
270
303
  payload[:metadata] = metadata if metadata
271
- payload[:time_to_live] = { quantity: ttl, unit: "second" } if ttl
304
+ payload[:time_to_live] = { quantity: ttl, unit: 'second' } if ttl
272
305
 
273
306
  self.class.post("/wallets/#{wid}/payment-fees",
274
- :body => payload.to_json,
275
- :headers => { 'Content-Type' => 'application/json' } )
307
+ body: payload.to_json,
308
+ headers: { 'Content-Type' => 'application/json' })
276
309
  end
277
310
 
278
311
  # Forget a transaction
@@ -285,10 +318,6 @@ module CardanoWallet
285
318
  # API for StakePools
286
319
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Stake-Pools
287
320
  class StakePools < Base
288
- def initialize opt
289
- super
290
- end
291
-
292
321
  # Stake pools maintenance actions
293
322
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postMaintenanceAction
294
323
  #
@@ -296,21 +325,21 @@ module CardanoWallet
296
325
  # maintenance_action({ "maintenance_action": "gc_stake_pools" })
297
326
  def trigger_maintenance_actions(action = {})
298
327
  Utils.verify_param_is_hash!(action)
299
- self.class.post("/stake-pools/maintenance-actions",
300
- :body => action.to_json,
301
- :headers => { 'Content-Type' => 'application/json' } )
328
+ self.class.post('/stake-pools/maintenance-actions',
329
+ body: action.to_json,
330
+ headers: { 'Content-Type' => 'application/json' })
302
331
  end
303
332
 
304
333
  # Metdata GC Status
305
334
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getMaintenanceActions
306
335
  def view_maintenance_actions
307
- self.class.get("/stake-pools/maintenance-actions")
336
+ self.class.get('/stake-pools/maintenance-actions')
308
337
  end
309
338
 
310
339
  # List all stake pools
311
340
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/listStakePools
312
341
  def list(stake = {})
313
- stake.empty? ? query = '' : query = Utils.to_query(stake)
342
+ query = stake.empty? ? '' : Utils.to_query(stake)
314
343
  self.class.get("/stake-pools#{query}")
315
344
  end
316
345
 
@@ -318,16 +347,16 @@ module CardanoWallet
318
347
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/joinStakePool
319
348
  def join(sp_id, wid, passphrase)
320
349
  self.class.put("/stake-pools/#{sp_id}/wallets/#{wid}",
321
- :body => { :passphrase => passphrase }.to_json,
322
- :headers => { 'Content-Type' => 'application/json' } )
350
+ body: { passphrase: passphrase }.to_json,
351
+ headers: { 'Content-Type' => 'application/json' })
323
352
  end
324
353
 
325
354
  # Quit stape pool
326
355
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/quitStakePool
327
356
  def quit(wid, passphrase)
328
357
  self.class.delete("#{@api}/stake-pools/*/wallets/#{wid}",
329
- :body => { :passphrase => passphrase }.to_json,
330
- :headers => { 'Content-Type' => 'application/json' } )
358
+ body: { passphrase: passphrase }.to_json,
359
+ headers: { 'Content-Type' => 'application/json' })
331
360
  end
332
361
 
333
362
  # Estimate delegation fees
@@ -340,10 +369,6 @@ module CardanoWallet
340
369
  # Shelley migrations
341
370
  # @see https://input-output-hk.github.io/cardano-wallet/api/#tag/Migrations
342
371
  class Migrations < Base
343
- def initialize opt
344
- super
345
- end
346
-
347
372
  # Calculate migration cost
348
373
  # @see https://input-output-hk.github.io/cardano-wallet/api/#operation/getShelleyWalletMigrationInfo
349
374
  def cost(wid)
@@ -357,12 +382,10 @@ module CardanoWallet
357
382
  # @param [Array] array of addresses
358
383
  def migrate(wid, passphrase, addresses)
359
384
  self.class.post("/wallets/#{wid}/migrations",
360
- :body => { :addresses => addresses,
361
- :passphrase => passphrase
362
- }.to_json,
363
- :headers => { 'Content-Type' => 'application/json' } )
385
+ body: { addresses: addresses,
386
+ passphrase: passphrase }.to_json,
387
+ headers: { 'Content-Type' => 'application/json' })
364
388
  end
365
-
366
389
  end
367
390
  end
368
391
  end