diff --git a/ethers/provider.nim b/ethers/provider.nim index dbad828..0a983c7 100644 --- a/ethers/provider.nim +++ b/ethers/provider.nim @@ -1,3 +1,4 @@ +import std/json import pkg/chronicles import ./basics import ./transaction @@ -102,7 +103,7 @@ method getBlock*(provider: Provider, tag: BlockTag): Future[?Block] {.base, gcsa doAssert false, "not implemented" method call*(provider: Provider, - tx: PastTransaction, + tx: JsonNode, blockTag = BlockTag.latest): Future[seq[byte]] {.base, gcsafe.} = doAssert false, "not implemented" diff --git a/ethers/providers/jsonrpc.nim b/ethers/providers/jsonrpc.nim index eaa59ab..7068c1e 100644 --- a/ethers/providers/jsonrpc.nim +++ b/ethers/providers/jsonrpc.nim @@ -139,14 +139,14 @@ method getBlock*(provider: JsonRpcProvider, return await client.eth_getBlockByNumber(tag, false) method call*(provider: JsonRpcProvider, - tx: Transaction, + tx: JsonNode, blockTag = BlockTag.latest): Future[seq[byte]] {.async.} = convertError: let client = await provider.client return await client.eth_call(tx, blockTag) method call*(provider: JsonRpcProvider, - tx: PastTransaction, + tx: Transaction, blockTag = BlockTag.latest): Future[seq[byte]] {.async.} = convertError: let client = await provider.client diff --git a/ethers/providers/jsonrpc/signatures.nim b/ethers/providers/jsonrpc/signatures.nim index 916060a..688b632 100644 --- a/ethers/providers/jsonrpc/signatures.nim +++ b/ethers/providers/jsonrpc/signatures.nim @@ -3,6 +3,7 @@ proc eth_accounts: seq[Address] proc eth_blockNumber: UInt256 proc eth_call(transaction: Transaction, blockTag: BlockTag): seq[byte] proc eth_call(transaction: PastTransaction, blockTag: BlockTag): seq[byte] +proc eth_call(transaction: JsonNode, blockTag: BlockTag): seq[byte] proc eth_gasPrice(): UInt256 proc eth_getBlockByNumber(blockTag: BlockTag, includeTransactions: bool): ?Block proc eth_getLogs(filter: EventFilter | Filter | FilterByBlockHash): JsonNode