Class: NEAR::Transaction

Inherits:
Object
  • Object
show all
Defined in:
lib/near/transaction.rb

Overview

Represents a NEAR transaction.

Constant Summary collapse

MAX_SIZE =

The maximum byte size of a NEAR transaction.

1_572_864

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(hash, data: nil) ⇒ void

Parameters:

  • hash (String, #to_s)
  • data (Hash, #to_h) (defaults to: nil)


24
25
26
27
# File 'lib/near/transaction.rb', line 24

def initialize(hash, data: nil)
  @hash = hash.to_s
  @data = data.to_h if data
end

Instance Attribute Details

#actionsArray<Hash> (readonly)

The transaction actions.

Returns:

  • (Array<Hash>)


109
110
111
# File 'lib/near/transaction.rb', line 109

def actions
  @actions
end

#dataHash (readonly)

The transaction data, if available.

Returns:

  • (Hash)


39
40
41
# File 'lib/near/transaction.rb', line 39

def data
  @data
end

#hashString (readonly)

The transaction hash.

Returns:

  • (String)


33
34
35
# File 'lib/near/transaction.rb', line 33

def hash
  @hash
end

#nonceInteger (readonly)

Returns:

  • (Integer)


93
94
95
# File 'lib/near/transaction.rb', line 93

def nonce
  @nonce
end

#priority_feeInteger (readonly)

Returns:

  • (Integer)


100
101
102
# File 'lib/near/transaction.rb', line 100

def priority_fee
  @priority_fee
end

#public_keyString (readonly)

Returns:

  • (String)


79
80
81
# File 'lib/near/transaction.rb', line 79

def public_key
  @public_key
end

#receiverNEAR::Account (readonly)

The transaction receiver account.

Returns:



63
64
65
# File 'lib/near/transaction.rb', line 63

def receiver
  @receiver
end

#receiver_idString (readonly)

The transaction receiver ID.

Returns:

  • (String)


72
73
74
# File 'lib/near/transaction.rb', line 72

def receiver_id
  @receiver_id
end

#signatureString (readonly)

Returns:

  • (String)


86
87
88
# File 'lib/near/transaction.rb', line 86

def signature
  @signature
end

#signerNEAR::Account (readonly)

The transaction signer account.

Returns:



45
46
47
# File 'lib/near/transaction.rb', line 45

def signer
  @signer
end

#signer_idString (readonly)

The transaction signer ID.

Returns:

  • (String)


54
55
56
# File 'lib/near/transaction.rb', line 54

def signer_id
  @signer_id
end

Class Method Details

.parse(json) ⇒ NEAR::Transaction

Parameters:

  • json (Hash)

Returns:



15
16
17
18
# File 'lib/near/transaction.rb', line 15

def self.parse(json)
  tx_data = json['transaction']
  NEAR::Transaction.new(tx_data['hash'], data: tx_data)
end

Instance Method Details

#each_action {|NEAR::Action| ... } ⇒ Enumerator

Returns if no block is given.

Yields:

Yield Parameters:

Yield Returns:

  • (void)

Returns:

  • (Enumerator)

    if no block is given



119
120
121
122
123
124
# File 'lib/near/transaction.rb', line 119

def each_action(&)
  return enum_for(:each_action) unless block_given?
  self.data['actions'].each do |action|
    yield NEAR::Action.parse(action)
  end
end

#inspectString

Returns:

  • (String)


136
137
138
# File 'lib/near/transaction.rb', line 136

def inspect
  "#<#{self.class.name} hash: #{@hash.inspect}, signer: #{self.signer}, receiver: #{self.receiver}, actions: #{self.actions.size}>"
end

#to_hHash

Returns:

  • (Hash)


132
# File 'lib/near/transaction.rb', line 132

def to_h; @data; end

#to_sString

Returns:

  • (String)


128
# File 'lib/near/transaction.rb', line 128

def to_s; @hash; end