cardano_wallet 0.2.3 → 0.2.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 74c9782cd3632fcc7dcfa508223f69a9a027870866bdb5d396c6148882e52fd6
4
- data.tar.gz: caac73d294e60c1cf420494cb8642e920953671fd2c9934f8f94d8701a5f4b32
3
+ metadata.gz: b83fd4fa4d1a41132d0afb2563a30fe64ff86b69356b45266fe0d044cfe4d0fc
4
+ data.tar.gz: 5191ea71cb925c5f6241facb477c65fba766d84cf0977716dcd0ad0d05926564
5
5
  SHA512:
6
- metadata.gz: 0c97ede17011cbb192b1de47ee7048dbe3dd56b8fdbb98c304549da2de0cd54838783dba1987b7ff7bd5aba1f6800455b62449283e42e68eb05beaeed7abe63f
7
- data.tar.gz: 04caba35632d0e15825414e6bf1680b50673a9c1e7e9c65a1bad4ed0e82a03af3ca17aa64fce28a7ddadaabd3a54716b9fb5cc8ca590be0b3cff17cb09cf1e80
6
+ metadata.gz: 3671b155b8d5d9ac44df4ed1be0370d266a2b034ae26e15385f3634306c648ba1bacdbe7bda7a4f4fdb93193ed1fe3e4a7cd999cef0b672f8cf049cf4d5e9bf3
7
+ data.tar.gz: 3ed411e07eb090749898e5a0080fde5e039e2de7c386248d8accdfd12526110fd68e7795b07be7be424f5497446d7ed08d3d3262c5f1eff975e0dfd8c54ca850
@@ -14,12 +14,7 @@ jobs:
14
14
  - name: Set up cardano-wallet
15
15
  run: NODE_CONFIG_PATH=`pwd`/spec/testnet docker-compose -f docker-compose-shelley.yml up --detach
16
16
  - name: Set up Ruby
17
- # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
18
- # change this to (see https://github.com/ruby/setup-ruby#versioning):
19
- # uses: ruby/setup-ruby@v1
20
- uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
21
- with:
22
- ruby-version: 2.6
17
+ uses: ruby/setup-ruby@v1
23
18
  - name: Install dependencies
24
19
  run: bundle install
25
20
  - name: Wait until node is synced
@@ -23,12 +23,7 @@ jobs:
23
23
  - name: Set up cardano-wallet
24
24
  run: NODE_CONFIG_PATH=`pwd`/spec/testnet docker-compose -f docker-compose-shelley.yml up --detach
25
25
  - name: Set up Ruby
26
- # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
27
- # change this to (see https://github.com/ruby/setup-ruby#versioning):
28
- # uses: ruby/setup-ruby@v1
29
- uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
30
- with:
31
- ruby-version: 2.6
26
+ uses: ruby/setup-ruby@v1
32
27
  - name: Install dependencies
33
28
  run: bundle install
34
29
  - name: Run all tests except nighlty
@@ -0,0 +1 @@
1
+ ruby-2.7.1
@@ -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
@@ -173,7 +202,7 @@ module CardanoWallet
173
202
  # random(wid, {action: "join", pool: "poolid"})
174
203
  # random(wid, {action: "quit"})
175
204
  def random_deleg(wid, deleg_action)
176
- payments_formatted = Utils.verify_param_is_hash!(deleg_action)
205
+ Utils.verify_param_is_hash!(deleg_action)
177
206
  self.class.post("/wallets/#{wid}/coin-selections/random",
178
207
  :body => {:delegation_action => deleg_action}.to_json,
179
208
  :headers => { 'Content-Type' => 'application/json' })
@@ -210,16 +239,18 @@ module CardanoWallet
210
239
  # @param payments [Array of Hashes] addres, amount pair
211
240
  # @param withdrawal [String or Array] 'self' or mnemonic sentence
212
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
213
243
  #
214
244
  # @example
215
- # create(wid, passphrase, [{addr1: 1000000}, {addr2: 1000000}], 'self', {"1": "abc"})
216
- 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)
217
247
  payments_formatted = Utils.format_payments(payments)
218
248
  payload = { :payments => payments_formatted,
219
249
  :passphrase => passphrase
220
250
  }
221
251
  payload[:withdrawal] = withdrawal if withdrawal
222
252
  payload[:metadata] = metadata if metadata
253
+ payload[:time_to_live] = { quantity: ttl, unit: "second" } if ttl
223
254
 
224
255
  self.class.post("/wallets/#{wid}/transactions",
225
256
  :body => payload.to_json,
@@ -230,13 +261,14 @@ module CardanoWallet
230
261
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postTransactionFee
231
262
  #
232
263
  # @example
233
- # payment_fees(wid, [{addr1: 1000000}, {addr2: 1000000}], {"1": "abc"})
234
- 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)
235
266
  payments_formatted = Utils.format_payments(payments)
236
267
  payload = { :payments => payments_formatted }
237
268
 
238
269
  payload[:withdrawal] = withdrawal if withdrawal
239
270
  payload[:metadata] = metadata if metadata
271
+ payload[:time_to_live] = { quantity: ttl, unit: "second" } if ttl
240
272
 
241
273
  self.class.post("/wallets/#{wid}/payment-fees",
242
274
  :body => payload.to_json,
@@ -257,6 +289,24 @@ module CardanoWallet
257
289
  super
258
290
  end
259
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
+
260
310
  # List all stake pools
261
311
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/listStakePools
262
312
  def list(stake = {})
@@ -1,3 +1,3 @@
1
1
  module CardanoWallet
2
- VERSION = "0.2.3"
2
+ VERSION = "0.2.8"
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.3
4
+ version: 0.2.8
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-19 00:00:00.000000000 Z
11
+ date: 2020-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -107,6 +107,7 @@ files:
107
107
  - ".gitignore"
108
108
  - ".rakeTasks"
109
109
  - ".rspec"
110
+ - ".ruby-version"
110
111
  - CODE_OF_CONDUCT.md
111
112
  - Gemfile
112
113
  - LICENSE.txt
@@ -147,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
148
  - !ruby/object:Gem::Version
148
149
  version: '0'
149
150
  requirements: []
150
- rubygems_version: 3.1.2
151
+ rubygems_version: 3.1.4
151
152
  signing_key:
152
153
  specification_version: 4
153
154
  summary: Ruby wrapper over cardano-wallet.