Summary
This is our first release 🎉. The SDK has achieved full feature parity with the Go SDK.
Main features are:-
- chainio: Interact with the eigenlayer contracts along with AVS contracts.
- bls: Signing, verifying, alloy utilities for bn254 curve using arkworks.
- eigen-cli: Supports keystore generation for ECDSA and BLS(compatible with EIP 2333,2334,2335)
- metrics: Eigenlayer metrics implementation
- nodeapi: Eigenlayer nodeapi implementation
- services: Get operators info, aggregate bls signatures , get operators avs state
- signer: aws signer, web3 signer,keystore signer and private key signer.
- testing-utils: Contains publicly exportable addresses of eigenlayer contract, middleware contracts for holesky, mainnet and anvil utilities.
- example : Examples demonstrating the use of SDK.
- logging: Utility to get logger, noop_logger (for testing).
What's Changed
- release readme by @supernovahs (#135)
- add binding files in same crate by @supernovahs (#136)
- upload coverage html report in CI by @TomasArrachea (#134)
- Fix duplicate signature aggregation by @TomasArrachea (#133)
- fix avsregistryreader test by @TomasArrachea (#132)
- remove duplicate statement in readme (#131)
- Elcontracts reader tests by @pablodeymo @TomasArrachea (#130)
- use anvil on tests by @TomasArrachea and @pablodeymo (#129)
- Removed unused empty crate chainio/utils by @pablodeymo (#128)
- Improve error handling in fireblocks crate by @pablodeymo (#127)
- Simplify Operator struct by @pablodeymo (#126)
- Add docs and error handling improved by @pablodeymo and @TomasArrachea (#125)
- Removed ignored tests in BLS Aggregation tests (#124)
- add telegram group link by @supernovahs (#122)
- Add AvsRegistryReader tests by @TomasArrachea (#121)
- Add fireblock tests to CI by @TomasArrachea (#120)
- Add rpc_url input to egn_addr test by @TomasArrachea (#118)
- Test Get operator pubkeys renamed by @pablodeymo (#117 )
- readme v0.1.0 by @supernovahs (#115)
- Add signer test to compliance by @TomasArrachea (#112)
- adding attributes to the functions of avsregistry/chaincaller by @pablodeymo (#111)
- name in license to eigensdk-rs by @supernovahs (#109)
- node api by @supernovahs (#108)
- fix ci by @TomasArrachea (#107)
- update coverage target by @TomasArrachea (#104)
- compliance tests verification @pablodeymo @TomasArrachea (#103)
- refactor test utils by @pablodeymo (#102)
- clippy by @pablodeymo @TomasArrachea (#100)
- fix:typo in register_operator_in_quorum_with_avs_registry_coordinator @supernovahs (#99)
- update metrics , remove the use of metrics-derive by @supernovahs (#98)
- add test coverage to ci by @TomasArrachea (#97)
- fix: bls aggregation integration test by @TomasArrachea (#96)
- remove unused code @pablodeymo (#95)
- remove avs registry subscriber by @TomasArrachea (#93)
- serialize operators info test execution by @TomasArrachea (#92)
- bls aggregation integration test by @TomasArrachea (#91)
- avs registry service chaincaller test by @ricomateo (#90)
- elcontracts writer tests by @pablodeymo (#88)
- cargo-abc by @supernovahs (#87)
- unused deps removal by @pablodeymo (#86)
- tests and code improvement in avs registry writer @pablodeymo (#85)
- nits from incredible squaring avs by @supernovahs (#84)
- fix: main error by @supernovahs (#83)
- make bls key pair debug by @supernovahs (#82)
- feat: bls aggregation by @ricomateo (#81)
- run clippy on ci @juanbono (#78)
- add support for noop logger by @supernovahs (#77)
- fix: get_logger by @supernovahs (#76)
- remove redundant scripts by @juanbono (#74)
- reset anvil before running tests by @juanbono (#73)
- bls keystore and mnemonic by @supernovahs (#72)
- eigenkeycli functionality @ricomateo (#71)
- fix warning in dependency used in test @pablodeymo (#70)
- bls crate @supernovahs (#69)
- eth client by @pablodeymo (#68)
- chore: update eigenlayer-middleware to latest dev @supernovahs (#67)
- make clippy happy @supernovahs (#66)
- doc port from go sdk and crate readme @supernovahs (#65)
- egnaddrs cli functionality by @ricomateo (#64)
- new custodian @supernovahs (#63)
- logging integration @supernovahs (#62)
- tx manager by @pablodeymo (#61)
- add how to obtain test coverage to readme @dralves (#60)
- feat(eigen-services-operatorsinfo): Testing by @supernovahs (#59)
- feat(metrics):tests by @supernovahs (#58)
- web3 signer functionality by @ricomateo (#56)
- update readme banner by @NimaVaziri (#55)
- signer functionality by @TomasArrachea (#54)
- fireblocks support read @supernovahs (#53)
- logging functionality by @pablodeymo (#51)
- test included inside mod tests block by @pablodeymo (#50)
- update readme by @supernovahs (#48 )
- support alloy errors by @supernovahs(#47)
- feat(AvsRegistryChainWriter): Remove redundant new function , use build method instead(#46)
- feat(crypto-bls): Add priv_key method(#44)
- feature/bls bn254 keystore utils by @iStrike7 @supernovahs( #43 )
- cryptobls by @supernovahs(#41)
- add method to get priv key from key pair by @supernovahs(#40)
- feat(cryptobls): make keypair debug by @supernovahs(#39)
- feat(anvil):Add more contracts in contractregistry by @supernovahs(#38)
- avsregistry remove unneeded stakeregistry param by @supernovahs(#37)
- feat(refactor): avsregistry reader for better ux by @supernovahs(#36)
- ci fix by @supernovahs(#33)
- clippy by @supernovahs(#32)
- feat( ContractsRegistry): reproducible and consistent state for anvil testing by @supernovahs(#31)
- elcontracts reader tests by @supernovahs(#30)
- add make pr command by @supernovahs(#27)
- add warning in readme :unaudited by @supernovahs (#26)
- bump alloy to stable version by @supernovahs (#25)
- add anvil utilities by @supernovahs (#22)
- testing utilities by @supernovahs (#20)
- chore:use common bindings by @supernovahs (#18)
- update submodule of middleware to m2 by @supernovahs (#17)
- better ux for sdk by @supernovahs (#16)
- example section in readme by @supernovahs (#14)
- feat(metrics) by @supernovahs (#13)
- testing, cleanup, docs by @supernovahs (#12)
- add method in keypair: FromString and tests by @supernovahs (#11 )
- fix: u256 bug and some bls tests by @supernovahs (#10)
- change branding to eigen-rs by @supernovahs (#9)
- adding tests by @supernovahs (#6)
- feat(examples): get operator info service by @supernovahs (#5)
- alloy integration by @supernovahs (#4)