All notable changes to this project will be documented in this file.
Changelog is present since v0.1.2
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Each version will have a separate Breaking Changes
section as well. To describe in how to upgrade from one version to another if needed.
Those changes in added, changed or breaking changes, should include usage examples to add clarity to the sdk user.
- Added
eigen_common
dependency to theeigensdk
crate when "full" feature is enabled in #249. - Added bindings for
ECDSAStakeRegistry
andECDSAServiceManagerBase
in #269. - Added release-plz in ci in #275.
- Added custom configuration for release-plz in #281.
- Changes in the way bindings are generated in #243.
- The
bindings
target now generates the bindings using Docker with Foundry v0.3.0. - The previous
bindings
target was renamed tobindings_host
, as it runs without Docker. However thebindings_host
target is for CI use only. To generate the bindings, please use thebindings
target.
- The
- Fixed the rewardsv2 bindings version in readme to 0.5.4 in #246.
- Fixed typo in release-plz toml file in #284.
- Fixed incorrect package name in Cargo.toml for examples in #285.
- fix: use rewards coordinator on get operator avs/pi split methods by @maximopalopoli in #250
-
The parameters of
ChainReader::new
changed, and it now receives the address of the rewards coordinator.It was previously called this way:
let el_chain_reader = ELChainReader::new( logger, SLASHER_ADDRESS, DELEGATION_MANAGER_ADDRESS, AVS_DIRECTORY_ADDRESS, provider_url, );
Now, it's called this way:
let el_chain_reader = ELChainReader::new( logger, SLASHER_ADDRESS, DELEGATION_MANAGER_ADDRESS, REWARDS_COORDINATOR, AVS_DIRECTORY_ADDRESS, provider_url, );
-
- Removed homepage from testing-utils crate in #266.
- Removed changelog generation by release-plz in #281.
- Removed examples packages from workspace.dependencies in Cargo.toml in #287.
- Removed release-plz-pr workflow in release-plz in #292.
- feat: add rewards-v2 related functionality by @supernovahs in #221
-
New methods in
ELChainReader
:get_operator_avs_split
// Given a chain_reader, an operator_address and an avs_address: let split = el_chain_reader .get_operator_avs_split(operator_address, avs_address) .await .unwrap();
get_operator_pi_split
// Given a chain_reader and an operator_address: let split = el_chain_writer .el_chain_reader .get_operator_pi_split(operator_address) .await .unwrap();
-
New methods in
ELChainWriter
:set_operator_avs_split
// Given a chain_writer, an operator_address, an avs_address and a split: let tx_hash = el_chain_writer .set_operator_avs_split(operator_address, avs_address, split) .await .unwrap(); let receipt = wait_transaction(&http_endpoint, tx_hash).await.unwrap();
set_operator_pi_split
// Given a chain_writer, an operator_address and a split: let tx_hash = el_chain_writer .set_operator_pi_split(operator, split) .await .unwrap(); let receipt = wait_transaction(&http_endpoint, tx_hash).await.unwrap();
-
Bindings updated for rewards-v2 core contracts release
-
-
feat!: remove delegation manager from
ELChainWriter
by @supernovahs in #214-
ELChainWriter::new
no longer receives the delegation manager address as first parameter. Before, a chainWriter was created this way:let el_writer = ELChainWriter::new( DELEGATION_MANAGER_ADDRESS, STRATEGY_MANAGER_ADDRESS, REWARDS_COORDINATOR, el_chain_reader, "https://ethereum-holesky.blockpi.network/v1/rpc/public".to_string(), "bead471191bea97fc3aeac36c9d74c895e8a6242602e144e43152f96219e96e8".to_string(), );
Now, the creation is done without the delegation manager address:
let el_writer = ELChainWriter::new( STRATEGY_MANAGER_ADDRESS, REWARDS_COORDINATOR, el_chain_reader, "<https://ethereum-holesky.blockpi.network/v1/rpc/public>".to_string(), "bead471191bea97fc3aeac36c9d74c895e8a6242602e144e43152f96219e96e8".to_string(), );
-
-
feat!: change way bindings are generated by @MegaRedHand in #204
eigen_utils::core
contains bindings related to core contractseigen_utils::middleware
contains bindings related to middleware contractseigen_utils::sdk
contains bindings related to the SDK (should only be used for testing)
Now, to update the bindings, run
make bindings
. This command will generate the bindings files in the folder:crates/utils
.
- docs: add CHANGELOG.md by @lferrigno in #220
- ci: change docker setup action for official one by @MegaRedHand in #219
- docs: add error message for
cargo test
on darwin by @MegaRedHand in #215 - test: fix
test_register_and_update_operator
by @ricomateo in #223 - chore: update way anvil state dump is generated by @ricomateo in #222
- fix: disable doctests on
eigen-utils
by @MegaRedHand in #227 - chore: bump version by @MegaRedHand in #228
- docs: add GitHub release changelog configuration by @MegaRedHand in #229
- Added retries with exponential backoff to send transactions in #158
- Added
query_registration_detail
method in #162 - Added clippy lints in
Cargo.toml
in #159 - Added BLS aggregation logger in #154
- Added
common
crate toeigensdk
crate in #213
- Updated
eigenlayer-middleware
to v0.4.3 (rewards release) in #177 - Fixed Holesky RPC provider URL in #184
- Fixed BLS signature logic in #174
- Deleted
TxManager
in #151 - Removed
TxManager
crate import in #211 - Removed logs in
operatorsinfo
test in #185
- Added notes for running tests in #194
- Added "Contract Bindings" section to the README in #178
- Added "Branches" section to the README in #200
This changelog was introduced in-between v0.1.2 and v0.1.3. For changes from previous releases, you can check on our GitHub repo's releases page: github.com/Layr-Labs/eigensdk-rs/releases