Class: Sigma::Wallet

Inherits:
Object
  • Object
show all
Extended by:
FFI::Library
Defined in:
lib/sigma/wallet.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#pointerObject

Returns the value of attribute pointer.



20
21
22
# File 'lib/sigma/wallet.rb', line 20

def pointer
  @pointer
end

Class Method Details

.create_from_mnemonic(mnemonic_phrase, mnemonic_pass) ⇒ Object



22
23
24
25
26
27
# File 'lib/sigma/wallet.rb', line 22

def self.create_from_mnemonic(mnemonic_phrase, mnemonic_pass)
  pointer = FFI::MemoryPointer.new(:pointer)
  error = ergo_lib_wallet_from_mnemonic(mnemonic_phrase, mnemonic_pass, pointer)
  Util.check_error!(error)
  init(pointer)
end

.create_from_secrets(secrets) ⇒ Object



29
30
31
32
33
# File 'lib/sigma/wallet.rb', line 29

def self.create_from_secrets(secrets)
  pointer = FFI::MemoryPointer.new(:pointer)
  ergo_lib_wallet_from_secrets(secrets.pointer, pointer)
  init(pointer)
end

Instance Method Details

#add_secret(secret) ⇒ Object



35
36
37
38
# File 'lib/sigma/wallet.rb', line 35

def add_secret(secret)
  error = ergo_lib_wallet_add_secret(self.pointer, secret.pointer)
  Util.check_error!(error)
end

#generate_commitments(state_context:, unsigned_tx:, boxes_to_spend:, data_boxes:) ⇒ Object



68
69
70
71
72
73
# File 'lib/sigma/wallet.rb', line 68

def generate_commitments(state_context:, unsigned_tx:, boxes_to_spend:, data_boxes:)
  pointer = FFI::MemoryPointer.new(:pointer)
  error = ergo_lib_wallet_generate_commitments(self.pointer, state_context.pointer, unsigned_tx.pointer, boxes_to_spend.pointer, data_boxes.pointer, pointer)
  Util.check_error!(error)
  Sigma::TransactionHintsBag.with_raw_pointer(pointer)
end

#generate_commitments_for_reduced_transaction(reduced_tx) ⇒ Object



75
76
77
78
79
80
# File 'lib/sigma/wallet.rb', line 75

def generate_commitments_for_reduced_transaction(reduced_tx)
  pointer = FFI::MemoryPointer.new(:pointer)
  error = ergo_lib_wallet_generate_commitments_for_reduced_transaction(self.pointer, reduced_tx.pointer, pointer)
  Util.check_error!(error)
  Sigma::TransactionHintsBag.with_raw_pointer(pointer)
end

#sign_reduced_transaction(reduced_tx) ⇒ Object



54
55
56
57
58
59
# File 'lib/sigma/wallet.rb', line 54

def sign_reduced_transaction(reduced_tx)
  pointer = FFI::MemoryPointer.new(:pointer)
  error = ergo_lib_wallet_sign_reduced_transaction(self.pointer, reduced_tx.pointer, pointer)
  Util.check_error!(error)
  Sigma::Transaction.with_raw_pointer(pointer)
end

#sign_reduced_transaction_multi(reduced_tx:, tx_hints:) ⇒ Object



61
62
63
64
65
66
# File 'lib/sigma/wallet.rb', line 61

def sign_reduced_transaction_multi(reduced_tx:, tx_hints:)
  pointer = FFI::MemoryPointer.new(:pointer)
  error = ergo_lib_wallet_sign_reduced_transaction_multi(self.pointer, reduced_tx.pointer, tx_hints.pointer, pointer)
  Util.check_error!(error)
  Sigma::Transaction.with_raw_pointer(pointer)
end

#sign_transaction(state_context:, unsigned_tx:, boxes_to_spend:, data_boxes:) ⇒ Object



40
41
42
43
44
45
# File 'lib/sigma/wallet.rb', line 40

def sign_transaction(state_context:, unsigned_tx:, boxes_to_spend:, data_boxes:)
  pointer = FFI::MemoryPointer.new(:pointer)
  error = ergo_lib_wallet_sign_transaction(self.pointer, state_context.pointer, unsigned_tx.pointer, boxes_to_spend.pointer, data_boxes.pointer, pointer)
  Util.check_error!(error)
  Sigma::Transaction.with_raw_pointer(pointer)
end

#sign_transaction_multi(state_context:, unsigned_tx:, boxes_to_spend:, data_boxes:, tx_hints:) ⇒ Object



47
48
49
50
51
52
# File 'lib/sigma/wallet.rb', line 47

def sign_transaction_multi(state_context:, unsigned_tx:, boxes_to_spend:, data_boxes:, tx_hints:)
  pointer = FFI::MemoryPointer.new(:pointer)
  error = ergo_lib_wallet_sign_transaction_multi(self.pointer, state_context.pointer, unsigned_tx.pointer, boxes_to_spend.pointer, data_boxes.pointer, tx_hints.pointer, pointer)
  Util.check_error!(error)
  Sigma::Transaction.with_raw_pointer(pointer)
end