Skip to content

Commit 979803a

Browse files
Rename contract methods:
- `read` -> `createReadOperation` - `write` -> `createWriteOperation` - delete `method` since it's duplicating `createWriteOperation`
1 parent 65cfd50 commit 979803a

32 files changed

+468
-471
lines changed

Sources/Core/Contract/ContractProtocol.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,6 @@ extension DefaultContractProtocol {
261261
/// - params: EthereumParameters with no contract method call encoded data.
262262
public func method(_ method: String,
263263
parameters: [AnyObject],
264-
// FIXME: Return type CodableTransaction
265264
extraData: Data?) -> CodableTransaction? {
266265
guard let to = self.address else { return nil }
267266

Sources/web3swift/Tokens/ERC1155/Web3+ERC1155.swift

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public class ERC1155: IERC1155 {
7474
var transactionOptions = CodableTransaction.emptyTransaction
7575
transactionOptions.callOnBlock = .latest
7676

77-
guard let tokenIdPromise = try await contract.read("id", parameters: [] as [AnyObject], extraData: Data(), transactionOptions: transactionOptions)?.decodedData() else {return}
77+
guard let tokenIdPromise = try await contract.createReadOperation("id", parameters: [] as [AnyObject], extraData: Data(), transactionOptions: transactionOptions)?.decodedData() else {return}
7878

7979
guard let tokenId = tokenIdPromise["0"] as? BigUInt else {return}
8080
self._tokenId = tokenId
@@ -88,7 +88,7 @@ public class ERC1155: IERC1155 {
8888
basicOptions.from = from
8989
basicOptions.to = self.address
9090

91-
let tx = contract.write("safeTransferFrom", parameters: [originalOwner, to, id, value, data] as [AnyObject], transactionOptions: basicOptions)!
91+
let tx = contract.createWriteOperation("safeTransferFrom", parameters: [originalOwner, to, id, value, data] as [AnyObject], transactionOptions: basicOptions)!
9292
return tx
9393
}
9494

@@ -98,15 +98,26 @@ public class ERC1155: IERC1155 {
9898
basicOptions.from = from
9999
basicOptions.to = self.address
100100

101-
let tx = contract.write("safeBatchTransferFrom", parameters: [originalOwner, to, ids, values, data] as [AnyObject], transactionOptions: basicOptions)!
101+
let tx = contract
102+
.createWriteOperation("safeBatchTransferFrom", parameters: [originalOwner, to, ids, values, data] as [AnyObject], transactionOptions: basicOptions)!
102103
return tx
103104
}
104105

105106
public func balanceOf(account: EthereumAddress, id: BigUInt) async throws -> BigUInt {
106107
let contract = self.contract
107108
var transactionOptions = CodableTransaction.emptyTransaction
108109
transactionOptions.callOnBlock = .latest
109-
let result = try await contract.read("balanceOf", parameters: [account, id] as [AnyObject], extraData: Data(), transactionOptions: self.transactionOptions)!.decodedData()
110+
let result = try await contract
111+
.createReadOperation("balanceOf", parameters: [account, id] as [AnyObject], extraData: Data(), transactionOptions: self.transactionOptions)!
112+
.decodedData()
113+
114+
/*
115+
let result = try await contract
116+
.prepareToRead("balanceOf", parameters: [account, id] as [AnyObject], extraData: Data(), transactionOptions: self.transactionOptions)!
117+
.execute()
118+
.decodeData()
119+
120+
*/
110121
guard let res = result["0"] as? BigUInt else {throw Web3Error.processingError(desc: "Failed to get result of expected type from the Ethereum node")}
111122
return res
112123
}
@@ -117,15 +128,15 @@ public class ERC1155: IERC1155 {
117128
basicOptions.from = from
118129
basicOptions.to = self.address
119130

120-
let tx = contract.write("setApprovalForAll", parameters: [user, approved, scope] as [AnyObject], transactionOptions: basicOptions)!
131+
let tx = contract.createWriteOperation("setApprovalForAll", parameters: [user, approved, scope] as [AnyObject], transactionOptions: basicOptions)!
121132
return tx
122133
}
123134

124135
public func isApprovedForAll(owner: EthereumAddress, operator user: EthereumAddress, scope: Data) async throws -> Bool {
125136
let contract = self.contract
126137
var basicOptions = CodableTransaction.emptyTransaction
127138
basicOptions.callOnBlock = .latest
128-
let result = try await contract.read("isApprovedForAll", parameters: [owner, user, scope] as [AnyObject], extraData: Data(), transactionOptions: self.transactionOptions)!.decodedData()
139+
let result = try await contract.createReadOperation("isApprovedForAll", parameters: [owner, user, scope] as [AnyObject], extraData: Data(), transactionOptions: self.transactionOptions)!.decodedData()
129140
guard let res = result["0"] as? Bool else {throw Web3Error.processingError(desc: "Failed to get result of expected type from the Ethereum node")}
130141
return res
131142
}
@@ -135,7 +146,7 @@ public class ERC1155: IERC1155 {
135146
var transactionOptions = CodableTransaction.emptyTransaction
136147
transactionOptions.callOnBlock = .latest
137148
transactionOptions.gasLimitPolicy = .manual(30000)
138-
let result = try await contract.read("supportsInterface", parameters: [interfaceID] as [AnyObject], extraData: Data(), transactionOptions: self.transactionOptions)!.decodedData()
149+
let result = try await contract.createReadOperation("supportsInterface", parameters: [interfaceID] as [AnyObject], extraData: Data(), transactionOptions: self.transactionOptions)!.decodedData()
139150
guard let res = result["0"] as? Bool else {throw Web3Error.processingError(desc: "Failed to get result of expected type from the Ethereum node")}
140151
return res
141152
}

0 commit comments

Comments
 (0)