Class: IOSTSdk::Models::Query::SignedTransaction

Inherits:
Object
  • Object
show all
Includes:
IOSTSdk::Models
Defined in:
lib/iost_sdk/models/query/signed_transaction.rb

Overview

This represents the signed transaction payload for developers.iost.io/docs/en/6-reference/API.html#sendtx

Constant Summary

Constants included from IOSTSdk::Models

MODEL_REGISTRY

Class Method Summary collapse

Instance Method Summary collapse

Methods included from IOSTSdk::Models

included, #parse, #raw_data

Class Method Details

.from_transaction(transaction:) ⇒ Object

Raises:

  • (ArgumentError)


16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/iost_sdk/models/query/signed_transaction.rb', line 16

def self.from_transaction(transaction:)
  raise ArgumentError.new('tx must be an instance of IOSTSdk::Models::Query::Transaction') unless
    transaction.is_a?(IOSTSdk::Models::Query::Transaction)

  # assign fields and values from tx
  signed_tx = SignedTransaction.new
  transaction.instance_variables.each do |var_name|
    n = var_name.to_s[1..-1].to_sym
    signed_tx.instance_variable_set(var_name, transaction.send(n))
    signed_tx.class.send(:define_method, n) do
      instance_variable_get(var_name)
    end
  end

  signed_tx
end

Instance Method Details

#sign(account_name:, key_pair:) ⇒ Object



33
34
35
36
# File 'lib/iost_sdk/models/query/signed_transaction.rb', line 33

def sign(account_name:, key_pair:)
  add_publisher_sig(account_name: , key_pair: key_pair)
  self
end