Commit Graph

17 Commits

Author SHA1 Message Date
Matthias Seitz 862d923f2a
fix(etherscan): support null result (#2249) 2023-03-13 12:43:17 -07:00
Matthias Seitz 64f2ca696f
chore: add etherscan page not found error (#2126) 2023-02-10 11:51:13 -08:00
Matthias Seitz 56cc3e674a
chore(etherscan): add cloudflare captcha error (#2116) 2023-02-05 17:32:55 -08:00
Matthias Seitz fa55ee8c3f
chore: add cloudflare test case (#1721) 2022-09-19 10:51:24 -07:00
Matthias Seitz 63f1742357
feat(etherscan): add blocked by cloudflare error (#1703) 2022-09-15 12:44:52 -07:00
Matthias Seitz 1af17deeb5
feat(etherscan): add invalid api key error type (#1600) 2022-08-15 10:30:30 -07:00
Matthias Seitz 89bc6420bb
test: replace ganache with anvil (#1286)
* ci: install anvil

* test: use anvil instead of ganache

* ci: fix anvil ver

* ci: re-enable example tests

* test: remove unnecessary assertions

* test: enable anvil launch test

* docs: typo

* test: fix anvil chain id

* ci: install ganache

Ganache is needed for the Ganache tests

* chore: remove legacy feature from some examples

* ci: correctly build examples

* test: use correct account balance for anvil

* chore: remove sub_id == 1 check

this was only possible in ganache because it gives serial
sub ids, but in every other reasonable client the ids are generated
randomly, so we cannot test for its value

* test: ensure txs are different

There is a bug in Ganache's mempool which accepts duplicate transactions (here with the same nonce), whereas here we pre-set all the nonces so that they end up having a different transaction hash.

* test: ignore ganache tests

* fix: terzor api changes

* ci(examples): install Anvil, remove geth/ganache

* test(provider): Anvil instead of Geth

some tests start to fail now

* fix: revert usage of Anvil in ipc tests

Anvil does not support IPC yet

* fix: update examples script

* ci: use anvil for wasm example

* replace last ganache usage

Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me>
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-06-01 08:22:39 -07:00
Roman Krasiuk dc199f3b75
feat(etherscan): lookup solc build metadata (#1242)
* lookup solc version build meta

* accept Version as an arg

* add docs

* remove redundant lifetime

* rm regex
2022-05-09 10:44:32 -07:00
Matthias Seitz 281913b187
feat(etherscan): add ClientBuilder type (#1193)
* style: clean up order

* feat(etherscan): add client builder

* fix: set correct field
2022-04-29 04:25:52 -07:00
Bjerg c436d19a9c
feat(etherscan): add caching (#1108)
* feat(etherscan): add caching

* feat: write to cache if not exists

* fix: flush `BufWriter`

* fix: fix serialization

* fix: read cache without truncating the file

* chore: remove comments

* feat: rate limit errors

* test: fix tests

* test: fix tests

* fix: don't fail if cache doesn't exist

* fix: catch all rate limits

* feat: add ttl

* feat: also cache when contracts are not verified

* chore: clippy

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-04-05 19:01:44 -07:00
Dan Cline 842f4d260f
feat(core): add dev as a chain (#1093)
adds a new error message to etherscan if the user tries to create an
etherscan client with a 1337/ganache/dev chain
2022-03-30 11:20:23 -07:00
Curtis Spencer 96dd34287e
feat(etherscan): source tree support (#990)
* Create a source tree of paths and their respective contents from the
ContractMetadata.

This is useful for file level analysis or writing the resulting files to disk.

* Test writing to disk via cargo test
* Test etherscan by uncommenting the ignore on
can_fetch_contract_source_tree_for_multi_entry_contract
and can_fetch_contract_source_tree_for_singleton_contract
2022-03-06 07:21:19 -08:00
Tomas Tauber e7befcaaa0
feat(etherscan): account endpoints (#939)
* feat(etherscan): account endpoints

* a more restricted normal transaction response

* doc fix

* extended restricted types to other functions
2022-02-26 16:35:43 +02:00
Matthias Seitz f1eaee52ef
feat: add contract code not verified check (#962) 2022-02-24 14:07:34 +02:00
Alexey Shekhirin dd2c589102
feat(etherscan, middleware): implement gas endpoints and use in oracle middleware (#621)
* feat(etherscan, middleware): implement gas-related endpoints and use them in gas oracle

* cleanup deps

* better comment

* revertme: add debug print

* Revert "revertme: add debug print"

This reverts commit 63993642c4.

* make etherscan tests serial

* run each etherscan test at least 200ms

* 200ms -> 250ms

* Revert "200ms -> 250ms"

This reverts commit 29c7f6ed9a.

* add separate etherscan key for celo tests

* 200ms -> 250ms

* add Chain::Sepolia to match
2021-11-27 09:54:20 +02:00
Alexey Shekhirin cba1a85483
refactor(core, contract, etherscan): move Chain enum, use HashMap::from (#524)
* refactor(contract, etherscan): make use of HashMap::from

* feat(core): Chain enum

* rename unknown chain error

* reorg imports
2021-10-24 21:41:50 +03:00
Alexey Shekhirin 071a41605b
feat(etherscan): transaction endpoints (#512)
* feat(etherscan): transaction endpoints

* bump ethers-etherscan version to 0.1.1

* feat: replace anyhow::Result with thiserror strong types

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2021-10-17 13:01:20 +03:00