@@ -38,7 +38,7 @@ extension ABI {
3838
3939extension ABI . Record {
4040 public func parse( ) throws -> ABI . Element {
41- let typeString = self . type != nil ? self . type! : " function "
41+ let typeString = self . type ?? " function "
4242 guard let type = ABI . ElementType ( rawValue: typeString) else {
4343 throw ABI . ParsingError. elementTypeInvalid
4444 }
@@ -75,15 +75,14 @@ fileprivate func parseFunction(abiRecord:ABI.Record) throws -> ABI.Element.Funct
7575 let nativeInput = try input. parse ( )
7676 return nativeInput
7777 } )
78- let abiInputs = inputs != nil ? inputs! : [ ABI . Element. InOut] ( )
78+ let abiInputs = inputs ?? [ ABI . Element. InOut] ( )
7979 let outputs = try abiRecord. outputs? . map ( { ( output: ABI . Output ) throws -> ABI . Element . InOut in
8080 let nativeOutput = try output. parse ( )
8181 return nativeOutput
8282 } )
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
8786 let constant = ( abiRecord. constant == true || abiRecord. stateMutability == " view " || abiRecord. stateMutability == " pure " )
8887 let functionElement = ABI . Element. Function ( name: name, inputs: abiInputs, outputs: abiOutputs, constant: constant, payable: payable)
8988 return functionElement
@@ -104,16 +103,9 @@ fileprivate func parseConstructor(abiRecord:ABI.Record) throws -> ABI.Element.Co
104103 let nativeInput = try input. parse ( )
105104 return nativeInput
106105 } )
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)
117109 return functionElement
118110}
119111
@@ -122,9 +114,9 @@ fileprivate func parseEvent(abiRecord:ABI.Record) throws -> ABI.Element.Event {
122114 let nativeInput = try input. parseForEvent ( )
123115 return nativeInput
124116 } )
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
128120 let functionElement = ABI . Element. Event ( name: name, inputs: abiInputs, anonymous: anonymous)
129121 return functionElement
130122}
@@ -134,14 +126,8 @@ fileprivate func parseReceive(abiRecord:ABI.Record) throws -> ABI.Element.Receiv
134126 let nativeInput = try input. parse ( )
135127 return nativeInput
136128 } )
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
145131 let functionElement = ABI . Element. Receive ( inputs: abiInputs, payable: payable)
146132 return functionElement
147133}
@@ -152,13 +138,13 @@ fileprivate func parseError(abiRecord:ABI.Record) throws -> ABI.Element.EthError
152138 return nativeInput
153139 } )
154140 let abiInputs = inputs ?? [ ]
155- let name = abiRecord. name != nil ? abiRecord . name! : " "
141+ let name = abiRecord. name ?? " "
156142 return ABI . Element. EthError ( name: name, inputs: abiInputs)
157143}
158144
159145extension ABI . Input {
160146 func parse( ) throws -> ABI . Element . InOut {
161- let name = self . name != nil ? self . name! : " "
147+ let name = self . name ?? " "
162148 let parameterType = try ABITypeParser . parseTypeString ( self . type)
163149 if case . tuple( types: _) = parameterType {
164150 let components = try self . components? . compactMap ( { ( inp: ABI . Input ) throws -> ABI . Element . ParameterType in
@@ -187,14 +173,14 @@ extension ABI.Input {
187173 }
188174
189175 func parseForEvent( ) throws -> ABI . Element . Event . Input {
190- let name = self . name != nil ? self . name! : " "
176+ let name = self . name ?? " "
191177 let parameterType = try ABITypeParser . parseTypeString ( self . type)
192178 let indexed = self . indexed == true
193179 return ABI . Element. Event. Input ( name: name, type: parameterType, indexed: indexed)
194180 }
195181
196182 func parseForError( ) throws -> ABI . Element . EthError . Input {
197- let name = self . name != nil ? self . name! : " "
183+ let name = self . name ?? " "
198184 let parameterType = try ABITypeParser . parseTypeString ( self . type)
199185 return ABI . Element. EthError. Input ( name: name, type: parameterType)
200186 }
0 commit comments