cardano_wallet 0.3.10 → 0.3.15

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: f384a2f90f9d7d8ccf03a093933b5b1f415be587ab3ac32a607e509c3530e7f8
4
- data.tar.gz: 21e513675aa00c5a6d26dc34d049ea127b46f75d0d31d695871b2dd0cc9dcf7d
3
+ metadata.gz: ae5c2835562e35f7ce7c3263d240631e94dc78046c665b8ef40f41c5495cf3f2
4
+ data.tar.gz: 29764e5fec66212d2902cab2a21f64c8bab4b7f0259bd4f38105f532b41840ab
5
5
  SHA512:
6
- metadata.gz: bbc9038c4cfc5358bce078b4f224ae1a5fe446d049f691eb084b80c70d4a3eb14807acc39792e1ed6b93604603ba2cfc8d46640b66c7fd3c84d42653422ffbed
7
- data.tar.gz: afc8b07a4e04d33038ffc0f41a24ec525f93a4f98216c394b4279c327e4ee075b2037a978d859fae40405cc26c511cbb7daf95197a7928ef678e68bb5b79e8b5
6
+ metadata.gz: f3873fbd889e7c2482f5a423f22d62723bcc94c26aa54d33e25c8f96c17e6ee072e8eb07705ccd111ec42b431502002fd725cc53905cb7b16ce570f631089305
7
+ data.tar.gz: 7eaf74bc9bd2e6b105f2a3fa72b61d670c08d06ccb981a26cc8ac9fe685d26a0fe0899335d38ff7e570f02c05e02dc409f1368eaa5912f47083dda5a825bf7b4
@@ -33,7 +33,7 @@ jobs:
33
33
  echo "Node: $NODE"
34
34
  NODE_CONFIG_PATH=`pwd`/configs docker-compose up --detach
35
35
  docker run --rm inputoutput/cardano-wallet:$WALLET version
36
- docker run --rm inputoutput/cardano-node:$NODE version
36
+ docker run --rm inputoutput/cardano-node:$NODE cli version
37
37
  ls ~/node-db-nightly-docker
38
38
 
39
39
  - name: Run all tests except nighlty
@@ -45,5 +45,5 @@ jobs:
45
45
  CI: true
46
46
  CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
47
47
  NETWORK: testnet
48
- WALLET: dev-master-shelley
49
- NODE: 1.25.1
48
+ WALLET: dev-master
49
+ NODE: alonzo-purple-1.0.1
data/.rubocop.yml CHANGED
@@ -22,3 +22,4 @@ Metrics/CyclomaticComplexity:
22
22
 
23
23
  Metrics/ParameterLists:
24
24
  Max: 10
25
+ MaxOptionalParameters: 10
data/Rakefile CHANGED
@@ -31,6 +31,7 @@ task :get_latest_configs, [:env] do |_, args|
31
31
  mk_dir(path)
32
32
  wget("#{base_url}/#{env}-config.json", "#{path}/#{env}-config.json")
33
33
  wget("#{base_url}/#{env}-byron-genesis.json", "#{path}/#{env}-byron-genesis.json")
34
+ wget("#{base_url}/#{env}-alonzo-genesis.json", "#{path}/#{env}-alonzo-genesis.json")
34
35
  wget("#{base_url}/#{env}-shelley-genesis.json", "#{path}/#{env}-shelley-genesis.json")
35
36
  wget("#{base_url}/#{env}-topology.json", "#{path}/#{env}-topology.json")
36
37
  end
@@ -210,6 +210,41 @@ module CardanoWallet
210
210
  # Byron transactions
211
211
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postByronTransactionFee
212
212
  class Transactions < Base
213
+ # Construct transaction
214
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/constructByronTransaction
215
+ # @param wid [String] source wallet id
216
+ # @param payments [Array of Hashes] full payments payload with assets
217
+ # @param metadata [Hash] special metadata JSON subset format (cf: https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postTransaction)
218
+ # @param mint [Array of Hashes] mint object
219
+ # @param validity_interval [Hash] validity_interval object
220
+ def construct(wid, payments = nil, metadata = nil, mint = nil, validity_interval = nil)
221
+ payload = {}
222
+ payload[:payments] = payments if payments
223
+ payload[:metadata] = metadata if metadata
224
+ payload[:mint] = mint if mint
225
+ payload[:validity_interval] = validity_interval if validity_interval
226
+
227
+ self.class.post("/byron-wallets/#{wid}/transactions-construct",
228
+ body: payload.to_json,
229
+ headers: { 'Content-Type' => 'application/json' })
230
+ end
231
+
232
+ # Sign transaction
233
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/signByronTransaction
234
+ # @param wid [String] source wallet id
235
+ # @param passphrase [String] wallet's passphrase
236
+ # @param passphrase [String] CBOR transaction data
237
+ def sign(wid, passphrase, transaction)
238
+ payload = {
239
+ 'passphrase' => passphrase,
240
+ 'transaction' => transaction
241
+ }
242
+
243
+ self.class.post("/byron-wallets/#{wid}/transactions-sign",
244
+ body: payload.to_json,
245
+ headers: { 'Content-Type' => 'application/json' })
246
+ end
247
+
213
248
  # Get tx by id
214
249
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getByronTransaction
215
250
  def get(wid, tx_id)
@@ -49,8 +49,9 @@ module CardanoWallet
49
49
  end
50
50
 
51
51
  # @see https://input-output-hk.github.io/cardano-wallet/api/#operation/postAccountKeyShared
52
- def create_acc_public_key(wid, index, pass, format)
53
- payload = { passphrase: pass, format: format }
52
+ def create_acc_public_key(wid, index, payload)
53
+ # payload = { passphrase: pass, format: format }
54
+ Utils.verify_param_is_hash!(payload)
54
55
  self.class.post("/shared-wallets/#{wid}/keys/#{index}",
55
56
  body: payload.to_json,
56
57
  headers: { 'Content-Type' => 'application/json' })
@@ -62,6 +62,21 @@ module CardanoWallet
62
62
  ##
63
63
  # Base class for Shelley Assets API
64
64
  class Assets < Base
65
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/mintBurnAssets
66
+ def mint(wid, mint_burn, pass, metadata = nil, ttl = nil)
67
+ payload = {
68
+ mint_burn: mint_burn,
69
+ passphrase: pass
70
+ }
71
+
72
+ payload[:metadata] = metadata if metadata
73
+ payload[:time_to_live] = { quantity: ttl, unit: 'second' } if ttl
74
+
75
+ self.class.post("/wallets/#{wid}/assets",
76
+ body: payload.to_json,
77
+ headers: { 'Content-Type' => 'application/json' })
78
+ end
79
+
65
80
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/listAssets
66
81
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getAsset
67
82
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getAssetDefault
@@ -93,8 +108,9 @@ module CardanoWallet
93
108
  end
94
109
 
95
110
  # @see https://input-output-hk.github.io/cardano-wallet/api/#operation/postAccountKey
96
- def create_acc_public_key(wid, index, pass, format)
97
- payload = { passphrase: pass, format: format }
111
+ def create_acc_public_key(wid, index, payload)
112
+ # payload = { passphrase: pass, format: format, purpose: purpose }
113
+ Utils.verify_param_is_hash!(payload)
98
114
  self.class.post("/wallets/#{wid}/keys/#{index}",
99
115
  body: payload.to_json,
100
116
  headers: { 'Content-Type' => 'application/json' })
@@ -242,6 +258,61 @@ module CardanoWallet
242
258
  # API for Transactions
243
259
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Transactions
244
260
  class Transactions < Base
261
+ # Balance transaction
262
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/balanceTransaction
263
+ # @param wid [String] source wallet id
264
+ # @param payload [Hash] payload object
265
+ def balance(wid, payload)
266
+ self.class.post("/wallets/#{wid}/transactions-balance",
267
+ body: payload.to_json,
268
+ headers: { 'Content-Type' => 'application/json' })
269
+ end
270
+
271
+ # Construct transaction
272
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/constructTransaction
273
+ # @param wid [String] source wallet id
274
+ # @param payments [Array of Hashes] full payments payload with assets
275
+ # @param withdrawal [String or Array] 'self' or mnemonic sentence
276
+ # @param metadata [Hash] special metadata JSON subset format (cf: https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postTransaction)
277
+ # @param mint [Array of Hashes] mint object
278
+ # @param delegations [Array of Hashes] delegations object
279
+ # @param validity_interval [Hash] validity_interval object
280
+ def construct(wid,
281
+ payments = nil,
282
+ withdrawal = nil,
283
+ metadata = nil,
284
+ delegations = nil,
285
+ mint = nil,
286
+ validity_interval = nil)
287
+ payload = {}
288
+ payload[:payments] = payments if payments
289
+ payload[:withdrawal] = withdrawal if withdrawal
290
+ payload[:metadata] = metadata if metadata
291
+ payload[:mint] = mint if mint
292
+ payload[:delegations] = delegations if delegations
293
+ payload[:validity_interval] = validity_interval if validity_interval
294
+
295
+ self.class.post("/wallets/#{wid}/transactions-construct",
296
+ body: payload.to_json,
297
+ headers: { 'Content-Type' => 'application/json' })
298
+ end
299
+
300
+ # Sign transaction
301
+ # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/signTransaction
302
+ # @param wid [String] source wallet id
303
+ # @param passphrase [String] wallet's passphrase
304
+ # @param passphrase [String] CBOR transaction data
305
+ def sign(wid, passphrase, transaction)
306
+ payload = {
307
+ 'passphrase' => passphrase,
308
+ 'transaction' => transaction
309
+ }
310
+
311
+ self.class.post("/wallets/#{wid}/transactions-sign",
312
+ body: payload.to_json,
313
+ headers: { 'Content-Type' => 'application/json' })
314
+ end
315
+
245
316
  # Get tx by id
246
317
  # @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getTransaction
247
318
  def get(wid, tx_id)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CardanoWallet
4
- VERSION = '0.3.10'
4
+ VERSION = '0.3.15'
5
5
  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.3.10
4
+ version: 0.3.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Stachyra
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-02 00:00:00.000000000 Z
11
+ date: 2021-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -164,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
164
  - !ruby/object:Gem::Version
165
165
  version: '0'
166
166
  requirements: []
167
- rubygems_version: 3.2.15
167
+ rubygems_version: 3.2.22
168
168
  signing_key:
169
169
  specification_version: 4
170
170
  summary: Ruby wrapper over cardano-wallet.