class CardanoWallet::Byron::Transactions
Byron
transactions @see input-output-hk.github.io/cardano-wallet/api/edge/#operation/postByronTransactionFee
Public Instance Methods
Construct transaction @see input-output-hk.github.io/cardano-wallet/api/edge/#operation/constructByronTransaction @param wid [String] source wallet id @param payments [Array of Hashes] full payments payload with assets @param metadata [Hash] special metadata JSON subset format (cf: input-output-hk.github.io/cardano-wallet/api/edge/#operation/postTransaction) @param mint [Array of Hashes] mint object @param validity_interval [Hash] validity_interval object
# File lib/cardano_wallet/byron.rb, line 220 def construct(wid, payments = nil, metadata = nil, mint = nil, validity_interval = nil) payload = {} payload[:payments] = payments if payments payload[:metadata] = metadata if metadata payload[:mint] = mint if mint payload[:validity_interval] = validity_interval if validity_interval self.class.post("/byron-wallets/#{wid}/transactions-construct", body: payload.to_json, headers: { 'Content-Type' => 'application/json' }) end
Create a transaction from the Byron
wallet. @see input-output-hk.github.io/cardano-wallet/api/edge/#operation/postByronTransaction @param wid [String] source wallet id @param passphrase [String] source wallet's passphrase @param payments [Array of Hashes] addres, amount pair
@example
create(wid, passphrase, [{addr1: 1000000}, {addr2: 1000000}]) create(wid, passphrase, [{ "address": "addr1..", "amount": { "quantity": 42000000, "unit": "lovelace" }, "assets": [{"policy_id": "pid", "asset_name": "name", "quantity": 0 } ] } ])
# File lib/cardano_wallet/byron.rb, line 276 def create(wid, passphrase, payments) Utils.verify_param_is_array!(payments) payments_formatted = if payments.any? { |p| p.key?(:address) || p.key?('address') } payments else Utils.format_payments(payments) end self.class.post("/byron-wallets/#{wid}/transactions", body: { payments: payments_formatted, passphrase: passphrase }.to_json, headers: { 'Content-Type' => 'application/json' }) end
Forget a transaction. @see input-output-hk.github.io/cardano-wallet/api/edge/#operation/deleteByronTransaction
# File lib/cardano_wallet/byron.rb, line 311 def forget(wid, txid) self.class.delete("/byron-wallets/#{wid}/transactions/#{txid}") end
Get tx by id @see input-output-hk.github.io/cardano-wallet/api/edge/#operation/getByronTransaction
# File lib/cardano_wallet/byron.rb, line 250 def get(wid, tx_id) self.class.get("/byron-wallets/#{wid}/transactions/#{tx_id}") end
List all Byron
wallet's transactions. @see input-output-hk.github.io/cardano-wallet/api/edge/#operation/listByronTransactions
@example
list(wid, {start: "2012-09-25T10:15:00Z", order: "descending"})
# File lib/cardano_wallet/byron.rb, line 259 def list(wid, query = {}) query_formatted = query.empty? ? '' : Utils.to_query(query) self.class.get("/byron-wallets/#{wid}/transactions#{query_formatted}") end
Estimate fees for transaction @see input-output-hk.github.io/cardano-wallet/api/edge/#operation/postTransactionFee
@example
payment_fees(wid, [{addr1: 1000000}, {addr2: 1000000}]) payment_fees(wid, [{ "address": "addr1..", "amount": { "quantity": 42000000, "unit": "lovelace" }, "assets": [{"policy_id": "pid", "asset_name": "name", "quantity": 0 } ] } ])
# File lib/cardano_wallet/byron.rb, line 297 def payment_fees(wid, payments) Utils.verify_param_is_array!(payments) payments_formatted = if payments.any? { |p| p.key?(:address) || p.key?('address') } payments else Utils.format_payments(payments) end self.class.post("/byron-wallets/#{wid}/payment-fees", body: { payments: payments_formatted }.to_json, headers: { 'Content-Type' => 'application/json' }) end
Sign transaction @see input-output-hk.github.io/cardano-wallet/api/edge/#operation/signByronTransaction @param wid [String] source wallet id @param passphrase [String] wallet's passphrase @param passphrase [String] CBOR transaction data
# File lib/cardano_wallet/byron.rb, line 237 def sign(wid, passphrase, transaction) payload = { 'passphrase' => passphrase, 'transaction' => transaction } self.class.post("/byron-wallets/#{wid}/transactions-sign", body: payload.to_json, headers: { 'Content-Type' => 'application/json' }) end