nim-ethers/testmodule/testJsonRpcSigner.nim

41 lines
1.2 KiB
Nim
Raw Normal View History

2022-01-20 13:39:37 +00:00
import pkg/asynctest
import pkg/ethers
2022-01-24 13:40:47 +00:00
import ./examples
2022-01-20 13:39:37 +00:00
suite "JsonRpcSigner":
var provider: JsonRpcProvider
2022-01-24 11:14:31 +00:00
var accounts: seq[Address]
2022-01-20 13:39:37 +00:00
setup:
provider = JsonRpcProvider.new()
2022-01-24 11:14:31 +00:00
accounts = await provider.listAccounts()
2022-01-20 13:39:37 +00:00
test "is connected to the first account of the provider by default":
let signer = provider.getSigner()
2022-01-24 11:14:31 +00:00
check (await signer.getAddress()) == accounts[0]
2022-01-20 13:39:37 +00:00
test "can connect to a different account":
2022-01-24 11:14:31 +00:00
let signer = provider.getSigner(accounts[1])
check (await signer.getAddress()) == accounts[1]
2022-01-24 11:12:52 +00:00
test "can retrieve gas price":
let signer = provider.getSigner()
let gasprice = await signer.getGasPrice()
check gasprice > 0.u256
2022-01-24 11:14:31 +00:00
test "can retrieve transaction count":
let signer = provider.getSigner(accounts[9])
let count = await signer.getTransactionCount(BlockTag.pending)
check count == 0.u256
2022-01-24 13:40:47 +00:00
test "can estimate gas cost of a transaction":
let signer = provider.getSigner()
let estimate = await signer.estimateGas(Transaction.example)
check estimate > 0.u256
2022-01-24 16:29:25 +00:00
test "can retrieve chain id":
let signer = provider.getSigner()
let chainId = await signer.getChainId()
check chainId == 31337.u256 # hardhat chain id