Georgios Konstantopoulos
16b9de5134
fix(abigen): add serde json to created crate
2022-02-18 00:17:22 +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
Jim
e3f0621d43
Expose New `call_raw` API that permits MultiCalls without Detokenization ( #915 )
...
* Add `call_raw` method that forgoes detokenization for MultiCall. Have `call` wrap around `call_raw` permitting user to handle detokenization themselves if they wish
* Improve documentation: Add details to the documentation example that informs the user of their responsibility to detokenize results
2022-02-15 22:38:01 +02:00
Mark Tyneway
100f121202
feat(ethers-contract): add `send_with_receipt` to `Deployer` ( #865 )
...
* feat(ethers-contract): add `send_with_receipt` to `Deployer`
The `Deployer` is used to deploy contracts and its `send`
function returns an attached instance of a `Contract`.
There is no way to know the transaction hash of the
deployment transaction, so this commit adds another
method `send_with_receipt` that returns an attached
`Contract` as well as a `TransactionReceipt`.
* changelog: update
* tests: call `send_with_receipt` in tests
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-05 16:37:09 +02:00
Matthias Seitz
b295d73c4a
refactor(solc): rewrite compiler passes and cache change detection ( #802 )
...
* chore: clippy
* refactor: rewrite compiler passes and cache
* feat: more work on compile pipeline
* feat: add cache constructor
* add artifact filtering
* fine tune api
* feat: prepare version integration
* docs: more docs
* feat: add cacheentry2
* replace cacheentry types
* integrate new api
* docs: more docs
* feat: implement new output handler
* feat: integrate cached files in new compile pipeline
* refactor: more cache refactor
* docs: more docs
* feat: add source name mapping
* feat: implement new parallel solc
* refactor: do a little cleanup
* refactor: even more cleanup
* even more cleanup
* chore: make it compile
* chore: make it compile with all features
* chore: clippy fix
* feat: integrate new compiler pipeline
* docs: more docs
* refactor: move stuff around
* refactor: start deprecating output type
* chore: make it compile again
* chore(deps): bump solc version 0.2.0
* feat: unify output types
* cargo fix
* refactor: add contracts wrapper
* chore: replace ProjectCompileOutput
* docs: add more docs
* feat: add offline mode
* feat: more artifact helpers
* chore: cleanup cache
* chore: streamline types
* fix: better artifacts mapping
* chore: some cleanup
* chore: change artifact
* chore: add configure solc fn
* feat: add artifact reading
* feat: implement retain and extend
* feat: add cache extending
* feat: write to disk
* chore: make clippy happy
* feat: implement path mapping
* chore: nits
* feat: introduce states
* feat: add compiler state machine
* chore: move cache types to cache mod
* chore: make clippy happy
* feat: add debug derives
* fix: use resolved import source unit names
* fix: failing tests
* test: test multiple libs properly
* chore: make clippy happy
* chore: update CHANGELOG
* fix: doc tests
* fix: set offline mode correctly
* chore: make it compile again
* Update ethers-solc/src/artifacts.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* feat: find remappings by default
* typos
* add eth_syncing RPC (#848 )
* add eth_syncing RPC
* Changelo updated
* small comments
* Intermediate SyncingStatus
* fix(core): adjust Ganache for new cli output (#851 )
* fix: review comments
* fix: cache relative path bug
* chore: add cache example
* chore: use absolute paths
* fix: remove overwritten files from cache
* fix: rustfmt
* chore: more helper functions
* chore: export AggregatedOutput
* feat: implement helper functions
* feat: even more helpers
* fix: failing doc tests
* refactor: remove source name map tracking
* fix: determine artifacts in ephemeral mode
* refactor: allowed paths should not fail
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
Co-authored-by: rakita <rakita@users.noreply.github.com>
Co-authored-by: wolflo <33909953+wolflo@users.noreply.github.com>
2022-02-04 18:20:24 +02:00
James Prestwich
7e4e8e200a
refactor: replace anyhow with eyre ( #858 )
...
* refactor: replace anyhow with eyre
* chore: update changelog
* refactor: simplify bail logic for duplicate method signatures
* refactor: simplify bail logic throughout
* refactor: use eyre::ensure
* refactor: more idiomatic use of eyre
2022-02-02 22:44:53 +02:00
James Prestwich
5f68bf52d2
refactor: MultiAbigen rework ( #852 )
...
* refactor: MultiAbigen rework
* docs: update ensure family docs
* feature: FromIterator for MultiAbigen
* refactor: cleaner instantiation of Abigen from files
* docs: update examples to use build step
* chore: add 854 to changelog
* lint: clippy
* Update ethers-contract/ethers-contract-abigen/src/lib.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-02 15:57:31 +02:00
Matthias Seitz
8c07861b09
feat(codec): impl codec for Bytes ( #856 )
2022-02-02 13:57:39 +02:00
Rohit Narurkar
af94479d81
fix: derive serde Ser and De for log metadata ( #823 )
2022-01-21 14:30:57 +02:00
Eugene
cbfbd6052c
Implement trace_callMany ( #792 )
...
* Implement trace_callMany
* cargo fix and ignore flaky test for now
* Update ethers-providers/src/provider.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-01-15 12:41:43 +02:00
Matthias Seitz
d4f8984f59
chore(deps): bump ethabi master ( #787 )
2022-01-13 02:58:11 +02:00
thasarito
8e0eddbb57
feat: change abi_str to abi from contract in for hardhat abi ( #740 )
2022-01-08 11:17:36 +02:00
Matthias Seitz
2a98b34195
feat(abigen): search json recursively ( #733 )
2021-12-25 06:51:44 +02:00
thasarito
183c0d21c4
reexport multiabigen ( #731 )
2021-12-24 16:34:18 +02:00
Matthias Seitz
11406ee8d4
feat: add EventStream::select to combine multiple event streams ( #725 )
...
* feat: add EventStream::select to combine multiple event streams
* chore: update changelog
2021-12-23 21:23:55 +02:00
Matthias Seitz
c7cf5bedbd
feat(abigen): add MultiAbigen to generate multiple contract bindings ( #724 )
...
* feat(abigen): add MultiAbigen to generate multiple contract bindings
* docs: more docs
* chore: update changelog
* rustmft
* chore: add json extension check
2021-12-23 16:38:07 +02:00
Matthias Seitz
1f4ecc6e75
feat(abigen): add provided derives for call and event enums ( #721 )
...
* feat(abigen): add provided derives for call and event enums
* chore: update CHANGELOG
2021-12-20 23:24:21 +02:00
Georgios Konstantopoulos
be468bcf32
fix(abigen): use lib for parsing paths correctly in windows
2021-12-19 22:06:38 +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
3c164bc9bf
feat(abigen): add EthAbiCodec proc macro ( #704 )
...
* feat(abigen): add EthAbiCodec proc macro
* rustfmt
* fix: tuple codec
2021-12-19 16:40:17 +02:00
Matthias Seitz
e24117a1e1
chore(clippy): make clippy happy ( #705 )
2021-12-19 06:28:38 +02:00
joshieDo
cf53924334
add deploy_tokens to ContractFactory ( #699 )
2021-12-17 00:01:00 +02:00
Alex Xiong
6cbdc89187
fix: avoid futures-util yanked err ( #693 )
2021-12-15 03:32:36 +01:00
Matthias Seitz
0769174b40
chore: allow unused http_get ( #674 )
...
* chore: allow unused http_get
* Update ethers-contract/ethers-contract-abigen/src/util.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* chore: update cfgs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2021-12-11 02:37:18 -07:00
Ivan Porto Carrero
a8b0885c25
add support for polygonscan and snowtrace for abigen ( #666 )
2021-12-10 09:05:45 -07: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
0b1f3b1dcf
feat(solc): add support for library linking ( #656 )
...
* feat(solc): add support for library linking
* chore: update changelog
* fixbreaking compactref api
* rm check
* return Bytes instead
* revert changes
* simplify resolve
* test: add lost tests
2021-12-08 02:38:29 +02:00
Matthias Seitz
279a2c316c
feat(abigen): support overloaded functions with different casing ( #650 )
...
* fix: support overloaded functions with different casing
* chore: fmt
* chore: typos
* feat: better method alias handling
2021-12-05 12:36:49 -08:00
Matthias Seitz
2a3fcbbb40
feat(abigen): use AbiType when parsing Function abi signature fails at compile time ( #647 )
...
* refactor: improved from token impl
* feat: add AbiType support
* feat: no need for expect
* feat: add missing abiarraytype impl
* test: add struct derive test
* chore: rustfmt
* chore: update changelog
* chore: rustfmt
2021-12-04 06:19:00 +02:00
Matthias Seitz
5dfc1bd171
fix: source parsing for local paths ( #633 )
2021-11-29 19:02:11 +02:00
Matthias Seitz
e15252dd8f
fix: conditional http support ( #632 )
...
* fix: conditional http support
* chore: update changelog
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2021-11-29 16:31:39 +02:00
Matthias Seitz
f6e803b4eb
fix: use CARGO_MANIFEST_DIR as root for relative paths in abigen! ( #631 )
...
* feat: resolve env vars in abigen paths
* docs: add env interpolation note
* chore: docs
2021-11-29 15:37:11 +02:00
Matthias Seitz
9b6cc37ca0
fix: method deduplication ( #619 )
...
* fix: method deduplication
* fix: handle name conflicts in parameters
* fix: order of numerated aliases
2021-11-27 14:31:36 +02:00
Matthias Seitz
2c30468b70
fix(codec)!: ambiguity unit8[] and bytes ( #613 )
...
* fix: unit8 encoding
* feat: use ethers::types::Bytes for solidity bytes type
* feat: add const generic from impls
* fix: failing tests
* fix: make compatible with bytes
* update changelog
* make compatible with encoding changes
* chore rm write to file
2021-11-24 22:15:17 +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
dependabot[bot]
fb42f043a2
chore(deps): bump futures-util from 0.3.17 to 0.3.18 ( #609 )
...
Bumps [futures-util](https://github.com/rust-lang/futures-rs ) from 0.3.17 to 0.3.18.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.17...0.3.18 )
---
updated-dependencies:
- dependency-name: futures-util
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-11-23 13:23:53 +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
univerz
a68f4ec9a7
perf(contract): remove clone ( #602 )
2021-11-21 18:12:49 +02:00
Matthias Seitz
d53ca0ea56
feat: make reqwest optional but enabled by default ( #580 )
...
* feat: make reqwest optional but enabled by default
* update changelog
2021-11-14 14:27:05 +02:00
Sebastian Martinez
e72636210c
Refactor crate determination in new ethers-macro crate ( #555 )
...
* fix: compute ethers-core path in derive eip712
Co-authored-by: Ryan <ryan.tate@fieldresponder.io>
* refactor: move crate determination to ethers-macro
* docs: update fmt command
* fix: change cargo_metadata dep to optional
Co-authored-by: Ryan <ryan.tate@fieldresponder.io>
2021-11-05 15:00:01 +02:00
Francesco Iannelli
bd3a704200
Feat/add call deployer ( #554 )
...
* contract: add .call() method to Deployer
It is now possible to dry run a contract deployment.
* add .call() method of Deployer to unreleased
* add PR to changelog
2021-11-04 15:02:05 +02:00
David Tolnay
325b752144
Fix missing fmt argument in error message ( #552 )
...
* Clean up strange non-multiple-of-4 indentation in Source::with_root
* Fix missing fmt argument in error message
* Add changelog entry for PR 552
2021-11-03 10:03:42 +02:00
Matthias Seitz
a07838eaf5
fix: preserve underscores in case of collisions ( #548 )
...
* fix: overloaded with same type arguments
* fix: numerate overloaded functions
* docs: add note
* chore: update changelog
* style: rename vars
* fix: draft underscore fix
* fix: underscore aliases
2021-11-01 01:06:31 +02:00
Georgios Konstantopoulos
f0dea75219
feat: use ethers_solc::Solc instead of ethers_core::utils::Solc ( #546 )
...
* feat(ethers-solc): deserialize bytecode as bytes
* feat(ethers-solc): add method to fetch compact contract
* feat(ethers-solc): use Abi type instead of Vec<serde_json::Value>
* test(contract): use new Solc bindings
* test(middleware): use new Solc bindings
* chore: remove solc from ethers-core
* chore: remove concurrent setup code from ethers-core
* feat(ethers-solc): add ArtifactOutput::Nothing as a no-op artifact logger
* feat: add ethers-solc to top level crate
* examples: use new solc building pattern
* chore(solc): re-use opt str impl for error code decoding
* fix abigen example
* chore: fix doctests
* chore: remove setup feature
* fix: decode string to bytes correctly
* chore: clippy lints
2021-10-31 13:34:51 +02:00
Matthias Seitz
4123823383
feat: enumerate overloaded functions if they are nameless ( #545 )
...
* fix: overloaded with same type arguments
* fix: numerate overloaded functions
* docs: add note
* chore: update changelog
* style: rename vars
2021-10-31 13:24:02 +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
Matthias Seitz
eede86df41
feat: add abi code trait impls ( #531 )
...
* feat: use const generics for array tokenize
* feat: add abi encode decode impls
* test: add some tests
* chore: move abi codec to core
* update changelog
2021-10-28 01:07:24 +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
Matthias Seitz
5779a3cdaf
feat: add ethabitype support for solidity style enums ( #526 )
...
* feat: tokenize solidity like enums
* test: add enum test
* rustfmt
2021-10-24 20:58:41 +03:00
Matthias Seitz
b072b05515
fix: use debug fmt for nested arrays ( #527 )
2021-10-24 17:02:06 +03:00