class Minter::CreateMultisigAddressTx

Attributes

addresses[RW]
chain_id[RW]
gas_coin[RW]
gas_price[RW]
nonce[RW]
threshold[RW]

Public Class Methods

new(threshold:, nonce:, chain_id:, gas_coin:, gas_price:) click to toggle source
# File lib/minter/transactions/create_multisig_address_tx.rb, line 7
def initialize(threshold:, nonce:, chain_id:, gas_coin:, gas_price:)
  @threshold = threshold
  @nonce = nonce
  @chain_id = chain_id
  @gas_coin = gas_coin
  @gas_price = gas_price
  @addresses = []
end

Public Instance Methods

add_address(address:, weight:) click to toggle source
# File lib/minter/transactions/create_multisig_address_tx.rb, line 16
def add_address(address:, weight:)
  @addresses << { Address: address, Weight: weight }
end
multisig_address() click to toggle source
# File lib/minter/transactions/create_multisig_address_tx.rb, line 31
def multisig_address
  result = JSON.parse(Minter::TxHashFfi.GetMultisigAddress(to_params.to_json))
  raise TransactionError, result["error"] unless result["success"] == "true"

  result["multisig_address"]
end
to_params() click to toggle source
# File lib/minter/transactions/create_multisig_address_tx.rb, line 20
def to_params
  {
    Threshold: threshold,
    Nonce: nonce,
    ChainId: chain_id,
    GasCoin: gas_coin,
    GasPrice: gas_price,
    Addresses: addresses
  }
end