Class: Sigma::SimpleBoxSelector

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#pointerObject

Returns the value of attribute pointer.



66
67
68
# File 'lib/sigma/box_selection.rb', line 66

def pointer
  @pointer
end

Class Method Details

.createObject



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

def self.create
  pointer = FFI::MemoryPointer.new(:pointer)
  ergo_lib_simple_box_selector_new(pointer)
  init(pointer)
end

.with_raw_pointer(pointer) ⇒ Object



87
88
89
# File 'lib/sigma/box_selection.rb', line 87

def self.with_raw_pointer(pointer)
  init(pointer)
end

Instance Method Details

#select(inputs:, target_balance:, target_tokens:) ⇒ Object



74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/sigma/box_selection.rb', line 74

def select(inputs:, target_balance:, target_tokens:)
  pointer = FFI::MemoryPointer.new(:pointer)
  error = ergo_lib_simple_box_selector_select(
    self.pointer,
    inputs.pointer,
    target_balance.pointer,
    target_tokens.pointer,
    pointer
  )
  Util.check_error!(error)
  Sigma::BoxSelection.with_raw_pointer(pointer)
end