Class: NearApi::Transaction
- Inherits:
-
Object
- Object
- NearApi::Transaction
- Includes:
- Borsh
- Defined in:
- lib/near_api/transaction.rb
Class Method Summary collapse
Instance Method Summary collapse
- #call(wait_until: Status::EXECUTED_OPTIMISTIC) ⇒ Object
- #call_api(message, signature, wait_until: Status::EXECUTED_OPTIMISTIC) ⇒ Object
-
#initialize(receiver_id, actions, config: NearApi.config, key: NearApi.key) ⇒ Transaction
constructor
A new instance of Transaction.
- #message ⇒ Object
- #transaction_hash ⇒ Object
Constructor Details
#initialize(receiver_id, actions, config: NearApi.config, key: NearApi.key) ⇒ Transaction
Returns a new instance of Transaction.
22 23 24 25 26 27 28 |
# File 'lib/near_api/transaction.rb', line 22 def initialize(receiver_id, actions, config: NearApi.config, key: NearApi.key) @key = key @receiver_id = receiver_id @actions = Array(actions) @config = config @api = NearApi::Api.new(config) end |
Class Method Details
.async(*args) ⇒ Object
18 19 20 |
# File 'lib/near_api/transaction.rb', line 18 def self.async(*args) new(*args).async end |
.call(*args) ⇒ Object
14 15 16 |
# File 'lib/near_api/transaction.rb', line 14 def self.call(*args) new(*args).call end |
Instance Method Details
#call(wait_until: Status::EXECUTED_OPTIMISTIC) ⇒ Object
30 31 32 33 |
# File 'lib/near_api/transaction.rb', line 30 def call(wait_until: Status::EXECUTED_OPTIMISTIC) signature = key.sign(.digest) call_api(., signature, wait_until: wait_until) end |
#call_api(message, signature, wait_until: Status::EXECUTED_OPTIMISTIC) ⇒ Object
46 47 48 49 50 |
# File 'lib/near_api/transaction.rb', line 46 def call_api(, signature, wait_until: Status::EXECUTED_OPTIMISTIC) signed_transaction = + Borsh::Integer.new(key.key_type, :u8).to_borsh + signature params = { signed_tx_base64: Base64.strict_encode64(signed_transaction), wait_until: wait_until } api.json_rpc('send_tx', params) end |
#message ⇒ Object
35 36 37 38 39 40 |
# File 'lib/near_api/transaction.rb', line 35 def @message ||= begin = to_borsh Struct.new(:message, :digest).new(, Digest::SHA256.digest()) end end |