Class: Receipt
- Inherits:
-
Object
- Object
- Receipt
- Defined in:
- lib/universum/universum.rb
Overview
transaction receipt
Constant Summary collapse
- @@directory =
{}
Instance Attribute Summary collapse
-
#block_number ⇒ Object
readonly
required attributes / fields.
-
#contract_address ⇒ Object
readonly
optional.
-
#from ⇒ Object
readonly
required attributes / fields.
-
#nonce ⇒ Object
readonly
required attributes / fields.
-
#to ⇒ Object
readonly
required attributes / fields.
-
#value ⇒ Object
readonly
required attributes / fields.
Class Method Summary collapse
Instance Method Summary collapse
-
#contract ⇒ Object
convenience helper (quick contract lookup).
-
#initialize(tx:, block:, contract: nil) ⇒ Receipt
constructor
A new instance of Receipt.
Constructor Details
#initialize(tx:, block:, contract: nil) ⇒ Receipt
Returns a new instance of Receipt.
393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 |
# File 'lib/universum/universum.rb', line 393 def initialize( tx:, block:, contract: nil ) @nonce = tx.nonce @from = tx.from @to = tx.to @value = tx.value ## todo/fix: add data too!!! @block_number = block.number ## todo/fix: add block_hash if contract ## note: for easier debugging add class name in () to address (needs to get stripped away in lookup) @contract_address = "#{contract.address} (#{contract.class.name})" else @contract_address = nil end end |
Instance Attribute Details
#block_number ⇒ Object (readonly)
required attributes / fields
388 389 390 |
# File 'lib/universum/universum.rb', line 388 def block_number @block_number end |
#contract_address ⇒ Object (readonly)
optional
391 392 393 |
# File 'lib/universum/universum.rb', line 391 def contract_address @contract_address end |
#from ⇒ Object (readonly)
required attributes / fields
388 389 390 |
# File 'lib/universum/universum.rb', line 388 def from @from end |
#nonce ⇒ Object (readonly)
required attributes / fields
388 389 390 |
# File 'lib/universum/universum.rb', line 388 def nonce @nonce end |
#to ⇒ Object (readonly)
required attributes / fields
388 389 390 |
# File 'lib/universum/universum.rb', line 388 def to @to end |
#value ⇒ Object (readonly)
required attributes / fields
388 389 390 |
# File 'lib/universum/universum.rb', line 388 def value @value end |
Class Method Details
.[](tx) ⇒ Object
379 |
# File 'lib/universum/universum.rb', line 379 def self.[]( tx ) find( tx ); end |
.all ⇒ Object
384 |
# File 'lib/universum/universum.rb', line 384 def self.all() @@directory.values; end |
.find(tx) ⇒ Object
375 376 377 378 |
# File 'lib/universum/universum.rb', line 375 def self.find( tx ) key = "#{tx.from}/#{tx.nonce}" @@directory[ key ]; end |
.store(o) ⇒ Object
381 382 383 |
# File 'lib/universum/universum.rb', line 381 def self.store( o ) key = "#{o.from}/#{o.nonce}" @@directory.store( key, o ); end |