@@ -38,7 +38,7 @@ extension ABI {
38
38
39
39
extension ABI . Record {
40
40
public func parse( ) throws -> ABI . Element {
41
- let typeString = self . type != nil ? self . type! : " function "
41
+ let typeString = self . type ?? " function "
42
42
guard let type = ABI . ElementType ( rawValue: typeString) else {
43
43
throw ABI . ParsingError. elementTypeInvalid
44
44
}
@@ -75,15 +75,14 @@ fileprivate func parseFunction(abiRecord:ABI.Record) throws -> ABI.Element.Funct
75
75
let nativeInput = try input. parse ( )
76
76
return nativeInput
77
77
} )
78
- let abiInputs = inputs != nil ? inputs! : [ ABI . Element. InOut] ( )
78
+ let abiInputs = inputs ?? [ ABI . Element. InOut] ( )
79
79
let outputs = try abiRecord. outputs? . map ( { ( output: ABI . Output ) throws -> ABI . Element . InOut in
80
80
let nativeOutput = try output. parse ( )
81
81
return nativeOutput
82
82
} )
83
- let abiOutputs = outputs != nil ? outputs! : [ ABI . Element. InOut] ( )
84
- let name = abiRecord. name != nil ? abiRecord. name! : " "
85
- let payable = abiRecord. stateMutability != nil ?
86
- ( abiRecord. stateMutability == " payable " || abiRecord. payable ?? false ) : false
83
+ let abiOutputs = outputs ?? [ ABI . Element. InOut] ( )
84
+ let name = abiRecord. name ?? " "
85
+ let payable = abiRecord. stateMutability == " payable " || abiRecord. payable ?? false
87
86
let constant = ( abiRecord. constant == true || abiRecord. stateMutability == " view " || abiRecord. stateMutability == " pure " )
88
87
let functionElement = ABI . Element. Function ( name: name, inputs: abiInputs, outputs: abiOutputs, constant: constant, payable: payable)
89
88
return functionElement
@@ -104,16 +103,9 @@ fileprivate func parseConstructor(abiRecord:ABI.Record) throws -> ABI.Element.Co
104
103
let nativeInput = try input. parse ( )
105
104
return nativeInput
106
105
} )
107
- let abiInputs = inputs != nil ? inputs! : [ ABI . Element. InOut] ( )
108
- var payable = false
109
- if ( abiRecord. payable != nil ) {
110
- payable = abiRecord. payable!
111
- }
112
- if ( abiRecord. stateMutability == " payable " ) {
113
- payable = true
114
- }
115
- let constant = false
116
- let functionElement = ABI . Element. Constructor ( inputs: abiInputs, constant: constant, payable: payable)
106
+ let abiInputs = inputs ?? [ ABI . Element. InOut] ( )
107
+ var payable = abiRecord. stateMutability == " payable " || abiRecord. payable ?? false
108
+ let functionElement = ABI . Element. Constructor ( inputs: abiInputs, constant: false , payable: payable)
117
109
return functionElement
118
110
}
119
111
@@ -122,9 +114,9 @@ fileprivate func parseEvent(abiRecord:ABI.Record) throws -> ABI.Element.Event {
122
114
let nativeInput = try input. parseForEvent ( )
123
115
return nativeInput
124
116
} )
125
- let abiInputs = inputs != nil ? inputs! : [ ABI . Element. Event. Input] ( )
126
- let name = abiRecord. name != nil ? abiRecord . name! : " "
127
- let anonymous = abiRecord. anonymous != nil ? abiRecord . anonymous! : false
117
+ let abiInputs = inputs ?? [ ABI . Element. Event. Input] ( )
118
+ let name = abiRecord. name ?? " "
119
+ let anonymous = abiRecord. anonymous ?? false
128
120
let functionElement = ABI . Element. Event ( name: name, inputs: abiInputs, anonymous: anonymous)
129
121
return functionElement
130
122
}
@@ -134,14 +126,8 @@ fileprivate func parseReceive(abiRecord:ABI.Record) throws -> ABI.Element.Receiv
134
126
let nativeInput = try input. parse ( )
135
127
return nativeInput
136
128
} )
137
- let abiInputs = inputs != nil ? inputs! : [ ABI . Element. InOut] ( )
138
- var payable = false
139
- if ( abiRecord. payable != nil ) {
140
- payable = abiRecord. payable!
141
- }
142
- if ( abiRecord. stateMutability == " payable " ) {
143
- payable = true
144
- }
129
+ let abiInputs = inputs ?? [ ABI . Element. InOut] ( )
130
+ var payable = abiRecord. stateMutability == " payable " || abiRecord. payable ?? false
145
131
let functionElement = ABI . Element. Receive ( inputs: abiInputs, payable: payable)
146
132
return functionElement
147
133
}
@@ -152,13 +138,13 @@ fileprivate func parseError(abiRecord:ABI.Record) throws -> ABI.Element.EthError
152
138
return nativeInput
153
139
} )
154
140
let abiInputs = inputs ?? [ ]
155
- let name = abiRecord. name != nil ? abiRecord . name! : " "
141
+ let name = abiRecord. name ?? " "
156
142
return ABI . Element. EthError ( name: name, inputs: abiInputs)
157
143
}
158
144
159
145
extension ABI . Input {
160
146
func parse( ) throws -> ABI . Element . InOut {
161
- let name = self . name != nil ? self . name! : " "
147
+ let name = self . name ?? " "
162
148
let parameterType = try ABITypeParser . parseTypeString ( self . type)
163
149
if case . tuple( types: _) = parameterType {
164
150
let components = try self . components? . compactMap ( { ( inp: ABI . Input ) throws -> ABI . Element . ParameterType in
@@ -187,14 +173,14 @@ extension ABI.Input {
187
173
}
188
174
189
175
func parseForEvent( ) throws -> ABI . Element . Event . Input {
190
- let name = self . name != nil ? self . name! : " "
176
+ let name = self . name ?? " "
191
177
let parameterType = try ABITypeParser . parseTypeString ( self . type)
192
178
let indexed = self . indexed == true
193
179
return ABI . Element. Event. Input ( name: name, type: parameterType, indexed: indexed)
194
180
}
195
181
196
182
func parseForError( ) throws -> ABI . Element . EthError . Input {
197
- let name = self . name != nil ? self . name! : " "
183
+ let name = self . name ?? " "
198
184
let parameterType = try ABITypeParser . parseTypeString ( self . type)
199
185
return ABI . Element. EthError. Input ( name: name, type: parameterType)
200
186
}
0 commit comments