212 Commits

Author SHA1 Message Date
Eric
21de34ced9
Remove auto-cancellation of failed tx, change revert reason level
- remove auto cancellation of failed tx (during estimate gas)
- add asynclock to populate transaction, to ensure nonce sequence (signer level)
- move checking of receipt status and obtaining revert reason from contract level to provider level
2023-10-25 10:51:57 +11:00
Eric
06dc6c4d65
clean up 2023-10-25 10:51:57 +11:00
Eric
512b29bf72
remove nonce in error, clean up testing 2023-10-25 10:51:57 +11:00
Eric
74ea3fbb99
fix build error
somehow this didn't break the nim-ethers tests?
2023-10-25 10:51:57 +11:00
Eric
3a2165dd3d
add toTransaction test, more debugging 2023-10-25 10:51:57 +11:00
Eric
259414c639
add TransactionType back to toTransaction 2023-10-25 10:51:57 +11:00
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
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
28125532e1
clean up 2023-10-25 10:51:31 +11:00
Eric
e03cd484b6
clean up 2023-10-25 10:51:31 +11:00
Eric
e80cc11c48
temp fix until revert reason fetching comes in 2023-10-25 10:51:31 +11:00
Eric
90022eeab6
clean up from rebase 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
8fff63102a version 0.7.0 0.7.0 2023-09-13 13:54:41 +02: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
43041e7948 Small fix in Readme 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
2ec0313dd3 version 0.6.0
updated contractabi brings in breaking change in nimcrypto
0.6.0
2023-08-29 12:25:39 +02:00
Mark Spanbroek
9327294044 update contractabi to 0.6.0 2023-08-29 12:25:39 +02:00
Mark Spanbroek
2b6f7b7a0d Fixes for Nim 2.0.0 2023-08-29 12:25:39 +02:00
Mark Spanbroek
99c225caa1 Update latest nim 1.6.x in CI 2023-08-29 12:25:39 +02:00
Eric
9f4f762e21
version 0.5.0
Breaking change:
`Filter` has been changed to `EventFilter` to be inline with ethers.js. `Filter` is used for creating subscriptions in `nim-ethers`. All previously-created instances of `Filter` in your consuming application code should be changed to `EventFilter`.
0.5.0
2023-07-24 15:54:18 +10: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
c49311fca2 version 0.4.0 0.4.0 2023-07-05 15:09:31 +02:00
Mark Spanbroek
5f820fc971 Cleanup 2023-07-05 15:08:35 +02:00