Skip to content

Commit bac23eb

Browse files
Move back to Infura provider in remote tests
1 parent e7b8bc9 commit bac23eb

File tree

4 files changed

+40
-58
lines changed

4 files changed

+40
-58
lines changed

Tests/web3swiftTests/remoteTests/web3swiftENSTests.swift

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,25 +23,25 @@ class web3swiftENSTests: XCTestCase {
2323
}
2424

2525
func testResolverAddress() throws {
26-
let web = web3(provider: GanacheProvider()!)
27-
let ens = ENS(web3: web)
26+
let web3 = Web3.InfuraMainnetWeb3(accessToken: Constants.infuraToken)
27+
let ens = ENS(web3: web3)
2828
let domain = "somename.eth"
2929
let address = try ens?.registry.getResolver(forDomain: domain).resolverContractAddress
3030
print(address as Any)
3131
XCTAssertEqual(address?.address.lowercased(), "0x5ffc014343cd971b7eb70732021e26c35b744cc4")
3232
}
3333

3434
func testResolver() throws {
35-
let web = web3(provider: GanacheProvider()!)
36-
let ens = ENS(web3: web)
35+
let web3 = Web3.InfuraMainnetWeb3(accessToken: Constants.infuraToken)
36+
let ens = ENS(web3: web3)
3737
let domain = "somename.eth"
3838
let address = try ens?.getAddress(forNode: domain)
3939
XCTAssertEqual(address?.address.lowercased(), "0x3487acfb1479ad1df6c0eb56ae743d34897798ac")
4040
}
4141

4242
func testSupportsInterface() throws {
43-
let web = web3(provider: GanacheProvider()!)
44-
let ens = ENS(web3: web)
43+
let web3 = Web3.InfuraMainnetWeb3(accessToken: Constants.infuraToken)
44+
let ens = ENS(web3: web3)
4545
let domain = "somename.eth"
4646
let resolver = try ens?.registry.getResolver(forDomain: domain)
4747
let isAddrSupports = try resolver?.supportsInterface(interfaceID: ENS.Resolver.InterfaceName.addr.hash())
@@ -55,8 +55,8 @@ class web3swiftENSTests: XCTestCase {
5555
}
5656

5757
func testABI() throws {
58-
let web = web3(provider: GanacheProvider()!)
59-
let ens = ENS(web3: web)
58+
let web3 = Web3.InfuraMainnetWeb3(accessToken: Constants.infuraToken)
59+
let ens = ENS(web3: web3)
6060
let domain = "somename.eth"
6161
let resolver = try ens?.registry.getResolver(forDomain: domain)
6262
if let isABIsupported = try resolver?.supportsInterface(interfaceID: ENS.Resolver.InterfaceName.ABI.hash()),
@@ -70,33 +70,33 @@ class web3swiftENSTests: XCTestCase {
7070
}
7171

7272
func testOwner() throws {
73-
let web = web3(provider: GanacheProvider()!)
74-
let ens = ENS(web3: web)
73+
let web3 = Web3.InfuraMainnetWeb3(accessToken: Constants.infuraToken)
74+
let ens = ENS(web3: web3)
7575
let domain = "somename.eth"
7676
let owner = try ens?.registry.getOwner(node: domain)
7777
XCTAssertEqual("0xc67247454e720328714c4e17bec7640572657bee", owner?.address.lowercased())
7878
}
7979

8080
func testTTL() throws {
81-
let web = web3(provider: GanacheProvider()!)
82-
let ens = ENS(web3: web)
81+
let web3 = Web3.InfuraMainnetWeb3(accessToken: Constants.infuraToken)
82+
let ens = ENS(web3: web3)
8383
let domain = "somename.eth"
8484
let ttl = try ens?.registry.getTTL(node: domain)
8585
print(ttl!.description)
8686
}
8787

8888
func testGetAddress() throws {
89-
let web = web3(provider: GanacheProvider()!)
90-
let ens = ENS(web3: web)
89+
let web3 = Web3.InfuraMainnetWeb3(accessToken: Constants.infuraToken)
90+
let ens = ENS(web3: web3)
9191
let domain = "somename.eth"
9292
let resolver = try ens?.registry.getResolver(forDomain: domain)
9393
let address = try resolver?.getAddress(forNode: domain)
9494
XCTAssertEqual(address?.address.lowercased(), "0x3487acfb1479ad1df6c0eb56ae743d34897798ac")
9595
}
9696

9797
func testGetPubkey() throws {
98-
let web = web3(provider: GanacheProvider()!)
99-
let ens = ENS(web3: web)
98+
let web3 = Web3.InfuraMainnetWeb3(accessToken: Constants.infuraToken)
99+
let ens = ENS(web3: web3)
100100
let domain = "somename.eth"
101101
let resolver = try ens?.registry.getResolver(forDomain: domain)
102102
let pubkey = try resolver?.getPublicKey(forNode: domain)

Tests/web3swiftTests/remoteTests/web3swiftGanacheTests.swift

Lines changed: 14 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,12 @@ import XCTest
88

99
@testable import web3swift
1010

11-
public final class GanacheProvider: Web3HttpProvider {
12-
public init?(_ net: Networks = Networks.Mainnet, keystoreManager manager: KeystoreManager? = nil) {
13-
let providerURL = URL(string: "http://127.0.0.1:8545/")!
14-
super.init(providerURL, network: net, keystoreManager: manager)
15-
}
16-
}
17-
18-
extension Web3 {
19-
/// Initialized Web3 instance bound to Infura's mainnet provider.
20-
public static func GanacheWeb3(network: Networks = Networks.Mainnet) -> web3 {
21-
let ganache = GanacheProvider(network)!
22-
return web3(provider: ganache)
23-
}
24-
}
25-
2611
// MARK: Works only with network connection
27-
class web3swiftGanacheTests: XCTestCase {
12+
class web3swiftInfuraTests: XCTestCase {
2813

2914
func testGetBalance() throws {
3015
do {
31-
let web3 = Web3.GanacheWeb3()
16+
let web3 = Web3.InfuraMainnetWeb3(accessToken: Constants.infuraToken)
3217
let address = EthereumAddress("0xd61b5ca425F8C8775882d4defefC68A6979DBbce")!
3318
let balance = try web3.eth.getBalance(address: address)
3419
let balString = Web3.Utils.formatToEthereumUnits(balance, toUnits: .eth, decimals: 3)
@@ -39,23 +24,20 @@ class web3swiftGanacheTests: XCTestCase {
3924
}
4025

4126
func testGetBlockByHash() throws {
42-
do {
43-
let web3 = Web3.GanacheWeb3()
44-
let result = try web3.eth.getBlockByHash("0x6d05ba24da6b7a1af22dc6cc2a1fe42f58b2a5ea4c406b19c8cf672ed8ec0695", fullTransactions: true)
45-
print(result)
46-
} catch {
47-
XCTFail()
48-
}
27+
let web3 = Web3.InfuraMainnetWeb3(accessToken: Constants.infuraToken)
28+
let result = try web3.eth.getBlockByHash("0x6d05ba24da6b7a1af22dc6cc2a1fe42f58b2a5ea4c406b19c8cf672ed8ec0695", fullTransactions: false)
29+
30+
print(result)
4931
}
5032

5133
func testGetBlockByNumber1() throws {
52-
let web3 = Web3.GanacheWeb3()
53-
let result = try web3.eth.getBlockByNumber("latest", fullTransactions: true)
34+
let web3 = Web3.InfuraMainnetWeb3(accessToken: Constants.infuraToken)
35+
let result = try web3.eth.getBlockByNumber("latest", fullTransactions: false)
5436
print(result)
5537
}
5638

5739
func testGetBlockByNumber2() throws {
58-
let web3 = Web3.GanacheWeb3()
40+
let web3 = Web3.InfuraMainnetWeb3(accessToken: Constants.infuraToken)
5941
let result = try web3.eth.getBlockByNumber(UInt64(5184323), fullTransactions: true)
6042
print(result)
6143
let transactions = result.transactions
@@ -71,7 +53,7 @@ class web3swiftGanacheTests: XCTestCase {
7153

7254
func testGetBlockByNumber3() throws {
7355
do {
74-
let web3 = Web3.GanacheWeb3()
56+
let web3 = Web3.InfuraMainnetWeb3(accessToken: Constants.infuraToken)
7557
let _ = try web3.eth.getBlockByNumber(UInt64(1000000000), fullTransactions: true)
7658
XCTFail()
7759
} catch {
@@ -80,14 +62,14 @@ class web3swiftGanacheTests: XCTestCase {
8062
}
8163

8264
func testGasPrice() throws {
83-
let web3 = Web3.GanacheWeb3()
65+
let web3 = Web3.InfuraMainnetWeb3(accessToken: Constants.infuraToken)
8466
let response = try web3.eth.getGasPrice()
8567
print(response)
8668
}
8769

8870
func testGetIndexedEventsPromise() throws {
8971
let jsonString = "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"remaining\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"inputs\":[{\"name\":\"_initialAmount\",\"type\":\"uint256\"},{\"name\":\"_tokenName\",\"type\":\"string\"},{\"name\":\"_decimalUnits\",\"type\":\"uint8\"},{\"name\":\"_tokenSymbol\",\"type\":\"string\"}],\"type\":\"constructor\"},{\"payable\":false,\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},]"
90-
let web3 = Web3.GanacheWeb3()
72+
let web3 = Web3.InfuraMainnetWeb3(accessToken: Constants.infuraToken)
9173
let contract = web3.contract(jsonString, at: nil, abiVersion: 2)
9274
var filter = EventFilter()
9375
filter.fromBlock = .blockNumber(UInt64(5200120))
@@ -103,7 +85,7 @@ class web3swiftGanacheTests: XCTestCase {
10385

10486
func testEventParsingBlockByNumberPromise() throws {
10587
let jsonString = "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"remaining\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"inputs\":[{\"name\":\"_initialAmount\",\"type\":\"uint256\"},{\"name\":\"_tokenName\",\"type\":\"string\"},{\"name\":\"_decimalUnits\",\"type\":\"uint8\"},{\"name\":\"_tokenSymbol\",\"type\":\"string\"}],\"type\":\"constructor\"},{\"payable\":false,\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},]"
106-
let web3 = Web3.GanacheWeb3()
88+
let web3 = Web3.InfuraMainnetWeb3(accessToken: Constants.infuraToken)
10789
let contract = web3.contract(jsonString, at: nil, abiVersion: 2)
10890
var filter = EventFilter()
10991
filter.addresses = [EthereumAddress("0x53066cddbc0099eb6c96785d9b3df2aaeede5da3")!]
@@ -117,7 +99,7 @@ class web3swiftGanacheTests: XCTestCase {
11799
func testUserCaseEventParsing() throws {
118100
let contractAddress = EthereumAddress("0x7ff546aaccd379d2d1f241e1d29cdd61d4d50778")
119101
let jsonString = "[{\"constant\":false,\"inputs\":[{\"name\":\"_id\",\"type\":\"string\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_id\",\"type\":\"string\"},{\"indexed\":true,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"}]"
120-
let web3 = Web3.GanacheWeb3(network: .Rinkeby)
102+
let web3 = Web3.InfuraRinkebyWeb3(accessToken: Constants.infuraToken)
121103
let contract = web3.contract(jsonString, at: contractAddress, abiVersion: 2)
122104
guard let eventParser = contract?.createEventParser("Deposit", filter: nil) else {return XCTFail()}
123105
let pres = try eventParser.parseBlockByNumber(UInt64(2138657))

0 commit comments

Comments
 (0)