Skip to content

Commit a8443d0

Browse files
Drop transactionOptions in web3 type
Drop chaining `web3.transactionOptions` to `ERC*` types (now it's passes due initializer) Rename `web3contract` to `Contract`.
1 parent efd357f commit a8443d0

24 files changed

+94
-132
lines changed

Sources/web3swift/Operations/ReadTransaction.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@ public class ReadOperation {
2222
public init(transaction: CodableTransaction = CodableTransaction.emptyTransaction,
2323
web3 web3Instance: web3,
2424
contract: EthereumContract,
25-
method: String = "fallback",
26-
// FIXME: Delete options.
27-
transactionOptions: CodableTransaction? = nil) {
25+
method: String = "fallback") {
2826
self.transaction = transaction
2927
self.web3 = web3Instance
3028
self.contract = contract

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,20 +41,19 @@ public class ERC1155: IERC1155 {
4141
public var address: EthereumAddress
4242
public var abi: String
4343

44-
lazy var contract: web3.web3contract = {
44+
lazy var contract: web3.Contract = {
4545
let contract = self.web3.contract(self.abi, at: self.address, abiVersion: 2)
4646
precondition(contract != nil)
4747
return contract!
4848
}()
4949

50-
public init(web3: web3, provider: Web3Provider, address: EthereumAddress, abi: String = Web3.Utils.erc1155ABI) {
50+
public init(web3: web3, provider: Web3Provider, address: EthereumAddress, abi: String = Web3.Utils.erc1155ABI, transaction: CodableTransaction = .emptyTransaction) {
5151
self.web3 = web3
5252
self.provider = provider
5353
self.address = address
54-
var mergedOptions = web3.transactionOptions
55-
mergedOptions.to = address
54+
self.transactionOptions = transaction
55+
self.transactionOptions.to = address
5656
self.abi = abi
57-
self.transactionOptions = mergedOptions
5857
}
5958

6059
public func tokenId() async throws -> BigUInt {

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,20 +79,19 @@ public class ERC1376: IERC1376, ERC20BaseProperties {
7979
public var address: EthereumAddress
8080
public var abi: String
8181

82-
lazy var contract: web3.web3contract = {
82+
lazy var contract: web3.Contract = {
8383
let contract = self.web3.contract(self.abi, at: self.address, abiVersion: 2)
8484
precondition(contract != nil)
8585
return contract!
8686
}()
8787

88-
public init(web3: web3, provider: Web3Provider, address: EthereumAddress, abi: String = Web3.Utils.erc1376ABI) {
88+
public init(web3: web3, provider: Web3Provider, address: EthereumAddress, abi: String = Web3.Utils.erc1376ABI, transaction: CodableTransaction = .emptyTransaction) {
8989
self.web3 = web3
9090
self.provider = provider
9191
self.address = address
92-
var mergedOptions = web3.transactionOptions
93-
mergedOptions.to = address
92+
self.transactionOptions = transaction
93+
self.transactionOptions.to = address
9494
self.abi = abi
95-
self.transactionOptions = mergedOptions
9695
}
9796

9897
public func getBalance(account: EthereumAddress) async throws -> BigUInt {

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,20 +77,19 @@ public class ERC1400: IERC1400, ERC20BaseProperties {
7777
public var address: EthereumAddress
7878
public var abi: String
7979

80-
lazy var contract: web3.web3contract = {
80+
lazy var contract: web3.Contract = {
8181
let contract = self.web3.contract(self.abi, at: self.address, abiVersion: 2)
8282
precondition(contract != nil)
8383
return contract!
8484
}()
8585

86-
public init(web3: web3, provider: Web3Provider, address: EthereumAddress, abi: String = Web3.Utils.erc1400ABI) {
86+
public init(web3: web3, provider: Web3Provider, address: EthereumAddress, abi: String = Web3.Utils.erc1400ABI, transaction: CodableTransaction = .emptyTransaction) {
8787
self.web3 = web3
8888
self.provider = provider
8989
self.address = address
90-
var mergedOptions = web3.transactionOptions
91-
mergedOptions.to = address
90+
self.transactionOptions = transaction
91+
self.transactionOptions.to = address
9292
self.abi = abi
93-
self.transactionOptions = mergedOptions
9493
}
9594

9695
public func getBalance(account: EthereumAddress) async throws -> BigUInt {

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,20 +55,19 @@ public class ERC1410: IERC1410, ERC20BaseProperties {
5555
public var address: EthereumAddress
5656
public var abi: String
5757

58-
lazy var contract: web3.web3contract = {
58+
lazy var contract: web3.Contract = {
5959
let contract = self.web3.contract(self.abi, at: self.address, abiVersion: 2)
6060
precondition(contract != nil)
6161
return contract!
6262
}()
6363

64-
public init(web3: web3, provider: Web3Provider, address: EthereumAddress, abi: String = Web3.Utils.erc1410ABI) {
64+
public init(web3: web3, provider: Web3Provider, address: EthereumAddress, abi: String = Web3.Utils.erc1410ABI, transaction: CodableTransaction = .emptyTransaction) {
6565
self.web3 = web3
6666
self.provider = provider
6767
self.address = address
68-
var mergedOptions = web3.transactionOptions
69-
mergedOptions.to = address
7068
self.abi = abi
71-
self.transactionOptions = mergedOptions
69+
self.transactionOptions = transaction
70+
self.transactionOptions.to = address
7271
}
7372

7473
public func getBalance(account: EthereumAddress) async throws -> BigUInt {

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,20 +44,19 @@ public class ERC1594: IERC1594, ERC20BaseProperties {
4444
public var address: EthereumAddress
4545
public var abi: String
4646

47-
lazy var contract: web3.web3contract = {
47+
lazy var contract: web3.Contract = {
4848
let contract = self.web3.contract(self.abi, at: self.address, abiVersion: 2)
4949
precondition(contract != nil)
5050
return contract!
5151
}()
5252

53-
public init(web3: web3, provider: Web3Provider, address: EthereumAddress, abi: String = Web3.Utils.erc1594ABI) {
53+
public init(web3: web3, provider: Web3Provider, address: EthereumAddress, abi: String = Web3.Utils.erc1594ABI, transaction: CodableTransaction = .emptyTransaction) {
5454
self.web3 = web3
5555
self.provider = provider
5656
self.address = address
57-
var mergedOptions = web3.transactionOptions
58-
mergedOptions.to = address
57+
self.transactionOptions = transaction
58+
self.transactionOptions.to = address
5959
self.abi = abi
60-
self.transactionOptions = mergedOptions
6160
}
6261

6362
public func getBalance(account: EthereumAddress) async throws -> BigUInt {

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,20 +31,19 @@ public class ERC1633: IERC1633, ERC20BaseProperties {
3131
public var address: EthereumAddress
3232
public var abi: String
3333

34-
lazy var contract: web3.web3contract = {
34+
lazy var contract: web3.Contract = {
3535
let contract = self.web3.contract(self.abi, at: self.address, abiVersion: 2)
3636
precondition(contract != nil)
3737
return contract!
3838
}()
3939

40-
public init(web3: web3, provider: Web3Provider, address: EthereumAddress, abi: String = Web3.Utils.erc1633ABI) {
40+
public init(web3: web3, provider: Web3Provider, address: EthereumAddress, abi: String = Web3.Utils.erc1633ABI, transaction: CodableTransaction = .emptyTransaction) {
4141
self.web3 = web3
4242
self.provider = provider
4343
self.address = address
44-
var mergedOptions = web3.transactionOptions
45-
mergedOptions.to = address
44+
self.transactionOptions = transaction
45+
self.transactionOptions.to = address
4646
self.abi = abi
47-
self.transactionOptions = mergedOptions
4847
}
4948

5049
public func getBalance(account: EthereumAddress) async throws -> BigUInt {

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

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,19 @@ public class ERC1643: IERC1643, ERC20BaseProperties {
3434
public var address: EthereumAddress
3535
public var abi: String
3636

37-
lazy var contract: web3.web3contract = {
37+
lazy var contract: web3.Contract = {
3838
let contract = self.web3.contract(self.abi, at: self.address, abiVersion: 2)
3939
precondition(contract != nil)
4040
return contract!
4141
}()
4242

43-
public init(web3: web3, provider: Web3Provider, address: EthereumAddress, abi: String = Web3.Utils.erc1643ABI) {
43+
public init(web3: web3, provider: Web3Provider, address: EthereumAddress, abi: String = Web3.Utils.erc1643ABI, transaction: CodableTransaction = .emptyTransaction) {
4444
self.web3 = web3
4545
self.provider = provider
4646
self.address = address
47-
var mergedOptions = web3.transactionOptions
48-
49-
mergedOptions.to = address
47+
self.transactionOptions = transaction
48+
self.transactionOptions.to = address
5049
self.abi = abi
51-
self.transactionOptions = mergedOptions
5250
}
5351

5452
public func getBalance(account: EthereumAddress) async throws -> BigUInt {

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,20 +34,19 @@ public class ERC1644: IERC1644, ERC20BaseProperties {
3434
public var address: EthereumAddress
3535
public var abi: String
3636

37-
lazy var contract: web3.web3contract = {
37+
lazy var contract: web3.Contract = {
3838
let contract = self.web3.contract(self.abi, at: self.address, abiVersion: 2)
3939
precondition(contract != nil)
4040
return contract!
4141
}()
4242

43-
public init(web3: web3, provider: Web3Provider, address: EthereumAddress, abi: String = Web3.Utils.erc1644ABI) {
43+
public init(web3: web3, provider: Web3Provider, address: EthereumAddress, abi: String = Web3.Utils.erc1644ABI, transaction: CodableTransaction = .emptyTransaction) {
4444
self.web3 = web3
4545
self.provider = provider
4646
self.address = address
47-
var mergedOptions = web3.transactionOptions
48-
mergedOptions.to = address
47+
self.transactionOptions = transaction
48+
self.transactionOptions.to = address
4949
self.abi = abi
50-
self.transactionOptions = mergedOptions
5150
}
5251

5352
public func getBalance(account: EthereumAddress) async throws -> BigUInt {

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

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,18 @@ public class ERC20: IERC20, ERC20BaseProperties {
3434
public var provider: Web3Provider
3535
public var address: EthereumAddress
3636

37-
lazy var contract: web3.web3contract = {
37+
lazy var contract: web3.Contract = {
3838
let contract = self.web3.contract(Web3.Utils.erc20ABI, at: self.address, abiVersion: 2)
3939
precondition(contract != nil)
4040
return contract!
4141
}()
4242

43-
public init(web3: web3, provider: Web3Provider, address: EthereumAddress) {
43+
public init(web3: web3, provider: Web3Provider, address: EthereumAddress, transaction: CodableTransaction = .emptyTransaction) {
4444
self.web3 = web3
4545
self.provider = provider
4646
self.address = address
47-
var mergedOptions = web3.transactionOptions
48-
mergedOptions.to = address
49-
self.transactionOptions = mergedOptions
47+
self.transactionOptions = transaction
48+
self.transactionOptions.to = address
5049
}
5150

5251
public func getBalance(account: EthereumAddress) async throws -> BigUInt {
@@ -184,7 +183,7 @@ public class ERC20: IERC20, ERC20BaseProperties {
184183
}
185184

186185
protocol ERC20BaseProperties: AnyObject {
187-
var contract: web3.web3contract { get }
186+
var contract: web3.Contract { get }
188187
var _name: String? { get set }
189188
var _symbol: String? { get set }
190189
var _decimals: UInt8? { get set }

0 commit comments

Comments
 (0)