From b639e367c0d51dfe23e0555f95e5d619ecae1396 Mon Sep 17 00:00:00 2001 From: Mark Spanbroek Date: Tue, 25 Jan 2022 15:05:54 +0100 Subject: [PATCH] Reset EVM in between tests --- ethers/providers/jsonrpc.nim | 4 ++-- testmodule/testContracts.nim | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ethers/providers/jsonrpc.nim b/ethers/providers/jsonrpc.nim index 19412d8..9c95e29 100644 --- a/ethers/providers/jsonrpc.nim +++ b/ethers/providers/jsonrpc.nim @@ -41,9 +41,9 @@ proc new*(_: type JsonRpcProvider, url=defaultUrl): JsonRpcProvider = proc send*(provider: JsonRpcProvider, call: string, - arguments = %(@[])): Future[JsonNode] {.async.} = + arguments: seq[JsonNode] = @[]): Future[JsonNode] {.async.} = let client = await provider.client - return await client.call(call, arguments) + return await client.call(call, %arguments) proc listAccounts*(provider: JsonRpcProvider): Future[seq[Address]] {.async.} = let client = await provider.client diff --git a/testmodule/testContracts.nim b/testmodule/testContracts.nim index 144be6f..bb655ec 100644 --- a/testmodule/testContracts.nim +++ b/testmodule/testContracts.nim @@ -1,3 +1,4 @@ +import std/json import pkg/asynctest import pkg/stint import pkg/ethers @@ -15,12 +16,17 @@ suite "Contracts": var token: TestToken var provider: JsonRpcProvider + var snapshot: JsonNode setup: provider = JsonRpcProvider.new() + snapshot = await provider.send("evm_snapshot") let deployment = readDeployment() token = TestToken.new(!deployment.address(TestToken), provider) + teardown: + discard await provider.send("evm_revert", @[snapshot]) + test "can call view methods": let accounts = await provider.listAccounts() check (await token.totalSupply()) == 0.u256