File tree Expand file tree Collapse file tree 2 files changed +12
-1
lines changed
Sources/web3swift/EthereumABI Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -220,7 +220,7 @@ extension ABI.Element.ParameterType: ABIEncoding {
220
220
case . tuple( types: let types) :
221
221
let typesRepresentation = types. map ( { return $0. abiRepresentation} )
222
222
let typesJoined = typesRepresentation. joined ( separator: " , " )
223
- return " tuple (\( typesJoined) ) "
223
+ return " ( \( typesJoined) ) "
224
224
case . string:
225
225
return " string "
226
226
}
Original file line number Diff line number Diff line change @@ -134,6 +134,17 @@ extension ABI.Input {
134
134
let nativeInput = ABI . Element. InOut ( name: name, type: type)
135
135
return nativeInput
136
136
}
137
+ else if case . array( type: . tuple( types: _) , length: _) = parameterType {
138
+ let components = try self . components? . compactMap ( { ( inp: ABI . Input ) throws -> ABI . Element . ParameterType in
139
+ let input = try inp. parse ( )
140
+ return input. type
141
+ } )
142
+ let tupleType = ABI . Element. ParameterType. tuple ( types: components!)
143
+
144
+ let newType : ABI . Element . ParameterType = . array( type: tupleType, length: 0 )
145
+ let nativeInput = ABI . Element. InOut ( name: name, type: newType)
146
+ return nativeInput
147
+ }
137
148
else {
138
149
let nativeInput = ABI . Element. InOut ( name: name, type: parameterType)
139
150
return nativeInput
You can’t perform that action at this time.
0 commit comments