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
Matthias Seitz
d2c46867c1
chore(deps): make tokio required dependency ( #1322 )
...
* chore(deps): make tokio non optional
* chore(deps): bump tokio 0.18
* Update ethers-providers/Cargo.toml
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-05-28 17:54:45 -07:00
rakita
4301447155
relax thiserror minor version constraint ( #1294 )
2022-05-23 11:41:30 -07:00
Tomas Tauber
991d538bd0
feat(etherscan): added Cronos testnet ( #1276 )
2022-05-17 10:57:48 -07:00
Meet Mangukiya
6d5bebd860
Release process and CI ( #1240 )
...
* Fix the crate versions
* release.toml: add cargo-release config
* CONTRIBUTING.md: Update Releasing section
* feat: add release github workflow
* feat: generate CHANGELOGs and create github releases in CI
2022-05-13 13:10:05 -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
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
dependabot[bot]
c44872f62e
chore(deps): bump thiserror from 1.0.30 to 1.0.31 ( #1206 )
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.30 to 1.0.31.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.30...1.0.31 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-02 11:54:22 -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
dependabot[bot]
72e280d2cc
chore(deps): bump reqwest from 0.11.9 to 0.11.10 ( #1031 )
...
Bumps [reqwest](https://github.com/seanmonstar/reqwest ) from 0.11.9 to 0.11.10.
- [Release notes](https://github.com/seanmonstar/reqwest/releases )
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.9...v0.11.10 )
---
updated-dependencies:
- dependency-name: reqwest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-15 02:16: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
dependabot[bot]
5624271354
chore(deps): bump serial_test from 0.5.1 to 0.6.0 ( #938 )
...
Bumps [serial_test](https://github.com/palfrey/serial_test ) from 0.5.1 to 0.6.0.
- [Release notes](https://github.com/palfrey/serial_test/releases )
- [Commits](https://github.com/palfrey/serial_test/compare/v0.5.1...v0.6.0 )
---
updated-dependencies:
- dependency-name: serial_test
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-21 18:01:30 +01: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
Matthias Seitz
b2b891dcf2
fix: bump ethers-solc version ( #864 )
2022-02-04 18:28:10 +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
dependabot[bot]
e3c86231de
chore(deps): bump reqwest from 0.11.8 to 0.11.9 ( #785 )
...
Bumps [reqwest](https://github.com/seanmonstar/reqwest ) from 0.11.8 to 0.11.9.
- [Release notes](https://github.com/seanmonstar/reqwest/releases )
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.8...v0.11.9 )
---
updated-dependencies:
- dependency-name: reqwest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-11 11:18:03 +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
Georgios Konstantopoulos
d7c29cc615
fix: configure rustls & openssl via feature flag ( #703 )
...
* chore(etherscan): allow specifying openssl or rustls
* chore(contract): allow specifying openssl or rustls
* chore(solc): allow specifying openssl or rustls
* chore: expose new rustls/openssl features at top level crate
* chore: bump tokio-tungstenite / remove dup rustls version
* chore: bump svm-rs
* fix: feature gate sha2-asm
* ci: remove --all-features from windows tests
* chore: do not enable sha2-asm by default
* fix: do not pull in svm-rs in wasm builds
* chore: use upstream svm again
2021-12-19 16:56:54 +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
dependabot[bot]
9214bacc03
chore(deps): bump reqwest from 0.11.6 to 0.11.7 ( #636 )
...
Bumps [reqwest](https://github.com/seanmonstar/reqwest ) from 0.11.6 to 0.11.7.
- [Release notes](https://github.com/seanmonstar/reqwest/releases )
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.6...v0.11.7 )
---
updated-dependencies:
- dependency-name: reqwest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-01 04:28:56 -06: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
Georgios Konstantopoulos
bb3a2fd27c
release: 0.6.0 ( #611 )
...
* release(core): 0.6.0
* release(providers): 0.6.0
* release(contract-abigen): 0.6.0
* release(contract-derive): 0.6.0
* release(derive-eip712): 0.2.0
* release(ethers-solc): 0.1.0
* release(contract): 0.6.0
* release(etherscan): 0.2.0
* release(signers): 0.6.0
* release(middleware): 0.6.0
* chore: update dev deps
* refactor(core): move docs to readme
* refactor(contract): move docs to readme
* refactor(providers): move docs to readme
* chore: bump ethers cargo toml
* refactor(signers): move docs to readme
* refactor(middleware): move docs to readme
* fix(ethers): adjust re-exports to allow searching internal packages
* docs: fix broken links
we cannot use relative crate imports because the readmes
are also imported by the parent crate
* alias readmes to be accessible to ethers crate
2021-11-23 21:23:12 +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
dependabot[bot]
1d2ed0d964
chore(deps): bump reqwest from 0.11.5 to 0.11.6 ( #521 )
...
Bumps [reqwest](https://github.com/seanmonstar/reqwest ) from 0.11.5 to 0.11.6.
- [Release notes](https://github.com/seanmonstar/reqwest/releases )
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.5...v0.11.6 )
---
updated-dependencies:
- dependency-name: reqwest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-19 08:23:48 +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
dependabot[bot]
06eb8f223c
chore(deps): bump reqwest from 0.11.4 to 0.11.5 ( #490 )
...
Bumps [reqwest](https://github.com/seanmonstar/reqwest ) from 0.11.4 to 0.11.5.
- [Release notes](https://github.com/seanmonstar/reqwest/releases )
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.4...v0.11.5 )
---
updated-dependencies:
- dependency-name: reqwest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-08 15:15:41 +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