What's Changed
Added🎉
-
Added new method
set_slashable_stake_lookahead
inavsregistry/writer
in #278.let quorum_number = 0_u8; let lookahead = 10_u32; let tx_hash = avs_writer .set_slashable_stake_lookahead(quorum_number, lookahead) .await .unwrap();
-
Added new method
set_rewards_initiator
inavsregistry/writer
in #273.let tx_hash = avs_writer .set_rewards_initiator(new_rewards_init_address) .await .unwrap();
-
Added new method
clear_deallocation_queue
inelcontracts/writer
in #270let tx_hash_clear = el_chain_writer .clear_deallocation_queue( operator_address, vec![strategy_addr], vec![num_to_clear], ) .await .unwrap();
-
Added update_socket function for avs registry writer in #268
An example of use is the following:// Given an avs writer and a new socket address: let tx_hash = avs_writer .update_socket(new_socket_addr.into()) .await .unwrap(); let tx_status = wait_transaction(&http_endpoint, tx_hash) .await .unwrap() .status(); // tx_status should be true
-
Added Rewards2.1 support in #323.
- Set an operator's split on an operator set.
let operator_set = OperatorSet { avs: avs_address, id: 0, }; let new_split = 5; let tx_hash = el_chain_writer .set_operator_set_split(OPERATOR_ADDRESS, operator_set.clone(), new_split) .await .unwrap();
- Get an operator's split on an operator set.
let operator_set = OperatorSet { avs: avs_address, id: 0, }; let split = el_chain_writer .el_chain_reader .get_operator_set_split(OPERATOR_ADDRESS, operator_set) .await .unwrap();
-
Added new method
set_operator_set_param
inavsregistry/writer
in #327.let operator_set_params = OperatorSetParam { maxOperatorCount: 10, kickBIPsOfOperatorStake: 50, kickBIPsOfTotalStake: 50, }; let tx_hash = avs_writer .set_operator_set_param(0, operator_set_params.clone()) .await .unwrap();
-
Added new method
eject_operator
inavsregistry/writer
in #328.let register_operator_address = address!("f39Fd6e51aad88F6F4ce6aB8827279cffFb92266"); let quorum_nums = Bytes::from([0]); let tx_hash = avs_writer .eject_operator(register_operator_address, quorum_nums) .await .unwrap();
-
Added new method
is_operator_set_quorum
inavsregistry/writer
in #296.let operator_set_quourm = avs_reader.is_operator_set_quorum(0).await.unwrap();
-
Added version explicitly in crates in #322.
-
Added new method
set_account_identifier
inavsregistry/writer
in #329.let tx_hash = avs_writer .set_account_identifier(new_identifier_address) .await .unwrap();
Changed
Breaking changes🛠
- refactor: update interface on
bls aggregation
in #254-
Introduces a new struct
TaskMetadata
with a constructorTaskMetadata::new
to initialize a new task and a methodwith_window_duration
to set the window duration. -
Refactors
initialize_new_task
andsingle_task_aggregator
to accept aTaskMetadata
struct instead of multiple parameters.// BEFORE bls_agg_service .initialize_new_task( task_index, block_number as u32, quorum_numbers, quorum_threshold_percentages, time_to_expiry, ) .await .unwrap(); // AFTER let metadata = TaskMetadata::new( task_index, block_number, quorum_numbers, quorum_threshold_percentages, time_to_expiry, ) bls_agg_service.initialize_new_task(metadata).await.unwrap();
-
Removes
initialize_new_task_with_window
sincewindow_duration
can now be set inTaskMetadata
.// BEFORE bls_agg_service .initialize_new_task_with_window( task_index, block_number as u32, quorum_numbers, quorum_threshold_percentages, time_to_expiry, window_duration, ) .await .unwrap(); // AFTER let metadata = TaskMetadata::new( task_index, block_number, quorum_numbers, quorum_threshold_percentages, time_to_expiry, ).with_window_duration(window_duration); bls_agg_service.initialize_new_task(metadata).await.unwrap();
-
- refactor: encapsulate parameters into
TaskSignature
in #260- Introduced
TaskSignature
struct to encapsulate parameters related to task signatures: - Updated
process_new_signature
to accept aTaskSignature
struct instead of multiple parameters.// BEFORE bls_agg_service.process_new_signature(task_index, task_response_digest, bls_signature, operator_id).await.unwrap(); // AFTER let task_signature = TaskSignature::new( task_index, task_response_digest, bls_signature, operator_id, ); bls_agg_service.process_new_signature(task_signature).await.unwrap();
- Introduced
- Slashing UAM changes in #248.
Removed
Other Changes
- docs: add mention of updated bindings to changelog by @MegaRedHand in #233
- chore: format contracts by @ricomateo in #235
- ci: add foundry workflow by @ricomateo in #236
- ci: add CI job to check whether anvil state is up to date by @ricomateo in #237
- chore: remove existing bindings when generating new ones by @ricomateo in #242
- ci: add workflow to check bindings are up to date by @ricomateo in #243
- chore: remove alloy reexported crates from dependencies by @ricomateo in #244
- docs: sync root and
crates/eigensdk/
READMEs by @ricomateo in #245 - ci: add workflow to enforce updates to the changelog by @ricomateo in #239
- docs: add
RELEASE.md
by @MegaRedHand in #231 - ci: fix check bindings job by @pablodeymo in #247
- ci: fix job that checks anvil state is up-to-date by @ricomateo in #252
- refactor: move bindings generation to script by @MegaRedHand in #271
- chore: merge main by @MegaRedHand in #274
- chore: merge
main
todev
by @MegaRedHand in #305 - refactor:
bls_aggr
encapsulate parameters intoTaskSignature
by @damiramirez in #260 - feat: add new method
clear_deallocation_queue
by @damiramirez in #270 - feat: new method
set_rewards_initiator
by @damiramirez in #273 - fix: change provider value used by avs_reader in tests by @damiramirez in #306
- feat: new method
set_slashable_stake_lookahead
by @damiramirez in #278 - refactor: remove dead code in
AvsRegistryChainWriter
by @MegaRedHand in #332 - refactor: move anvil account constants to testing utils module by @MegaRedHand in #331
- feat: new method
is_operator_set_quorum
by @damiramirez in #296 - chore: release 0.3.0 by @supernovahs in #346
- revert 0.3.0 by @supernovahs in #350
- chore:release 0.3.0 by @supernovahs in #351
New Contributors
- @damiramirez made their first contribution in #260
Full Changelog: v0.1.3...v0.3.0