33 Commits

Author SHA1 Message Date
Eric
a070b0a8e6
clean up 2023-10-25 10:51:57 +11:00
Eric
0d0a872ca0
Allow block to be passed with eth_estimageGas 2023-10-25 10:51:57 +11:00
Eric
68f07e96fc
Add eth_call, allowing JsonNode to be passed directly to the RPC server 2023-10-25 10:51:57 +11:00
Eric
11ff6cd98b
Add TransactionType
Add transactionType and chainId to PastTransaction, so they can be sent along with replayed txs
2023-10-25 10:51:57 +11:00
Eric
24f1f86dc9
Update retreival of revert reason to send a populated transaction, add working test 2023-10-25 10:51:57 +11:00
Eric
a6aeb7ec49
add serialization for PastTransaction 2023-10-25 10:51:57 +11:00
Eric
35f80e78fe
Add PastTransaction with serialization and tests, clean up revertReason fetching 2023-10-25 10:51:57 +11:00
Eric
f52ce98c6d
Revert Transaction.data being optional, add better deserialization for Transaction object 2023-10-25 10:51:57 +11:00
Eric
458e969397
Make Transaction.data optional
eth_getTransactionByHash responses from geth don't include data, and there was an exception raised, "key not found: data"
2023-10-25 10:51:56 +11:00
Eric
7cba9bd9be
prevent newHeads logs with no "data" field from killing sales state machine 2023-10-25 10:51:56 +11:00
Eric
a4fd152c8c
Add replay for failed txs to get revert reason 2023-10-25 10:51:56 +11:00
Eric
12d7a35203
Query past contract events (#51)
Based on ethers.js's queryFilter, allows querying of past contract events, by querying the logs for a contract's event topic.

* queryFilter to query past logs
* Allow querying of past block log events
* Can query by block number or block hash
2023-07-20 15:51:28 +10:00
Mark Spanbroek
cb95cbc15a Make BlockHandler callback synchronous (breaking change)
Refactored the confirm() implementation to work
with a synchronous callback
2023-07-04 12:58:48 +02:00
Mark Spanbroek
82f6449374 Move JsonRpcSubscription type to jsonrpc module
Allows it to insert convertError to ensure that
any errors are re-raised as JsonRpcProviderError
2023-07-03 13:09:09 +02:00
Mark Spanbroek
738c6a87e2 Stop polling when provider is closed 2023-07-03 13:09:09 +02:00
Mark Spanbroek
a27c2de41c Close provider by unsubscribing and closing client 2023-07-03 13:09:09 +02:00
Mark Spanbroek
2481bda6e4 Subscribe to logs with polling 2023-07-03 13:09:09 +02:00
Mark Spanbroek
0aea16047c Ignore errors when retrieving block by hash 2023-07-03 13:09:09 +02:00
Mark Spanbroek
0322ae1451 Ignore errors while polling 2023-07-03 13:09:09 +02:00
Mark Spanbroek
50cfd9d9dd untilCancelled template 2023-07-03 13:09:09 +02:00
Mark Spanbroek
3a76fa74f1 Make polling interval configurable 2023-07-03 13:09:09 +02:00
Mark Spanbroek
6a034870f8 Polling block subscriptions for non-websocket connections 2023-07-03 13:09:09 +02:00
Mark Spanbroek
127c9c9b0d Formatting 2023-07-03 13:09:09 +02:00
Mark Spanbroek
a7dc0ac9eb Move subscription handling to its own module 2023-07-03 13:09:09 +02:00
Jackie
b72fbb0ed9 small fixes 2022-08-08 12:40:36 +02:00
Jackie
2c9eb595d2 Add sendRawTransaction 2022-08-08 12:40:36 +02:00
Mark Spanbroek
16a3d25419 Remove duplication 2022-08-08 12:26:09 +02:00
Jackie
52f57894f5 Fix block subscription 2022-08-08 12:26:09 +02:00
Eric Mastro
2f97a03fe2 feat: Can wait for transaction confirmations
Allows specified number of transaction confirmations to be awaited before a transaction is considered finalised. Polls for a transaction receipt then listens for new blocks and calculates the number of blocks between the receipt and the new block.

Notes
1. Only works with websockets currently
2. Replaced transaction not supported yet
2022-05-23 11:27:26 +10:00
Mark Spanbroek
bbf133725f Subscribe to new blocks 2022-05-17 09:08:02 +02:00
Michael Bradley, Jr
073924d3f5 supply block parameter to eth_call, default being BlockTag.latest 2022-04-11 09:56:49 +02:00
Mark Spanbroek
ce435f8791 Add Provider.getBlock()
Only returns hash, number and timestamp for now.
2022-03-16 14:20:00 +01:00
Mark Spanbroek
3e507af8cc Move JSON RPC related modules into providers/jsonrpc 2022-02-09 14:50:51 +01:00