class CardanoWallet::Shelley::CoinSelections

API for CoinSelections @see input-output-hk.github.io/cardano-wallet/api/edge/#tag/Coin-Selections

Public Instance Methods

random(wid, payments, withdrawal = nil, metadata = nil) click to toggle source

Show random coin selection for particular payment @see input-output-hk.github.io/cardano-wallet/api/edge/#operation/selectCoins

@example

random(wid, [{addr1: 1000000}, {addr2: 1000000}])
random(wid, [{ "address": "addr1..",
               "amount": { "quantity": 42000000, "unit": "lovelace" },
               "assets": [{"policy_id": "pid", "asset_name": "name", "quantity": 0 } ] } ])
# File lib/cardano_wallet/shelley.rb, line 228
def random(wid, payments, withdrawal = nil, metadata = nil)
  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
  payload = { payments: payments_formatted }
  payload[:withdrawal] = withdrawal if withdrawal
  payload[:metadata] = metadata if metadata

  self.class.post("/wallets/#{wid}/coin-selections/random",
                  body: payload.to_json,
                  headers: { 'Content-Type' => 'application/json' })
end
random_deleg(wid, deleg_action) click to toggle source

Coin selection -> Delegation action @see input-output-hk.github.io/cardano-wallet/api/edge/#operation/selectCoins

@example

random(wid, {action: "join", pool: "poolid"})
random(wid, {action: "quit"})
# File lib/cardano_wallet/shelley.rb, line 250
def random_deleg(wid, deleg_action)
  Utils.verify_param_is_hash!(deleg_action)
  self.class.post("/wallets/#{wid}/coin-selections/random",
                  body: { delegation_action: deleg_action }.to_json,
                  headers: { 'Content-Type' => 'application/json' })
end