Eric
68f07e96fc
Add eth_call, allowing JsonNode to be passed directly to the RPC server
2023-10-25 10:51:57 +11:00
Eric
c09ac02dab
add gas into and remove type from replayed txs
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
7a0761930b
try replay without decrementing block number
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
affaa2e621
Add test to see if hardhat returns reason string (it doesn't)
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
45959cf608
debug logging
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
c39ce14502
fix tests
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
f3d4d1cb82
add chronicles
2023-10-25 10:51:56 +11:00
Eric
6faab82ca9
debugging: switch echo to trace
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
9536e5e5bf
more debug logging
2023-10-25 10:51:56 +11:00
Eric
e93549dbc2
temp debug info
2023-10-25 10:51:56 +11:00
Eric
7686ef4d1a
include nonce in JsonRpcProviderError
...
This would allow applications to use the nonce in case of an error, eg cancel the transaction to prevent stuck txs from occurring
2023-10-25 10:51:56 +11:00
Eric
9edb3d2fa7
cleanup -- combine ensureNonceSequence into populateTransaction
2023-10-25 10:51:56 +11:00
Eric
e03cd484b6
clean up
2023-10-25 10:51:31 +11:00
Eric
d88158c99a
PR feedback: remove auto-cancellation of failed transactions
...
- remove auto-cancellation of failed transaction (failed during estimate gas) to prevent stuck txs
- replace it with an async lock during nonce sequencing + gas estimation
- simplified cancelTransaction (still exported) such that the new transaction is populated using populateTransaction, so that all gas and fees are reset
- moved reverting contract function into its own testing helpers module, and refactored any tests to use it
- updated the test helper reverts to check EstimateGasErrors
2023-10-25 10:51:31 +11:00
Eric
1862c9eea6
Only cancels transactions if nonce has been incremented since the last estimateGas failure
2023-10-25 10:49:52 +11:00
Eric
9ffc1763e4
cancel transaction after estimateGas failure
2023-10-25 10:46:32 +11:00
Eric
7eac8410af
prevent stuck transactions by async locking nonce sequencing (+ estimate gas) ( #55 )
...
- async lock during nonce sequencing + gas estimation
- simplified cancelTransaction (still exported) such that the new transaction is populated using populateTransaction, so that all gas and fees are reset
- moved reverting contract function into its own testing helpers module, and refactored any tests to use it
- updated the test helper reverts to check EstimateGasErrors
- combine ensureNonceSequence into populateTransaction
2023-10-25 10:42:25 +11:00
Adam Uhlíř
620b402a7d
feat: (de/in)crease allowance ( #56 )
2023-10-16 10:23:58 +02:00
Eric
f0303473f6
Increment nonce count when populating transaction ( #54 )
...
Increment nonce count when populating transaction
Co-authored-by: markspanbroek <mark@spanbroek.net>
2023-09-15 09:54:08 +10:00
Mark Spanbroek
15ed76ebed
Use Result to return error when wallet creation fails
...
Co-authored-by: Eric Mastro <eric.mastro@gmail.com>
2023-09-13 10:11:18 +02:00
Mark Spanbroek
81ec482fca
Wallet: handle invalid key when instantiating new wallet
2023-09-13 10:11:18 +02:00
Mark Spanbroek
2b6f7b7a0d
Fixes for Nim 2.0.0
2023-08-29 12:25:39 +02: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
2b181aa0f7
Allow wallet to be instantiated with a PrivateKey
2023-07-05 15:08:35 +02:00
Mark Spanbroek
5ed3f15706
Return transaction response for ERC20 functions
...
Allows callers to wait for confirmation of the
transaction
2023-07-05 15:08:22 +02:00
Mark Spanbroek
d7b7f67afb
Formatting
2023-07-05 15:08:22 +02:00
Mark Spanbroek
842bf4d0a2
Refactor wallet signing
2023-07-05 15:07:52 +02:00
Mark Spanbroek
f1a1221d14
Move WalletError into its own module
2023-07-05 15:07:52 +02:00
Mark Spanbroek
c89701016a
Fix EIP-155 signatures
2023-07-05 15:07:52 +02:00
Mark Spanbroek
5127991117
Add "value" to Transaction object
2023-07-05 15:07:52 +02:00
Mark Spanbroek
09810e73ff
Move confirm() override into contract module
...
And simplify its test
2023-07-04 12:58:48 +02:00
Mark Spanbroek
4e4a55b13e
Cleanup
2023-07-04 12:58:48 +02: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
1b151d589d
Add polling interval to constructor of provider
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