class NearApi::Transaction
Attributes
actions[R]
api[R]
config[R]
key[R]
receiver_id[R]
Public Class Methods
async(*args)
click to toggle source
# File lib/near_api/transaction.rb, line 18 def self.async(*args) new(*args).async end
call(*args)
click to toggle source
# File lib/near_api/transaction.rb, line 14 def self.call(*args) new(*args).call end
new(receiver_id, actions, config: NearApi.config, key: NearApi.key)
click to toggle source
# 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
Public Instance Methods
async()
click to toggle source
# File lib/near_api/transaction.rb, line 35 def async signature = key.sign(message.digest) call_api('broadcast_tx_async', message.message, signature) end
call()
click to toggle source
# File lib/near_api/transaction.rb, line 30 def call signature = key.sign(message.digest) call_api('broadcast_tx_commit', message.message, signature) end
call_api(method, message, signature)
click to toggle source
# File lib/near_api/transaction.rb, line 51 def call_api(method, message, signature) signed_transaction = message + Borsh::Integer.new(key.key_type, :u8).to_borsh + signature api.json_rpc(method, [Base64.strict_encode64(signed_transaction)]) end
message()
click to toggle source
# File lib/near_api/transaction.rb, line 40 def message @message ||= begin message = to_borsh Struct.new(:message, :digest).new(message, Digest::SHA256.digest(message)) end end
transaction_hash()
click to toggle source
# File lib/near_api/transaction.rb, line 47 def transaction_hash NearApi::Base58.encode(message.digest) end
Private Instance Methods
block_hash()
click to toggle source
# File lib/near_api/transaction.rb, line 66 def block_hash api.block_hash end
nonce()
click to toggle source
# File lib/near_api/transaction.rb, line 62 def nonce api.nonce(key) + 1 end
signer_id()
click to toggle source
# File lib/near_api/transaction.rb, line 58 def signer_id key.signer_id end