Commit Graph

95 Commits

Author SHA1 Message Date
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 c7765e1721
feat(etherscan): add moonbeam urls (#1232) 2022-05-06 11:34:09 -07:00
Matthias Seitz ce3ebaefa0
chore(clippy): make clippy happy (#1230) 2022-05-06 08:15:49 -07:00
Matthias Seitz b34c034bc4
chore(etherscan): update VerifyArgs (#1212) 2022-05-03 16:40:41 -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
Matthias Seitz 2b2ec1101a
fix: proper fantom api urls (#1170)
* fix: proper fantom api urls

* Update ethers-etherscan/Cargo.toml

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>

* chore: remove dbg

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-04-23 01:42:12 -07:00
James Prestwich 9206efa46c
fixes: correct etherscan url address, remove double quotes in solc error (#1130) 2022-04-10 09:04:43 -07:00
pyk 247f08f1a9
feat(solc): Add standard-json-input (#1126)
* Add standard-json-input

* remove debugging

* Update the error message

* Remove unnecessary changes

* Refactor

* make clippy happy

* Return CompilerInput instead of String
2022-04-08 17:18:39 -07:00
Bjerg 8f9832d1a6
fix: correctly check cache expiry (#1114) 2022-04-05 23:42:40 -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
abigger87 33f5b7c5fa
fix(ethers-etherscan): Broken Etherscan URL Construction (#1100)
* 👷 fix etherscan url stringification

* 🎨 fmt
2022-03-31 16:42:31 -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 3c0d8c36dd
chore(source_tree): add .sol extension when missing (#1077)
Just ensure that any paths with no extension default to a .sol

Tests: cargo test --lib ethers-etherscan -- source_tree
2022-03-24 10:04:46 -07:00
Curtis Spencer a0d7995f94
chore(etherscan): Return error for unverified contracts (#1065)
Given contract source code is not useful in the case of unverified contracts
have the contract_source_code method return an error in the case if the item.abi
has the "Contract source code not verified" string.

Uncomment unit test ignore and run test:
> cargo test --lib ethers-etherscan -- get_error
2022-03-19 11:32:19 -07:00
Matthias Seitz 916e9a7334
chore(clippy): add some deny lints (#1064)
* feat: add deny lints

* trim ethers core

* trim ethers eip712

* deny ethers contract derive

* deny ethers contract abigen

* deny ethers contract

* deny ethers providers

* chore: add denies and fix unused deps

* doc: fix links

* fix: wasm build

* doc: fix links

* doc: fix links

* doc: fix inline doc links

* docs: fix intra doc links
2022-03-19 10:05:39 -07:00
Matthias Seitz 3d4feccabf
fix(core): check against ethers internal crate names (#1060)
* fix(core): check against ethers internal crate names

* fix: add import back
2022-03-17 15:14:53 -07:00
Matthias Seitz 20a01a260d
fix(solc/etherscan): trim constructor args (#1024) 2022-03-14 13:28:19 +02: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
Tomas Tauber d5a1570fa2
feat(chain): add Cronos and Cronos testnet (#926) 2022-02-18 16:04:11 +02:00
Matthias Seitz 19d2fd1155
feat(solc): add configurable Artifact type (#907)
* refactor: make artifacts a sub mod

* feat: more options for output selection

* feat(solc): make ArtifactOutput struct functions

* fix: migrate all features

* feat: add configurable artifacts type

* refactor: move configurable to separate file

* feat: impl ArtifactOutput

* refactor: write extras

* simplify write extra

* feat: more helper functions

* feat: implement delegate

* fix: failing doc test

* fix: rustfmt

* chore: update CHANGELOG

* feat: add helper functions

* refactor: remove flatten

* feat: add link function

* feat: replace default type

* fix: doc tests

* feat: more utility functions

* fix: failing tests

* chore: rename types

* chore: bump ethers-solc 0.3.0

* fix: set metadata file extension properly
2022-02-17 17:31:35 +02:00
Roman Krasiuk 78161f07e7
revert constructor arg change (#916) 2022-02-16 11:29:19 +02:00
Roman Krasiuk a8cdfe60e9
fix(etherscan): url params naming (#911)
* fix url params naming

* rm log & fail
2022-02-14 12:07:44 +02:00
Meet Mangukiya 1f0eb725a7
feat(ethers-core/Chain): make to_string and from_str inverse functions (#903) 2022-02-12 17:41:18 +02:00
0xTomoyo 75fbec0706
feat(chain): add arbitrum support (#869)
* feat: add arbitrum chainid & block explorer

* chore: update changelog

* feat: add arbitrum to is_legacy

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-05 16:36:21 +02:00
Roman Krasiuk d39c02474d
flatten before verification (#828) 2022-02-04 10:08:52 +02:00
Georgios Konstantopoulos 0c949f65bb chore: lints 2022-01-29 21:19:49 +02:00
Georgios Konstantopoulos 415903b1fb chore: fmt 2022-01-28 09:06:35 +02:00
Options Eskimo f434e0f57f
feat(chain): add BSC and BSC testnet (#831)
* feat(chain): add BSC and BSC testnet

* docs(changelog): add note about new BSC known chains
2022-01-27 16:50:11 +02:00
Meet Mangukiya 91ff71ec62
Fantom chain (#806)
* feat(core): add fantom and fantom-testnet chains

* feat(etherscan): add fantom chains support

* chore: lint
2022-01-18 13:00:27 +02:00
Georgios Konstantopoulos 83e6588704 chore: cargo fmt 2021-12-26 22:56:00 +02:00
bayu ✦ 3f095f415f
[draft] Add Optimism & OptimismKovan chains (#737)
* core: Add Optimism & OptimismKovan chains

* etherscan: Add ETHERSCAN_API_KEY to optimism network
2021-12-25 18:19:50 +02:00
Matthias Seitz e24117a1e1
chore(clippy): make clippy happy (#705) 2021-12-19 06:28:38 +02:00
Matthias Seitz 59cf991828
feat(abigen): use structs for outputs (#664)
* feat(abigen): use structs for outputs

* update CHANGELOG

* make clippy happy

* fix lints
2021-12-09 16:00:59 -07:00
Matthias Seitz 7da5b64cfd
feat: add moonbeam support (#644)
* feat: add moonbeam support

* typos
2021-12-03 10:05:38 -08:00
Georgios Konstantopoulos 24f9bd0f4f
chore: makes etherscan::Result pub(crate) (#638) 2021-12-02 02:54:16 +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
Ivan Porto Carrero 1d65c9394f
add support for polygon and avalanche (#606)
* add support for polygon and avalanche, include the block explorers

* add multicall addresses for polygon
2021-11-22 11:02:28 +02:00
Matthias Seitz dcf20022c6
chore: add rustfmt.toml (#537)
* chore: add rustfmt.toml

* rustfmt

* chore: Update readme with fmt info

* ci: update ci

* chore: rustfmt

* rustfmt

* rustfmt

* ci: install libudev

* chore(clippy): make clippy happy

* chore(clippy): make clippy happy

* revert ci

* ci: install libudev
2021-10-29 14:29:35 +02:00
Georgios Konstantopoulos c3dec4a798 chore(etherscan): expose modules 2021-10-25 15:40:29 +03: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
Matthias Seitz 6216b2e4a2
chore: remove unused && cargo fix (#496)
* chore: rm allows

* chore: cargo fix
2021-10-10 09:31:34 +01:00
Matthias Seitz 7d5ea2c1e3
feat: add etherscan client crate (#486)
* feat: add etherscan client crate

* fix: return response

* chore: rename evm version
2021-10-04 20:05:11 +01:00