Class: Serpent::Caller

Inherits:
Object
  • Object
show all
Defined in:
lib/serpent/caller.rb

Constant Summary collapse

N =
2**32

Instance Method Summary collapse

Instance Method Details

#compile(code, **kwargs) ⇒ Object



8
9
10
# File 'lib/serpent/caller.rb', line 8

def compile(code, **kwargs)
  FFI.compile pre_transform(code, kwargs)
end

#compile_lll(code) ⇒ Object



16
17
18
# File 'lib/serpent/caller.rb', line 16

def compile_lll(code)
  FFI.compile_lll ast(code)
end

#compile_to_lll(code, **kwargs) ⇒ Object



12
13
14
# File 'lib/serpent/caller.rb', line 12

def compile_to_lll(code, **kwargs)
  Node.build FFI.compile_to_lll(pre_transform(code, kwargs))
end

#get_prefix(signature) ⇒ Object



20
21
22
# File 'lib/serpent/caller.rb', line 20

def get_prefix(signature)
  FFI.get_prefix(signature) % N
end

#mk_contract_info(code, **kwargs) ⇒ Object



32
33
34
# File 'lib/serpent/caller.rb', line 32

def mk_contract_info(code, **kwargs)
  JSON.parse FFI.mk_contract_info(pre_transform(code, kwargs))
end

#mk_full_signature(code, **kwargs) ⇒ Object



28
29
30
# File 'lib/serpent/caller.rb', line 28

def mk_full_signature(code, **kwargs)
  JSON.parse FFI.mk_full_signature(pre_transform(code, kwargs))
end

#mk_signature(code, **kwargs) ⇒ Object



24
25
26
# File 'lib/serpent/caller.rb', line 24

def mk_signature(code, **kwargs)
  JSON.parse FFI.mk_signature(pre_transform(code, kwargs))
end