Skip to content

Commit 638fa77

Browse files
Merge pull request #725 from JeneaVranceanu/fix/anyobject-usage-removed
fix: replaced AnyObject with Any
2 parents c5f82ff + be6c585 commit 638fa77

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+1146
-1025
lines changed

Example/myWeb3Wallet/myWeb3Wallet/ViewControllers/WalletController/WalletViewController.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -89,13 +89,13 @@ class WalletViewController: UIViewController {
8989
let manager = KeystoreManager([myWeb3KeyStore])
9090
let address = keystore?.addresses?.first
9191
#if DEBUG
92-
print("Address :::>>>>> ", address as Any)
93-
print("Address :::>>>>> ", manager.addresses as Any)
92+
print("Address :::>>>>> ", address)
93+
print("Address :::>>>>> ", manager.addresses)
9494
#endif
9595
let walletAddress = manager.addresses?.first?.address
9696
self.walletAddressLabel.text = walletAddress ?? "0x"
9797

98-
print(walletAddress as Any)
98+
print(walletAddress)
9999
} else {
100100
print("error")
101101
}
@@ -115,7 +115,7 @@ class WalletViewController: UIViewController {
115115
}
116116
func importWalletWith(mnemonics: String) {
117117
let walletAddress = try? BIP32Keystore(mnemonics: mnemonics , prefixPath: "m/44'/77777'/0'/0")
118-
print(walletAddress?.addresses as Any)
118+
print(walletAddress?.addresses)
119119
self.walletAddressLabel.text = "\(walletAddress?.addresses?.first?.address ?? "0x")"
120120

121121
}
@@ -137,15 +137,15 @@ extension WalletViewController {
137137
self._mnemonics = tMnemonics
138138
print(_mnemonics)
139139
let tempWalletAddress = try? BIP32Keystore(mnemonics: self._mnemonics , prefixPath: "m/44'/77777'/0'/0")
140-
print(tempWalletAddress?.addresses?.first?.address as Any)
140+
print(tempWalletAddress?.addresses?.first?.address)
141141
guard let walletAddress = tempWalletAddress?.addresses?.first else {
142142
self.showAlertMessage(title: "", message: "We are unable to create wallet", actionName: "Ok")
143143
return
144144
}
145145
self._walletAddress = walletAddress.address
146146
let privateKey = try tempWalletAddress?.UNSAFE_getPrivateKeyData(password: "", account: walletAddress)
147147
#if DEBUG
148-
print(privateKey as Any, "Is the private key")
148+
print(privateKey, "Is the private key")
149149
#endif
150150
let keyData = try? JSONEncoder().encode(tempWalletAddress?.keystoreParams)
151151
FileManager.default.createFile(atPath: userDir + "/keystore"+"/key.json", contents: keyData, attributes: nil)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ let response = try await readTX.callContractMethod()
132132
let abiString = "[]" // some ABI string
133133
let bytecode = Data.fromHex("") // some ABI bite sequence
134134
let contract = web3.contract(abiString, at: nil, abiVersion: 2)!
135-
let parameters = [...] as [AnyObject]
135+
let parameters: [Any] = [...]
136136
let deployOp = contract.prepareDeploy(bytecode: bytecode, constructor: contract.contract.constructor, parameters: parameters)!
137137
deployOp.transaction.from = "" // your address
138138
deployOp.transaction.gasLimitPolicy = .manual(3000000)

Sources/Core/EthereumABI/ABIElements.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ public extension ABI {
173173
// MARK: - Function parameters encoding
174174

175175
extension ABI.Element {
176-
public func encodeParameters(_ parameters: [AnyObject]) -> Data? {
176+
public func encodeParameters(_ parameters: [Any]) -> Data? {
177177
switch self {
178178
case .constructor(let constructor):
179179
return constructor.encodeParameters(parameters)
@@ -192,7 +192,7 @@ extension ABI.Element {
192192
}
193193

194194
extension ABI.Element.Constructor {
195-
public func encodeParameters(_ parameters: [AnyObject]) -> Data? {
195+
public func encodeParameters(_ parameters: [Any]) -> Data? {
196196
guard parameters.count == inputs.count else { return nil }
197197
return ABIEncoder.encode(types: inputs, values: parameters)
198198
}
@@ -203,7 +203,7 @@ extension ABI.Element.Function {
203203
/// Encode parameters of a given contract method
204204
/// - Parameter parameters: Parameters to pass to Ethereum contract
205205
/// - Returns: Encoded data
206-
public func encodeParameters(_ parameters: [AnyObject]) -> Data? {
206+
public func encodeParameters(_ parameters: [Any]) -> Data? {
207207
guard parameters.count == inputs.count,
208208
let data = ABIEncoder.encode(types: inputs, values: parameters) else { return nil }
209209
return methodEncoding + data

Sources/Web3Core/Contract/ContractProtocol.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import BigInt
3535
/// let inputArgsTypes: [ABI.Element.InOut] = [.init(name: "firstArgument", type: ABI.Element.ParameterType.string),
3636
/// .init(name: "secondArgument", type: ABI.Element.ParameterType.uint(bits: 256))]
3737
/// let constructor = ABI.Element.Constructor(inputs: inputArgsTypes, constant: false, payable: payable)
38-
/// let constructorArguments = ["This is the array of constructor arguments", 10_000] as [AnyObject]
38+
/// let constructorArguments: [Any] = ["This is the array of constructor arguments", 10_000]
3939
///
4040
/// contract.deploy(bytecode: smartContractBytecode,
4141
/// constructor: constructor,
@@ -48,7 +48,7 @@ import BigInt
4848
///
4949
/// ```swift
5050
/// let contract = EthereumContract(abiString)
51-
/// let constructorArguments = ["This is the array of constructor arguments", 10_000] as [AnyObject]
51+
/// let constructorArguments: [Any] = ["This is the array of constructor arguments", 10_000]
5252
///
5353
/// contract.deploy(bytecode: smartContractBytecode,
5454
/// constructor: contract.constructor,
@@ -121,7 +121,7 @@ public protocol ContractProtocol {
121121
/// - Returns: Encoded data for a given parameters, which is should be assigned to ``CodableTransaction.data`` property
122122
func deploy(bytecode: Data,
123123
constructor: ABI.Element.Constructor?,
124-
parameters: [AnyObject]?,
124+
parameters: [Any]?,
125125
extraData: Data?) -> Data?
126126

127127
/// Creates function call transaction with data set as `method` encoded with given `parameters`.
@@ -134,7 +134,7 @@ public protocol ContractProtocol {
134134
/// - parameters: method input arguments;
135135
/// - extraData: additional data to append at the end of `transaction.data` field;
136136
/// - Returns: transaction object if `method` was found and `parameters` were successfully encoded.
137-
func method(_ method: String, parameters: [AnyObject], extraData: Data?) -> Data?
137+
func method(_ method: String, parameters: [Any], extraData: Data?) -> Data?
138138

139139
/// Decode output data of a function.
140140
/// - Parameters:
@@ -190,7 +190,7 @@ extension ContractProtocol {
190190
/// See ``ContractProtocol/deploy(bytecode:constructor:parameters:extraData:)`` for details.
191191
func deploy(_ bytecode: Data,
192192
constructor: ABI.Element.Constructor? = nil,
193-
parameters: [AnyObject]? = nil,
193+
parameters: [Any]? = nil,
194194
extraData: Data? = nil) -> Data? {
195195
deploy(bytecode: bytecode,
196196
constructor: constructor,
@@ -203,7 +203,7 @@ extension ContractProtocol {
203203
///
204204
/// See ``ContractProtocol/method(_:parameters:extraData:)`` for details.
205205
func method(_ method: String = "fallback",
206-
parameters: [AnyObject]? = nil,
206+
parameters: [Any]? = nil,
207207
extraData: Data? = nil) -> Data? {
208208
self.method(method, parameters: parameters ?? [], extraData: extraData)
209209
}
@@ -222,7 +222,7 @@ extension DefaultContractProtocol {
222222
// MARK: Writing Data flow
223223
public func deploy(bytecode: Data,
224224
constructor: ABI.Element.Constructor?,
225-
parameters: [AnyObject]?,
225+
parameters: [Any]?,
226226
extraData: Data?) -> Data? {
227227
var fullData = bytecode
228228

@@ -258,7 +258,7 @@ extension DefaultContractProtocol {
258258
/// - data: parameters + extraData
259259
/// - params: EthereumParameters with no contract method call encoded data.
260260
public func method(_ method: String,
261-
parameters: [AnyObject],
261+
parameters: [Any],
262262
extraData: Data?) -> Data? {
263263
// MARK: - Encoding ABI Data flow
264264
if method == "fallback" {

Sources/Web3Core/EthereumABI/ABIDecoding.swift

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ import BigInt
99
public struct ABIDecoder { }
1010

1111
extension 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]

Sources/Web3Core/EthereumABI/ABIElements.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ public extension ABI {
174174
// MARK: - Function parameters encoding
175175

176176
extension ABI.Element {
177-
public func encodeParameters(_ parameters: [AnyObject]) -> Data? {
177+
public func encodeParameters(_ parameters: [Any]) -> Data? {
178178
switch self {
179179
case .constructor(let constructor):
180180
return constructor.encodeParameters(parameters)
@@ -193,7 +193,7 @@ extension ABI.Element {
193193
}
194194

195195
extension ABI.Element.Constructor {
196-
public func encodeParameters(_ parameters: [AnyObject]) -> Data? {
196+
public func encodeParameters(_ parameters: [Any]) -> Data? {
197197
guard parameters.count == inputs.count else { return nil }
198198
return ABIEncoder.encode(types: inputs, values: parameters)
199199
}
@@ -204,7 +204,7 @@ extension ABI.Element.Function {
204204
/// Encode parameters of a given contract method
205205
/// - Parameter parameters: Parameters to pass to Ethereum contract
206206
/// - Returns: Encoded data
207-
public func encodeParameters(_ parameters: [AnyObject]) -> Data? {
207+
public func encodeParameters(_ parameters: [Any]) -> Data? {
208208
guard parameters.count == inputs.count,
209209
let data = ABIEncoder.encode(types: inputs, values: parameters) else { return nil }
210210
return methodEncoding + data

0 commit comments

Comments
 (0)