Commit Graph

538 Commits

Author SHA1 Message Date
Georgios Konstantopoulos d90b03da06
Add streamed logs to the provider (#9)
* feat(provider): implement Streamed logs

This utilizes eth_getFilterChanges. The stream struct must be instantiated with a factory that yields logs/hashes.
Consumers are expected to use the `FilterStream` trait in order to simplify their type definitions

* feat(provider): expose streaming methods

* test(provider): add new blocks/pending txs test

* feat(contract): allow events to be streamed

* test(contract): add integration test for streaming event logs

* perf(contract-factory): take abi and bytecode by value instead of reference

The abi, bytecode and the factory's deploy method now consume the structs instead of being passed by reference. While this means that
consumers might need to clone before using them, this gives us some more flexiblity around factories inside helper functions

* refactor(contract): use test helpers to reduce code dup

* chore: make clippy happy
2020-06-15 11:46:07 +03:00
Georgios Konstantopoulos beb480f22b
chore(abigen-macro): do not run the doctests since the abi paths cannot be found 2020-06-11 12:33:09 +03:00
Georgios Konstantopoulos a1096f8705
chore(abigen): fix doctest 2020-06-11 12:16:36 +03:00
Georgios Konstantopoulos 7020dc18fb
docs(crate): further expand the docs 2020-06-11 11:41:41 +03:00
Georgios Konstantopoulos 3522c78ec5
fix: simplify ENS interfaces 2020-06-11 10:16:38 +03:00
Georgios Konstantopoulos 9cad87a879
chore: fix examples 2020-06-11 09:45:14 +03:00
Georgios Konstantopoulos 7dbc2d4f25
test(abigen): re-enable tests 2020-06-11 00:11:42 +03:00
Georgios Konstantopoulos aa454b945b
chore(abigen): remove unnecessary stuff 2020-06-10 22:46:55 +03:00
Georgios Konstantopoulos f562b47fd2
docs(abigen): update struct 2020-06-10 22:34:39 +03:00
Georgios Konstantopoulos 030fc671fe
docs(contract): expand contract docs 2020-06-10 21:20:47 +03:00
Georgios Konstantopoulos 1adbca67b0
docs(signers): expand Wallet examples 2020-06-10 17:48:34 +03:00
Georgios Konstantopoulos 469c0cb96b
fix(signers): make wallet non-optional 2020-06-10 15:21:16 +03:00
Georgios Konstantopoulos 6156c4bf90
feat(signers): join the transaction futures 2020-06-10 13:34:48 +03:00
Georgios Konstantopoulos 8b5dac2866
docs(provider): add more docs 2020-06-10 11:58:27 +03:00
Georgios Konstantopoulos 6f5bc95543
docs(core): improve struct level docs 2020-06-10 10:33:51 +03:00
Georgios Konstantopoulos f93b8b6919
docs(providers): add doctests and examples 2020-06-10 10:10:33 +03:00
Georgios Konstantopoulos 980e7fca8c
docs: add some more docs 2020-06-10 09:24:36 +03:00
Georgios Konstantopoulos 73b502ed5f
macro: re-enable paths/etherscan and enable more complex tokens 2020-06-04 00:05:05 +03:00
Georgios Konstantopoulos ba7fedc7d3
abigen: simplify structs and re-enable file/remote codegen 2020-06-03 23:09:46 +03:00
Georgios Konstantopoulos b47c89455c
ci: skip tests with external deps 2020-06-03 00:16:08 +03:00
Georgios Konstantopoulos b0feff2432
fix: serialize null filters 2020-06-03 00:10:46 +03:00
Georgios Konstantopoulos 701e442f94
fix(proc-macro): adjust to rest of contract fixes 2020-06-02 14:56:09 +03:00
Georgios Konstantopoulos c18e52f918
contract: simplify lifetimes 2020-06-02 14:39:01 +03:00
Georgios Konstantopoulos 56d22c0360
fix examples 2020-06-02 13:58:48 +03:00
Georgios Konstantopoulos e051cffe47
contract: allow connecting to many clients/addresses 2020-06-02 13:36:29 +03:00
Georgios Konstantopoulos 6bd3c41bd0
contract: simplify errors and generics 2020-06-02 02:15:33 +03:00
Georgios Konstantopoulos b5a1b27e3a
remove provider/signers trait bound 2020-06-02 02:12:12 +03:00
Georgios Konstantopoulos 27ca5dd55a
simplify signers 2020-06-02 01:27:23 +03:00
Georgios Konstantopoulos 6181943485
remove type-safe networks
nobody really wants this
2020-06-02 00:58:28 +03:00
Georgios Konstantopoulos 1c6b067bb9
simplify provider type declaration 2020-06-02 00:31:32 +03:00
Georgios Konstantopoulos cd4914d37f
refactor: pull crates to root dir 2020-06-01 21:24:22 +03:00
Georgios Konstantopoulos 095be63b3b
feat: allow querying logs with their respective tx hashes 2020-06-01 00:19:52 +03:00
Georgios Konstantopoulos c71c46ff56
ensure functions do not clash with event names 2020-05-31 22:00:56 +03:00
Georgios Konstantopoulos 5170b7ec9f
use pure rust libsecp 2020-05-31 20:54:58 +03:00
Georgios Konstantopoulos 5f0546720d
reorganize docs 2020-05-31 19:38:41 +03:00
Georgios Konstantopoulos 37d37a6bec
add a prelude to make importing stuff easier 2020-05-31 19:20:08 +03:00
Georgios Konstantopoulos a9643fc9f6
refactor ethers-types -> ethers-core 2020-05-31 19:01:34 +03:00
Georgios Konstantopoulos 0013edf0e1
refactor ethers-utils to be part of ethers-types 2020-05-31 18:31:13 +03:00
Georgios Konstantopoulos d4bc43ee5b
feat(types): add solc bindings 2020-05-31 18:10:13 +03:00
Georgios Konstantopoulos bdda7d0883
add deployer 2020-05-30 23:04:08 +03:00
Georgios Konstantopoulos e96446388f
WIP: Add ContractFactory 2020-05-30 17:24:50 +03:00
Georgios Konstantopoulos 7a17b2dec2
feat: Adds support for launching ganache-cli 2020-05-30 17:11:51 +03:00
Georgios Konstantopoulos 2bba40a788
add docs to ethers-signer 2020-05-29 00:16:21 +03:00
Georgios Konstantopoulos 5489f08835
docs: add docs to ethers-providers 2020-05-28 19:34:06 +03:00
Georgios Konstantopoulos e51fbd06b0
ethers-types docs 2020-05-28 17:53:22 +03:00
Georgios Konstantopoulos bc523b6d60
refactor ethers-abi to be part of ethers-types 2020-05-28 12:04:12 +03:00
Georgios Konstantopoulos a78979a3ac
chore: fmt 2020-05-28 09:39:38 +03:00
Georgios Konstantopoulos 7c465c2027
add some block tests 2020-05-28 00:48:48 +03:00
Georgios Konstantopoulos 453579e347
add test for utils 2020-05-28 00:03:15 +03:00
Georgios Konstantopoulos 3186673a2e
make ENS a first class citizen 2020-05-27 23:43:29 +03:00