Eric
3a2165dd3d
add toTransaction test, more debugging
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
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
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
a4fd152c8c
Add replay for failed txs to get revert reason
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
28125532e1
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
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
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
5f820fc971
Cleanup
2023-07-05 15:08:35 +02: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
c89701016a
Fix EIP-155 signatures
2023-07-05 15:07:52 +02:00
Mark Spanbroek
310b06dfe8
Fix warnings
2023-07-04 12:58:48 +02:00
Mark Spanbroek
cd32dffc73
Move JSON conversion tests into their own module
2023-07-04 12:58:48 +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
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
a27c2de41c
Close provider by unsubscribing and closing client
2023-07-03 13:09:09 +02:00
Mark Spanbroek
f8cac08cde
Test that subscription stops after call to unsubscribe()
2023-07-03 13:09:09 +02:00
Mark Spanbroek
738d028fe3
Remove websockets url where not needed for tests
2023-07-03 13:09:09 +02:00
Mark Spanbroek
7e346914c0
Test contracts with polling
2023-07-03 13:09:09 +02:00
Mark Spanbroek
76bd3090d1
Fix intermittently failing test
...
eth_getFilterChanges returns the current block for
new subscriptions, which made the test fail.
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
88d60b14b0
Test JSON-RPC Provider with polling
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
beac903a3f
Remove duplication in tests
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
a7dc0ac9eb
Move subscription handling to its own module
2023-07-03 13:09:09 +02:00
Mark Spanbroek
67c2d631d7
Update asynctest to 0.4.0
2023-07-03 13:09:09 +02:00
Mark Spanbroek
f0ac7065ed
Move tests for JSON RPC provider into their own folder
2023-07-03 13:09:09 +02:00
Eric Mastro
34b7a82565
fix: pending blocks may not contains block hash
...
Pending blocks may not contain a block hash and therefore Block.hash should be optional.
2023-07-03 11:29:09 +02:00
Adam Uhlíř
0321e6d7bd
fix: dont export json conversions of jsonrpc ( #44 )
2023-06-19 14:13:44 +02:00
Adam Uhlíř
18e225607c
fix: eth_call use signers address ( #43 )
2023-06-13 16:24:59 +02:00
Mark Spanbroek
1ca90d0b3c
Allow contract calls to override the block tag
2023-04-19 10:03:50 +02:00
Adam Uhlíř
3c12a65769
feat: erc20 module ( #38 )
...
Co-authored-by: Eric Mastro <github@egonat.me>
2023-03-29 13:41:44 +02:00
Mark Spanbroek
a62ea4fb8f
Ensure that reverts works with functions with a return type
2022-09-21 10:29:31 +02:00