module Glueby::Contract::Timestamp::Util

Public Instance Methods

create_payload(prefix, data) click to toggle source
# File lib/glueby/contract/timestamp.rb, line 31
def create_payload(prefix, data)
  payload = +''
  payload << prefix
  payload << data
  payload
end
create_script(prefix, data) click to toggle source
# File lib/glueby/contract/timestamp.rb, line 38
def create_script(prefix, data)
  script = Tapyrus::Script.new
  script << Tapyrus::Script::OP_RETURN
  script << create_payload(prefix, data)
  script
end
create_tx(wallet, prefix, data, fee_estimator) click to toggle source
# File lib/glueby/contract/timestamp.rb, line 19
def create_tx(wallet, prefix, data, fee_estimator)
  tx = Tapyrus::Tx.new
  tx.outputs << Tapyrus::TxOut.new(value: 0, script_pubkey: create_script(prefix, data))
  
  fee = fee_estimator.fee(dummy_tx(tx))
  sum, outputs = wallet.internal_wallet.collect_uncolored_outputs(fee)
  fill_input(tx, outputs)
  
  fill_change_tpc(tx, wallet, sum - fee)
  wallet.internal_wallet.sign_tx(tx)
end
get_transaction(tx) click to toggle source
# File lib/glueby/contract/timestamp.rb, line 45
def get_transaction(tx)
  Glueby::Internal::RPC.client.getrawtransaction(tx.txid, 1)
end