class Round::Transaction

Public Class Methods

hash_identifier() click to toggle source
# File lib/round/transaction.rb, line 31
def self.hash_identifier
  'hash'
end

Public Instance Methods

approve(mfa_token) click to toggle source
# File lib/round/transaction.rb, line 22
def approve(mfa_token)
  @client.context.mfa_token = mfa_token
  @resource.approve({})
end
sign(wallet, redirect_uri: nil, network:) click to toggle source
# File lib/round/transaction.rb, line 4
def sign(wallet, redirect_uri: nil, network:)
  raise 'transaction is already signed' unless @resource['status'] == 'unsigned'
  raise 'a wallet is required to sign a transaction' unless wallet
  network = :testnet3 if network == :bitcoin_testnet

  transaction = CoinOp::Bit::Transaction.data(@resource, network: network)
  raise 'bad change address' unless wallet.valid_output?(transaction.outputs.last)
  
  @resource = @resource.update( 
     signatures: {
       transaction_hash: transaction.hex_hash,
       inputs: wallet.signatures(transaction)
     },
     redirect_uri: redirect_uri
  )
  self
end
transaction_hash() click to toggle source
# File lib/round/transaction.rb, line 27
def transaction_hash
  @resource[:hash]
end