3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/etherlite/commands/abi/load_contract.rb', line 3
def perform
klass = Class.new(Etherlite::Contract::Base)
define_class_getter klass, 'unlinked_bytecode', unlinked_bytecode
abi_definitions.each do |definition|
case definition['type']
when 'function'
define_function klass, definition
when 'event'
define_event klass, definition
when 'constructor'
define_class_getter klass, 'constructor', build_function_from_definition(definition)
end
end
klass.functions.freeze
klass.events.freeze
::Etherlite::EventProvider.register_contract_events klass
klass
end
|