Class: Sigma::Transaction
- Inherits:
-
Object
- Object
- Sigma::Transaction
- Extended by:
- FFI::Library
- Defined in:
- lib/sigma/transaction.rb
Instance Attribute Summary collapse
-
#pointer ⇒ Object
Returns the value of attribute pointer.
Class Method Summary collapse
- .create_from_json(json) ⇒ Object
- .create_from_unsigned_tx(unsigned_tx:, proofs:) ⇒ Object
- .with_raw_pointer(pointer) ⇒ Object
Instance Method Summary collapse
- #get_data_inputs ⇒ Object
- #get_inputs ⇒ Object
- #get_output_candidates ⇒ Object
- #get_outputs ⇒ Object
- #get_tx_id ⇒ Object
- #to_json ⇒ Object
- #to_json_eip12 ⇒ Object
Instance Attribute Details
#pointer ⇒ Object
Returns the value of attribute pointer.
20 21 22 |
# File 'lib/sigma/transaction.rb', line 20 def pointer @pointer end |
Class Method Details
.create_from_json(json) ⇒ Object
29 30 31 32 33 34 |
# File 'lib/sigma/transaction.rb', line 29 def self.create_from_json(json) pointer = FFI::MemoryPointer.new(:pointer) error = ergo_lib_tx_from_json(json, pointer) Util.check_error!(error) init(pointer) end |
.create_from_unsigned_tx(unsigned_tx:, proofs:) ⇒ Object
22 23 24 25 26 27 |
# File 'lib/sigma/transaction.rb', line 22 def self.create_from_unsigned_tx(unsigned_tx:, proofs:) pointer = FFI::MemoryPointer.new(:pointer) error = ergo_lib_tx_from_unsigned_tx(unsigned_tx.pointer, proofs.pointer, pointer) Util.check_error!(error) init(pointer) end |
.with_raw_pointer(pointer) ⇒ Object
36 37 38 |
# File 'lib/sigma/transaction.rb', line 36 def self.with_raw_pointer(pointer) init(pointer) end |
Instance Method Details
#get_data_inputs ⇒ Object
52 53 54 55 56 |
# File 'lib/sigma/transaction.rb', line 52 def get_data_inputs pointer = FFI::MemoryPointer.new(:pointer) ergo_lib_tx_data_inputs(self.pointer, pointer) Sigma::DataInputs.with_raw_pointer(pointer) end |
#get_inputs ⇒ Object
46 47 48 49 50 |
# File 'lib/sigma/transaction.rb', line 46 def get_inputs pointer = FFI::MemoryPointer.new(:pointer) ergo_lib_tx_inputs(self.pointer, pointer) Sigma::Inputs.with_raw_pointer(pointer) end |
#get_output_candidates ⇒ Object
58 59 60 61 62 |
# File 'lib/sigma/transaction.rb', line 58 def get_output_candidates pointer = FFI::MemoryPointer.new(:pointer) ergo_lib_tx_output_candidates(self.pointer, pointer) Sigma::ErgoBoxCandidates.with_raw_pointer(pointer) end |
#get_outputs ⇒ Object
64 65 66 67 68 |
# File 'lib/sigma/transaction.rb', line 64 def get_outputs pointer = FFI::MemoryPointer.new(:pointer) ergo_lib_tx_outputs(self.pointer, pointer) Sigma::ErgoBoxes.with_raw_pointer(pointer) end |
#get_tx_id ⇒ Object
40 41 42 43 44 |
# File 'lib/sigma/transaction.rb', line 40 def get_tx_id pointer = FFI::MemoryPointer.new(:pointer) ergo_lib_tx_id(self.pointer, pointer) Sigma::TxId.with_raw_pointer(pointer) end |
#to_json ⇒ Object
70 71 72 73 74 75 76 77 78 |
# File 'lib/sigma/transaction.rb', line 70 def to_json s_ptr = FFI::MemoryPointer.new(:pointer, 1) error = ergo_lib_tx_to_json(self.pointer, s_ptr) Util.check_error!(error) s_ptr = s_ptr.read_pointer() str = s_ptr.read_string().force_encoding('UTF-8') Util.ergo_lib_delete_string(s_ptr) str end |
#to_json_eip12 ⇒ Object
80 81 82 83 84 85 86 87 88 |
# File 'lib/sigma/transaction.rb', line 80 def to_json_eip12 s_ptr = FFI::MemoryPointer.new(:pointer, 1) error = ergo_lib_tx_to_json_eip12(self.pointer, s_ptr) Util.check_error!(error) s_ptr = s_ptr.read_pointer() str = s_ptr.read_string().force_encoding('UTF-8') Util.ergo_lib_delete_string(s_ptr) str end |