Skip to content

Latest commit

 

History

History
180 lines (151 loc) · 8.57 KB

CHANGELOG.md

File metadata and controls

180 lines (151 loc) · 8.57 KB

Changelog

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.

[Unreleased]

Added

  • Added eigen_common dependency to the eigensdk crate when "full" feature is enabled in #249.
  • Added bindings for ECDSAStakeRegistry and ECDSAServiceManagerBase in #269.
  • Added release-plz in ci in #275.
  • Added custom configuration for release-plz in #281.

Changed

  • 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 to bindings_host, as it runs without Docker. However the bindings_host target is for CI use only. To generate the bindings, please use the bindings target.
  • 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.

Breaking changes

  • 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

  • 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.

[0.1.3] - 2024-01-17

Added 🎉

  • 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

Breaking Changes 🛠

  • 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 contracts
    • eigen_utils::middleware contains bindings related to middleware contracts
    • eigen_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.

Documentation 📚

  • docs: add CHANGELOG.md by @lferrigno in #220

Other Changes

  • 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

[0.1.2] - 2025-01-09

Added

  • 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 to eigensdk crate in #213

Changed

  • Updated eigenlayer-middleware to v0.4.3 (rewards release) in #177
  • Fixed Holesky RPC provider URL in #184
  • Fixed BLS signature logic in #174

Removed

  • Deleted TxManager in #151
  • Removed TxManager crate import in #211
  • Removed logs in operatorsinfo test in #185

Documentation

  • Added notes for running tests in #194
  • Added "Contract Bindings" section to the README in #178
  • Added "Branches" section to the README in #200

Previous versions

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