cardano_wallet 0.2.2 → 0.2.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b3d493df353517eb41d713b9b12973fadd1b56da5f17f8a15763181285d13a82
4
- data.tar.gz: 6848865dea8cd920f95d0268065293aba195e67e4cfd1b1324a62e355e119347
3
+ metadata.gz: c115a916adbed97481aa950e6c15a6e8609117a68549112dcc18d60300e47657
4
+ data.tar.gz: e3cd4ce44ea58b62349bc29e14faf51dfe3b6f69a4135c3dcf6e5575c26bbbfd
5
5
  SHA512:
6
- metadata.gz: d02a807c61dad05dd08fc300990702a10ed631a25268735189772e4f54dabb411d4ab5d2688e10333b9d88558a881de1eaf1545cd3a9547cc29bf4f36116f909
7
- data.tar.gz: 4007b0db748e9f88244257e30a9a939dea56e213eec84fce632b603c1d2dbfb55e73222db8f13bb6ab6855e3aa0e8c5e3c575f6ce89d55d7cb51c063a5dffb45
6
+ metadata.gz: 9d2f7768e00ead4a2cf7b7b463dc3bdea8ac5794dc4a7ef3604dcd31c1663052c2493b382f100acaf9f5dcf1afb996c68da2e74f5720022d70126864a2d26e03
7
+ data.tar.gz: 0e353d9082d2f22cce803ab1f38de10a364dbbb936b6f720a93aaaa88584cf326b9d2d969b0fce495cd9cabefe8118be0e5aec5600ed4083d5748aa273153e48
@@ -30,6 +30,7 @@ module CardanoWallet
30
30
  def settings
31
31
  Settings.new @opt
32
32
  end
33
+
33
34
  end
34
35
 
35
36
  # API for Network
@@ -87,11 +88,35 @@ module CardanoWallet
87
88
  super
88
89
  end
89
90
 
91
+ # @see https://input-output-hk.github.io/cardano-wallet/api/#operation/signMetadata
92
+ def sign_metadata(wid, role, index, pass, metadata)
93
+ payload = { passphrase: pass }
94
+ payload[:metadata] = metadata if metadata
95
+
96
+ self.class.post("/wallets/#{wid}/signatures/#{role}/#{index}",
97
+ :body => payload.to_json,
98
+ :headers => { 'Content-Type' => 'application/json' } )
99
+ end
100
+
101
+ # @see https://input-output-hk.github.io/cardano-wallet/api/#operation/getWalletKey
102
+ def get_public_key(wid, role, index)
103
+ self.class.get("/wallets/#{wid}/keys/#{role}/#{index}")
104
+ end
105
+
90
106
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/inspectAddress
91
107
  def addresses(address_id)
92
108
  self.class.get("/addresses/#{address_id}")
93
109
  end
94
110
 
111
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postAnyAddress
112
+ def post_address(payload)
113
+ 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'} )
118
+ end
119
+
95
120
  end
96
121
 
97
122
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Proxy
@@ -48,6 +48,35 @@ module CardanoWallet
48
48
  Migrations.new @opt
49
49
  end
50
50
 
51
+ # API for Keys
52
+ # @see https://input-output-hk.github.io/cardano-wallet/api/#tag/Keys
53
+ def keys
54
+ Keys.new @opt
55
+ end
56
+
57
+ end
58
+
59
+ class Keys < Base
60
+ def initialize opt
61
+ super
62
+ end
63
+
64
+ # @see https://input-output-hk.github.io/cardano-wallet/api/#operation/signMetadata
65
+ def sign_metadata(wid, role, index, pass, metadata)
66
+ payload = { passphrase: pass }
67
+ payload[:metadata] = metadata if metadata
68
+
69
+ self.class.post("/wallets/#{wid}/signatures/#{role}/#{index}",
70
+ :body => payload.to_json,
71
+ :headers => { 'Content-Type' => 'application/json',
72
+ 'Accept' => 'application/octet-stream'} )
73
+ end
74
+
75
+ # @see https://input-output-hk.github.io/cardano-wallet/api/#operation/getWalletKey
76
+ def get_public_key(wid, role, index)
77
+ self.class.get("/wallets/#{wid}/keys/#{role}/#{index}")
78
+ end
79
+
51
80
  end
52
81
 
53
82
  # API for Wallets
@@ -165,6 +194,19 @@ module CardanoWallet
165
194
  :body => {:payments => payments_formatted}.to_json,
166
195
  :headers => { 'Content-Type' => 'application/json' })
167
196
  end
197
+
198
+ # Coin selection -> Delegation action
199
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/selectCoins
200
+ #
201
+ # @example
202
+ # random(wid, {action: "join", pool: "poolid"})
203
+ # random(wid, {action: "quit"})
204
+ def random_deleg(wid, deleg_action)
205
+ Utils.verify_param_is_hash!(deleg_action)
206
+ self.class.post("/wallets/#{wid}/coin-selections/random",
207
+ :body => {:delegation_action => deleg_action}.to_json,
208
+ :headers => { 'Content-Type' => 'application/json' })
209
+ end
168
210
  end
169
211
 
170
212
  # API for Transactions
@@ -197,16 +239,18 @@ module CardanoWallet
197
239
  # @param payments [Array of Hashes] addres, amount pair
198
240
  # @param withdrawal [String or Array] 'self' or mnemonic sentence
199
241
  # @param metadata [Hash] special metadata JSON subset format (cf: https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postTransaction)
242
+ # @param ttl [Int] transaction's time-to-live in seconds
200
243
  #
201
244
  # @example
202
- # create(wid, passphrase, [{addr1: 1000000}, {addr2: 1000000}], 'self', {"1": "abc"})
203
- def create(wid, passphrase, payments, withdrawal = nil, metadata = nil)
245
+ # create(wid, passphrase, [{addr1: 1000000}, {addr2: 1000000}], 'self', {"1": "abc"}, ttl = 10)
246
+ def create(wid, passphrase, payments, withdrawal = nil, metadata = nil, ttl = nil)
204
247
  payments_formatted = Utils.format_payments(payments)
205
248
  payload = { :payments => payments_formatted,
206
249
  :passphrase => passphrase
207
250
  }
208
251
  payload[:withdrawal] = withdrawal if withdrawal
209
252
  payload[:metadata] = metadata if metadata
253
+ payload[:time_to_live] = { quantity: ttl, unit: "second" } if ttl
210
254
 
211
255
  self.class.post("/wallets/#{wid}/transactions",
212
256
  :body => payload.to_json,
@@ -217,13 +261,14 @@ module CardanoWallet
217
261
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postTransactionFee
218
262
  #
219
263
  # @example
220
- # payment_fees(wid, [{addr1: 1000000}, {addr2: 1000000}], {"1": "abc"})
221
- def payment_fees(wid, payments, withdrawal = nil, metadata = nil)
264
+ # payment_fees(wid, [{addr1: 1000000}, {addr2: 1000000}], {"1": "abc"}, ttl = 10)
265
+ def payment_fees(wid, payments, withdrawal = nil, metadata = nil, ttl = nil)
222
266
  payments_formatted = Utils.format_payments(payments)
223
267
  payload = { :payments => payments_formatted }
224
268
 
225
269
  payload[:withdrawal] = withdrawal if withdrawal
226
270
  payload[:metadata] = metadata if metadata
271
+ payload[:time_to_live] = { quantity: ttl, unit: "second" } if ttl
227
272
 
228
273
  self.class.post("/wallets/#{wid}/payment-fees",
229
274
  :body => payload.to_json,
@@ -244,6 +289,24 @@ module CardanoWallet
244
289
  super
245
290
  end
246
291
 
292
+ # Stake pools maintenance actions
293
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postMaintenanceAction
294
+ #
295
+ # @example
296
+ # maintenance_action({ "maintenance_action": "gc_stake_pools" })
297
+ def trigger_maintenance_actions(action = {})
298
+ 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' } )
302
+ end
303
+
304
+ # Metdata GC Status
305
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getMaintenanceActions
306
+ def view_maintenance_actions
307
+ self.class.get("/stake-pools/maintenance-actions")
308
+ end
309
+
247
310
  # List all stake pools
248
311
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/listStakePools
249
312
  def list(stake = {})
@@ -1,3 +1,3 @@
1
1
  module CardanoWallet
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cardano_wallet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Stachyra
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-10-15 00:00:00.000000000 Z
11
+ date: 2020-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -147,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
147
  - !ruby/object:Gem::Version
148
148
  version: '0'
149
149
  requirements: []
150
- rubygems_version: 3.1.2
150
+ rubygems_version: 3.1.4
151
151
  signing_key:
152
152
  specification_version: 4
153
153
  summary: Ruby wrapper over cardano-wallet.