5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/etherlite/commands/abi/load_function.rb', line 5
def perform
parts = MATCHER.match @signature
raise ArgumentError, 'invalid method signature' if parts.nil?
inputs = parts[3].split(',').map do |a|
Etherlite::Contract::FunctionInput.new nil, LoadType.for(signature: a.strip)
end
case parts[1]
when 'payable'
build parts[2], inputs, [], true, false
when 'onchain'
build parts[2], inputs, [], false, false
else
ouputs = parts[1] == 'void' ? [] : [LoadType.for(signature: parts[1])]
build parts[2], inputs, ouputs, false, true
end
end
|