Georgios Konstantopoulos
9626cc1335
feat: add contract interface helpers ( #982 )
...
* feat(contract): add helpers for decoding as raw Token
This allows decoding Events and Function data without knowing the return type
* feat(contract): add helpers for decoding function outputs
* chore(contract): remove redundant generic param
2022-03-02 15:58:18 +02:00
Georgios Konstantopoulos
94e2d1b122
feat(abigen): add helper for getting number of abigen'd contracts
2022-03-01 14:44:34 +02:00
Matthias Seitz
960b873b00
fix(abigen): safe ident underscore followed by numeric ( #970 )
2022-02-28 00:04:43 +02:00
Matthias Seitz
d6d66b37dd
chore: add rate limit message ( #971 )
2022-02-27 17:41:26 +02:00
Matthias Seitz
10fcf60791
fix(abigen): support functions with different casing ( #972 )
2022-02-27 17:40:57 +02:00
Matthias Seitz
b6c22e9bcc
fix(abigen): dont generate empty shared_types module ( #965 )
2022-02-25 00:13:06 +02:00
Matthias Seitz
f5ef8149e5
feat(abigen): support shared type during multiabigen ( #959 )
...
* refactor: move type deduplication to abigen crate
* refactor: separate expansion process
* feat: support shared type during multiabigen
* test: add type deduplication test
* chore: rustfmt
* typos
* chore(clippy): make clippy happy
* chore: add anonymous field
2022-02-24 22:09:08 +02:00
Matthias Seitz
72da5913d2
test(abigen): add etherscan test case ( #964 )
2022-02-24 22:07:58 +02:00
Matthias Seitz
f1eaee52ef
feat: add contract code not verified check ( #962 )
2022-02-24 14:07:34 +02:00
Matthias Seitz
184cffaca3
fix(abigen/solc): make abigen work with ethers-solc and abiencoderv2 ( #952 )
...
* feat(solc): add lossless abi
* fix(abigen): make abigen work with ethers-solc and abiencoderv2
* chore: update CHANGELOG
2022-02-23 12:46:52 +02:00
Matthias Seitz
9876b49e6c
docs(abigen): improve abigen type docs ( #953 )
...
* docs(abigen): improve abigen type docs
* Update ethers-contract/ethers-contract-abigen/src/lib.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-23 12:36:14 +02:00
Matthias Seitz
45a37faa3d
fix(abigen): handle lossy ethabi generated abi structs ( #950 )
...
* fix(abigen): handle lossy ethabi generated abi structs
* chore: rustfmt
2022-02-22 20:26:21 +02:00
georgewhewell
ce8c671218
Add Ftm multicall addresses ( #927 )
...
* add multicall addresses for fantom
* update changelog
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-18 16:05:08 +02:00
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