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