@@ -9,15 +9,15 @@ import BigInt
99public struct ABIDecoder { }
1010
1111extension ABIDecoder {
12- public static func decode( types: [ ABI . Element . InOut ] , data: Data ) -> [ AnyObject ] ? {
12+ public static func decode( types: [ ABI . Element . InOut ] , data: Data ) -> [ Any ] ? {
1313 let params = types. compactMap { el -> ABI . Element . ParameterType in
1414 return el. type
1515 }
1616 return decode ( types: params, data: data)
1717 }
1818
19- public static func decode( types: [ ABI . Element . ParameterType ] , data: Data ) -> [ AnyObject ] ? {
20- var toReturn = [ AnyObject ] ( )
19+ public static func decode( types: [ ABI . Element . ParameterType ] , data: Data ) -> [ Any ] ? {
20+ var toReturn = [ Any ] ( )
2121 var consumed : UInt64 = 0
2222 for i in 0 ..< types. count {
2323 let ( v, c) = decodeSingleType ( type: types [ i] , data: data, pointer: consumed)
@@ -29,7 +29,7 @@ extension ABIDecoder {
2929 return toReturn
3030 }
3131
32- public static func decodeSingleType( type: ABI . Element . ParameterType , data: Data , pointer: UInt64 = 0 ) -> ( value: AnyObject ? , bytesConsumed: UInt64 ? ) {
32+ public static func decodeSingleType( type: ABI . Element . ParameterType , data: Data , pointer: UInt64 = 0 ) -> ( value: Any ? , bytesConsumed: UInt64 ? ) {
3333 let ( elData, nextPtr) = followTheData ( type: type, data: data, pointer: pointer)
3434 guard let elementItself = elData, let nextElementPointer = nextPtr else {
3535 return ( nil , nil )
@@ -40,18 +40,18 @@ extension ABIDecoder {
4040 let mod = BigUInt ( 1 ) << bits
4141 let dataSlice = elementItself [ 0 ..< 32 ]
4242 let v = BigUInt ( dataSlice) % mod
43- return ( v as AnyObject , type. memoryUsage)
43+ return ( v, type. memoryUsage)
4444 case . int( let bits) :
4545 guard elementItself. count >= 32 else { break }
4646 let mod = BigInt ( 1 ) << bits
4747 let dataSlice = elementItself [ 0 ..< 32 ]
4848 let v = BigInt . fromTwosComplement ( data: dataSlice) % mod
49- return ( v as AnyObject , type. memoryUsage)
49+ return ( v, type. memoryUsage)
5050 case . address:
5151 guard elementItself. count >= 32 else { break }
5252 let dataSlice = elementItself [ 12 ..< 32 ]
5353 let address = EthereumAddress ( dataSlice)
54- return ( address as AnyObject , type. memoryUsage)
54+ return ( address, type. memoryUsage)
5555 case . bool:
5656 guard elementItself. count >= 32 else { break }
5757 let dataSlice = elementItself [ 0 ..< 32 ]
@@ -60,32 +60,32 @@ extension ABIDecoder {
6060 v == BigUInt ( 32 ) ||
6161 v == BigUInt ( 28 ) ||
6262 v == BigUInt ( 1 ) {
63- return ( true as AnyObject , type. memoryUsage)
63+ return ( true , type. memoryUsage)
6464 } else if v == BigUInt ( 35 ) ||
6565 v == BigUInt ( 31 ) ||
6666 v == BigUInt ( 27 ) ||
6767 v == BigUInt ( 0 ) {
68- return ( false as AnyObject , type. memoryUsage)
68+ return ( false , type. memoryUsage)
6969 }
7070 case . bytes( let length) :
7171 guard elementItself. count >= 32 else { break }
7272 let dataSlice = elementItself [ 0 ..< length]
73- return ( dataSlice as AnyObject , type. memoryUsage)
73+ return ( dataSlice, type. memoryUsage)
7474 case . string:
7575 guard elementItself. count >= 32 else { break }
7676 var dataSlice = elementItself [ 0 ..< 32 ]
7777 let length = UInt64 ( BigUInt ( dataSlice) )
7878 guard elementItself. count >= 32 + length else { break }
7979 dataSlice = elementItself [ 32 ..< 32 + length]
8080 guard let string = String ( data: dataSlice, encoding: . utf8) else { break }
81- return ( string as AnyObject , type. memoryUsage)
81+ return ( string, type. memoryUsage)
8282 case . dynamicBytes:
8383 guard elementItself. count >= 32 else { break }
8484 var dataSlice = elementItself [ 0 ..< 32 ]
8585 let length = UInt64 ( BigUInt ( dataSlice) )
8686 guard elementItself. count >= 32 + length else { break }
8787 dataSlice = elementItself [ 32 ..< 32 + length]
88- return ( dataSlice as AnyObject , nextElementPointer)
88+ return ( dataSlice, nextElementPointer)
8989 case . array( type: let subType, length: let length) :
9090 switch type. arraySize {
9191 case . dynamicSize:
@@ -97,14 +97,14 @@ extension ABIDecoder {
9797 guard elementItself. count >= 32 + subType. memoryUsage*length else { break }
9898 dataSlice = elementItself [ 32 ..< 32 + subType. memoryUsage*length]
9999 var subpointer : UInt64 = 32
100- var toReturn = [ AnyObject ] ( )
100+ var toReturn = [ Any ] ( )
101101 for _ in 0 ..< length {
102102 let ( v, c) = decodeSingleType ( type: subType, data: elementItself, pointer: subpointer)
103103 guard let valueUnwrapped = v, let consumedUnwrapped = c else { break }
104104 toReturn. append ( valueUnwrapped)
105105 subpointer = subpointer + consumedUnwrapped
106106 }
107- return ( toReturn as AnyObject , type. memoryUsage)
107+ return ( toReturn, type. memoryUsage)
108108 } else {
109109 // in principle is true for tuple[], so will work for string[] too
110110 guard elementItself. count >= 32 else { break }
@@ -113,7 +113,7 @@ extension ABIDecoder {
113113 guard elementItself. count >= 32 else { break }
114114 dataSlice = Data ( elementItself [ 32 ..< elementItself. count] )
115115 var subpointer : UInt64 = 0
116- var toReturn = [ AnyObject ] ( )
116+ var toReturn = [ Any ] ( )
117117 for _ in 0 ..< length {
118118 let ( v, c) = decodeSingleType ( type: subType, data: dataSlice, pointer: subpointer)
119119 guard let valueUnwrapped = v, let consumedUnwrapped = c else { break }
@@ -124,11 +124,11 @@ extension ABIDecoder {
124124 subpointer = consumedUnwrapped // need to go by nextElementPointer
125125 }
126126 }
127- return ( toReturn as AnyObject , nextElementPointer)
127+ return ( toReturn, nextElementPointer)
128128 }
129129 case . staticSize( let staticLength) :
130130 guard length == staticLength else { break }
131- var toReturn = [ AnyObject ] ( )
131+ var toReturn = [ Any ] ( )
132132 var consumed : UInt64 = 0
133133 for _ in 0 ..< length {
134134 let ( v, c) = decodeSingleType ( type: subType, data: elementItself, pointer: consumed)
@@ -137,15 +137,15 @@ extension ABIDecoder {
137137 consumed = consumed + consumedUnwrapped
138138 }
139139 if subType. isStatic {
140- return ( toReturn as AnyObject , consumed)
140+ return ( toReturn, consumed)
141141 } else {
142- return ( toReturn as AnyObject , nextElementPointer)
142+ return ( toReturn, nextElementPointer)
143143 }
144144 case . notArray:
145145 break
146146 }
147147 case . tuple( types: let subTypes) :
148- var toReturn = [ AnyObject ] ( )
148+ var toReturn = [ Any ] ( )
149149 var consumed : UInt64 = 0
150150 for i in 0 ..< subTypes. count {
151151 let ( v, c) = decodeSingleType ( type: subTypes [ i] , data: elementItself, pointer: consumed)
@@ -173,14 +173,14 @@ extension ABIDecoder {
173173 }
174174 }
175175 if type. isStatic {
176- return ( toReturn as AnyObject , consumed)
176+ return ( toReturn, consumed)
177177 } else {
178- return ( toReturn as AnyObject , nextElementPointer)
178+ return ( toReturn, nextElementPointer)
179179 }
180180 case . function:
181181 guard elementItself. count >= 32 else { break }
182182 let dataSlice = elementItself [ 8 ..< 32 ]
183- return ( dataSlice as AnyObject , type. memoryUsage)
183+ return ( dataSlice, type. memoryUsage)
184184 }
185185 return ( nil , nil )
186186 }
@@ -236,7 +236,7 @@ extension ABIDecoder {
236236 return inp. type
237237 }
238238 guard logs. count == indexedInputs. count + 1 else { return nil }
239- var indexedValues = [ AnyObject ] ( )
239+ var indexedValues = [ Any ] ( )
240240 for i in 0 ..< indexedInputs. count {
241241 let data = logs [ i+ 1 ]
242242 let input = indexedInputs [ i]
0 commit comments