From 30f3db9cd2ebdfc12047c847a548c6c45b514f27 Mon Sep 17 00:00:00 2001 From: AlexChetverov Date: Tue, 1 Oct 2024 13:33:46 +0200 Subject: [PATCH 01/17] add test group --- .github/workflows/reusable-e2e-tests.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/reusable-e2e-tests.yml b/.github/workflows/reusable-e2e-tests.yml index 2cbf0f363..742db0b12 100644 --- a/.github/workflows/reusable-e2e-tests.yml +++ b/.github/workflows/reusable-e2e-tests.yml @@ -132,6 +132,8 @@ jobs: fast: true - command: "yarn test-rolldown" fast: true + - command: "yarn test-rolldownWithdrawal" + fast: true runs-on: [e2e-gke] From f333f0481c89f0db5b3e7d47c5046c66222b9276 Mon Sep 17 00:00:00 2001 From: AlexChetverov Date: Thu, 10 Oct 2024 10:12:36 +0200 Subject: [PATCH 02/17] split withdrawal rolldown tests --- .github/workflows/reusable-e2e-tests.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/reusable-e2e-tests.yml b/.github/workflows/reusable-e2e-tests.yml index 742db0b12..6b61c4fb8 100644 --- a/.github/workflows/reusable-e2e-tests.yml +++ b/.github/workflows/reusable-e2e-tests.yml @@ -134,6 +134,9 @@ jobs: fast: true - command: "yarn test-rolldownWithdrawal" fast: true + - command: "yarn test-rolldownPreOperationWithdrawal" + fast: true + runs-on: [e2e-gke] From 63ed8e5d298b24c1084b708497dc443ea1995f2b Mon Sep 17 00:00:00 2001 From: Mateusz Nowakowski Date: Fri, 11 Oct 2024 15:10:57 +0200 Subject: [PATCH 03/17] update token address --- rollup/node/src/chain_spec.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rollup/node/src/chain_spec.rs b/rollup/node/src/chain_spec.rs index 3e6d8f3e8..2a3b7fd98 100644 --- a/rollup/node/src/chain_spec.rs +++ b/rollup/node/src/chain_spec.rs @@ -71,12 +71,12 @@ pub fn rollup_local_config( 17000u64, ), EvmChain::Anvil => ( - array_bytes::hex2array("0xc351628EB244ec633d5f21fBD6621e1a683B1181") + array_bytes::hex2array("0xFD471836031dc5108809D173A067e8486B9047A3") .expect("is correct address"), 31337u64, ), EvmChain::Reth => ( - array_bytes::hex2array("0xc351628EB244ec633d5f21fBD6621e1a683B1181") + array_bytes::hex2array("0xFD471836031dc5108809D173A067e8486B9047A3") .expect("is correct address"), 1337u64, ), From 0579572744dd619ed781f208cb380710fc26c2a7 Mon Sep 17 00:00:00 2001 From: Mateusz Nowakowski Date: Mon, 21 Oct 2024 10:05:02 +0200 Subject: [PATCH 04/17] use type prefix when calculating the L2Request hash --- pallets/rolldown/src/messages/eth_abi.rs | 3 +++ pallets/rolldown/src/messages/mod.rs | 22 +++++++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/pallets/rolldown/src/messages/eth_abi.rs b/pallets/rolldown/src/messages/eth_abi.rs index fb70cb598..3c502d3a8 100644 --- a/pallets/rolldown/src/messages/eth_abi.rs +++ b/pallets/rolldown/src/messages/eth_abi.rs @@ -143,6 +143,9 @@ sol! { #[derive(Debug, Eq, PartialEq, Encode, Decode, TypeInfo)] enum Chain{ Ethereum, Arbitrum } + #[derive(Debug, Eq, PartialEq, Encode, Decode, TypeInfo)] + enum L2RequestType{ Withdrawal, Cancel, FailedDepositResolution } + #[derive(Debug)] struct L1Update { Chain chain; diff --git a/pallets/rolldown/src/messages/mod.rs b/pallets/rolldown/src/messages/mod.rs index fbc9610c3..54bef47d0 100644 --- a/pallets/rolldown/src/messages/mod.rs +++ b/pallets/rolldown/src/messages/mod.rs @@ -58,9 +58,25 @@ where impl EthAbi for L2Request { fn abi_encode(&self) -> Vec { match self { - L2Request::FailedDepositResolution(deposit) => deposit.abi_encode(), - L2Request::Cancel(cancel) => cancel.abi_encode(), - L2Request::Withdrawal(withdrawal) => withdrawal.abi_encode(), + L2Request::FailedDepositResolution(deposit) => + eth_abi::L2RequestType::FailedDepositResolution + .abi_encode() + .iter() + .chain(deposit.abi_encode().iter()) + .cloned() + .collect(), + L2Request::Cancel(cancel) => eth_abi::L2RequestType::Cancel + .abi_encode() + .iter() + .chain(cancel.abi_encode().iter()) + .cloned() + .collect(), + L2Request::Withdrawal(withdrawal) => eth_abi::L2RequestType::Withdrawal + .abi_encode() + .iter() + .chain(withdrawal.abi_encode().iter()) + .cloned() + .collect(), } } } From bb6114240daec1512228d3b422cf91be418bd0e4 Mon Sep 17 00:00:00 2001 From: mateuszaaa Date: Tue, 22 Oct 2024 00:38:54 +0200 Subject: [PATCH 05/17] Revert "[GASP-1564] Include request type in request hash calculation" --- pallets/rolldown/src/messages/eth_abi.rs | 3 --- pallets/rolldown/src/messages/mod.rs | 22 +++------------------- 2 files changed, 3 insertions(+), 22 deletions(-) diff --git a/pallets/rolldown/src/messages/eth_abi.rs b/pallets/rolldown/src/messages/eth_abi.rs index 3c502d3a8..fb70cb598 100644 --- a/pallets/rolldown/src/messages/eth_abi.rs +++ b/pallets/rolldown/src/messages/eth_abi.rs @@ -143,9 +143,6 @@ sol! { #[derive(Debug, Eq, PartialEq, Encode, Decode, TypeInfo)] enum Chain{ Ethereum, Arbitrum } - #[derive(Debug, Eq, PartialEq, Encode, Decode, TypeInfo)] - enum L2RequestType{ Withdrawal, Cancel, FailedDepositResolution } - #[derive(Debug)] struct L1Update { Chain chain; diff --git a/pallets/rolldown/src/messages/mod.rs b/pallets/rolldown/src/messages/mod.rs index 54bef47d0..fbc9610c3 100644 --- a/pallets/rolldown/src/messages/mod.rs +++ b/pallets/rolldown/src/messages/mod.rs @@ -58,25 +58,9 @@ where impl EthAbi for L2Request { fn abi_encode(&self) -> Vec { match self { - L2Request::FailedDepositResolution(deposit) => - eth_abi::L2RequestType::FailedDepositResolution - .abi_encode() - .iter() - .chain(deposit.abi_encode().iter()) - .cloned() - .collect(), - L2Request::Cancel(cancel) => eth_abi::L2RequestType::Cancel - .abi_encode() - .iter() - .chain(cancel.abi_encode().iter()) - .cloned() - .collect(), - L2Request::Withdrawal(withdrawal) => eth_abi::L2RequestType::Withdrawal - .abi_encode() - .iter() - .chain(withdrawal.abi_encode().iter()) - .cloned() - .collect(), + L2Request::FailedDepositResolution(deposit) => deposit.abi_encode(), + L2Request::Cancel(cancel) => cancel.abi_encode(), + L2Request::Withdrawal(withdrawal) => withdrawal.abi_encode(), } } } From e5ad328145cbdf9c04df51872f56698e678284d8 Mon Sep 17 00:00:00 2001 From: Mateusz Nowakowski Date: Tue, 22 Oct 2024 07:37:57 +0200 Subject: [PATCH 06/17] use type prefix when calculating the L2Request hash --- pallets/rolldown/src/lib.rs | 26 +++++++++++++----------- pallets/rolldown/src/messages/eth_abi.rs | 3 +++ pallets/rolldown/src/messages/mod.rs | 22 +++++++++++++++++--- 3 files changed, 36 insertions(+), 15 deletions(-) diff --git a/pallets/rolldown/src/lib.rs b/pallets/rolldown/src/lib.rs index 7b7caa02a..12ee2037f 100644 --- a/pallets/rolldown/src/lib.rs +++ b/pallets/rolldown/src/lib.rs @@ -561,10 +561,13 @@ pub mod pallet { v.insert((canceler, l2_request_id, DisputeRole::Canceler)) }); + let l2_request_cancel = L2Request::Cancel(cancel_request); + let l2_request_cancel_hash = l2_request_cancel.abi_encode_hash(); + L2Requests::::insert( chain, RequestId::from((Origin::L2, l2_request_id)), - (L2Request::Cancel(cancel_request.clone()), cancel_request.abi_encode_hash()), + (l2_request_cancel, l2_request_cancel_hash), ); Pallet::::deposit_event(Event::L1ReadCanceled { @@ -644,14 +647,13 @@ pub mod pallet { amount: U256::from(amount), ferryTip: U256::from(ferry_tip.unwrap_or_default()), }; - // add cancel request to pending updates + + let l2_request_withdrawal = L2Request::Withdrawal(withdrawal_update); + let l2_request_withdrawal_hash = l2_request_withdrawal.abi_encode_hash(); L2Requests::::insert( chain, request_id.clone(), - ( - L2Request::Withdrawal(withdrawal_update.clone()), - withdrawal_update.abi_encode_hash(), - ), + (l2_request_withdrawal, l2_request_withdrawal_hash), ); Pallet::::deposit_event(Event::WithdrawalRequestCreated { @@ -660,7 +662,7 @@ pub mod pallet { recipient, token_address, amount, - hash: withdrawal_update.abi_encode_hash(), + hash: l2_request_withdrawal_hash, ferry_tip: ferry_tip.unwrap_or_default(), }); TotalNumberOfWithdrawals::::mutate(|v| *v = v.saturating_add(One::one())); @@ -766,13 +768,13 @@ pub mod pallet { ferry: ferry.clone().map(T::AddressConverter::convert_back).unwrap_or([0u8; 20]), }; + let l2_request_failed_deposit = + L2Request::FailedDepositResolution(failed_deposit_resolution); + let l2_request_failed_deposit_hash = l2_request_failed_deposit.abi_encode_hash(); L2Requests::::insert( chain, RequestId::from((Origin::L2, l2_request_id)), - ( - L2Request::FailedDepositResolution(failed_deposit_resolution), - failed_deposit_resolution.abi_encode_hash(), - ), + (l2_request_failed_deposit, l2_request_failed_deposit_hash), ); Self::deposit_event(Event::DepositRefundCreated { @@ -1553,7 +1555,7 @@ impl Pallet { pub fn get_abi_encoded_l2_request(chain: ChainIdOf, request_id: u128) -> Vec { L2Requests::::get(chain, RequestId::from((Origin::L2, request_id))) - .map(|(req, _hash)| req.abi_encode()) + .map(|(_req, hash)| hash.as_ref().to_vec()) .unwrap_or_default() } diff --git a/pallets/rolldown/src/messages/eth_abi.rs b/pallets/rolldown/src/messages/eth_abi.rs index fb70cb598..3c502d3a8 100644 --- a/pallets/rolldown/src/messages/eth_abi.rs +++ b/pallets/rolldown/src/messages/eth_abi.rs @@ -143,6 +143,9 @@ sol! { #[derive(Debug, Eq, PartialEq, Encode, Decode, TypeInfo)] enum Chain{ Ethereum, Arbitrum } + #[derive(Debug, Eq, PartialEq, Encode, Decode, TypeInfo)] + enum L2RequestType{ Withdrawal, Cancel, FailedDepositResolution } + #[derive(Debug)] struct L1Update { Chain chain; diff --git a/pallets/rolldown/src/messages/mod.rs b/pallets/rolldown/src/messages/mod.rs index fbc9610c3..54bef47d0 100644 --- a/pallets/rolldown/src/messages/mod.rs +++ b/pallets/rolldown/src/messages/mod.rs @@ -58,9 +58,25 @@ where impl EthAbi for L2Request { fn abi_encode(&self) -> Vec { match self { - L2Request::FailedDepositResolution(deposit) => deposit.abi_encode(), - L2Request::Cancel(cancel) => cancel.abi_encode(), - L2Request::Withdrawal(withdrawal) => withdrawal.abi_encode(), + L2Request::FailedDepositResolution(deposit) => + eth_abi::L2RequestType::FailedDepositResolution + .abi_encode() + .iter() + .chain(deposit.abi_encode().iter()) + .cloned() + .collect(), + L2Request::Cancel(cancel) => eth_abi::L2RequestType::Cancel + .abi_encode() + .iter() + .chain(cancel.abi_encode().iter()) + .cloned() + .collect(), + L2Request::Withdrawal(withdrawal) => eth_abi::L2RequestType::Withdrawal + .abi_encode() + .iter() + .chain(withdrawal.abi_encode().iter()) + .cloned() + .collect(), } } } From d2b009dc86048758d9b07eb6661ae3c2b46d2066 Mon Sep 17 00:00:00 2001 From: Mateusz Nowakowski Date: Tue, 22 Oct 2024 09:57:09 +0200 Subject: [PATCH 07/17] make rpc api return purly encoded structs --- pallets/rolldown/src/lib.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pallets/rolldown/src/lib.rs b/pallets/rolldown/src/lib.rs index 12ee2037f..b6d5c6a44 100644 --- a/pallets/rolldown/src/lib.rs +++ b/pallets/rolldown/src/lib.rs @@ -1554,9 +1554,12 @@ impl Pallet { } pub fn get_abi_encoded_l2_request(chain: ChainIdOf, request_id: u128) -> Vec { - L2Requests::::get(chain, RequestId::from((Origin::L2, request_id))) - .map(|(_req, hash)| hash.as_ref().to_vec()) - .unwrap_or_default() + match L2Requests::::get(chain, RequestId::from((Origin::L2, request_id))) { + Some((L2Request::FailedDepositResolution(deposit), _)) => deposit.abi_encode(), + Some((L2Request::Cancel(cancel), _)) => cancel.abi_encode(), + Some((L2Request::Withdrawal(withdrawal), _)) => withdrawal.abi_encode(), + None => Default::default(), + } } fn get_batch_range_from_available_requests( From f1f91f7c7fc7001c2d8c3e14b8f08958d92404dd Mon Sep 17 00:00:00 2001 From: Mateusz Nowakowski Date: Wed, 23 Oct 2024 11:20:46 +0200 Subject: [PATCH 08/17] prove that aliases can be freed up --- pallets/sequencer-staking/src/lib.rs | 4 +- pallets/sequencer-staking/src/tests.rs | 54 ++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 2 deletions(-) diff --git a/pallets/sequencer-staking/src/lib.rs b/pallets/sequencer-staking/src/lib.rs index 11d8a4ba8..a8311ff5e 100644 --- a/pallets/sequencer-staking/src/lib.rs +++ b/pallets/sequencer-staking/src/lib.rs @@ -653,14 +653,14 @@ impl Pallet { ActiveSequencers::::mutate(|active_set| { if let Some(set) = active_set.get_mut(&chain) { - set.retain(|elem| !deactivating_sequencers.contains(&elem)) + set.retain(|elem| !deactivating_sequencers.contains(elem)) } }); SelectedSequencer::::mutate(|selected| { if matches!( selected.get(&chain), - Some(elem) if deactivating_sequencers.contains(&elem)) + Some(elem) if deactivating_sequencers.contains(elem)) { selected.remove(&chain); } diff --git a/pallets/sequencer-staking/src/tests.rs b/pallets/sequencer-staking/src/tests.rs index 491ca7101..6e1020d4b 100644 --- a/pallets/sequencer-staking/src/tests.rs +++ b/pallets/sequencer-staking/src/tests.rs @@ -972,6 +972,60 @@ fn test_sequencer_cannot_join_if_its_account_is_used_as_sequencer_alias() { }); } +#[test] +#[serial] +fn test_sequencer_can_remove_alias_so_another_sequencer_can_use_it_afterwards() { + set_default_mocks!(); + ExtBuilder::new().build().execute_with(|| { + forward_to_block::(10); + + let new_sequencer_active_mock = MockRolldownProviderApi::new_sequencer_active_context(); + new_sequencer_active_mock.expect().return_const(()); + + let handle_sequencer_deactivations = + MockRolldownProviderApi::handle_sequencer_deactivations_context(); + handle_sequencer_deactivations.expect().return_const(()); + SequencerStaking::set_active_sequencers(Vec::new()).unwrap(); + + assert_ok!(SequencerStaking::provide_sequencer_stake( + RuntimeOrigin::signed(ALICE), + consts::DEFAULT_CHAIN_ID, + MINIMUM_STAKE, + Some(EVE), + StakeAction::StakeAndJoinActiveSet + )); + + assert_ok!(SequencerStaking::provide_sequencer_stake( + RuntimeOrigin::signed(CHARLIE), + consts::DEFAULT_CHAIN_ID, + MINIMUM_STAKE, + None, + StakeAction::StakeAndJoinActiveSet + )); + + assert_err!( + SequencerStaking::set_updater_account_for_sequencer( + RuntimeOrigin::signed(CHARLIE), + consts::DEFAULT_CHAIN_ID, + Some(EVE), + ), + Error::::AddressInUse + ); + + assert_ok!(SequencerStaking::set_updater_account_for_sequencer( + RuntimeOrigin::signed(ALICE), + consts::DEFAULT_CHAIN_ID, + None, + )); + + assert_ok!(SequencerStaking::set_updater_account_for_sequencer( + RuntimeOrigin::signed(CHARLIE), + consts::DEFAULT_CHAIN_ID, + Some(EVE), + )); + }); +} + #[test] #[serial] fn payout_distribution_to_sequencers() { From f091fd0359504b24a48c292a9e4ee86dc2459c24 Mon Sep 17 00:00:00 2001 From: Mateusz Nowakowski Date: Wed, 23 Oct 2024 11:31:16 +0200 Subject: [PATCH 09/17] [FIX] produce batches even when all sequencers have left --- pallets/rolldown/src/lib.rs | 50 +++++++++++++++++------------------ pallets/rolldown/src/tests.rs | 8 +++--- 2 files changed, 28 insertions(+), 30 deletions(-) diff --git a/pallets/rolldown/src/lib.rs b/pallets/rolldown/src/lib.rs index b6d5c6a44..f1e5d3361 100644 --- a/pallets/rolldown/src/lib.rs +++ b/pallets/rolldown/src/lib.rs @@ -939,33 +939,31 @@ impl Pallet { }; if let Some(trigger) = trigger { - if let Some(updater) = T::SequencerStakingProvider::selected_sequencer(*chain) { - let batch_id = last_batch_id.saturating_add(1); - let range_start = last_id_in_batch.saturating_add(1); - let range_end = sp_std::cmp::min( - range_start.saturating_add(batch_size.saturating_sub(1)), - last_id, + let updater = T::SequencerStakingProvider::selected_sequencer(*chain) + .unwrap_or(T::AddressConverter::convert([0u8; 20])); + + let batch_id = last_batch_id.saturating_add(1); + let range_start = last_id_in_batch.saturating_add(1); + let range_end = sp_std::cmp::min( + range_start.saturating_add(batch_size.saturating_sub(1)), + last_id, + ); + if range_end >= range_start { + L2RequestsBatch::::insert( + (chain, batch_id), + (now, (range_start, range_end), updater.clone()), ); - if range_end >= range_start { - L2RequestsBatch::::insert( - (chain, batch_id), - (now, (range_start, range_end), updater.clone()), - ); - L2RequestsBatchLast::::mutate(|batches| { - batches - .insert(chain.clone(), (now, batch_id, (range_start, range_end))); - }); - Pallet::::deposit_event(Event::TxBatchCreated { - chain: *chain, - source: trigger, - assignee: updater, - batch_id, - range: (range_start, range_end), - }); - break - } - } else { - continue + L2RequestsBatchLast::::mutate(|batches| { + batches.insert(chain.clone(), (now, batch_id, (range_start, range_end))); + }); + Pallet::::deposit_event(Event::TxBatchCreated { + chain: *chain, + source: trigger, + assignee: updater, + batch_id, + range: (range_start, range_end), + }); + break } } } diff --git a/pallets/rolldown/src/tests.rs b/pallets/rolldown/src/tests.rs index 800ef4c70..1773dd154 100644 --- a/pallets/rolldown/src/tests.rs +++ b/pallets/rolldown/src/tests.rs @@ -1940,7 +1940,7 @@ fn test_batch_is_created_automatically_when_l2requests_count_exceeds_merkle_root forward_to_block::(12); assert_eq!( L2RequestsBatchLast::::get().get(&consts::CHAIN), - Some(&(12u64.into(), 1u128, (1, 10))) + Some(&(12u64, 1u128, (1, 10))) ); for _ in 0..Rolldown::automatic_batch_size() - 1 { @@ -1958,7 +1958,7 @@ fn test_batch_is_created_automatically_when_l2requests_count_exceeds_merkle_root forward_to_block::(13); assert_eq!( L2RequestsBatchLast::::get().get(&consts::CHAIN), - Some(&(12u64.into(), 1u128, (1, 10))) + Some(&(12u64, 1u128, (1, 10))) ); Rolldown::withdraw( @@ -1973,12 +1973,12 @@ fn test_batch_is_created_automatically_when_l2requests_count_exceeds_merkle_root assert_eq!( L2RequestsBatchLast::::get().get(&consts::CHAIN), - Some(&(12u64.into(), 1u128, (1, 10))) + Some(&(12u64, 1u128, (1, 10))) ); forward_to_block::(14); assert_eq!( L2RequestsBatchLast::::get().get(&consts::CHAIN), - Some(&(14u64.into(), 2u128, (11, 20))) + Some(&(14u64, 2u128, (11, 20))) ); }); } From 29006240a51f2d2d20694e3e7a9b9ac7d07d56c3 Mon Sep 17 00:00:00 2001 From: Mateusz Nowakowski Date: Wed, 23 Oct 2024 14:01:04 +0200 Subject: [PATCH 10/17] limit manual batch size with the AutomaticBatchSize --- pallets/rolldown/src/lib.rs | 7 ++++++- pallets/rolldown/src/tests.rs | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/pallets/rolldown/src/lib.rs b/pallets/rolldown/src/lib.rs index b6d5c6a44..872fc9b50 100644 --- a/pallets/rolldown/src/lib.rs +++ b/pallets/rolldown/src/lib.rs @@ -1571,7 +1571,12 @@ impl Pallet { .map(|(_block_number, _batch_id, range)| range.1) .unwrap_or_default(); let range_start = last_request_id.saturating_add(1u128); - let range_end = Self::get_latest_l2_request_id(chain).ok_or(Error::::EmptyBatch)?; + let latest_req_id = Self::get_latest_l2_request_id(chain).ok_or(Error::::EmptyBatch)?; + + let range_end = std::cmp::min( + range_start.saturating_add(Self::automatic_batch_size().saturating_sub(1)), + latest_req_id, + ); if L2Requests::::contains_key(chain, RequestId { origin: Origin::L2, id: range_start }) { Ok((range_start, range_end)) diff --git a/pallets/rolldown/src/tests.rs b/pallets/rolldown/src/tests.rs index 800ef4c70..adfa9adb0 100644 --- a/pallets/rolldown/src/tests.rs +++ b/pallets/rolldown/src/tests.rs @@ -2209,6 +2209,38 @@ fn test_create_manual_batch_works() { }) } +#[test] +#[serial] +fn test_size_of_manually_created_batch_is_limited() { + ExtBuilder::new() + .issue(ALICE, ETH_TOKEN_ADDRESS_MGX, MILLION) + .issue(ALICE, NativeCurrencyId::get(), MILLION) + .execute_with_default_mocks(|| { + forward_to_block::(10); + + for _ in (0..2 * Rolldown::automatic_batch_size()) { + Rolldown::withdraw( + RuntimeOrigin::signed(ALICE), + consts::CHAIN, + ETH_RECIPIENT_ACCOUNT, + ETH_TOKEN_ADDRESS, + 1_000u128, + 0u128.into(), + ) + .unwrap(); + } + + assert_ok!(Rolldown::create_batch(RuntimeOrigin::signed(ALICE), consts::CHAIN, None)); + + assert_eq!(L2RequestsBatchLast::::get().get(&consts::CHAIN).unwrap().2 .0, 1u128); + + assert_eq!( + L2RequestsBatchLast::::get().get(&consts::CHAIN).unwrap().2 .1, + Rolldown::automatic_batch_size() + ); + }) +} + #[test] #[serial] fn test_create_manual_batch_fails_for_invalid_alias_account() { From 39a44bb07bb4d8a4fadf6bc047df380e51386e65 Mon Sep 17 00:00:00 2001 From: Mateusz Nowakowski Date: Wed, 23 Oct 2024 15:13:48 +0200 Subject: [PATCH 11/17] fix typo --- pallets/rolldown/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pallets/rolldown/src/lib.rs b/pallets/rolldown/src/lib.rs index 872fc9b50..eab37e9ef 100644 --- a/pallets/rolldown/src/lib.rs +++ b/pallets/rolldown/src/lib.rs @@ -1573,7 +1573,7 @@ impl Pallet { let range_start = last_request_id.saturating_add(1u128); let latest_req_id = Self::get_latest_l2_request_id(chain).ok_or(Error::::EmptyBatch)?; - let range_end = std::cmp::min( + let range_end = sp_std::cmp::min( range_start.saturating_add(Self::automatic_batch_size().saturating_sub(1)), latest_req_id, ); From dd62c35e6c9bc1d8081115a46a9d866d5f4027e0 Mon Sep 17 00:00:00 2001 From: AlexChetverov Date: Thu, 24 Oct 2024 13:14:12 +0200 Subject: [PATCH 12/17] add group --- .github/workflows/reusable-e2e-tests.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/reusable-e2e-tests.yml b/.github/workflows/reusable-e2e-tests.yml index 6b61c4fb8..743fc79ec 100644 --- a/.github/workflows/reusable-e2e-tests.yml +++ b/.github/workflows/reusable-e2e-tests.yml @@ -136,6 +136,9 @@ jobs: fast: true - command: "yarn test-rolldownPreOperationWithdrawal" fast: true + - command: "yarn test-sequencerRewards" + fast: true + From 0727d3c676860ec9e507f50f2a374f1f623f4645 Mon Sep 17 00:00:00 2001 From: Mateusz Nowakowski Date: Thu, 31 Oct 2024 11:02:53 +0100 Subject: [PATCH 13/17] Reproduce problem reported by audit company --- pallets/sequencer-staking/src/tests.rs | 38 ++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/pallets/sequencer-staking/src/tests.rs b/pallets/sequencer-staking/src/tests.rs index 6e1020d4b..a1cde8afc 100644 --- a/pallets/sequencer-staking/src/tests.rs +++ b/pallets/sequencer-staking/src/tests.rs @@ -1145,3 +1145,41 @@ fn pallet_max_sequencers_limit_is_considered_separately_for_each_set() { } }); } + +#[test] +#[serial] +fn test_sequencer_alias_cleanup() { + set_default_mocks!(); + ExtBuilder::new().build().execute_with(|| { + forward_to_block::(10); + + let new_sequencer_active_mock = MockRolldownProviderApi::new_sequencer_active_context(); + new_sequencer_active_mock.expect().times(1).return_const(()); + + assert!(!SequencerStaking::is_active_sequencer(consts::DEFAULT_CHAIN_ID, &CHARLIE)); + assert_ok!(SequencerStaking::provide_sequencer_stake( + RuntimeOrigin::signed(CHARLIE), + consts::DEFAULT_CHAIN_ID, + MINIMUM_STAKE, + Some(EVE), + StakeAction::StakeAndJoinActiveSet + )); + + assert!(SequencerStaking::is_active_sequencer(consts::DEFAULT_CHAIN_ID, &CHARLIE)); + assert_eq!(AliasAccount::::get((&CHARLIE, consts::DEFAULT_CHAIN_ID)), Some(EVE)); + assert_eq!(AliasAccountInUse::::get(EVE), Some(())); + + assert_ok!(SequencerStaking::provide_sequencer_stake( + RuntimeOrigin::signed(CHARLIE), + consts::DEFAULT_CHAIN_ID, + MINIMUM_STAKE, + Some(DAVE), + StakeAction::StakeOnly + )); + + assert!(SequencerStaking::is_active_sequencer(consts::DEFAULT_CHAIN_ID, &CHARLIE)); + assert_eq!(AliasAccount::::get((&CHARLIE, consts::DEFAULT_CHAIN_ID)), Some(DAVE)); + assert_eq!(AliasAccountInUse::::get(DAVE), Some(())); + assert_eq!(AliasAccountInUse::::get(CHARLIE), Some(())); + }); +} From 35f7d3e1e8c9baec8023390a7c395dd438eb5435 Mon Sep 17 00:00:00 2001 From: Mateusz Nowakowski Date: Thu, 31 Oct 2024 11:03:40 +0100 Subject: [PATCH 14/17] fix: sequencer alias cleanup --- pallets/sequencer-staking/src/lib.rs | 5 +++++ pallets/sequencer-staking/src/tests.rs | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pallets/sequencer-staking/src/lib.rs b/pallets/sequencer-staking/src/lib.rs index a8311ff5e..53f66795f 100644 --- a/pallets/sequencer-staking/src/lib.rs +++ b/pallets/sequencer-staking/src/lib.rs @@ -424,6 +424,11 @@ pub mod pallet { !Self::is_active_sequencer(chain, &alias_account), Error::::AliasAccountIsActiveSequencer ); + + if let Some(prev_alias) = AliasAccount::::take((sender.clone(), chain)) { + AliasAccountInUse::::remove(prev_alias); + } + AliasAccount::::insert((sender.clone(), chain), alias_account.clone()); AliasAccountInUse::::insert(alias_account.clone(), ()); } diff --git a/pallets/sequencer-staking/src/tests.rs b/pallets/sequencer-staking/src/tests.rs index a1cde8afc..4de686a41 100644 --- a/pallets/sequencer-staking/src/tests.rs +++ b/pallets/sequencer-staking/src/tests.rs @@ -1180,6 +1180,6 @@ fn test_sequencer_alias_cleanup() { assert!(SequencerStaking::is_active_sequencer(consts::DEFAULT_CHAIN_ID, &CHARLIE)); assert_eq!(AliasAccount::::get((&CHARLIE, consts::DEFAULT_CHAIN_ID)), Some(DAVE)); assert_eq!(AliasAccountInUse::::get(DAVE), Some(())); - assert_eq!(AliasAccountInUse::::get(CHARLIE), Some(())); + assert_eq!(AliasAccountInUse::::get(EVE), None); }); } From cca2f230d0f164c1382b2e6ac51ce504b2175ef8 Mon Sep 17 00:00:00 2001 From: iStrike7 <40371953+iStrike7@users.noreply.github.com> Date: Fri, 1 Nov 2024 01:53:17 +0530 Subject: [PATCH 15/17] Feature/rolldown benchmarks (#831) Rolldown benchmarks --- Cargo.lock | 282 +++--- Cargo.toml | 279 ++++++ pallets/parachain-staking/src/benchmarks.rs | 16 - pallets/rolldown/Cargo.toml | 3 + pallets/rolldown/src/benchmarking.rs | 934 ++++++++++++++++++ pallets/rolldown/src/lib.rs | 295 ++++-- pallets/rolldown/src/messages/mod.rs | 2 +- pallets/rolldown/src/mock.rs | 4 + pallets/rolldown/src/weights.rs | 335 +++++++ rollup/runtime/src/lib.rs | 4 + rollup/runtime/src/runtime_config.rs | 4 + rollup/runtime/src/weights/mod.rs | 5 +- rollup/runtime/src/weights/pallet_rolldown.rs | 598 +++++++++++ scripts/run_benchmarks.sh | 43 +- 14 files changed, 2554 insertions(+), 250 deletions(-) create mode 100644 pallets/rolldown/src/benchmarking.rs create mode 100644 pallets/rolldown/src/weights.rs create mode 100644 rollup/runtime/src/weights/pallet_rolldown.rs diff --git a/Cargo.lock b/Cargo.lock index b97cba15c..b28886773 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2420,7 +2420,7 @@ dependencies = [ [[package]] name = "extrinsic-shuffler" version = "4.0.0-dev" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "derive_more", "log", @@ -2603,7 +2603,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "12.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "parity-scale-codec", ] @@ -2626,7 +2626,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-support", "frame-support-procedural", @@ -2651,7 +2651,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "32.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "Inflector", "array-bytes 6.2.3", @@ -2705,7 +2705,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "aquamarine 0.3.3", "extrinsic-shuffler", @@ -2739,7 +2739,7 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.35.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "futures", "indicatif", @@ -2761,7 +2761,7 @@ dependencies = [ [[package]] name = "frame-support" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "aquamarine 0.5.0", "array-bytes 6.2.3", @@ -2803,7 +2803,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "23.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "Inflector", "cfg-expr", @@ -2822,7 +2822,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "10.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.2.0", @@ -2834,7 +2834,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "11.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "proc-macro2", "quote", @@ -2844,7 +2844,7 @@ dependencies = [ [[package]] name = "frame-system" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "cfg-if", "docify", @@ -2866,7 +2866,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-benchmarking", "frame-support", @@ -2881,7 +2881,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "26.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "parity-scale-codec", "sp-api", @@ -2890,7 +2890,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.34.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-support", "parity-scale-codec", @@ -3500,7 +3500,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite 0.2.14", - "socket2 0.5.7", + "socket2 0.4.10", "tokio", "tower-service", "tracing", @@ -4763,7 +4763,7 @@ dependencies = [ [[package]] name = "mangata-support" version = "0.1.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-support", "mangata-types", @@ -4776,7 +4776,7 @@ dependencies = [ [[package]] name = "mangata-types" version = "0.1.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "parity-scale-codec", "scale-info", @@ -5462,7 +5462,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "27.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-support", "frame-system", @@ -5479,7 +5479,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-support", "frame-system", @@ -5494,7 +5494,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-benchmarking", "frame-support", @@ -5518,7 +5518,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "docify", "frame-benchmarking", @@ -5566,7 +5566,7 @@ dependencies = [ [[package]] name = "pallet-collective-mangata" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-benchmarking", "frame-support", @@ -5637,7 +5637,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-benchmarking", "frame-support", @@ -5660,7 +5660,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5729,7 +5729,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-benchmarking", "frame-support", @@ -5831,7 +5831,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-benchmarking", "frame-support", @@ -5864,6 +5864,7 @@ dependencies = [ "mockall", "orml-tokens", "orml-traits", + "pallet-sequencer-staking", "parity-scale-codec", "rs_merkle", "scale-info", @@ -5907,7 +5908,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-benchmarking", "frame-support", @@ -5930,7 +5931,7 @@ dependencies = [ [[package]] name = "pallet-sudo-mangata" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "docify", "frame-benchmarking", @@ -5964,7 +5965,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "27.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "docify", "frame-benchmarking", @@ -5984,7 +5985,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-support", "frame-system", @@ -6000,7 +6001,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "30.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -6016,7 +6017,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -6028,7 +6029,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "27.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "docify", "frame-benchmarking", @@ -6047,7 +6048,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-benchmarking", "frame-support", @@ -6063,7 +6064,7 @@ dependencies = [ [[package]] name = "pallet-utility-mangata" version = "4.0.0-dev" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-benchmarking", "frame-support", @@ -6079,7 +6080,7 @@ dependencies = [ [[package]] name = "pallet-vesting-mangata" version = "4.0.0-dev" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-benchmarking", "frame-support", @@ -6166,8 +6167,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9" dependencies = [ "bitcoin_hashes", - "rand 0.8.5", - "rand_core 0.6.4", + "rand 0.7.3", + "rand_core 0.5.1", "serde", "unicode-normalization", ] @@ -7893,7 +7894,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "23.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "log", "sp-core", @@ -7904,7 +7905,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship-ver" version = "0.10.0-dev" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "aquamarine 0.3.3", "futures", @@ -7930,7 +7931,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.33.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "parity-scale-codec", "sp-api", @@ -7945,7 +7946,7 @@ dependencies = [ [[package]] name = "sc-block-builder-ver" version = "0.33.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "aquamarine 0.1.12", "extrinsic-shuffler", @@ -7965,7 +7966,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "27.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "array-bytes 6.2.3", "docify", @@ -7991,7 +7992,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "11.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -8002,7 +8003,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.36.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "array-bytes 6.2.3", "chrono", @@ -8043,7 +8044,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "fnv", "futures", @@ -8070,7 +8071,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.35.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "hash-db", "kvdb", @@ -8096,7 +8097,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.33.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-trait", "futures", @@ -8121,7 +8122,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.34.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-trait", "futures", @@ -8150,7 +8151,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.19.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "ahash 0.8.11", "array-bytes 6.2.3", @@ -8193,7 +8194,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.33.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-trait", "futures", @@ -8218,7 +8219,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.32.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -8241,7 +8242,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.29.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "polkavm", "sc-allocator", @@ -8254,7 +8255,7 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.29.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "log", "polkavm", @@ -8265,7 +8266,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.29.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "anyhow", "cfg-if", @@ -8283,7 +8284,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.33.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "ansi_term", "futures", @@ -8300,7 +8301,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "25.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.3", @@ -8314,7 +8315,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.4.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "array-bytes 4.2.0", "arrayvec 0.7.6", @@ -8343,7 +8344,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.34.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -8386,7 +8387,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.33.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-channel", "cid", @@ -8406,7 +8407,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.33.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -8423,7 +8424,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.34.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "ahash 0.8.11", "futures", @@ -8442,7 +8443,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.33.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -8463,7 +8464,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.33.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -8499,7 +8500,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.33.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "array-bytes 6.2.3", "futures", @@ -8518,7 +8519,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "29.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "array-bytes 6.2.3", "bytes", @@ -8552,7 +8553,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.17.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8561,7 +8562,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "29.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "futures", "jsonrpsee", @@ -8593,7 +8594,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.33.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -8613,7 +8614,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "11.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "futures", "governor", @@ -8631,7 +8632,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.34.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "array-bytes 6.2.3", "futures", @@ -8662,7 +8663,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.35.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-trait", "directories", @@ -8727,7 +8728,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.30.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "log", "parity-scale-codec", @@ -8738,7 +8739,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "27.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "derive_more", "futures", @@ -8759,7 +8760,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "15.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "chrono", "futures", @@ -8778,7 +8779,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "ansi_term", "chrono", @@ -8808,7 +8809,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -8819,7 +8820,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-trait", "futures", @@ -8846,7 +8847,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-trait", "futures", @@ -8862,7 +8863,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "14.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-channel", "futures", @@ -9408,7 +9409,7 @@ dependencies = [ [[package]] name = "sp-api" version = "26.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "hash-db", "log", @@ -9430,7 +9431,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "15.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "Inflector", "blake2 0.10.6", @@ -9444,7 +9445,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "30.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "parity-scale-codec", "scale-info", @@ -9457,7 +9458,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "23.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "integer-sqrt", "num-traits", @@ -9489,7 +9490,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "26.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "sp-api", "sp-inherents", @@ -9500,7 +9501,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "futures", "log", @@ -9518,7 +9519,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.32.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-trait", "futures", @@ -9533,7 +9534,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.32.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-trait", "parity-scale-codec", @@ -9550,7 +9551,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.32.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-trait", "parity-scale-codec", @@ -9569,7 +9570,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "13.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "finality-grandpa", "log", @@ -9587,7 +9588,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.32.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "parity-scale-codec", "scale-info", @@ -9599,7 +9600,7 @@ dependencies = [ [[package]] name = "sp-core" version = "28.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "array-bytes 6.2.3", "bandersnatch_vrfs", @@ -9667,7 +9668,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "blake2b_simd", "byteorder", @@ -9680,7 +9681,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "quote", "sp-crypto-hashing", @@ -9690,7 +9691,7 @@ dependencies = [ [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "kvdb", "parking_lot 0.12.3", @@ -9699,7 +9700,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "proc-macro2", "quote", @@ -9709,7 +9710,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "environmental", "parity-scale-codec", @@ -9720,7 +9721,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.7.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "serde_json", "sp-api", @@ -9731,7 +9732,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "26.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9745,7 +9746,7 @@ dependencies = [ [[package]] name = "sp-io" version = "30.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "bytes", "ed25519-dalek", @@ -9771,7 +9772,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "31.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "sp-core", "sp-runtime", @@ -9781,7 +9782,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.34.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -9792,7 +9793,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "thiserror", "zstd 0.12.4", @@ -9801,7 +9802,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.6.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -9812,7 +9813,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.4.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "parity-scale-codec", "scale-info", @@ -9824,7 +9825,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "26.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "sp-api", "sp-core", @@ -9834,7 +9835,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "backtrace", "lazy_static", @@ -9844,7 +9845,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "26.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "rustc-hash", "serde", @@ -9854,7 +9855,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "31.0.1" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "alloy-primitives", "alloy-sol-types", @@ -9885,7 +9886,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -9904,7 +9905,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "Inflector", "expander", @@ -9917,7 +9918,7 @@ dependencies = [ [[package]] name = "sp-session" version = "27.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "parity-scale-codec", "scale-info", @@ -9932,7 +9933,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "26.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9946,7 +9947,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.35.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "hash-db", "log", @@ -9967,7 +9968,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "10.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "aes-gcm", "curve25519-dalek 4.1.1", @@ -9992,12 +9993,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -10010,7 +10011,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "26.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-trait", "parity-scale-codec", @@ -10023,7 +10024,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "parity-scale-codec", "sp-std", @@ -10035,7 +10036,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "26.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "sp-api", "sp-runtime", @@ -10044,7 +10045,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "26.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-trait", "parity-scale-codec", @@ -10059,7 +10060,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "29.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "ahash 0.8.11", "hash-db", @@ -10083,7 +10084,7 @@ dependencies = [ [[package]] name = "sp-ver" version = "4.0.0-dev" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-trait", "parity-scale-codec", @@ -10100,7 +10101,7 @@ dependencies = [ [[package]] name = "sp-version" version = "29.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -10117,7 +10118,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "13.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -10128,7 +10129,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -10141,7 +10142,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "27.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -10300,7 +10301,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.4.7" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "hmac 0.12.1", "pbkdf2", @@ -10312,12 +10313,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "hyper", "log", @@ -10329,7 +10330,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.33.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-trait", "jsonrpsee", @@ -10342,7 +10343,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "array-bytes 6.2.3", "async-trait", @@ -10369,7 +10370,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "array-bytes 6.2.3", "frame-executive", @@ -10412,7 +10413,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "futures", "sc-block-builder", @@ -10431,7 +10432,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "17.0.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "build-helper", "cargo_metadata", @@ -11047,7 +11048,7 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "try-runtime-cli" version = "0.38.0" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "async-trait", "clap", @@ -11094,7 +11095,7 @@ checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", "digest 0.10.7", - "rand 0.8.5", + "rand 0.7.3", "static_assertions", ] @@ -11233,7 +11234,7 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "ver-api" version = "4.0.0-dev" -source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#e34e375e0f740a2ea7262946d0b52a9f8d26c8c3" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" dependencies = [ "derive_more", "frame-support", @@ -12204,3 +12205,8 @@ dependencies = [ "cc", "pkg-config", ] + +[[patch.unused]] +name = "sp-crypto-ec-utils" +version = "0.10.0" +source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" diff --git a/Cargo.toml b/Cargo.toml index f3508ae9d..8929112a9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -192,3 +192,282 @@ ver-api = { git = "https://github.com/gasp-xyz/polkadot-sdk", branch = "eth-roll [patch."https://github.com/paritytech/polkadot-sdk"] # ... which satisfies git dependency `sp-crypto-ec-utils` of package `sp-ark-bls12-381 v0.4.2 (https://github.com/paritytech/arkworks-substrate#caa2eed7)` sp-crypto-ec-utils = { git = "https://github.com/gasp-xyz/polkadot-sdk", branch = "eth-rollup-develop" } + +#polkdadot sdk +[patch."https://github.com/gasp-xyz/polkadot-sdk"] +extrinsic-shuffler = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +fork-tree = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +frame-benchmarking = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +frame-benchmarking-cli = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +frame-executive = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +frame-support = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +frame-support-procedural = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +frame-support-procedural-tools = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +frame-support-procedural-tools-derive = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +frame-system = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +frame-system-benchmarking = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +frame-system-rpc-runtime-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +frame-try-runtime = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +mangata-support = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +mangata-types = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-aura = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-authorship = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-babe = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-balances = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-collective-mangata = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-grandpa = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-identity = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-membership = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-proxy = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-session = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-sudo-mangata = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-timestamp = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-transaction-payment = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-transaction-payment-rpc = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-treasury = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-utility = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-utility-mangata = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +pallet-vesting-mangata = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-allocator = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-basic-authorship-ver = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-block-builder = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-block-builder-ver = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-chain-spec = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-chain-spec-derive = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-cli = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-client-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-client-db = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-consensus = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-consensus-aura = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-consensus-grandpa = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-consensus-slots = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-executor = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-executor-common = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-executor-polkavm = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-executor-wasmtime = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-informant = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-keystore = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-mixnet = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-network = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-network-bitswap = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-network-common = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-network-gossip = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-network-light = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-network-sync = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-network-transactions = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-offchain = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-proposer-metrics = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-rpc = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-rpc-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-rpc-server = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-rpc-spec-v2 = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-service = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-state-db = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-sysinfo = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-telemetry = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-tracing = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-tracing-proc-macro = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-transaction-pool = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-transaction-pool-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sc-utils = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-api-proc-macro = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-application-crypto = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-arithmetic = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-block-builder = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-blockchain = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-consensus = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-consensus-aura = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-consensus-babe = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-consensus-grandpa = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-consensus-slots = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-core = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-crypto-hashing = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-crypto-hashing-proc-macro = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-database = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-debug-derive = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-externalities = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-genesis-builder = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-inherents = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-io = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-keyring = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-keystore = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-maybe-compressed-blob = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-metadata-ir = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-mixnet = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-offchain = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-panic-handler = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-rpc = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-runtime = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-runtime-interface = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-runtime-interface-proc-macro = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-session = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-staking = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-state-machine = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-statement-store = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-std = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-storage = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-timestamp = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-tracing = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-transaction-pool = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-transaction-storage-proof = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-trie = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-ver = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-version = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-version-proc-macro = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-wasm-interface = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +sp-weights = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +substrate-bip39 = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +substrate-build-script-utils = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +substrate-prometheus-endpoint = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +substrate-test-client = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +substrate-test-runtime = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +substrate-test-runtime-client = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +substrate-wasm-builder = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +try-runtime-cli = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +ver-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } + +# ... which satisfies git dependency `sp-crypto-ec-utils` of package `sp-ark-bls12-381 v0.4.2 (https://github.com/paritytech/arkworks-substrate#caa2eed7)` +sp-crypto-ec-utils = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } + +# # patch generated by './scripts/dev_manifest.sh ../polkadot-sdk/' +# [patch."https://github.com/gasp-xyz/polkadot-sdk"] +# substrate-wasm-builder = { path = "../polkadot-sdk/substrate/utils/wasm-builder" } +# frame-benchmarking-cli = { path = "../polkadot-sdk/substrate/utils/frame/benchmarking-cli" } +# substrate-bip39 = { path = "../polkadot-sdk/substrate/utils/substrate-bip39" } +# substrate-prometheus-endpoint = { path = "../polkadot-sdk/substrate/utils/prometheus" } +# fork-tree = { path = "../polkadot-sdk/substrate/utils/fork-tree" } +# substrate-build-script-utils = { path = "../polkadot-sdk/substrate/utils/build-script-utils" } +# substrate-test-client = { path = "../polkadot-sdk/substrate/test-utils/client" } +# substrate-test-runtime = { path = "../polkadot-sdk/substrate/test-utils/runtime" } +# substrate-test-runtime-client = { path = "../polkadot-sdk/substrate/test-utils/runtime/client" } +# frame-try-runtime = { path = "../polkadot-sdk/substrate/frame/try-runtime" } +# pallet-timestamp = { path = "../polkadot-sdk/substrate/frame/timestamp" } +# pallet-membership = { path = "../polkadot-sdk/substrate/frame/membership" } +# pallet-sudo-mangata = { path = "../polkadot-sdk/substrate/frame/sudo-mangata" } +# pallet-treasury = { path = "../polkadot-sdk/substrate/frame/treasury" } +# pallet-collective-mangata = { path = "../polkadot-sdk/substrate/frame/collective-mangata" } +# frame-system = { path = "../polkadot-sdk/substrate/frame/system" } +# frame-system-benchmarking = { path = "../polkadot-sdk/substrate/frame/system/benchmarking" } +# frame-system-rpc-runtime-api = { path = "../polkadot-sdk/substrate/frame/system/rpc/runtime-api" } +# mangata-support = { path = "../polkadot-sdk/substrate/frame/mangata-support" } +# pallet-balances = { path = "../polkadot-sdk/substrate/frame/balances" } +# pallet-aura = { path = "../polkadot-sdk/substrate/frame/aura" } +# pallet-vesting-mangata = { path = "../polkadot-sdk/substrate/frame/vesting-mangata" } +# pallet-session = { path = "../polkadot-sdk/substrate/frame/session" } +# pallet-utility-mangata = { path = "../polkadot-sdk/substrate/frame/utility-mangata" } +# pallet-identity = { path = "../polkadot-sdk/substrate/frame/identity" } +# pallet-utility = { path = "../polkadot-sdk/substrate/frame/utility" } +# pallet-authorship = { path = "../polkadot-sdk/substrate/frame/authorship" } +# frame-executive = { path = "../polkadot-sdk/substrate/frame/executive" } +# pallet-babe = { path = "../polkadot-sdk/substrate/frame/babe" } +# pallet-transaction-payment = { path = "../polkadot-sdk/substrate/frame/transaction-payment" } +# pallet-transaction-payment-rpc = { path = "../polkadot-sdk/substrate/frame/transaction-payment/rpc" } +# pallet-transaction-payment-rpc-runtime-api = { path = "../polkadot-sdk/substrate/frame/transaction-payment/rpc/runtime-api" } +# pallet-proxy = { path = "../polkadot-sdk/substrate/frame/proxy" } +# pallet-grandpa = { path = "../polkadot-sdk/substrate/frame/grandpa" } +# frame-support = { path = "../polkadot-sdk/substrate/frame/support" } +# frame-support-procedural = { path = "../polkadot-sdk/substrate/frame/support/procedural" } +# frame-support-procedural-tools = { path = "../polkadot-sdk/substrate/frame/support/procedural/tools" } +# frame-support-procedural-tools-derive = { path = "../polkadot-sdk/substrate/frame/support/procedural/tools/derive" } +# frame-benchmarking = { path = "../polkadot-sdk/substrate/frame/benchmarking" } +# sp-application-crypto = { path = "../polkadot-sdk/substrate/primitives/application-crypto" } +# sp-timestamp = { path = "../polkadot-sdk/substrate/primitives/timestamp" } +# sp-crypto-hashing = { path = "../polkadot-sdk/substrate/primitives/crypto/hashing" } +# sp-crypto-hashing-proc-macro = { path = "../polkadot-sdk/substrate/primitives/crypto/hashing/proc-macro" } +# sp-metadata-ir = { path = "../polkadot-sdk/substrate/primitives/metadata-ir" } +# sp-state-machine = { path = "../polkadot-sdk/substrate/primitives/state-machine" } +# sp-tracing = { path = "../polkadot-sdk/substrate/primitives/tracing" } +# sp-mixnet = { path = "../polkadot-sdk/substrate/primitives/mixnet" } +# sp-wasm-interface = { path = "../polkadot-sdk/substrate/primitives/wasm-interface" } +# sp-ver = { path = "../polkadot-sdk/substrate/primitives/ver" } +# sp-blockchain = { path = "../polkadot-sdk/substrate/primitives/blockchain" } +# sp-block-builder = { path = "../polkadot-sdk/substrate/primitives/block-builder" } +# sp-storage = { path = "../polkadot-sdk/substrate/primitives/storage" } +# sp-session = { path = "../polkadot-sdk/substrate/primitives/session" } +# sp-arithmetic = { path = "../polkadot-sdk/substrate/primitives/arithmetic" } +# sp-consensus = { path = "../polkadot-sdk/substrate/primitives/consensus/common" } +# sp-consensus-aura = { path = "../polkadot-sdk/substrate/primitives/consensus/aura" } +# sp-consensus-babe = { path = "../polkadot-sdk/substrate/primitives/consensus/babe" } +# sp-consensus-slots = { path = "../polkadot-sdk/substrate/primitives/consensus/slots" } +# sp-consensus-grandpa = { path = "../polkadot-sdk/substrate/primitives/consensus/grandpa" } +# sp-runtime-interface = { path = "../polkadot-sdk/substrate/primitives/runtime-interface" } +# sp-runtime-interface-proc-macro = { path = "../polkadot-sdk/substrate/primitives/runtime-interface/proc-macro" } +# ver-api = { path = "../polkadot-sdk/substrate/primitives/ver-api" } +# sp-keystore = { path = "../polkadot-sdk/substrate/primitives/keystore" } +# mangata-types = { path = "../polkadot-sdk/substrate/primitives/mangata-types" } +# sp-trie = { path = "../polkadot-sdk/substrate/primitives/trie" } +# sp-transaction-pool = { path = "../polkadot-sdk/substrate/primitives/transaction-pool" } +# sp-api = { path = "../polkadot-sdk/substrate/primitives/api" } +# sp-api-proc-macro = { path = "../polkadot-sdk/substrate/primitives/api/proc-macro" } +# sp-std = { path = "../polkadot-sdk/substrate/primitives/std" } +# sp-keyring = { path = "../polkadot-sdk/substrate/primitives/keyring" } +# sp-version = { path = "../polkadot-sdk/substrate/primitives/version" } +# sp-version-proc-macro = { path = "../polkadot-sdk/substrate/primitives/version/proc-macro" } +# sp-weights = { path = "../polkadot-sdk/substrate/primitives/weights" } +# sp-core = { path = "../polkadot-sdk/substrate/primitives/core" } +# sp-maybe-compressed-blob = { path = "../polkadot-sdk/substrate/primitives/maybe-compressed-blob" } +# extrinsic-shuffler = { path = "../polkadot-sdk/substrate/primitives/shuffler" } +# sp-panic-handler = { path = "../polkadot-sdk/substrate/primitives/panic-handler" } +# sp-inherents = { path = "../polkadot-sdk/substrate/primitives/inherents" } +# sp-transaction-storage-proof = { path = "../polkadot-sdk/substrate/primitives/transaction-storage-proof" } +# sp-runtime = { path = "../polkadot-sdk/substrate/primitives/runtime" } +# sp-io = { path = "../polkadot-sdk/substrate/primitives/io" } +# sp-database = { path = "../polkadot-sdk/substrate/primitives/database" } +# sp-debug-derive = { path = "../polkadot-sdk/substrate/primitives/debug-derive" } +# sp-staking = { path = "../polkadot-sdk/substrate/primitives/staking" } +# sp-rpc = { path = "../polkadot-sdk/substrate/primitives/rpc" } +# sp-offchain = { path = "../polkadot-sdk/substrate/primitives/offchain" } +# sp-statement-store = { path = "../polkadot-sdk/substrate/primitives/statement-store" } +# sp-externalities = { path = "../polkadot-sdk/substrate/primitives/externalities" } +# sp-genesis-builder = { path = "../polkadot-sdk/substrate/primitives/genesis-builder" } +# sc-allocator = { path = "../polkadot-sdk/substrate/client/allocator" } +# sc-rpc-spec-v2 = { path = "../polkadot-sdk/substrate/client/rpc-spec-v2" } +# sc-utils = { path = "../polkadot-sdk/substrate/client/utils" } +# sc-informant = { path = "../polkadot-sdk/substrate/client/informant" } +# sc-basic-authorship-ver = { path = "../polkadot-sdk/substrate/client/basic-authorship-ver" } +# sc-tracing = { path = "../polkadot-sdk/substrate/client/tracing" } +# sc-tracing-proc-macro = { path = "../polkadot-sdk/substrate/client/tracing/proc-macro" } +# sc-mixnet = { path = "../polkadot-sdk/substrate/client/mixnet" } +# sc-state-db = { path = "../polkadot-sdk/substrate/client/state-db" } +# sc-executor = { path = "../polkadot-sdk/substrate/client/executor" } +# sc-executor-polkavm = { path = "../polkadot-sdk/substrate/client/executor/polkavm" } +# sc-executor-wasmtime = { path = "../polkadot-sdk/substrate/client/executor/wasmtime" } +# sc-executor-common = { path = "../polkadot-sdk/substrate/client/executor/common" } +# sc-block-builder = { path = "../polkadot-sdk/substrate/client/block-builder" } +# sc-telemetry = { path = "../polkadot-sdk/substrate/client/telemetry" } +# sc-consensus = { path = "../polkadot-sdk/substrate/client/consensus/common" } +# sc-consensus-aura = { path = "../polkadot-sdk/substrate/client/consensus/aura" } +# sc-consensus-slots = { path = "../polkadot-sdk/substrate/client/consensus/slots" } +# sc-consensus-grandpa = { path = "../polkadot-sdk/substrate/client/consensus/grandpa" } +# sc-keystore = { path = "../polkadot-sdk/substrate/client/keystore" } +# sc-block-builder-ver = { path = "../polkadot-sdk/substrate/client/block-builder-ver" } +# sc-proposer-metrics = { path = "../polkadot-sdk/substrate/client/proposer-metrics" } +# sc-transaction-pool = { path = "../polkadot-sdk/substrate/client/transaction-pool" } +# sc-transaction-pool-api = { path = "../polkadot-sdk/substrate/client/transaction-pool/api" } +# sc-network = { path = "../polkadot-sdk/substrate/client/network" } +# sc-network-common = { path = "../polkadot-sdk/substrate/client/network/common" } +# sc-network-bitswap = { path = "../polkadot-sdk/substrate/client/network/bitswap" } +# sc-network-sync = { path = "../polkadot-sdk/substrate/client/network/sync" } +# sc-network-light = { path = "../polkadot-sdk/substrate/client/network/light" } +# sc-network-transactions = { path = "../polkadot-sdk/substrate/client/network/transactions" } +# sc-client-api = { path = "../polkadot-sdk/substrate/client/api" } +# sc-network-gossip = { path = "../polkadot-sdk/substrate/client/network-gossip" } +# sc-chain-spec = { path = "../polkadot-sdk/substrate/client/chain-spec" } +# sc-chain-spec-derive = { path = "../polkadot-sdk/substrate/client/chain-spec/derive" } +# sc-rpc-api = { path = "../polkadot-sdk/substrate/client/rpc-api" } +# sc-cli = { path = "../polkadot-sdk/substrate/client/cli" } +# sc-service = { path = "../polkadot-sdk/substrate/client/service" } +# sc-rpc-server = { path = "../polkadot-sdk/substrate/client/rpc-servers" } +# sc-sysinfo = { path = "../polkadot-sdk/substrate/client/sysinfo" } +# sc-client-db = { path = "../polkadot-sdk/substrate/client/db" } +# sc-rpc = { path = "../polkadot-sdk/substrate/client/rpc" } +# sc-offchain = { path = "../polkadot-sdk/substrate/client/offchain" } + +# # patch generated by './scripts/dev_manifest.sh ../open-runtime-module-library/' +# [patch."https://github.com/gasp-xyz/open-runtime-module-library"] +# orml-tokens = { path = "../open-runtime-module-library/tokens" } +# orml-asset-registry = { path = "../open-runtime-module-library/asset-registry" } +# orml-traits = { path = "../open-runtime-module-library/traits" } +# orml-utilities = { path = "../open-runtime-module-library/utilities" } diff --git a/pallets/parachain-staking/src/benchmarks.rs b/pallets/parachain-staking/src/benchmarks.rs index 7270e5f60..b3b12c43c 100644 --- a/pallets/parachain-staking/src/benchmarks.rs +++ b/pallets/parachain-staking/src/benchmarks.rs @@ -1,19 +1,3 @@ -// Copyright 2019-2021 PureStake Inc. -// This file is part of Moonbeam. - -// Moonbeam is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// Moonbeam is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with Moonbeam. If not, see . - #![cfg(feature = "runtime-benchmarks")] //! Benchmarking diff --git a/pallets/rolldown/Cargo.toml b/pallets/rolldown/Cargo.toml index e3e367536..33fbebe62 100644 --- a/pallets/rolldown/Cargo.toml +++ b/pallets/rolldown/Cargo.toml @@ -33,6 +33,8 @@ sp-crypto-hashing = { workspace = true, default-features = false } orml-tokens = { workspace = true, default-features = false } +pallet-sequencer-staking = { path = "../sequencer-staking", default-features = false } + [dev-dependencies] env_logger.workspace = true lazy_static.workspace = true @@ -62,6 +64,7 @@ std = [ "sp-std/std", "sp-core/std", "sp-runtime/std", + "pallet-sequencer-staking/std", ] runtime-benchmarks = ["frame-benchmarking/runtime-benchmarks"] diff --git a/pallets/rolldown/src/benchmarking.rs b/pallets/rolldown/src/benchmarking.rs new file mode 100644 index 000000000..6dd7e3c89 --- /dev/null +++ b/pallets/rolldown/src/benchmarking.rs @@ -0,0 +1,934 @@ +//! Rolldown pallet benchmarking. + +use super::*; +use crate::{messages::L1UpdateRequest, Pallet as Rolldown}; +use frame_benchmarking::{v2::*, whitelisted_caller}; +use frame_support::{ + assert_ok, + dispatch::{DispatchErrorWithPostInfo, DispatchResultWithPostInfo}, + traits::OriginTrait, +}; +use frame_system::RawOrigin; +use hex_literal::hex; +use sp_core::{Get, H256}; +use sp_std::{marker::PhantomData, prelude::*}; + +// TODO +// Dedup this +pub(crate) struct L1UpdateBuilder(Option, Vec); + +impl L1UpdateBuilder { + pub fn new() -> Self { + Self(None, Default::default()) + } + + pub fn with_offset(mut self, offset: u128) -> Self { + self.0 = Some(offset); + self + } + + pub fn with_requests(mut self, requests: Vec) -> Self { + self.1 = requests; + self + } + + pub fn build(self) -> messages::L1Update { + let mut update = messages::L1Update::default(); + + for (id, r) in self.1.into_iter().enumerate() { + let rid = if let Some(offset) = self.0 { (id as u128) + offset } else { r.id() }; + match r { + L1UpdateRequest::Deposit(mut d) => { + d.requestId.id = rid; + update.pendingDeposits.push(d); + }, + L1UpdateRequest::CancelResolution(mut c) => { + c.requestId.id = rid; + update.pendingCancelResolutions.push(c); + }, + } + } + update + } +} + +impl Default for L1UpdateBuilder { + fn default() -> Self { + Self(Some(1u128), Default::default()) + } +} + +#[benchmarks(where T::AccountId: From<[u8;20]>, BalanceOf: From, CurrencyIdOf: From, ::ChainId: From)] +mod benchmarks { + use super::*; + + const MANUAL_BATCH_EXTRA_FEE: u128 = 700u128; + + const TOKEN_ID: u32 = 1u32; // ETH token + + const WITHDRAWAL_AMOUNT: u128 = 1000u128; + const MINT_AMOUNT: u128 = 1_000_000_000__000_000_000_000_000_000u128; + const FERRY_TIP_NONE: Option = None; + const FERRY_TIP: u128 = 101u128; + const STAKE_AMOUNT: u128 = 1_000_000__000_000_000_000_000_000u128; // If SlashFineAmount in seq staking is increased this may also need to be + const DEPOSIT_AMOUNT: u128 = 1_000u128; + + const ETH_RECIPIENT_ACCOUNT: [u8; 20] = hex!("0000000000000000000000000000000000000004"); + const DUMMY_TOKEN_ADDRESS: [u8; 20] = hex!("0000000000000000000000000000000000000030"); + + const FERRY_ACCOUNT: [u8; 20] = hex!("0000000000000000000000000000000000000040"); + const USER_ACCOUNT: [u8; 20] = hex!("0000000000000000000000000000000000000005"); + const SEQUENCER_ACCOUNT: [u8; 20] = hex!("0000000000000000000000000000000000000010"); + const SEQUENCER_ACCOUNT_2: [u8; 20] = hex!("0000000000000000000000000000000000000011"); + const SEQUENCER_ALIAS_ACCOUNT: [u8; 20] = hex!("0000000000000000000000000000000000000020"); + + const FIRST_SCHEDULED_UPDATE_ID: u128 = 1u128; + const FIRST_BATCH_ID: u128 = 1u128; + const FIRST_REQUEST_ID: u128 = 1u128; + const DUMMY_REQUEST_ID: u128 = 77u128; + + trait ToBalance { + fn to_balance(self) -> BalanceOf; + } + + impl ToBalance for u128 { + fn to_balance(self) -> BalanceOf { + self.try_into().ok().expect("u128 should fit into Balance type") + } + } + + fn setup_whitelisted_account() -> Result { + let caller: T::AccountId = whitelisted_caller(); + T::Tokens::mint(T::NativeCurrencyId::get(), &caller, MINT_AMOUNT.to_balance::())?; + Ok(caller) + } + + fn setup_account(who: T::AccountId) -> DispatchResultWithPostInfo + where + T::AccountId: From<[u8; 20]>, + { + T::Tokens::mint(T::NativeCurrencyId::get(), &who, MINT_AMOUNT.to_balance::())?; + T::Tokens::mint(TOKEN_ID.into(), &who, MINT_AMOUNT.to_balance::())?; + Ok(().into()) + } + + fn setup_and_do_withdrawal(who: T::AccountId) -> DispatchResultWithPostInfo + where + T::AccountId: From<[u8; 20]>, + { + T::Tokens::mint(TOKEN_ID.into(), &who, MINT_AMOUNT.to_balance::())?; + let (l1_aset_chain, l1_asset_address) = + match T::AssetRegistryProvider::get_asset_l1_id(TOKEN_ID.into()) + .ok_or(Error::::L1AssetNotFound)? + { + L1Asset::Ethereum(v) => (crate::messages::Chain::Ethereum, v), + L1Asset::Arbitrum(v) => (crate::messages::Chain::Arbitrum, v), + }; + Rolldown::::withdraw( + RawOrigin::Signed(who).into(), + l1_aset_chain.into(), + ETH_RECIPIENT_ACCOUNT, + l1_asset_address, + WITHDRAWAL_AMOUNT, + FERRY_TIP_NONE, + )?; + Ok(().into()) + } + + fn setup_sequencer( + sequencer: T::AccountId, + sequencer_alias: Option, + should_be_active: bool, + should_be_selected: bool, + ) -> DispatchResultWithPostInfo + where + ::ChainId: From, + T::AccountId: From<[u8; 20]>, + { + T::Tokens::mint(TOKEN_ID.into(), &sequencer, MINT_AMOUNT.to_balance::())?; + T::Tokens::mint(T::NativeCurrencyId::get(), &sequencer, MINT_AMOUNT.to_balance::())?; + if let Some(ref sequencer_alias) = sequencer_alias { + T::Tokens::mint(TOKEN_ID.into(), &sequencer_alias, MINT_AMOUNT.to_balance::())?; + T::Tokens::mint( + T::NativeCurrencyId::get(), + &sequencer_alias, + MINT_AMOUNT.to_balance::(), + )?; + } + let (l1_aset_chain, l1_asset_address) = + get_chain_and_address_for_asset_id::(TOKEN_ID.into())?; + pallet_sequencer_staking::Pallet::::provide_sequencer_stake( + RawOrigin::Signed(sequencer.clone()).into(), + l1_aset_chain.into(), + STAKE_AMOUNT.try_into().ok().expect("u128 should fit into Balance type"), + sequencer_alias, + pallet_sequencer_staking::StakeAction::StakeOnly, + )?; + + if should_be_active { + pallet_sequencer_staking::ActiveSequencers::::try_mutate(|active_sequencers| { + active_sequencers + .entry(l1_aset_chain.into()) + .or_default() + .try_push(sequencer.clone()) + .expect("ActiveSequencers push works"); + Ok::<(), DispatchError>(()) + })?; + Rolldown::::new_sequencer_active(l1_aset_chain.into(), &sequencer) + } + + if should_be_selected { + pallet_sequencer_staking::SelectedSequencer::::mutate(|selected| { + selected.insert(l1_aset_chain.into(), sequencer.into()) + }); + } + + Ok(().into()) + } + + fn get_chain_and_address_for_asset_id( + asset_id: CurrencyIdOf, + ) -> Result<(crate::messages::Chain, [u8; 20]), DispatchErrorWithPostInfo> { + let (l1_aset_chain, l1_asset_address) = + match T::AssetRegistryProvider::get_asset_l1_id(TOKEN_ID.into()) + .ok_or(Error::::L1AssetNotFound)? + { + L1Asset::Ethereum(v) => (crate::messages::Chain::Ethereum, v), + L1Asset::Arbitrum(v) => (crate::messages::Chain::Arbitrum, v), + }; + Ok((l1_aset_chain, l1_asset_address)) + } + + #[benchmark] + fn set_manual_batch_extra_fee() -> Result<(), BenchmarkError> { + assert_eq!(ManualBatchExtraFee::::get(), BalanceOf::::zero()); + + #[extrinsic_call] + _(RawOrigin::Root, MANUAL_BATCH_EXTRA_FEE.to_balance::()); + + assert_eq!(ManualBatchExtraFee::::get(), MANUAL_BATCH_EXTRA_FEE.to_balance::()); + + Ok(()) + } + + // Note that even though r/w on L2RequestsBatchLast would count as 1, since the value is unbounded each r/w might be far more expensive than expected + #[benchmark] + fn create_batch() -> Result<(), BenchmarkError> { + setup_account::(USER_ACCOUNT.into())?; + setup_and_do_withdrawal::(USER_ACCOUNT.into())?; + setup_sequencer::( + SEQUENCER_ACCOUNT.into(), + Some(SEQUENCER_ALIAS_ACCOUNT.into()), + false, + false, + )?; + + ManualBatchExtraFee::::set(MANUAL_BATCH_EXTRA_FEE.to_balance::()); + + let (l1_aset_chain, l1_asset_address) = + get_chain_and_address_for_asset_id::(TOKEN_ID.into())?; + assert!( + L2RequestsBatch::::get::<(::ChainId, _)>(( + l1_aset_chain.into(), + FIRST_BATCH_ID + )) + .is_none(), + "BEFORE L2RequestsBatch {:?} chain {:?} batch should be uninit", + l1_aset_chain, + FIRST_BATCH_ID + ); + assert!( + L2RequestsBatchLast::::get().get(&l1_aset_chain.into()).is_none(), + "BEFORE L2RequestsBatchLast {:?} chain should be uninit", + l1_aset_chain + ); + + let acc: T::AccountId = SEQUENCER_ALIAS_ACCOUNT.into(); + whitelist_account!(acc); + #[extrinsic_call] + _( + RawOrigin::Signed(SEQUENCER_ALIAS_ACCOUNT.into()), + l1_aset_chain.into(), + Some(SEQUENCER_ACCOUNT.into()), + ); + + assert!( + L2RequestsBatch::::get::<(::ChainId, _)>(( + l1_aset_chain.into(), + FIRST_BATCH_ID + )) + .is_some(), + "AFTER L2RequestsBatch {:?} chain {:?} batch should be init", + l1_aset_chain, + FIRST_BATCH_ID + ); + assert!( + L2RequestsBatchLast::::get().get(&l1_aset_chain.into()).is_some(), + "BEFORE L2RequestsBatchLast {:?} chain should be init", + l1_aset_chain + ); + + Ok(()) + } + + // Note that even though r/w on L2RequestsBatchLast would count as 1, since the value is unbounded each r/w might be far more expensive than expected + #[benchmark] + fn force_create_batch() -> Result<(), BenchmarkError> { + setup_account::(USER_ACCOUNT.into())?; + setup_and_do_withdrawal::(USER_ACCOUNT.into())?; + setup_sequencer::( + SEQUENCER_ACCOUNT.into(), + Some(SEQUENCER_ALIAS_ACCOUNT.into()), + false, + false, + )?; + + ManualBatchExtraFee::::put(MANUAL_BATCH_EXTRA_FEE.to_balance::()); + + let (l1_aset_chain, l1_asset_address) = + get_chain_and_address_for_asset_id::(TOKEN_ID.into())?; + assert!( + L2RequestsBatch::::get::<(::ChainId, _)>(( + l1_aset_chain.into(), + FIRST_BATCH_ID + )) + .is_none(), + "BEFORE L2RequestsBatch {:?} chain {:?} batch should be uninit", + l1_aset_chain, + FIRST_BATCH_ID + ); + assert!( + L2RequestsBatchLast::::get().get(&l1_aset_chain.into()).is_none(), + "BEFORE L2RequestsBatchLast {:?} chain should be uninit", + l1_aset_chain + ); + + #[extrinsic_call] + _(RawOrigin::Root, l1_aset_chain.into(), (1u128, 1u128), SEQUENCER_ACCOUNT.into()); + + assert!( + L2RequestsBatch::::get::<(::ChainId, _)>(( + l1_aset_chain.into(), + FIRST_BATCH_ID + )) + .is_some(), + "AFTER L2RequestsBatch {:?} chain {:?} batch should be init", + l1_aset_chain, + FIRST_BATCH_ID + ); + assert!( + L2RequestsBatchLast::::get().get(&l1_aset_chain.into()).is_some(), + "BEFORE L2RequestsBatchLast {:?} chain should be init", + l1_aset_chain + ); + + Ok(()) + } + + #[benchmark] + fn update_l2_from_l1(x: Linear<2, 200>) -> Result<(), BenchmarkError> { + setup_sequencer::( + SEQUENCER_ACCOUNT.into(), + Some(SEQUENCER_ALIAS_ACCOUNT.into()), + true, + true, + )?; + let (l1_aset_chain, l1_asset_address) = + get_chain_and_address_for_asset_id::(TOKEN_ID.into())?; + let l1_chain: ::ChainId = l1_aset_chain.into(); + + let x_deposits: usize = (x as usize) / 2; + let x_cancel_resolution: usize = (x as usize) - x_deposits; + let update = L1UpdateBuilder::default() + .with_requests( + [ + vec![L1UpdateRequest::Deposit(Default::default()); x_deposits], + vec![ + L1UpdateRequest::CancelResolution(Default::default()); + x_cancel_resolution + ], + ] + .concat(), + ) + .build(); + let update_hash = update.abi_encode_hash(); + + >::set_block_number(1u32.into()); + let dispute_period_end = >::block_number().saturated_into::() + + Rolldown::::get_dispute_period(); + assert!( + PendingSequencerUpdates::::get(dispute_period_end, l1_chain).is_none(), + "BEFORE PendingSequencerUpdates {:?} dispute_period_end {:?} l1_chain should be uninit", + dispute_period_end, + l1_chain + ); + + let acc: T::AccountId = SEQUENCER_ACCOUNT.into(); + whitelist_account!(acc); + #[extrinsic_call] + _(RawOrigin::Signed(SEQUENCER_ACCOUNT.into()), update, update_hash); + + assert!( + PendingSequencerUpdates::::get(dispute_period_end, l1_chain).is_some(), + "AFTER PendingSequencerUpdates {:?} dispute_period_end {:?} l1_chain should be init", + dispute_period_end, + l1_chain + ); + Ok(()) + } + + #[benchmark] + fn update_l2_from_l1_unsafe(x: Linear<2, 200>) -> Result<(), BenchmarkError> { + setup_sequencer::( + SEQUENCER_ACCOUNT.into(), + Some(SEQUENCER_ALIAS_ACCOUNT.into()), + true, + true, + )?; + let (l1_aset_chain, l1_asset_address) = + get_chain_and_address_for_asset_id::(TOKEN_ID.into())?; + let l1_chain: ::ChainId = l1_aset_chain.into(); + + let x_deposits: usize = (x as usize) / 2; + let x_cancel_resolution: usize = (x as usize) - x_deposits; + let update = L1UpdateBuilder::default() + .with_requests( + [ + vec![L1UpdateRequest::Deposit(Default::default()); x_deposits], + vec![ + L1UpdateRequest::CancelResolution(Default::default()); + x_cancel_resolution + ], + ] + .concat(), + ) + .build(); + + >::set_block_number(1u32.into()); + let dispute_period_end = >::block_number().saturated_into::() + + Rolldown::::get_dispute_period(); + assert!( + PendingSequencerUpdates::::get(dispute_period_end, l1_chain).is_none(), + "BEFORE PendingSequencerUpdates {:?} dispute_period_end {:?} l1_chain should be uninit", + dispute_period_end, + l1_chain + ); + + let acc: T::AccountId = SEQUENCER_ACCOUNT.into(); + whitelist_account!(acc); + #[extrinsic_call] + _(RawOrigin::Signed(SEQUENCER_ACCOUNT.into()), update); + + assert!( + PendingSequencerUpdates::::get(dispute_period_end, l1_chain).is_some(), + "AFTER PendingSequencerUpdates {:?} dispute_period_end {:?} l1_chain should be init", + dispute_period_end, + l1_chain + ); + Ok(()) + } + + #[benchmark] + fn force_update_l2_from_l1(x: Linear<2, 200>) -> Result<(), BenchmarkError> { + let (l1_aset_chain, l1_asset_address) = + get_chain_and_address_for_asset_id::(TOKEN_ID.into())?; + let l1_chain: ::ChainId = l1_aset_chain.into(); + + let x_deposits: usize = (x as usize) / 2; + let x_cancel_resolution: usize = (x as usize) - x_deposits; + let update = L1UpdateBuilder::default() + .with_requests( + [ + vec![L1UpdateRequest::Deposit(Default::default()); x_deposits], + vec![ + L1UpdateRequest::CancelResolution(Default::default()); + x_cancel_resolution + ], + ] + .concat(), + ) + .build(); + + assert!( + MaxAcceptedRequestIdOnl2::::get(l1_chain).is_zero(), + "BEFORE MaxAcceptedRequestIdOnl2 {:?} l1_chain should be zero", + l1_chain + ); + + #[extrinsic_call] + _(RawOrigin::Root, update); + + assert!( + !MaxAcceptedRequestIdOnl2::::get(l1_chain).is_zero(), + "AFTER MaxAcceptedRequestIdOnl2 {:?} l1_chain should NOT be zero", + l1_chain + ); + Ok(()) + } + + #[benchmark] + fn cancel_requests_from_l1() -> Result<(), BenchmarkError> { + setup_sequencer::(SEQUENCER_ACCOUNT.into(), None, true, false)?; + setup_sequencer::(SEQUENCER_ACCOUNT_2.into(), None, true, false)?; + let (l1_aset_chain, l1_asset_address) = + get_chain_and_address_for_asset_id::(TOKEN_ID.into())?; + let l1_chain: ::ChainId = l1_aset_chain.into(); + + let update = L1UpdateBuilder::default() + .with_requests(vec![L1UpdateRequest::Deposit(Default::default())]) + .build(); + + let sequencer_account: T::AccountId = SEQUENCER_ACCOUNT.into(); + PendingSequencerUpdates::::insert( + DUMMY_REQUEST_ID, + l1_chain, + (sequencer_account, update, H256::default()), + ); + + assert!( + L2Requests::::get(l1_chain, RequestId::from((Origin::L2, FIRST_REQUEST_ID))) + .is_none(), + "BEFORE L2Requests {:?} l1_chain {:?} requestId should be none", + l1_chain, + FIRST_REQUEST_ID + ); + + let acc: T::AccountId = SEQUENCER_ACCOUNT_2.into(); + whitelist_account!(acc); + #[extrinsic_call] + _(RawOrigin::Signed(SEQUENCER_ACCOUNT_2.into()), l1_aset_chain.into(), DUMMY_REQUEST_ID); + + assert!( + L2Requests::::get(l1_chain, RequestId::from((Origin::L2, FIRST_REQUEST_ID))) + .is_some(), + "AFTER L2Requests {:?} l1_chain {:?} requestId should be some", + l1_chain, + FIRST_REQUEST_ID + ); + Ok(()) + } + + #[benchmark] + fn force_cancel_requests_from_l1() -> Result<(), BenchmarkError> { + setup_sequencer::(SEQUENCER_ACCOUNT.into(), None, true, true)?; + let (l1_aset_chain, l1_asset_address) = + get_chain_and_address_for_asset_id::(TOKEN_ID.into())?; + let l1_chain: ::ChainId = l1_aset_chain.into(); + + let sequencer_account: T::AccountId = SEQUENCER_ACCOUNT.into(); + PendingSequencerUpdates::::insert( + DUMMY_REQUEST_ID, + l1_chain, + (sequencer_account, messages::L1Update::default(), H256::default()), + ); + + assert!( + T::SequencerStakingProvider::is_selected_sequencer(l1_chain, &SEQUENCER_ACCOUNT.into()), + "suboptimal code path" + ); + assert!( + PendingSequencerUpdates::::get(DUMMY_REQUEST_ID, l1_chain).is_some(), + "BEFORE PendingSequencerUpdates {:?} requestId {:?} l1_chain should be some", + DUMMY_REQUEST_ID, + l1_chain + ); + + #[extrinsic_call] + _(RawOrigin::Root, l1_aset_chain.into(), DUMMY_REQUEST_ID); + + assert!( + PendingSequencerUpdates::::get(DUMMY_REQUEST_ID, l1_chain).is_none(), + "AFTER PendingSequencerUpdates {:?} requestId {:?} l1_chain should be none", + DUMMY_REQUEST_ID, + l1_chain + ); + Ok(()) + } + + #[benchmark] + fn withdraw() -> Result<(), BenchmarkError> { + setup_account::(USER_ACCOUNT.into())?; + + let (l1_aset_chain, l1_asset_address) = + get_chain_and_address_for_asset_id::(TOKEN_ID.into())?; + let l1_chain: ::ChainId = l1_aset_chain.into(); + + assert!( + !<::WithdrawFee>::convert(l1_chain).is_zero(), + "withdraw fee should not be zero, suboptimal code path" + ); + assert!( + L2Requests::::get(l1_chain, RequestId::from((Origin::L2, FIRST_REQUEST_ID))) + .is_none(), + "BEFORE L2Requests {:?} l1_chain {:?} requestId should be none", + l1_chain, + DUMMY_REQUEST_ID + ); + + let acc: T::AccountId = USER_ACCOUNT.into(); + whitelist_account!(acc); + #[extrinsic_call] + _( + RawOrigin::Signed(USER_ACCOUNT.into()), + l1_chain.into(), + ETH_RECIPIENT_ACCOUNT, + l1_asset_address, + WITHDRAWAL_AMOUNT, + FERRY_TIP_NONE, + ); + + assert!( + L2Requests::::get(l1_chain, RequestId::from((Origin::L2, FIRST_REQUEST_ID))) + .is_some(), + "AFTER L2Requests {:?} l1_chain {:?} requestId should be some", + l1_chain, + DUMMY_REQUEST_ID + ); + Ok(()) + } + + #[benchmark] + fn refund_failed_deposit() -> Result<(), BenchmarkError> { + setup_account::(USER_ACCOUNT.into())?; + + let (l1_aset_chain, l1_asset_address) = + get_chain_and_address_for_asset_id::(TOKEN_ID.into())?; + let l1_chain: ::ChainId = l1_aset_chain.into(); + + FailedL1Deposits::::insert( + (l1_chain, DUMMY_REQUEST_ID), + (>::from(USER_ACCOUNT), H256::default()), + ); + + assert!( + L2Requests::::get(l1_chain, RequestId::from((Origin::L2, FIRST_REQUEST_ID))) + .is_none(), + "BEFORE L2Requests {:?} l1_chain {:?} requestId should be none", + l1_chain, + DUMMY_REQUEST_ID + ); + + let acc: T::AccountId = USER_ACCOUNT.into(); + whitelist_account!(acc); + #[extrinsic_call] + _(RawOrigin::Signed(USER_ACCOUNT.into()), l1_chain, DUMMY_REQUEST_ID); + + assert!( + L2Requests::::get(l1_chain, RequestId::from((Origin::L2, FIRST_REQUEST_ID))) + .is_some(), + "AFTER L2Requests {:?} l1_chain {:?} requestId should be some", + l1_chain, + DUMMY_REQUEST_ID + ); + Ok(()) + } + + #[benchmark] + fn ferry_deposit() -> Result<(), BenchmarkError> { + setup_account::(FERRY_ACCOUNT.into())?; + + let (l1_aset_chain, l1_asset_address) = + get_chain_and_address_for_asset_id::(TOKEN_ID.into())?; + let l1_chain: ::ChainId = l1_aset_chain.into(); + + let deposit = messages::Deposit { + depositRecipient: ETH_RECIPIENT_ACCOUNT.into(), + requestId: RequestId::from((Origin::L1, DUMMY_REQUEST_ID)), + tokenAddress: l1_asset_address, + amount: DEPOSIT_AMOUNT.into(), + timeStamp: Default::default(), + ferryTip: FERRY_TIP.into(), + }; + let deposit_hash = deposit.abi_encode_hash(); + + assert!( + FerriedDeposits::::get((l1_chain, deposit_hash)).is_none(), + "BEFORE FerriedDeposits {:?} l1_chain {:?} deposit_hash should be none", + l1_chain, + deposit_hash + ); + + let acc: T::AccountId = FERRY_ACCOUNT.into(); + whitelist_account!(acc); + #[extrinsic_call] + _( + RawOrigin::Signed(FERRY_ACCOUNT.into()), + l1_chain, + RequestId::from((Origin::L1, DUMMY_REQUEST_ID)), + ETH_RECIPIENT_ACCOUNT.into(), + l1_asset_address, + DEPOSIT_AMOUNT.into(), + Default::default(), + FERRY_TIP.into(), + deposit_hash, + ); + + assert!( + FerriedDeposits::::get((l1_chain, deposit_hash)).is_some(), + "AFTER FerriedDeposits {:?} l1_chain {:?} deposit_hash should be some", + l1_chain, + deposit_hash + ); + Ok(()) + } + + #[benchmark] + fn ferry_deposit_unsafe() -> Result<(), BenchmarkError> { + setup_account::(FERRY_ACCOUNT.into())?; + + let (l1_aset_chain, l1_asset_address) = + get_chain_and_address_for_asset_id::(TOKEN_ID.into())?; + let l1_chain: ::ChainId = l1_aset_chain.into(); + let deposit = messages::Deposit { + depositRecipient: ETH_RECIPIENT_ACCOUNT.into(), + requestId: RequestId::from((Origin::L1, DUMMY_REQUEST_ID)), + tokenAddress: l1_asset_address, + amount: DEPOSIT_AMOUNT.into(), + timeStamp: Default::default(), + ferryTip: FERRY_TIP.into(), + }; + let deposit_hash = deposit.abi_encode_hash(); + + assert!( + FerriedDeposits::::get((l1_chain, deposit_hash)).is_none(), + "BEFORE FerriedDeposits {:?} l1_chain {:?} deposit_hash should be none", + l1_chain, + deposit_hash + ); + + let acc: T::AccountId = FERRY_ACCOUNT.into(); + whitelist_account!(acc); + #[extrinsic_call] + _( + RawOrigin::Signed(FERRY_ACCOUNT.into()), + l1_chain, + RequestId::from((Origin::L1, DUMMY_REQUEST_ID)), + ETH_RECIPIENT_ACCOUNT.into(), + l1_asset_address, + DEPOSIT_AMOUNT.into(), + Default::default(), + FERRY_TIP.into(), + ); + + assert!( + FerriedDeposits::::get((l1_chain, deposit_hash)).is_some(), + "AFTER FerriedDeposits {:?} l1_chain {:?} deposit_hash should be some", + l1_chain, + deposit_hash + ); + Ok(()) + } + + #[benchmark] + fn process_deposit() -> Result<(), BenchmarkError> { + let (l1_aset_chain, l1_asset_address) = + get_chain_and_address_for_asset_id::(TOKEN_ID.into())?; + let l1_chain: ::ChainId = l1_aset_chain.into(); + let deposit = messages::Deposit { + depositRecipient: ETH_RECIPIENT_ACCOUNT.into(), + requestId: RequestId::from((Origin::L1, DUMMY_REQUEST_ID)), + tokenAddress: l1_asset_address, + amount: DEPOSIT_AMOUNT.into(), + timeStamp: Default::default(), + ferryTip: FERRY_TIP.into(), + }; + let deposit_hash = deposit.abi_encode_hash(); + + FerriedDeposits::::insert( + (l1_chain, deposit_hash), + &>::from(ETH_RECIPIENT_ACCOUNT), + ); + + let balance_before = + T::Tokens::free_balance(TOKEN_ID.into(), Ð_RECIPIENT_ACCOUNT.into()); + + #[block] + { + Rolldown::::process_deposit(l1_chain, &deposit); + } + + let balance_after = T::Tokens::free_balance(TOKEN_ID.into(), Ð_RECIPIENT_ACCOUNT.into()); + assert_eq!( + balance_after, + balance_before + DEPOSIT_AMOUNT.into(), + "Balance should increase by {:?}", + DEPOSIT_AMOUNT + ); + Ok(()) + } + + // This benchmark doesn't consider the size of ActiveSequencers and SequencerRights L1 BtreeMap Entry + // This should be fine since the impact should be low... + // Also there is no way reasonable way to acquire that value when this function is actually called in the on_initiliaze hook (we don't wanna read these values everytime)... + #[benchmark] + fn process_cancel_resolution() -> Result<(), BenchmarkError> { + setup_sequencer::(SEQUENCER_ACCOUNT.into(), None, true, true)?; + setup_sequencer::(SEQUENCER_ACCOUNT_2.into(), None, true, false)?; + + let (l1_aset_chain, l1_asset_address) = + get_chain_and_address_for_asset_id::(TOKEN_ID.into())?; + let l1_chain: ::ChainId = l1_aset_chain.into(); + + let cancel_request = messages::Cancel { + requestId: RequestId::from((Origin::L2, Default::default())), + updater: SEQUENCER_ACCOUNT.into(), + canceler: SEQUENCER_ACCOUNT_2.into(), + range: messages::Range { start: u128::default(), end: u128::default() }, + hash: H256::default(), + }; + + L2Requests::::insert( + l1_chain, + RequestId::from((Origin::L2, DUMMY_REQUEST_ID)), + (L2Request::Cancel(cancel_request.clone()), cancel_request.abi_encode_hash()), + ); + AwaitingCancelResolution::::mutate(l1_chain, |v| { + v.insert((SEQUENCER_ACCOUNT.into(), DUMMY_REQUEST_ID, DisputeRole::Submitter)) + }); + AwaitingCancelResolution::::mutate(l1_chain, |v| { + v.insert((SEQUENCER_ACCOUNT_2.into(), DUMMY_REQUEST_ID, DisputeRole::Canceler)) + }); + + let cancel_resolution = messages::CancelResolution { + requestId: RequestId::from((Origin::L1, Default::default())), + l2RequestId: DUMMY_REQUEST_ID, + cancelJustified: true, + timeStamp: Default::default(), + }; + + let slash_fine_amount = pallet_sequencer_staking::SlashFineAmount::::get(); + pallet_sequencer_staking::SequencerStake::::insert( + ( + >::from(SEQUENCER_ACCOUNT), + Into::<::ChainId>::into(l1_aset_chain), + ), + slash_fine_amount, + ); + assert!( + pallet_sequencer_staking::SequencerStake::::get(( + >::from(SEQUENCER_ACCOUNT), + Into::<::ChainId>::into(l1_aset_chain) + )) < pallet_sequencer_staking::MinimalStakeAmount::::get() + slash_fine_amount, + "suboptimal code path" + ); + + assert!( + T::SequencerStakingProvider::is_active_sequencer(l1_chain, &SEQUENCER_ACCOUNT.into()), + "suboptimal code path" + ); + assert!( + T::SequencerStakingProvider::is_active_sequencer(l1_chain, &SEQUENCER_ACCOUNT_2.into()), + "suboptimal code path" + ); + assert!( + T::SequencerStakingProvider::is_selected_sequencer(l1_chain, &SEQUENCER_ACCOUNT.into()), + "suboptimal code path" + ); + + assert!( + AwaitingCancelResolution::::get(l1_chain) + .get(&(SEQUENCER_ACCOUNT.into(), DUMMY_REQUEST_ID, DisputeRole::Submitter)) + .is_some(), + "BEFORE AwaitingCancelResolution {:?} l1_chain {:?} sequencer should be some", + l1_chain, + SEQUENCER_ACCOUNT + ); + assert!( + AwaitingCancelResolution::::get(l1_chain) + .get(&(SEQUENCER_ACCOUNT_2.into(), DUMMY_REQUEST_ID, DisputeRole::Canceler)) + .is_some(), + "BEFORE AwaitingCancelResolution {:?} l1_chain {:?} sequencer should be some", + l1_chain, + SEQUENCER_ACCOUNT_2 + ); + + let balance_before = + T::Tokens::total_balance(T::NativeCurrencyId::get(), &SEQUENCER_ACCOUNT.into()); + + #[block] + { + Rolldown::::process_cancel_resolution(l1_chain, &cancel_resolution); + } + + let balance_after = + T::Tokens::total_balance(T::NativeCurrencyId::get(), &SEQUENCER_ACCOUNT.into()); + assert_eq!( + balance_after + + TryInto::::try_into(slash_fine_amount) + .ok() + .expect("should work") + .to_balance::(), + balance_before, + "Balance should decrease by {:?}", + slash_fine_amount + ); + assert!( + AwaitingCancelResolution::::get(l1_chain) + .get(&(SEQUENCER_ACCOUNT.into(), DUMMY_REQUEST_ID, DisputeRole::Submitter)) + .is_none(), + "AFTER AwaitingCancelResolution {:?} l1_chain {:?} sequencer should be none", + l1_chain, + SEQUENCER_ACCOUNT + ); + assert!( + AwaitingCancelResolution::::get(l1_chain) + .get(&(SEQUENCER_ACCOUNT_2.into(), DUMMY_REQUEST_ID, DisputeRole::Canceler)) + .is_none(), + "AFTER AwaitingCancelResolution {:?} l1_chain {:?} sequencer should be none", + l1_chain, + SEQUENCER_ACCOUNT_2 + ); + + Ok(()) + } + + #[benchmark] + fn schedule_requests(x: Linear<2, 200>) -> Result<(), BenchmarkError> { + let (l1_aset_chain, l1_asset_address) = + get_chain_and_address_for_asset_id::(TOKEN_ID.into())?; + let l1_chain: ::ChainId = l1_aset_chain.into(); + + let x_deposits: usize = (x as usize) / 2; + let x_cancel_resolution: usize = (x as usize) - x_deposits; + let mut update = L1UpdateBuilder::default() + .with_requests( + [ + vec![L1UpdateRequest::Deposit(Default::default()); x_deposits], + vec![ + L1UpdateRequest::CancelResolution(Default::default()); + x_cancel_resolution + ], + ] + .concat(), + ) + .build(); + + assert!( + MaxAcceptedRequestIdOnl2::::get(l1_chain).is_zero(), + "BEFORE MaxAcceptedRequestIdOnl2 {:?} chain should be zero", + l1_chain + ); + assert!( + UpdatesExecutionQueue::::get(FIRST_SCHEDULED_UPDATE_ID).is_none(), + "BEFORE UpdatesExecutionQueue {:?} scheduled update id should be none", + FIRST_SCHEDULED_UPDATE_ID + ); + + #[block] + { + Rolldown::::schedule_requests(BlockNumberFor::::default(), l1_chain, update); + } + + assert!( + !MaxAcceptedRequestIdOnl2::::get(l1_chain).is_zero(), + "AFTER MaxAcceptedRequestIdOnl2 {:?} chain should NOT be zero", + l1_chain + ); + assert!( + UpdatesExecutionQueue::::get(FIRST_SCHEDULED_UPDATE_ID).is_some(), + "AFTER UpdatesExecutionQueue {:?} scheduled update id should be some", + FIRST_SCHEDULED_UPDATE_ID + ); + Ok(()) + } +} diff --git a/pallets/rolldown/src/lib.rs b/pallets/rolldown/src/lib.rs index f2ed36dbb..2fa346cee 100644 --- a/pallets/rolldown/src/lib.rs +++ b/pallets/rolldown/src/lib.rs @@ -3,6 +3,12 @@ use messages::{EthAbi, EthAbiHash}; pub mod messages; +#[cfg(feature = "runtime-benchmarks")] +mod benchmarking; + +pub mod weights; +pub use weights::WeightInfo; + use frame_support::{ ensure, pallet_prelude::*, @@ -148,14 +154,25 @@ pub mod pallet { #[pallet::hooks] impl Hooks> for Pallet { fn on_initialize(now: BlockNumberFor) -> Weight { + let mut total_weight: Weight = Weight::default(); if T::MaintenanceStatusProvider::is_maintenance() { LastMaintananceMode::::put(now.saturated_into::()); } - - Self::maybe_create_batch(now); - Self::schedule_request_for_execution_if_dispute_period_has_passsed(now); - Self::execute_requests_from_execute_queue(now); - T::DbWeight::get().reads_writes(20, 20) + // weight for is_maintenance + total_weight = total_weight.saturating_add(T::DbWeight::get().reads(1)); + let weight = Self::maybe_create_batch(now); + total_weight = total_weight.saturating_add(weight); + let weight = Self::schedule_request_for_execution_if_dispute_period_has_passsed(now); + total_weight = total_weight.saturating_add(weight); + let weight = Self::execute_requests_from_execute_queue(now); + total_weight = total_weight.saturating_add(weight); + // We multiply by two so that we can have our large storage access (update requests) + // go upto 500 requests per update + // 500 also is really pushing it - it should probably be something like 100... + // https://substrate.stackexchange.com/questions/525/how-expensive-is-it-to-access-storage-items + total_weight + .saturating_mul(2) + .saturating_add(Weight::from_parts(200__000_000, 0)) } } @@ -191,23 +208,29 @@ pub mod pallet { #[pallet::storage] pub type FerriedDeposits = - StorageMap<_, Blake2_128Concat, (T::ChainId, H256), T::AccountId, OptionQuery>; + StorageMap<_, Blake2_128Concat, (::ChainId, H256), T::AccountId, OptionQuery>; #[pallet::storage] /// stores id of the failed depoisit, so it can be refunded using [`Pallet::refund_failed_deposit`] - pub type FailedL1Deposits = - StorageMap<_, Blake2_128Concat, (T::ChainId, u128), (T::AccountId, H256), OptionQuery>; + pub type FailedL1Deposits = StorageMap< + _, + Blake2_128Concat, + (::ChainId, u128), + (T::AccountId, H256), + OptionQuery, + >; #[pallet::storage] #[pallet::getter(fn get_last_processed_request_on_l2)] // Id of the last request originating on other chain that has been executed pub type LastProcessedRequestOnL2 = - StorageMap<_, Blake2_128Concat, T::ChainId, u128, ValueQuery>; + StorageMap<_, Blake2_128Concat, ::ChainId, u128, ValueQuery>; #[pallet::storage] #[pallet::unbounded] // Id of the next request that will originate on this chain - pub type L2OriginRequestId = StorageValue<_, BTreeMap, ValueQuery>; + pub type L2OriginRequestId = + StorageValue<_, BTreeMap<::ChainId, u128>, ValueQuery>; #[pallet::storage] pub type ManualBatchExtraFee = StorageValue<_, BalanceOf, ValueQuery>; @@ -221,7 +244,7 @@ pub mod pallet { Blake2_128Concat, u128, Blake2_128Concat, - T::ChainId, + ::ChainId, (T::AccountId, messages::L1Update, H256), OptionQuery, >; @@ -233,7 +256,7 @@ pub mod pallet { _, Blake2_128Concat, u128, - (BlockNumberFor, T::ChainId, messages::L1Update), + (BlockNumberFor, ::ChainId, messages::L1Update), OptionQuery, >; @@ -253,7 +276,7 @@ pub mod pallet { pub type SequencersRights = StorageMap< _, Blake2_128Concat, - T::ChainId, + ::ChainId, BTreeMap, ValueQuery, >; @@ -265,7 +288,7 @@ pub mod pallet { pub type L2Requests = StorageDoubleMap< _, Blake2_128Concat, - T::ChainId, + ::ChainId, Blake2_128Concat, RequestId, (L2Request, H256), @@ -278,7 +301,7 @@ pub mod pallet { pub type AwaitingCancelResolution = StorageMap< _, Blake2_128Concat, - T::ChainId, + ::ChainId, BTreeSet<(T::AccountId, u128, DisputeRole)>, ValueQuery, >; @@ -286,12 +309,12 @@ pub mod pallet { #[pallet::storage] #[pallet::getter(fn get_last_update_by_sequencer)] pub type LastUpdateBySequencer = - StorageMap<_, Blake2_128Concat, (T::ChainId, T::AccountId), u128, ValueQuery>; + StorageMap<_, Blake2_128Concat, (::ChainId, T::AccountId), u128, ValueQuery>; #[pallet::storage] #[pallet::getter(fn get_max_accepted_request_id_on_l2)] pub type MaxAcceptedRequestIdOnl2 = - StorageMap<_, Blake2_128Concat, T::ChainId, u128, ValueQuery>; + StorageMap<_, Blake2_128Concat, ::ChainId, u128, ValueQuery>; #[pallet::storage] #[pallet::getter(fn get_total_number_of_deposits)] @@ -315,38 +338,41 @@ pub mod pallet { /// For each supported chain stores: /// - last batch id /// - range of the reqeusts in last batch - pub type L2RequestsBatchLast = - StorageValue<_, BTreeMap, u128, (u128, u128))>, ValueQuery>; + pub type L2RequestsBatchLast = StorageValue< + _, + BTreeMap<::ChainId, (BlockNumberFor, u128, (u128, u128))>, + ValueQuery, + >; #[pallet::event] #[pallet::generate_deposit(pub(super) fn deposit_event)] pub enum Event { L1ReadStored { - chain: T::ChainId, + chain: ::ChainId, sequencer: T::AccountId, dispute_period_end: u128, range: messages::Range, hash: H256, }, RequestProcessedOnL2 { - chain: T::ChainId, + chain: ::ChainId, request_id: u128, status: Result<(), L1RequestProcessingError>, }, L1ReadCanceled { - chain: T::ChainId, + chain: ::ChainId, canceled_sequencer_update: u128, assigned_id: RequestId, }, TxBatchCreated { - chain: T::ChainId, + chain: ::ChainId, source: BatchSource, assignee: T::AccountId, batch_id: u128, range: (u128, u128), }, WithdrawalRequestCreated { - chain: T::ChainId, + chain: ::ChainId, request_id: RequestId, recipient: [u8; 20], token_address: [u8; 20], @@ -361,15 +387,15 @@ pub mod pallet { ferry: Option>, }, L1ReadScheduledForExecution { - chain: T::ChainId, + chain: ::ChainId, hash: H256, }, L1ReadIgnoredBecauseOfMaintenanceMode { - chain: T::ChainId, + chain: ::ChainId, hash: H256, }, DepositFerried { - chain: T::ChainId, + chain: ::ChainId, deposit: messages::Deposit, deposit_hash: H256, }, @@ -413,8 +439,14 @@ pub mod pallet { AlreadyExecuted, } + #[cfg(feature = "runtime-benchmarks")] + pub trait RolldownBenchmarkingConfig: pallet_sequencer_staking::Config {} + + #[cfg(not(feature = "runtime-benchmarks"))] + pub trait RolldownBenchmarkingConfig {} + #[pallet::config] - pub trait Config: frame_system::Config { + pub trait Config: frame_system::Config + RolldownBenchmarkingConfig { type RuntimeEvent: From> + IsType<::RuntimeEvent>; type SequencerStakingProvider: SequencerStakingProviderTrait< Self::AccountId, @@ -460,6 +492,8 @@ pub mod pallet { type NativeCurrencyId: Get>; /// Withdrawals flat fee type WithdrawFee: Convert, BalanceOf>; + /// Weight information for extrinsics in this pallet. + type WeightInfo: WeightInfo; } #[pallet::genesis_config] @@ -478,10 +512,15 @@ pub mod pallet { fn build(&self) {} } + // Many calls that deal with large storage items have their weight mutiplied by 2 + // We multiply by two so that we can have our large storage access (update requests) + // go upto 500 requests per update + // 500 also is really pushing it - it should probably be something like 100... + // https://substrate.stackexchange.com/questions/525/how-expensive-is-it-to-access-storage-items #[pallet::call] impl Pallet { #[pallet::call_index(0)] - #[pallet::weight(T::DbWeight::get().reads_writes(3, 3).saturating_add(Weight::from_parts(40_000_000, 0)))] + #[pallet::weight(::WeightInfo::update_l2_from_l1(requests.pendingDeposits.len().saturating_add(requests.pendingCancelResolutions.len()).saturating_mul(2) as u32))] pub fn update_l2_from_l1( origin: OriginFor, requests: messages::L1Update, @@ -496,13 +535,13 @@ pub mod pallet { } #[pallet::call_index(2)] - #[pallet::weight(T::DbWeight::get().reads_writes(1, 1).saturating_add(Weight::from_parts(40_000_000, 0)))] + #[pallet::weight(::WeightInfo::force_update_l2_from_l1(update.pendingDeposits.len().saturating_add(update.pendingCancelResolutions.len()).saturating_mul(2) as u32))] pub fn force_update_l2_from_l1( origin: OriginFor, update: messages::L1Update, ) -> DispatchResultWithPostInfo { let _ = ensure_root(origin)?; - let chain: T::ChainId = update.chain.into(); + let chain: ::ChainId = update.chain.into(); ensure!( !T::MaintenanceStatusProvider::is_maintenance(), @@ -516,11 +555,11 @@ pub mod pallet { } #[pallet::call_index(3)] - #[pallet::weight(T::DbWeight::get().reads_writes(1, 1).saturating_add(Weight::from_parts(40_000_000, 0)))] + #[pallet::weight(::WeightInfo::cancel_requests_from_l1().saturating_mul(2))] //EXTRINSIC2 (who canceled, dispute_period_end(u32-blocknum))) pub fn cancel_requests_from_l1( origin: OriginFor, - chain: T::ChainId, + chain: ::ChainId, requests_to_cancel: u128, ) -> DispatchResultWithPostInfo { let canceler = ensure_signed(origin)?; @@ -580,10 +619,10 @@ pub mod pallet { } #[pallet::call_index(5)] - #[pallet::weight(T::DbWeight::get().reads_writes(1, 1).saturating_add(Weight::from_parts(40_000_000, 0)))] + #[pallet::weight(::WeightInfo::withdraw())] pub fn withdraw( origin: OriginFor, - chain: T::ChainId, + chain: ::ChainId, recipient: [u8; 20], token_address: [u8; 20], amount: u128, @@ -671,10 +710,10 @@ pub mod pallet { } #[pallet::call_index(4)] - #[pallet::weight(T::DbWeight::get().reads_writes(1, 1).saturating_add(Weight::from_parts(40_000_000, 0)))] + #[pallet::weight(::WeightInfo::force_cancel_requests_from_l1().saturating_mul(2))] pub fn force_cancel_requests_from_l1( origin: OriginFor, - chain: T::ChainId, + chain: ::ChainId, requests_to_cancel: u128, ) -> DispatchResultWithPostInfo { let _ = ensure_root(origin)?; @@ -700,10 +739,10 @@ pub mod pallet { } #[pallet::call_index(6)] - #[pallet::weight(T::DbWeight::get().reads_writes(1, 1).saturating_add(Weight::from_parts(40_000_000, 0)))] + #[pallet::weight(::WeightInfo::create_batch())] pub fn create_batch( origin: OriginFor, - chain: T::ChainId, + chain: ::ChainId, sequencer_account: Option, ) -> DispatchResult { let sender = ensure_signed(origin)?; @@ -731,7 +770,7 @@ pub mod pallet { } #[pallet::call_index(7)] - #[pallet::weight(T::DbWeight::get().reads_writes(1, 1).saturating_add(Weight::from_parts(40_000_000, 0)))] + #[pallet::weight(::WeightInfo::set_manual_batch_extra_fee())] pub fn set_manual_batch_extra_fee( origin: OriginFor, balance: BalanceOf, @@ -743,11 +782,11 @@ pub mod pallet { } #[pallet::call_index(8)] - #[pallet::weight(T::DbWeight::get().reads_writes(1, 1).saturating_add(Weight::from_parts(40_000_000, 0)))] + #[pallet::weight(::WeightInfo::refund_failed_deposit())] /// only deposit recipient can initiate refund failed deposit pub fn refund_failed_deposit( origin: OriginFor, - chain: T::ChainId, + chain: ::ChainId, request_id: u128, ) -> DispatchResult { let sender = ensure_signed(origin)?; @@ -787,12 +826,12 @@ pub mod pallet { } #[pallet::call_index(9)] - #[pallet::weight(T::DbWeight::get().reads_writes(1, 1).saturating_add(Weight::from_parts(40_000_000, 0)))] + #[pallet::weight(::WeightInfo::force_create_batch())] /// Froce create batch and assigns it to provided sequencer /// provided requests range must exists - otherwise `[Error::InvalidRange]` error will be returned pub fn force_create_batch( origin: OriginFor, - chain: T::ChainId, + chain: ::ChainId, range: (u128, u128), sequencer_account: AccountIdOf, ) -> DispatchResult { @@ -818,10 +857,10 @@ pub mod pallet { } #[pallet::call_index(10)] - #[pallet::weight(T::DbWeight::get().reads_writes(1, 1).saturating_add(Weight::from_parts(40_000_000, 0)))] + #[pallet::weight(::WeightInfo::ferry_deposit())] pub fn ferry_deposit( origin: OriginFor, - chain: T::ChainId, + chain: ::ChainId, request_id: RequestId, deposit_recipient: [u8; 20], token_address: [u8; 20], @@ -848,10 +887,10 @@ pub mod pallet { } #[pallet::call_index(11)] - #[pallet::weight(T::DbWeight::get().reads_writes(1, 1).saturating_add(Weight::from_parts(40_000_000, 0)))] + #[pallet::weight(::WeightInfo::ferry_deposit_unsafe())] pub fn ferry_deposit_unsafe( origin: OriginFor, - chain: T::ChainId, + chain: ::ChainId, request_id: RequestId, deposit_recipient: [u8; 20], token_address: [u8; 20], @@ -876,7 +915,7 @@ pub mod pallet { } #[pallet::call_index(12)] - #[pallet::weight(T::DbWeight::get().reads_writes(3, 3).saturating_add(Weight::from_parts(40_000_000, 0)))] + #[pallet::weight(::WeightInfo::update_l2_from_l1_unsafe(requests.pendingDeposits.len().saturating_add(requests.pendingCancelResolutions.len()).saturating_mul(2) as u32))] pub fn update_l2_from_l1_unsafe( origin: OriginFor, requests: messages::L1Update, @@ -897,7 +936,7 @@ impl Pallet { } pub fn verify_sequencer_update( - chain: T::ChainId, + chain: ::ChainId, hash: H256, request_id: u128, ) -> Option { @@ -910,15 +949,23 @@ impl Pallet { } } - fn maybe_create_batch(now: BlockNumberFor) { + fn maybe_create_batch(now: BlockNumberFor) -> Weight { + let mut total_weight: Weight = Weight::default(); let batch_size = Self::automatic_batch_size(); let batch_period: BlockNumberFor = Self::automatic_batch_period().saturated_into(); + // weight for is_maintenance + total_weight = total_weight.saturating_add(T::DbWeight::get().reads(1)); if T::MaintenanceStatusProvider::is_maintenance() { - return + return total_weight } + // weight for L2OriginRequestId iter extra read incase empty + total_weight = total_weight.saturating_add(T::DbWeight::get().reads(1)); for (chain, next_id) in L2OriginRequestId::::get().iter() { + // weight for L2OriginRequestId iter + total_weight = total_weight.saturating_add(T::DbWeight::get().reads(1)); + let last_id = next_id.saturating_sub(1); let (last_batch_block_number, last_batch_id, last_id_in_batch) = @@ -929,6 +976,8 @@ impl Pallet { (block_number, batch_id, last_reqeust_id) }) .unwrap_or_default(); + // weight for L2RequestsBatchLast + total_weight = total_weight.saturating_add(T::DbWeight::get().reads(1)); let trigger = if last_id >= last_id_in_batch + batch_size { Some(BatchSource::AutomaticSizeReached) @@ -939,9 +988,10 @@ impl Pallet { }; if let Some(trigger) = trigger { + // weight for selected_sequencer + total_weight = total_weight.saturating_add(T::DbWeight::get().reads(1)); let updater = T::SequencerStakingProvider::selected_sequencer(*chain) .unwrap_or(T::AddressConverter::convert([0u8; 20])); - let batch_id = last_batch_id.saturating_add(1); let range_start = last_id_in_batch.saturating_add(1); let range_end = sp_std::cmp::min( @@ -953,9 +1003,13 @@ impl Pallet { (chain, batch_id), (now, (range_start, range_end), updater.clone()), ); + // weight for L2RequestsBatch + total_weight = total_weight.saturating_add(T::DbWeight::get().writes(1)); L2RequestsBatchLast::::mutate(|batches| { batches.insert(chain.clone(), (now, batch_id, (range_start, range_end))); }); + // weight for L2RequestsBatchLast + total_weight = total_weight.saturating_add(T::DbWeight::get().writes(1)); Pallet::::deposit_event(Event::TxBatchCreated { chain: *chain, source: trigger, @@ -963,18 +1017,34 @@ impl Pallet { batch_id, range: (range_start, range_end), }); + // Not sure about this - not sure exactly what is cached and how across extrinsics (/hooks) + // weight for deposit_event + total_weight = + total_weight.saturating_add(T::DbWeight::get().reads_writes(2, 3)); break } } } + total_weight } - fn schedule_request_for_execution_if_dispute_period_has_passsed(now: BlockNumberFor) { + fn schedule_request_for_execution_if_dispute_period_has_passsed( + now: BlockNumberFor, + ) -> Weight { + // weight = 0 -> pretty sure reading blocknumber is free let block_number = >::block_number().saturated_into::(); + let mut total_weight: Weight = Weight::default(); + let mut number_of_updates: u32 = u32::zero(); + // weight for PendingSequencerUpdates iter extra read incase empty + total_weight = total_weight.saturating_add(T::DbWeight::get().reads(1)); for (l1, (sequencer, requests, l1_read_hash)) in PendingSequencerUpdates::::iter_prefix(block_number) { + number_of_updates = number_of_updates.saturating_add(1u32); + // weight for PendingSequencerUpdates iter + total_weight = total_weight.saturating_add(T::DbWeight::get().reads(1)); + if T::SequencerStakingProvider::is_active_sequencer(l1, &sequencer) { SequencersRights::::mutate(l1, |sequencers| { if let Some(rights) = sequencers.get_mut(&sequencer) { @@ -982,55 +1052,97 @@ impl Pallet { } }); } + // weight for above block + total_weight = total_weight.saturating_add(T::DbWeight::get().reads_writes(2, 1)); let update_creation_block = block_number.saturating_sub(Self::get_dispute_period()); + // weight for LastMaintananceMode + total_weight = total_weight.saturating_add(T::DbWeight::get().reads(1)); match LastMaintananceMode::::get() { Some(last_maintanance_mode) if update_creation_block < last_maintanance_mode => { Self::deposit_event(Event::L1ReadIgnoredBecauseOfMaintenanceMode { chain: l1, hash: l1_read_hash, }); + + // Not sure about this - not sure exactly what is cached and how across extrinsics (/hooks) + // weight for deposit_event + total_weight = + total_weight.saturating_add(T::DbWeight::get().reads_writes(2, 3)); }, _ => { Self::schedule_requests(now, l1, requests.clone()); + // weight for schedule_requests + total_weight = + total_weight.saturating_add(::WeightInfo::schedule_requests( + requests + .pendingDeposits + .len() + .saturating_add(requests.pendingCancelResolutions.len()) as u32, + )); Self::deposit_event(Event::L1ReadScheduledForExecution { chain: l1, hash: l1_read_hash, }); + // Not sure about this - not sure exactly what is cached and how across extrinsics (/hooks) + // weight for deposit_event + total_weight = + total_weight.saturating_add(T::DbWeight::get().reads_writes(2, 3)); }, } } + // weight for PendingSequencerUpdates iter + total_weight = + total_weight.saturating_add(T::DbWeight::get().writes(number_of_updates.into())); let _ = PendingSequencerUpdates::::clear_prefix( >::block_number().saturated_into::(), u32::MAX, None, ); + + total_weight } - fn process_single_request(l1: T::ChainId, request: messages::L1UpdateRequest) { + fn process_single_request( + l1: ::ChainId, + request: messages::L1UpdateRequest, + ) -> Weight { + let mut total_weight: Weight = Weight::default(); + + // weight for LastProcessedRequestOnL2 + total_weight = total_weight.saturating_add(T::DbWeight::get().reads(1)); if request.id() <= LastProcessedRequestOnL2::::get(l1) { - return + return total_weight } let status = match request.clone() { messages::L1UpdateRequest::Deposit(deposit) => { let deposit_status = Self::process_deposit(l1, &deposit); + total_weight = + total_weight.saturating_add(::WeightInfo::process_deposit()); TotalNumberOfDeposits::::mutate(|v| *v = v.saturating_add(One::one())); + // weight for TotalNumberOfDeposits + total_weight = total_weight.saturating_add(T::DbWeight::get().writes(1)); deposit_status.or_else(|err| { let who: T::AccountId = T::AddressConverter::convert(deposit.depositRecipient); FailedL1Deposits::::insert( (l1, deposit.requestId.id), (who, deposit.abi_encode_hash()), ); + // weight for FailedL1Deposits + total_weight = total_weight.saturating_add(T::DbWeight::get().writes(1)); Err(err.into()) }) }, - messages::L1UpdateRequest::CancelResolution(cancel) => + messages::L1UpdateRequest::CancelResolution(cancel) => { + total_weight = total_weight + .saturating_add(::WeightInfo::process_cancel_resolution()); Self::process_cancel_resolution(l1, &cancel).or_else(|err| { T::MaintenanceStatusProvider::trigger_maintanance_mode(); Err(err) - }), + }) + }, }; Pallet::::deposit_event(Event::RequestProcessedOnL2 { @@ -1038,11 +1150,21 @@ impl Pallet { request_id: request.id(), status, }); + // Not sure about this - not sure exactly what is cached and how across extrinsics (/hooks) + // weight for deposit_event + total_weight = total_weight.saturating_add(T::DbWeight::get().reads_writes(2, 3)); LastProcessedRequestOnL2::::insert(l1, request.id()); + // weight for LastProcessedRequestOnL2 + total_weight = total_weight.saturating_add(T::DbWeight::get().writes(1)); + total_weight } - fn execute_requests_from_execute_queue(now: BlockNumberFor) { + fn execute_requests_from_execute_queue(now: BlockNumberFor) -> Weight { + let mut total_weight: Weight = Weight::default(); + + // weight for the if in the below block + total_weight = total_weight.saturating_add(T::DbWeight::get().reads(3)); if T::MaintenanceStatusProvider::is_maintenance() && UpdatesExecutionQueue::::get(UpdatesExecutionQueueNextId::::get()).is_some() { @@ -1051,21 +1173,30 @@ impl Pallet { *v }); UpdatesExecutionQueueNextId::::put(new_id); - return + + // weight for this block + total_weight = total_weight.saturating_add(T::DbWeight::get().writes(2)); + return total_weight } let mut limit = Self::get_max_requests_per_block(); loop { if limit == 0 { - return + return total_weight } + + // weight for the if in the below block + total_weight = total_weight.saturating_add(T::DbWeight::get().reads(2)); if let Some((scheduled_at, l1, r)) = UpdatesExecutionQueue::::get(UpdatesExecutionQueueNextId::::get()) { if scheduled_at == now { - return + return total_weight } + // Repeated reads of the same value should be cached + // weight for LastProcessedRequestOnL2 + total_weight = total_weight.saturating_add(T::DbWeight::get().reads(1)); for req in r .into_requests() .into_iter() @@ -1075,27 +1206,41 @@ impl Pallet { .take(limit.try_into().unwrap()) { if let Some(request) = req { - Self::process_single_request(l1, request); + let weight = Self::process_single_request(l1, request); + // weight for process_single_request + total_weight = total_weight.saturating_add(weight); limit -= 1; } else { UpdatesExecutionQueue::::remove(UpdatesExecutionQueueNextId::::get()); UpdatesExecutionQueueNextId::::mutate(|v| *v += 1); + // weight for this block + total_weight = + total_weight.saturating_add(T::DbWeight::get().reads_writes(1, 2)); break } } } else { + // weight for the if in the below block + total_weight = total_weight.saturating_add(T::DbWeight::get().reads(2)); if UpdatesExecutionQueue::::contains_key( UpdatesExecutionQueueNextId::::get() + 1, ) { UpdatesExecutionQueueNextId::::mutate(|v| *v += 1); + // weight for UpdatesExecutionQueueNextId + total_weight = total_weight.saturating_add(T::DbWeight::get().writes(1)); } else { break } } } + total_weight } - fn schedule_requests(now: BlockNumberFor, chain: T::ChainId, update: messages::L1Update) { + fn schedule_requests( + now: BlockNumberFor, + chain: ::ChainId, + update: messages::L1Update, + ) { let max_id = [ update.pendingDeposits.iter().map(|r| r.requestId.id).max(), update.pendingCancelResolutions.iter().map(|r| r.requestId.id).max(), @@ -1122,7 +1267,7 @@ impl Pallet { /// REVERT PREVIOUS CHANGES TO STORAGE, whoever is modifying it should take that into account! /// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! fn process_deposit( - l1: T::ChainId, + l1: ::ChainId, deposit: &messages::Deposit, ) -> Result<(), L1DepositProcessingError> { let amount = TryInto::::try_into(deposit.amount) @@ -1152,7 +1297,7 @@ impl Pallet { /// REVERT PREVIOUS CHANGES TO STORAGE, whoever is modifying it should take that into account! /// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! fn process_cancel_resolution( - l1: T::ChainId, + l1: ::ChainId, cancel_resolution: &messages::CancelResolution, ) -> Result<(), L1RequestProcessingError> { let cancel_request_id = cancel_resolution.l2RequestId; @@ -1209,7 +1354,7 @@ impl Pallet { } fn handle_sequencer_deactivation( - chain: T::ChainId, + chain: ::ChainId, deactivated_sequencers: BTreeSet, ) { SequencersRights::::mutate(chain, |sequencers_set| { @@ -1238,7 +1383,10 @@ impl Pallet { }) } - pub fn validate_l1_update(l1: T::ChainId, update: &messages::L1Update) -> DispatchResult { + pub fn validate_l1_update( + l1: ::ChainId, + update: &messages::L1Update, + ) -> DispatchResult { ensure!( !update.pendingDeposits.is_empty() || !update.pendingCancelResolutions.is_empty(), Error::::EmptyUpdate @@ -1634,7 +1782,7 @@ impl Pallet { fn ferry_desposit_impl( sender: T::AccountId, - chain: T::ChainId, + chain: ::ChainId, deposit: messages::Deposit, ) -> Result<(), Error> { let deposit_hash = deposit.abi_encode_hash(); @@ -1670,7 +1818,7 @@ impl Pallet { } impl RolldownProviderTrait, AccountIdOf> for Pallet { - fn new_sequencer_active(chain: T::ChainId, sequencer: &AccountIdOf) { + fn new_sequencer_active(chain: ::ChainId, sequencer: &AccountIdOf) { SequencersRights::::mutate(chain, |sequencer_set| { let count = sequencer_set.len() as u128; @@ -1697,7 +1845,10 @@ impl RolldownProviderTrait, AccountIdOf> for Pallet) -> DispatchResult { + fn sequencer_unstaking( + chain: ::ChainId, + sequencer: &AccountIdOf, + ) -> DispatchResult { ensure!( Pallet::::count_of_read_rights_under_dispute(chain, sequencer).is_zero(), Error::::SequencerLastUpdateStillInDisputePeriod @@ -1714,7 +1865,7 @@ impl RolldownProviderTrait, AccountIdOf> for Pallet::ChainId, deactivated_sequencers: Vec, ) { Pallet::::handle_sequencer_deactivation( diff --git a/pallets/rolldown/src/messages/mod.rs b/pallets/rolldown/src/messages/mod.rs index 54bef47d0..ab8a64f47 100644 --- a/pallets/rolldown/src/messages/mod.rs +++ b/pallets/rolldown/src/messages/mod.rs @@ -214,7 +214,7 @@ impl NativeToEthMapping for Deposit { type EthType = eth_abi::Deposit; } -#[derive(Eq, PartialEq, RuntimeDebug, Clone, Encode, Decode, TypeInfo, Serialize)] +#[derive(Eq, PartialEq, RuntimeDebug, Clone, Encode, Decode, TypeInfo, Serialize, Default)] pub struct CancelResolution { pub requestId: RequestId, pub l2RequestId: u128, diff --git a/pallets/rolldown/src/mock.rs b/pallets/rolldown/src/mock.rs index e43e9f352..28605457f 100644 --- a/pallets/rolldown/src/mock.rs +++ b/pallets/rolldown/src/mock.rs @@ -85,6 +85,7 @@ mockall::mock! { impl AssetRegistryProviderTrait for AssetRegistryProviderApi { fn get_l1_asset_id(l1_asset: L1Asset) -> Option; fn create_l1_asset(l1_asset: L1Asset) -> Result; + fn get_asset_l1_id(asset_id: TokenId) -> Option; } } @@ -132,6 +133,8 @@ parameter_types! { pub const NativeCurrencyId: u32 = 0; } +impl rolldown::RolldownBenchmarkingConfig for Test {} + impl rolldown::Config for Test { type RuntimeEvent = RuntimeEvent; type SequencerStakingProvider = MockSequencerStakingProviderApi; @@ -150,6 +153,7 @@ impl rolldown::Config for Test { type NativeCurrencyId = NativeCurrencyId; type SequencerStakingRewards = (); type WithdrawFee = ConvertToValue>; + type WeightInfo = (); } pub struct ExtBuilder { diff --git a/pallets/rolldown/src/weights.rs b/pallets/rolldown/src/weights.rs new file mode 100644 index 000000000..098114150 --- /dev/null +++ b/pallets/rolldown/src/weights.rs @@ -0,0 +1,335 @@ +// This file is part of Mangata. + +// Copyright (C) 2020-2022 Mangata Foundation. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//! Autogenerated weights for pallet_rolldown +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-10-29, STEPS: `2`, REPEAT: 2, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("rollup-local"), DB CACHE: 1024 + +// Executed Command: +// /home/striker/work/mangata-ws/mangata-node/scripts/..//target/release/rollup-node +// benchmark +// pallet +// --chain +// rollup-local +// --execution +// wasm +// --wasm-execution +// compiled +// --pallet +// pallet_rolldown +// --extrinsic +// * +// --steps +// 2 +// --repeat +// 2 +// --output +// ./benchmarks/pallet_rolldown_weights.rs +// --template +// ./templates/module-weight-template.hbs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(clippy::unnecessary_cast)] + +use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; +use sp_std::marker::PhantomData; + +/// Weight functions needed for pallet_rolldown. +pub trait WeightInfo { + fn set_manual_batch_extra_fee() -> Weight; + fn create_batch() -> Weight; + fn force_create_batch() -> Weight; + fn update_l2_from_l1(x: u32, ) -> Weight; + fn update_l2_from_l1_unsafe(x: u32, ) -> Weight; + fn force_update_l2_from_l1(x: u32, ) -> Weight; + fn cancel_requests_from_l1() -> Weight; + fn force_cancel_requests_from_l1() -> Weight; + fn withdraw() -> Weight; + fn refund_failed_deposit() -> Weight; + fn ferry_deposit() -> Weight; + fn ferry_deposit_unsafe() -> Weight; + fn process_deposit() -> Weight; + fn process_cancel_resolution() -> Weight; + fn schedule_requests(x: u32, ) -> Weight; +} + +// For backwards compatibility and tests +impl WeightInfo for () { + // Storage: `Rolldown::ManualBatchExtraFee` (r:0 w:1) + // Proof: `Rolldown::ManualBatchExtraFee` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + fn set_manual_batch_extra_fee() -> Weight { + (Weight::from_parts(22_558_000, 0)) + .saturating_add(RocksDbWeight::get().writes(1 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::AliasAccount` (r:1 w:0) + // Proof: `SequencerStaking::AliasAccount` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `MaxEncodedLen`) + // Storage: `Rolldown::ManualBatchExtraFee` (r:1 w:0) + // Proof: `Rolldown::ManualBatchExtraFee` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:2 w:2) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `Rolldown::L2RequestsBatchLast` (r:1 w:1) + // Proof: `Rolldown::L2RequestsBatchLast` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2OriginRequestId` (r:1 w:0) + // Proof: `Rolldown::L2OriginRequestId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2Requests` (r:1 w:0) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2RequestsBatch` (r:0 w:1) + // Proof: `Rolldown::L2RequestsBatch` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) + fn create_batch() -> Weight { + (Weight::from_parts(58_178_000, 0)) + .saturating_add(RocksDbWeight::get().reads(8 as u64)) + .saturating_add(RocksDbWeight::get().writes(4 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `Rolldown::L2Requests` (r:1 w:0) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2RequestsBatchLast` (r:1 w:1) + // Proof: `Rolldown::L2RequestsBatchLast` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2RequestsBatch` (r:0 w:1) + // Proof: `Rolldown::L2RequestsBatch` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) + fn force_create_batch() -> Weight { + (Weight::from_parts(28_495_000, 0)) + .saturating_add(RocksDbWeight::get().reads(3 as u64)) + .saturating_add(RocksDbWeight::get().writes(2 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::SelectedSequencer` (r:1 w:0) + // Proof: `SequencerStaking::SelectedSequencer` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::LastProcessedRequestOnL2` (r:1 w:0) + // Proof: `Rolldown::LastProcessedRequestOnL2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `Rolldown::SequencersRights` (r:1 w:1) + // Proof: `Rolldown::SequencersRights` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::PendingSequencerUpdates` (r:1 w:1) + // Proof: `Rolldown::PendingSequencerUpdates` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::CurrentRound` (r:1 w:0) + // Proof: `SequencerStaking::CurrentRound` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::AwardedPts` (r:1 w:1) + // Proof: `SequencerStaking::AwardedPts` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::Points` (r:1 w:1) + // Proof: `SequencerStaking::Points` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`) + // Storage: `Rolldown::LastUpdateBySequencer` (r:0 w:1) + // Proof: `Rolldown::LastUpdateBySequencer` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`) + fn update_l2_from_l1(x: u32, ) -> Weight { + (Weight::from_parts(53_903_308, 0)) + // Standard Error: 63_247 + .saturating_add((Weight::from_parts(1_544_095, 0)).saturating_mul(x as u64)) + .saturating_add(RocksDbWeight::get().reads(8 as u64)) + .saturating_add(RocksDbWeight::get().writes(5 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::SelectedSequencer` (r:1 w:0) + // Proof: `SequencerStaking::SelectedSequencer` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::LastProcessedRequestOnL2` (r:1 w:0) + // Proof: `Rolldown::LastProcessedRequestOnL2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `Rolldown::SequencersRights` (r:1 w:1) + // Proof: `Rolldown::SequencersRights` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::PendingSequencerUpdates` (r:1 w:1) + // Proof: `Rolldown::PendingSequencerUpdates` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::CurrentRound` (r:1 w:0) + // Proof: `SequencerStaking::CurrentRound` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::AwardedPts` (r:1 w:1) + // Proof: `SequencerStaking::AwardedPts` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::Points` (r:1 w:1) + // Proof: `SequencerStaking::Points` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`) + // Storage: `Rolldown::LastUpdateBySequencer` (r:0 w:1) + // Proof: `Rolldown::LastUpdateBySequencer` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`) + fn update_l2_from_l1_unsafe(x: u32, ) -> Weight { + (Weight::from_parts(53_063_762, 0)) + // Standard Error: 117_584 + .saturating_add((Weight::from_parts(1_073_368, 0)).saturating_mul(x as u64)) + .saturating_add(RocksDbWeight::get().reads(8 as u64)) + .saturating_add(RocksDbWeight::get().writes(5 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `Rolldown::LastProcessedRequestOnL2` (r:1 w:0) + // Proof: `Rolldown::LastProcessedRequestOnL2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `Rolldown::MaxAcceptedRequestIdOnl2` (r:1 w:1) + // Proof: `Rolldown::MaxAcceptedRequestIdOnl2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `Rolldown::LastScheduledUpdateIdInExecutionQueue` (r:1 w:1) + // Proof: `Rolldown::LastScheduledUpdateIdInExecutionQueue` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + // Storage: `Rolldown::UpdatesExecutionQueue` (r:0 w:1) + // Proof: `Rolldown::UpdatesExecutionQueue` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn force_update_l2_from_l1(x: u32, ) -> Weight { + (Weight::from_parts(20_052_424, 0)) + // Standard Error: 16_144 + .saturating_add((Weight::from_parts(362_787, 0)).saturating_mul(x as u64)) + .saturating_add(RocksDbWeight::get().reads(4 as u64)) + .saturating_add(RocksDbWeight::get().writes(3 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `Rolldown::SequencersRights` (r:1 w:1) + // Proof: `Rolldown::SequencersRights` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::PendingSequencerUpdates` (r:1 w:1) + // Proof: `Rolldown::PendingSequencerUpdates` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2OriginRequestId` (r:1 w:1) + // Proof: `Rolldown::L2OriginRequestId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::AwaitingCancelResolution` (r:1 w:1) + // Proof: `Rolldown::AwaitingCancelResolution` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2Requests` (r:0 w:1) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn cancel_requests_from_l1() -> Weight { + (Weight::from_parts(39_181_000, 0)) + .saturating_add(RocksDbWeight::get().reads(5 as u64)) + .saturating_add(RocksDbWeight::get().writes(5 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `Rolldown::PendingSequencerUpdates` (r:1 w:1) + // Proof: `Rolldown::PendingSequencerUpdates` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::ActiveSequencers` (r:1 w:0) + // Proof: `SequencerStaking::ActiveSequencers` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::SequencersRights` (r:1 w:1) + // Proof: `Rolldown::SequencersRights` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn force_cancel_requests_from_l1() -> Weight { + (Weight::from_parts(26_120_000, 0)) + .saturating_add(RocksDbWeight::get().reads(4 as u64)) + .saturating_add(RocksDbWeight::get().writes(2 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `AssetRegistry::L1AssetToId` (r:1 w:0) + // Proof: `AssetRegistry::L1AssetToId` (`max_values`: None, `max_size`: Some(41), added: 2516, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:3 w:3) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `System::Account` (r:1 w:1) + // Proof: `System::Account` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + // Storage: `Tokens::TotalIssuance` (r:1 w:1) + // Proof: `Tokens::TotalIssuance` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) + // Storage: `Rolldown::L2OriginRequestId` (r:1 w:1) + // Proof: `Rolldown::L2OriginRequestId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::TotalNumberOfWithdrawals` (r:1 w:1) + // Proof: `Rolldown::TotalNumberOfWithdrawals` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + // Storage: `Rolldown::L2Requests` (r:0 w:1) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn withdraw() -> Weight { + (Weight::from_parts(75_988_000, 0)) + .saturating_add(RocksDbWeight::get().reads(9 as u64)) + .saturating_add(RocksDbWeight::get().writes(8 as u64)) + } + // Storage: `Rolldown::FailedL1Deposits` (r:1 w:1) + // Proof: `Rolldown::FailedL1Deposits` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) + // Storage: `Rolldown::FerriedDeposits` (r:1 w:0) + // Proof: `Rolldown::FerriedDeposits` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + // Storage: `Rolldown::L2OriginRequestId` (r:1 w:1) + // Proof: `Rolldown::L2OriginRequestId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2Requests` (r:0 w:1) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn refund_failed_deposit() -> Weight { + (Weight::from_parts(27_309_000, 0)) + .saturating_add(RocksDbWeight::get().reads(3 as u64)) + .saturating_add(RocksDbWeight::get().writes(3 as u64)) + } + // Storage: `Rolldown::LastProcessedRequestOnL2` (r:1 w:0) + // Proof: `Rolldown::LastProcessedRequestOnL2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `AssetRegistry::L1AssetToId` (r:1 w:0) + // Proof: `AssetRegistry::L1AssetToId` (`max_values`: None, `max_size`: Some(41), added: 2516, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:2 w:2) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `System::Account` (r:1 w:1) + // Proof: `System::Account` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + // Storage: `Rolldown::FerriedDeposits` (r:0 w:1) + // Proof: `Rolldown::FerriedDeposits` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + fn ferry_deposit() -> Weight { + (Weight::from_parts(56_991_000, 0)) + .saturating_add(RocksDbWeight::get().reads(5 as u64)) + .saturating_add(RocksDbWeight::get().writes(4 as u64)) + } + // Storage: `Rolldown::LastProcessedRequestOnL2` (r:1 w:0) + // Proof: `Rolldown::LastProcessedRequestOnL2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `AssetRegistry::L1AssetToId` (r:1 w:0) + // Proof: `AssetRegistry::L1AssetToId` (`max_values`: None, `max_size`: Some(41), added: 2516, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:2 w:2) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `System::Account` (r:1 w:1) + // Proof: `System::Account` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + // Storage: `Rolldown::FerriedDeposits` (r:0 w:1) + // Proof: `Rolldown::FerriedDeposits` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + fn ferry_deposit_unsafe() -> Weight { + (Weight::from_parts(62_927_000, 0)) + .saturating_add(RocksDbWeight::get().reads(5 as u64)) + .saturating_add(RocksDbWeight::get().writes(4 as u64)) + } + // Storage: `AssetRegistry::L1AssetToId` (r:1 w:0) + // Proof: `AssetRegistry::L1AssetToId` (`max_values`: None, `max_size`: Some(41), added: 2516, mode: `MaxEncodedLen`) + // Storage: `Rolldown::FerriedDeposits` (r:1 w:0) + // Proof: `Rolldown::FerriedDeposits` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + // Storage: `Tokens::NextCurrencyId` (r:1 w:0) + // Proof: `Tokens::NextCurrencyId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:1 w:1) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `Tokens::TotalIssuance` (r:1 w:1) + // Proof: `Tokens::TotalIssuance` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) + // Storage: `System::Account` (r:1 w:1) + // Proof: `System::Account` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + fn process_deposit() -> Weight { + (Weight::from_parts(48_680_000, 0)) + .saturating_add(RocksDbWeight::get().reads(6 as u64)) + .saturating_add(RocksDbWeight::get().writes(3 as u64)) + } + // Storage: `Rolldown::L2Requests` (r:1 w:0) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::ActiveSequencers` (r:1 w:1) + // Proof: `SequencerStaking::ActiveSequencers` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::SequencersRights` (r:1 w:1) + // Proof: `Rolldown::SequencersRights` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::AwaitingCancelResolution` (r:1 w:1) + // Proof: `Rolldown::AwaitingCancelResolution` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::SequencerStake` (r:1 w:1) + // Proof: `SequencerStaking::SequencerStake` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::SlashFineAmount` (r:1 w:0) + // Proof: `SequencerStaking::SlashFineAmount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Tokens::Accounts` (r:2 w:2) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `Tokens::TotalIssuance` (r:1 w:1) + // Proof: `Tokens::TotalIssuance` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::MinimalStakeAmount` (r:1 w:0) + // Proof: `SequencerStaking::MinimalStakeAmount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::NextSequencerIndex` (r:1 w:1) + // Proof: `SequencerStaking::NextSequencerIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::SelectedSequencer` (r:1 w:1) + // Proof: `SequencerStaking::SelectedSequencer` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn process_cancel_resolution() -> Weight { + (Weight::from_parts(97_360_000, 0)) + .saturating_add(RocksDbWeight::get().reads(12 as u64)) + .saturating_add(RocksDbWeight::get().writes(9 as u64)) + } + // Storage: `Rolldown::MaxAcceptedRequestIdOnl2` (r:1 w:1) + // Proof: `Rolldown::MaxAcceptedRequestIdOnl2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `Rolldown::LastScheduledUpdateIdInExecutionQueue` (r:1 w:1) + // Proof: `Rolldown::LastScheduledUpdateIdInExecutionQueue` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + // Storage: `Rolldown::UpdatesExecutionQueue` (r:0 w:1) + // Proof: `Rolldown::UpdatesExecutionQueue` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn schedule_requests(x: u32, ) -> Weight { + (Weight::from_parts(8_898_848, 0)) + // Standard Error: 8_479 + .saturating_add((Weight::from_parts(299_825, 0)).saturating_mul(x as u64)) + .saturating_add(RocksDbWeight::get().reads(2 as u64)) + .saturating_add(RocksDbWeight::get().writes(3 as u64)) + } +} diff --git a/rollup/runtime/src/lib.rs b/rollup/runtime/src/lib.rs index e4dbba545..5f9e077c6 100644 --- a/rollup/runtime/src/lib.rs +++ b/rollup/runtime/src/lib.rs @@ -797,8 +797,11 @@ impl pallet_rolldown::Config for Runtime { type NativeCurrencyId = tokens::RxTokenId; type SequencerStakingRewards = SequencerStaking; type WithdrawFee = cfg::pallet_rolldown::WithdrawFee; + type WeightInfo = weights::pallet_rolldown::ModuleWeight; } +impl pallet_rolldown::RolldownBenchmarkingConfig for Runtime {} + impl pallet_sequencer_staking::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Currency = orml_tokens::CurrencyAdapter; @@ -904,6 +907,7 @@ mod benches { [pallet_multipurpose_liquidity, MultiPurposeLiquidity] [pallet_fee_lock, FeeLock] [pallet_proof_of_stake, ProofOfStake] + [pallet_rolldown, Rolldown] ); } use codec::alloc::string::ToString; diff --git a/rollup/runtime/src/runtime_config.rs b/rollup/runtime/src/runtime_config.rs index 0058280d2..41d35cfef 100644 --- a/rollup/runtime/src/runtime_config.rs +++ b/rollup/runtime/src/runtime_config.rs @@ -1279,6 +1279,10 @@ pub mod config { orml_asset_registry::Pallet::::do_register_l1_asset(metadata, None, l1_asset) } + + fn get_asset_l1_id(asset_id: T::AssetId) -> Option { + orml_asset_registry::IdToL1Asset::::get(asset_id) + } } } diff --git a/rollup/runtime/src/weights/mod.rs b/rollup/runtime/src/weights/mod.rs index e2611cc82..4f7dcf73f 100644 --- a/rollup/runtime/src/weights/mod.rs +++ b/rollup/runtime/src/weights/mod.rs @@ -16,6 +16,7 @@ pub mod pallet_fee_lock; pub mod pallet_issuance; pub mod pallet_multipurpose_liquidity; pub mod pallet_proof_of_stake; +pub mod pallet_rolldown; pub mod pallet_session; pub mod pallet_timestamp; pub mod pallet_treasury; @@ -32,8 +33,8 @@ pub use self::{ pallet_fee_lock as pallet_fee_lock_weights, pallet_issuance as pallet_issuance_weights, pallet_multipurpose_liquidity as pallet_multipurpose_liquidity_weights, pallet_proof_of_stake as pallet_proof_of_stake_weights, - pallet_session as pallet_session_weights, pallet_timestamp as pallet_timestamp_weights, - pallet_treasury as pallet_treasury_weights, + pallet_rolldown as pallet_rolldown_weights, pallet_session as pallet_session_weights, + pallet_timestamp as pallet_timestamp_weights, pallet_treasury as pallet_treasury_weights, pallet_utility_mangata as pallet_utility_mangata_weights, pallet_vesting_mangata as pallet_vesting_mangata_weights, pallet_xyk as pallet_xyk_weights, parachain_staking as parachain_staking_weights, diff --git a/rollup/runtime/src/weights/pallet_rolldown.rs b/rollup/runtime/src/weights/pallet_rolldown.rs new file mode 100644 index 000000000..8846e77f7 --- /dev/null +++ b/rollup/runtime/src/weights/pallet_rolldown.rs @@ -0,0 +1,598 @@ +// This file is part of Mangata. + +// Copyright (C) 2020-2022 Mangata Foundation. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//! Autogenerated weights for pallet_rolldown +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-10-29, STEPS: `2`, REPEAT: 2, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("rollup-local"), DB CACHE: 1024 + +// Executed Command: +// /home/striker/work/mangata-ws/mangata-node/scripts/..//target/release/rollup-node +// benchmark +// pallet +// --chain +// rollup-local +// --execution +// wasm +// --wasm-execution +// compiled +// --pallet +// pallet_rolldown +// --extrinsic +// * +// --steps +// 2 +// --repeat +// 2 +// --output +// ./benchmarks/pallet_rolldown_weights.rs +// --template +// ./templates/module-weight-template.hbs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(clippy::unnecessary_cast)] + +use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; +use sp_std::marker::PhantomData; + +/// Weight functions needed for pallet_rolldown. +pub trait WeightInfo { + fn set_manual_batch_extra_fee() -> Weight; + fn create_batch() -> Weight; + fn force_create_batch() -> Weight; + fn update_l2_from_l1(x: u32, ) -> Weight; + fn update_l2_from_l1_unsafe(x: u32, ) -> Weight; + fn force_update_l2_from_l1(x: u32, ) -> Weight; + fn cancel_requests_from_l1() -> Weight; + fn force_cancel_requests_from_l1() -> Weight; + fn withdraw() -> Weight; + fn refund_failed_deposit() -> Weight; + fn ferry_deposit() -> Weight; + fn ferry_deposit_unsafe() -> Weight; + fn process_deposit() -> Weight; + fn process_cancel_resolution() -> Weight; + fn schedule_requests(x: u32, ) -> Weight; +} + +/// Weights for pallet_rolldown using the Mangata node and recommended hardware. +pub struct ModuleWeight(PhantomData); +impl pallet_rolldown::WeightInfo for ModuleWeight { + // Storage: `Rolldown::ManualBatchExtraFee` (r:0 w:1) + // Proof: `Rolldown::ManualBatchExtraFee` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + fn set_manual_batch_extra_fee() -> Weight { + (Weight::from_parts(22_558_000, 0)) + .saturating_add(T::DbWeight::get().writes(1 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::AliasAccount` (r:1 w:0) + // Proof: `SequencerStaking::AliasAccount` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `MaxEncodedLen`) + // Storage: `Rolldown::ManualBatchExtraFee` (r:1 w:0) + // Proof: `Rolldown::ManualBatchExtraFee` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:2 w:2) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `Rolldown::L2RequestsBatchLast` (r:1 w:1) + // Proof: `Rolldown::L2RequestsBatchLast` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2OriginRequestId` (r:1 w:0) + // Proof: `Rolldown::L2OriginRequestId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2Requests` (r:1 w:0) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2RequestsBatch` (r:0 w:1) + // Proof: `Rolldown::L2RequestsBatch` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) + fn create_batch() -> Weight { + (Weight::from_parts(58_178_000, 0)) + .saturating_add(T::DbWeight::get().reads(8 as u64)) + .saturating_add(T::DbWeight::get().writes(4 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `Rolldown::L2Requests` (r:1 w:0) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2RequestsBatchLast` (r:1 w:1) + // Proof: `Rolldown::L2RequestsBatchLast` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2RequestsBatch` (r:0 w:1) + // Proof: `Rolldown::L2RequestsBatch` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) + fn force_create_batch() -> Weight { + (Weight::from_parts(28_495_000, 0)) + .saturating_add(T::DbWeight::get().reads(3 as u64)) + .saturating_add(T::DbWeight::get().writes(2 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::SelectedSequencer` (r:1 w:0) + // Proof: `SequencerStaking::SelectedSequencer` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::LastProcessedRequestOnL2` (r:1 w:0) + // Proof: `Rolldown::LastProcessedRequestOnL2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `Rolldown::SequencersRights` (r:1 w:1) + // Proof: `Rolldown::SequencersRights` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::PendingSequencerUpdates` (r:1 w:1) + // Proof: `Rolldown::PendingSequencerUpdates` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::CurrentRound` (r:1 w:0) + // Proof: `SequencerStaking::CurrentRound` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::AwardedPts` (r:1 w:1) + // Proof: `SequencerStaking::AwardedPts` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::Points` (r:1 w:1) + // Proof: `SequencerStaking::Points` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`) + // Storage: `Rolldown::LastUpdateBySequencer` (r:0 w:1) + // Proof: `Rolldown::LastUpdateBySequencer` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`) + fn update_l2_from_l1(x: u32, ) -> Weight { + (Weight::from_parts(53_903_308, 0)) + // Standard Error: 63_247 + .saturating_add((Weight::from_parts(1_544_095, 0)).saturating_mul(x as u64)) + .saturating_add(T::DbWeight::get().reads(8 as u64)) + .saturating_add(T::DbWeight::get().writes(5 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::SelectedSequencer` (r:1 w:0) + // Proof: `SequencerStaking::SelectedSequencer` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::LastProcessedRequestOnL2` (r:1 w:0) + // Proof: `Rolldown::LastProcessedRequestOnL2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `Rolldown::SequencersRights` (r:1 w:1) + // Proof: `Rolldown::SequencersRights` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::PendingSequencerUpdates` (r:1 w:1) + // Proof: `Rolldown::PendingSequencerUpdates` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::CurrentRound` (r:1 w:0) + // Proof: `SequencerStaking::CurrentRound` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::AwardedPts` (r:1 w:1) + // Proof: `SequencerStaking::AwardedPts` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::Points` (r:1 w:1) + // Proof: `SequencerStaking::Points` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`) + // Storage: `Rolldown::LastUpdateBySequencer` (r:0 w:1) + // Proof: `Rolldown::LastUpdateBySequencer` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`) + fn update_l2_from_l1_unsafe(x: u32, ) -> Weight { + (Weight::from_parts(53_063_762, 0)) + // Standard Error: 117_584 + .saturating_add((Weight::from_parts(1_073_368, 0)).saturating_mul(x as u64)) + .saturating_add(T::DbWeight::get().reads(8 as u64)) + .saturating_add(T::DbWeight::get().writes(5 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `Rolldown::LastProcessedRequestOnL2` (r:1 w:0) + // Proof: `Rolldown::LastProcessedRequestOnL2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `Rolldown::MaxAcceptedRequestIdOnl2` (r:1 w:1) + // Proof: `Rolldown::MaxAcceptedRequestIdOnl2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `Rolldown::LastScheduledUpdateIdInExecutionQueue` (r:1 w:1) + // Proof: `Rolldown::LastScheduledUpdateIdInExecutionQueue` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + // Storage: `Rolldown::UpdatesExecutionQueue` (r:0 w:1) + // Proof: `Rolldown::UpdatesExecutionQueue` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn force_update_l2_from_l1(x: u32, ) -> Weight { + (Weight::from_parts(20_052_424, 0)) + // Standard Error: 16_144 + .saturating_add((Weight::from_parts(362_787, 0)).saturating_mul(x as u64)) + .saturating_add(T::DbWeight::get().reads(4 as u64)) + .saturating_add(T::DbWeight::get().writes(3 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `Rolldown::SequencersRights` (r:1 w:1) + // Proof: `Rolldown::SequencersRights` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::PendingSequencerUpdates` (r:1 w:1) + // Proof: `Rolldown::PendingSequencerUpdates` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2OriginRequestId` (r:1 w:1) + // Proof: `Rolldown::L2OriginRequestId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::AwaitingCancelResolution` (r:1 w:1) + // Proof: `Rolldown::AwaitingCancelResolution` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2Requests` (r:0 w:1) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn cancel_requests_from_l1() -> Weight { + (Weight::from_parts(39_181_000, 0)) + .saturating_add(T::DbWeight::get().reads(5 as u64)) + .saturating_add(T::DbWeight::get().writes(5 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `Rolldown::PendingSequencerUpdates` (r:1 w:1) + // Proof: `Rolldown::PendingSequencerUpdates` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::ActiveSequencers` (r:1 w:0) + // Proof: `SequencerStaking::ActiveSequencers` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::SequencersRights` (r:1 w:1) + // Proof: `Rolldown::SequencersRights` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn force_cancel_requests_from_l1() -> Weight { + (Weight::from_parts(26_120_000, 0)) + .saturating_add(T::DbWeight::get().reads(4 as u64)) + .saturating_add(T::DbWeight::get().writes(2 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `AssetRegistry::L1AssetToId` (r:1 w:0) + // Proof: `AssetRegistry::L1AssetToId` (`max_values`: None, `max_size`: Some(41), added: 2516, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:3 w:3) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `System::Account` (r:1 w:1) + // Proof: `System::Account` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + // Storage: `Tokens::TotalIssuance` (r:1 w:1) + // Proof: `Tokens::TotalIssuance` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) + // Storage: `Rolldown::L2OriginRequestId` (r:1 w:1) + // Proof: `Rolldown::L2OriginRequestId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::TotalNumberOfWithdrawals` (r:1 w:1) + // Proof: `Rolldown::TotalNumberOfWithdrawals` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + // Storage: `Rolldown::L2Requests` (r:0 w:1) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn withdraw() -> Weight { + (Weight::from_parts(75_988_000, 0)) + .saturating_add(T::DbWeight::get().reads(9 as u64)) + .saturating_add(T::DbWeight::get().writes(8 as u64)) + } + // Storage: `Rolldown::FailedL1Deposits` (r:1 w:1) + // Proof: `Rolldown::FailedL1Deposits` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) + // Storage: `Rolldown::FerriedDeposits` (r:1 w:0) + // Proof: `Rolldown::FerriedDeposits` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + // Storage: `Rolldown::L2OriginRequestId` (r:1 w:1) + // Proof: `Rolldown::L2OriginRequestId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2Requests` (r:0 w:1) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn refund_failed_deposit() -> Weight { + (Weight::from_parts(27_309_000, 0)) + .saturating_add(T::DbWeight::get().reads(3 as u64)) + .saturating_add(T::DbWeight::get().writes(3 as u64)) + } + // Storage: `Rolldown::LastProcessedRequestOnL2` (r:1 w:0) + // Proof: `Rolldown::LastProcessedRequestOnL2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `AssetRegistry::L1AssetToId` (r:1 w:0) + // Proof: `AssetRegistry::L1AssetToId` (`max_values`: None, `max_size`: Some(41), added: 2516, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:2 w:2) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `System::Account` (r:1 w:1) + // Proof: `System::Account` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + // Storage: `Rolldown::FerriedDeposits` (r:0 w:1) + // Proof: `Rolldown::FerriedDeposits` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + fn ferry_deposit() -> Weight { + (Weight::from_parts(56_991_000, 0)) + .saturating_add(T::DbWeight::get().reads(5 as u64)) + .saturating_add(T::DbWeight::get().writes(4 as u64)) + } + // Storage: `Rolldown::LastProcessedRequestOnL2` (r:1 w:0) + // Proof: `Rolldown::LastProcessedRequestOnL2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `AssetRegistry::L1AssetToId` (r:1 w:0) + // Proof: `AssetRegistry::L1AssetToId` (`max_values`: None, `max_size`: Some(41), added: 2516, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:2 w:2) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `System::Account` (r:1 w:1) + // Proof: `System::Account` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + // Storage: `Rolldown::FerriedDeposits` (r:0 w:1) + // Proof: `Rolldown::FerriedDeposits` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + fn ferry_deposit_unsafe() -> Weight { + (Weight::from_parts(62_927_000, 0)) + .saturating_add(T::DbWeight::get().reads(5 as u64)) + .saturating_add(T::DbWeight::get().writes(4 as u64)) + } + // Storage: `AssetRegistry::L1AssetToId` (r:1 w:0) + // Proof: `AssetRegistry::L1AssetToId` (`max_values`: None, `max_size`: Some(41), added: 2516, mode: `MaxEncodedLen`) + // Storage: `Rolldown::FerriedDeposits` (r:1 w:0) + // Proof: `Rolldown::FerriedDeposits` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + // Storage: `Tokens::NextCurrencyId` (r:1 w:0) + // Proof: `Tokens::NextCurrencyId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:1 w:1) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `Tokens::TotalIssuance` (r:1 w:1) + // Proof: `Tokens::TotalIssuance` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) + // Storage: `System::Account` (r:1 w:1) + // Proof: `System::Account` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + fn process_deposit() -> Weight { + (Weight::from_parts(48_680_000, 0)) + .saturating_add(T::DbWeight::get().reads(6 as u64)) + .saturating_add(T::DbWeight::get().writes(3 as u64)) + } + // Storage: `Rolldown::L2Requests` (r:1 w:0) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::ActiveSequencers` (r:1 w:1) + // Proof: `SequencerStaking::ActiveSequencers` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::SequencersRights` (r:1 w:1) + // Proof: `Rolldown::SequencersRights` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::AwaitingCancelResolution` (r:1 w:1) + // Proof: `Rolldown::AwaitingCancelResolution` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::SequencerStake` (r:1 w:1) + // Proof: `SequencerStaking::SequencerStake` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::SlashFineAmount` (r:1 w:0) + // Proof: `SequencerStaking::SlashFineAmount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Tokens::Accounts` (r:2 w:2) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `Tokens::TotalIssuance` (r:1 w:1) + // Proof: `Tokens::TotalIssuance` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::MinimalStakeAmount` (r:1 w:0) + // Proof: `SequencerStaking::MinimalStakeAmount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::NextSequencerIndex` (r:1 w:1) + // Proof: `SequencerStaking::NextSequencerIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::SelectedSequencer` (r:1 w:1) + // Proof: `SequencerStaking::SelectedSequencer` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn process_cancel_resolution() -> Weight { + (Weight::from_parts(97_360_000, 0)) + .saturating_add(T::DbWeight::get().reads(12 as u64)) + .saturating_add(T::DbWeight::get().writes(9 as u64)) + } + // Storage: `Rolldown::MaxAcceptedRequestIdOnl2` (r:1 w:1) + // Proof: `Rolldown::MaxAcceptedRequestIdOnl2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `Rolldown::LastScheduledUpdateIdInExecutionQueue` (r:1 w:1) + // Proof: `Rolldown::LastScheduledUpdateIdInExecutionQueue` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + // Storage: `Rolldown::UpdatesExecutionQueue` (r:0 w:1) + // Proof: `Rolldown::UpdatesExecutionQueue` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn schedule_requests(x: u32, ) -> Weight { + (Weight::from_parts(8_898_848, 0)) + // Standard Error: 8_479 + .saturating_add((Weight::from_parts(299_825, 0)).saturating_mul(x as u64)) + .saturating_add(T::DbWeight::get().reads(2 as u64)) + .saturating_add(T::DbWeight::get().writes(3 as u64)) + } +} + +// For backwards compatibility and tests +impl WeightInfo for () { + // Storage: `Rolldown::ManualBatchExtraFee` (r:0 w:1) + // Proof: `Rolldown::ManualBatchExtraFee` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + fn set_manual_batch_extra_fee() -> Weight { + (Weight::from_parts(22_558_000, 0)) + .saturating_add(RocksDbWeight::get().writes(1 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::AliasAccount` (r:1 w:0) + // Proof: `SequencerStaking::AliasAccount` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `MaxEncodedLen`) + // Storage: `Rolldown::ManualBatchExtraFee` (r:1 w:0) + // Proof: `Rolldown::ManualBatchExtraFee` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:2 w:2) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `Rolldown::L2RequestsBatchLast` (r:1 w:1) + // Proof: `Rolldown::L2RequestsBatchLast` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2OriginRequestId` (r:1 w:0) + // Proof: `Rolldown::L2OriginRequestId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2Requests` (r:1 w:0) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2RequestsBatch` (r:0 w:1) + // Proof: `Rolldown::L2RequestsBatch` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) + fn create_batch() -> Weight { + (Weight::from_parts(58_178_000, 0)) + .saturating_add(RocksDbWeight::get().reads(8 as u64)) + .saturating_add(RocksDbWeight::get().writes(4 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `Rolldown::L2Requests` (r:1 w:0) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2RequestsBatchLast` (r:1 w:1) + // Proof: `Rolldown::L2RequestsBatchLast` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2RequestsBatch` (r:0 w:1) + // Proof: `Rolldown::L2RequestsBatch` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) + fn force_create_batch() -> Weight { + (Weight::from_parts(28_495_000, 0)) + .saturating_add(RocksDbWeight::get().reads(3 as u64)) + .saturating_add(RocksDbWeight::get().writes(2 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::SelectedSequencer` (r:1 w:0) + // Proof: `SequencerStaking::SelectedSequencer` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::LastProcessedRequestOnL2` (r:1 w:0) + // Proof: `Rolldown::LastProcessedRequestOnL2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `Rolldown::SequencersRights` (r:1 w:1) + // Proof: `Rolldown::SequencersRights` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::PendingSequencerUpdates` (r:1 w:1) + // Proof: `Rolldown::PendingSequencerUpdates` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::CurrentRound` (r:1 w:0) + // Proof: `SequencerStaking::CurrentRound` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::AwardedPts` (r:1 w:1) + // Proof: `SequencerStaking::AwardedPts` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::Points` (r:1 w:1) + // Proof: `SequencerStaking::Points` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`) + // Storage: `Rolldown::LastUpdateBySequencer` (r:0 w:1) + // Proof: `Rolldown::LastUpdateBySequencer` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`) + fn update_l2_from_l1(x: u32, ) -> Weight { + (Weight::from_parts(53_903_308, 0)) + // Standard Error: 63_247 + .saturating_add((Weight::from_parts(1_544_095, 0)).saturating_mul(x as u64)) + .saturating_add(RocksDbWeight::get().reads(8 as u64)) + .saturating_add(RocksDbWeight::get().writes(5 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::SelectedSequencer` (r:1 w:0) + // Proof: `SequencerStaking::SelectedSequencer` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::LastProcessedRequestOnL2` (r:1 w:0) + // Proof: `Rolldown::LastProcessedRequestOnL2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `Rolldown::SequencersRights` (r:1 w:1) + // Proof: `Rolldown::SequencersRights` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::PendingSequencerUpdates` (r:1 w:1) + // Proof: `Rolldown::PendingSequencerUpdates` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::CurrentRound` (r:1 w:0) + // Proof: `SequencerStaking::CurrentRound` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::AwardedPts` (r:1 w:1) + // Proof: `SequencerStaking::AwardedPts` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::Points` (r:1 w:1) + // Proof: `SequencerStaking::Points` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`) + // Storage: `Rolldown::LastUpdateBySequencer` (r:0 w:1) + // Proof: `Rolldown::LastUpdateBySequencer` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`) + fn update_l2_from_l1_unsafe(x: u32, ) -> Weight { + (Weight::from_parts(53_063_762, 0)) + // Standard Error: 117_584 + .saturating_add((Weight::from_parts(1_073_368, 0)).saturating_mul(x as u64)) + .saturating_add(RocksDbWeight::get().reads(8 as u64)) + .saturating_add(RocksDbWeight::get().writes(5 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `Rolldown::LastProcessedRequestOnL2` (r:1 w:0) + // Proof: `Rolldown::LastProcessedRequestOnL2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `Rolldown::MaxAcceptedRequestIdOnl2` (r:1 w:1) + // Proof: `Rolldown::MaxAcceptedRequestIdOnl2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `Rolldown::LastScheduledUpdateIdInExecutionQueue` (r:1 w:1) + // Proof: `Rolldown::LastScheduledUpdateIdInExecutionQueue` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + // Storage: `Rolldown::UpdatesExecutionQueue` (r:0 w:1) + // Proof: `Rolldown::UpdatesExecutionQueue` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn force_update_l2_from_l1(x: u32, ) -> Weight { + (Weight::from_parts(20_052_424, 0)) + // Standard Error: 16_144 + .saturating_add((Weight::from_parts(362_787, 0)).saturating_mul(x as u64)) + .saturating_add(RocksDbWeight::get().reads(4 as u64)) + .saturating_add(RocksDbWeight::get().writes(3 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `Rolldown::SequencersRights` (r:1 w:1) + // Proof: `Rolldown::SequencersRights` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::PendingSequencerUpdates` (r:1 w:1) + // Proof: `Rolldown::PendingSequencerUpdates` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2OriginRequestId` (r:1 w:1) + // Proof: `Rolldown::L2OriginRequestId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::AwaitingCancelResolution` (r:1 w:1) + // Proof: `Rolldown::AwaitingCancelResolution` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2Requests` (r:0 w:1) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn cancel_requests_from_l1() -> Weight { + (Weight::from_parts(39_181_000, 0)) + .saturating_add(RocksDbWeight::get().reads(5 as u64)) + .saturating_add(RocksDbWeight::get().writes(5 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `Rolldown::PendingSequencerUpdates` (r:1 w:1) + // Proof: `Rolldown::PendingSequencerUpdates` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::ActiveSequencers` (r:1 w:0) + // Proof: `SequencerStaking::ActiveSequencers` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::SequencersRights` (r:1 w:1) + // Proof: `Rolldown::SequencersRights` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn force_cancel_requests_from_l1() -> Weight { + (Weight::from_parts(26_120_000, 0)) + .saturating_add(RocksDbWeight::get().reads(4 as u64)) + .saturating_add(RocksDbWeight::get().writes(2 as u64)) + } + // Storage: `Maintenance::MaintenanceStatus` (r:1 w:0) + // Proof: `Maintenance::MaintenanceStatus` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) + // Storage: `AssetRegistry::L1AssetToId` (r:1 w:0) + // Proof: `AssetRegistry::L1AssetToId` (`max_values`: None, `max_size`: Some(41), added: 2516, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:3 w:3) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `System::Account` (r:1 w:1) + // Proof: `System::Account` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + // Storage: `Tokens::TotalIssuance` (r:1 w:1) + // Proof: `Tokens::TotalIssuance` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) + // Storage: `Rolldown::L2OriginRequestId` (r:1 w:1) + // Proof: `Rolldown::L2OriginRequestId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::TotalNumberOfWithdrawals` (r:1 w:1) + // Proof: `Rolldown::TotalNumberOfWithdrawals` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + // Storage: `Rolldown::L2Requests` (r:0 w:1) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn withdraw() -> Weight { + (Weight::from_parts(75_988_000, 0)) + .saturating_add(RocksDbWeight::get().reads(9 as u64)) + .saturating_add(RocksDbWeight::get().writes(8 as u64)) + } + // Storage: `Rolldown::FailedL1Deposits` (r:1 w:1) + // Proof: `Rolldown::FailedL1Deposits` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) + // Storage: `Rolldown::FerriedDeposits` (r:1 w:0) + // Proof: `Rolldown::FerriedDeposits` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + // Storage: `Rolldown::L2OriginRequestId` (r:1 w:1) + // Proof: `Rolldown::L2OriginRequestId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::L2Requests` (r:0 w:1) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn refund_failed_deposit() -> Weight { + (Weight::from_parts(27_309_000, 0)) + .saturating_add(RocksDbWeight::get().reads(3 as u64)) + .saturating_add(RocksDbWeight::get().writes(3 as u64)) + } + // Storage: `Rolldown::LastProcessedRequestOnL2` (r:1 w:0) + // Proof: `Rolldown::LastProcessedRequestOnL2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `AssetRegistry::L1AssetToId` (r:1 w:0) + // Proof: `AssetRegistry::L1AssetToId` (`max_values`: None, `max_size`: Some(41), added: 2516, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:2 w:2) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `System::Account` (r:1 w:1) + // Proof: `System::Account` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + // Storage: `Rolldown::FerriedDeposits` (r:0 w:1) + // Proof: `Rolldown::FerriedDeposits` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + fn ferry_deposit() -> Weight { + (Weight::from_parts(56_991_000, 0)) + .saturating_add(RocksDbWeight::get().reads(5 as u64)) + .saturating_add(RocksDbWeight::get().writes(4 as u64)) + } + // Storage: `Rolldown::LastProcessedRequestOnL2` (r:1 w:0) + // Proof: `Rolldown::LastProcessedRequestOnL2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `AssetRegistry::L1AssetToId` (r:1 w:0) + // Proof: `AssetRegistry::L1AssetToId` (`max_values`: None, `max_size`: Some(41), added: 2516, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:2 w:2) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `System::Account` (r:1 w:1) + // Proof: `System::Account` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + // Storage: `Rolldown::FerriedDeposits` (r:0 w:1) + // Proof: `Rolldown::FerriedDeposits` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + fn ferry_deposit_unsafe() -> Weight { + (Weight::from_parts(62_927_000, 0)) + .saturating_add(RocksDbWeight::get().reads(5 as u64)) + .saturating_add(RocksDbWeight::get().writes(4 as u64)) + } + // Storage: `AssetRegistry::L1AssetToId` (r:1 w:0) + // Proof: `AssetRegistry::L1AssetToId` (`max_values`: None, `max_size`: Some(41), added: 2516, mode: `MaxEncodedLen`) + // Storage: `Rolldown::FerriedDeposits` (r:1 w:0) + // Proof: `Rolldown::FerriedDeposits` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + // Storage: `Tokens::NextCurrencyId` (r:1 w:0) + // Proof: `Tokens::NextCurrencyId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:1 w:1) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `Tokens::TotalIssuance` (r:1 w:1) + // Proof: `Tokens::TotalIssuance` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) + // Storage: `System::Account` (r:1 w:1) + // Proof: `System::Account` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + fn process_deposit() -> Weight { + (Weight::from_parts(48_680_000, 0)) + .saturating_add(RocksDbWeight::get().reads(6 as u64)) + .saturating_add(RocksDbWeight::get().writes(3 as u64)) + } + // Storage: `Rolldown::L2Requests` (r:1 w:0) + // Proof: `Rolldown::L2Requests` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::ActiveSequencers` (r:1 w:1) + // Proof: `SequencerStaking::ActiveSequencers` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::SequencersRights` (r:1 w:1) + // Proof: `Rolldown::SequencersRights` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `Rolldown::AwaitingCancelResolution` (r:1 w:1) + // Proof: `Rolldown::AwaitingCancelResolution` (`max_values`: None, `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::SequencerStake` (r:1 w:1) + // Proof: `SequencerStaking::SequencerStake` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::SlashFineAmount` (r:1 w:0) + // Proof: `SequencerStaking::SlashFineAmount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Tokens::Accounts` (r:2 w:2) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `Tokens::TotalIssuance` (r:1 w:1) + // Proof: `Tokens::TotalIssuance` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) + // Storage: `SequencerStaking::MinimalStakeAmount` (r:1 w:0) + // Proof: `SequencerStaking::MinimalStakeAmount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::NextSequencerIndex` (r:1 w:1) + // Proof: `SequencerStaking::NextSequencerIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `SequencerStaking::SelectedSequencer` (r:1 w:1) + // Proof: `SequencerStaking::SelectedSequencer` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn process_cancel_resolution() -> Weight { + (Weight::from_parts(97_360_000, 0)) + .saturating_add(RocksDbWeight::get().reads(12 as u64)) + .saturating_add(RocksDbWeight::get().writes(9 as u64)) + } + // Storage: `Rolldown::MaxAcceptedRequestIdOnl2` (r:1 w:1) + // Proof: `Rolldown::MaxAcceptedRequestIdOnl2` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`) + // Storage: `Rolldown::LastScheduledUpdateIdInExecutionQueue` (r:1 w:1) + // Proof: `Rolldown::LastScheduledUpdateIdInExecutionQueue` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + // Storage: `Rolldown::UpdatesExecutionQueue` (r:0 w:1) + // Proof: `Rolldown::UpdatesExecutionQueue` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn schedule_requests(x: u32, ) -> Weight { + (Weight::from_parts(8_898_848, 0)) + // Standard Error: 8_479 + .saturating_add((Weight::from_parts(299_825, 0)).saturating_mul(x as u64)) + .saturating_add(RocksDbWeight::get().reads(2 as u64)) + .saturating_add(RocksDbWeight::get().writes(3 as u64)) + } +} diff --git a/scripts/run_benchmarks.sh b/scripts/run_benchmarks.sh index 20d06c99a..e05b33082 100755 --- a/scripts/run_benchmarks.sh +++ b/scripts/run_benchmarks.sh @@ -5,27 +5,28 @@ rm -rf ./benchmarks mkdir ./benchmarks benchmarks=( - "frame_system" - "pallet_session" - "pallet_timestamp" - "orml_tokens" - "parachain_staking" - "pallet_xyk" - "orml_asset_registry" - "pallet_treasury" - "pallet_collective_mangata" - "pallet_crowdloan_rewards" - "pallet_utility_mangata" - "pallet_vesting_mangata" - "pallet_issuance" - "pallet_bootstrap" - "pallet_multipurpose_liquidity" - "pallet_fee_lock" - "pallet_proof_of_stake" + # "frame_system" + # "pallet_session" + # "pallet_timestamp" + # "orml_tokens" + # "parachain_staking" + # "pallet_xyk" + # "orml_asset_registry" + # "pallet_treasury" + # "pallet_collective_mangata" + # "pallet_crowdloan_rewards" + # "pallet_utility_mangata" + # "pallet_vesting_mangata" + # "pallet_issuance" + # "pallet_bootstrap" + # "pallet_multipurpose_liquidity" + # "pallet_fee_lock" + # "pallet_proof_of_stake" + "pallet_rolldown" ) -# for bench in ${benchmarks[@]}; do - # ${REPO_ROOT}/scripts/run_benchmark.sh $bench -# done +for bench in ${benchmarks[@]}; do + ${REPO_ROOT}/scripts/run_benchmark.sh $bench +done -${REPO_ROOT}/scripts/run_benchmark_overhead.sh +# ${REPO_ROOT}/scripts/run_benchmark_overhead.sh From 4fd371d9ed845e9df36e4aa6a6c991a19059e5b1 Mon Sep 17 00:00:00 2001 From: iStrike7 <40371953+iStrike7@users.noreply.github.com> Date: Fri, 1 Nov 2024 10:52:33 +0530 Subject: [PATCH 16/17] fix cargo refs (#834) fix cargo refs --- Cargo.lock | 273 ++++++++++++++++++++++++++--------------------------- Cargo.toml | 272 ++++++++++++++++++++++++++-------------------------- 2 files changed, 270 insertions(+), 275 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b28886773..3e1180dde 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2420,7 +2420,7 @@ dependencies = [ [[package]] name = "extrinsic-shuffler" version = "4.0.0-dev" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "derive_more", "log", @@ -2603,7 +2603,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "12.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "parity-scale-codec", ] @@ -2626,7 +2626,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-support", "frame-support-procedural", @@ -2651,7 +2651,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "32.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "Inflector", "array-bytes 6.2.3", @@ -2705,7 +2705,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "aquamarine 0.3.3", "extrinsic-shuffler", @@ -2739,7 +2739,7 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.35.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "futures", "indicatif", @@ -2761,7 +2761,7 @@ dependencies = [ [[package]] name = "frame-support" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "aquamarine 0.5.0", "array-bytes 6.2.3", @@ -2803,7 +2803,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "23.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "Inflector", "cfg-expr", @@ -2822,7 +2822,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "10.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.2.0", @@ -2834,7 +2834,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "11.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "proc-macro2", "quote", @@ -2844,7 +2844,7 @@ dependencies = [ [[package]] name = "frame-system" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "cfg-if", "docify", @@ -2866,7 +2866,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-benchmarking", "frame-support", @@ -2881,7 +2881,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "26.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "parity-scale-codec", "sp-api", @@ -2890,7 +2890,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.34.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-support", "parity-scale-codec", @@ -4763,7 +4763,7 @@ dependencies = [ [[package]] name = "mangata-support" version = "0.1.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-support", "mangata-types", @@ -4776,7 +4776,7 @@ dependencies = [ [[package]] name = "mangata-types" version = "0.1.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "parity-scale-codec", "scale-info", @@ -5462,7 +5462,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "27.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-support", "frame-system", @@ -5479,7 +5479,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-support", "frame-system", @@ -5494,7 +5494,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-benchmarking", "frame-support", @@ -5518,7 +5518,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "docify", "frame-benchmarking", @@ -5566,7 +5566,7 @@ dependencies = [ [[package]] name = "pallet-collective-mangata" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-benchmarking", "frame-support", @@ -5637,7 +5637,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-benchmarking", "frame-support", @@ -5660,7 +5660,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5729,7 +5729,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-benchmarking", "frame-support", @@ -5831,7 +5831,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-benchmarking", "frame-support", @@ -5908,7 +5908,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-benchmarking", "frame-support", @@ -5931,7 +5931,7 @@ dependencies = [ [[package]] name = "pallet-sudo-mangata" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "docify", "frame-benchmarking", @@ -5965,7 +5965,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "27.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "docify", "frame-benchmarking", @@ -5985,7 +5985,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-support", "frame-system", @@ -6001,7 +6001,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "30.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -6017,7 +6017,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -6029,7 +6029,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "27.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "docify", "frame-benchmarking", @@ -6048,7 +6048,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6064,7 +6064,7 @@ dependencies = [ [[package]] name = "pallet-utility-mangata" version = "4.0.0-dev" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6080,7 +6080,7 @@ dependencies = [ [[package]] name = "pallet-vesting-mangata" version = "4.0.0-dev" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7894,7 +7894,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "23.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "log", "sp-core", @@ -7905,7 +7905,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship-ver" version = "0.10.0-dev" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "aquamarine 0.3.3", "futures", @@ -7931,7 +7931,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.33.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "parity-scale-codec", "sp-api", @@ -7946,7 +7946,7 @@ dependencies = [ [[package]] name = "sc-block-builder-ver" version = "0.33.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "aquamarine 0.1.12", "extrinsic-shuffler", @@ -7966,7 +7966,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "27.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "array-bytes 6.2.3", "docify", @@ -7992,7 +7992,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "11.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -8003,7 +8003,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.36.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "array-bytes 6.2.3", "chrono", @@ -8044,7 +8044,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "fnv", "futures", @@ -8071,7 +8071,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.35.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "hash-db", "kvdb", @@ -8097,7 +8097,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.33.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-trait", "futures", @@ -8122,7 +8122,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.34.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-trait", "futures", @@ -8151,7 +8151,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.19.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "ahash 0.8.11", "array-bytes 6.2.3", @@ -8194,7 +8194,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.33.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-trait", "futures", @@ -8219,7 +8219,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.32.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -8242,7 +8242,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.29.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "polkavm", "sc-allocator", @@ -8255,7 +8255,7 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.29.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "log", "polkavm", @@ -8266,7 +8266,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.29.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "anyhow", "cfg-if", @@ -8284,7 +8284,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.33.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "ansi_term", "futures", @@ -8301,7 +8301,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "25.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.3", @@ -8315,7 +8315,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.4.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "array-bytes 4.2.0", "arrayvec 0.7.6", @@ -8344,7 +8344,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.34.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -8387,7 +8387,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.33.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-channel", "cid", @@ -8407,7 +8407,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.33.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -8424,7 +8424,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.34.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "ahash 0.8.11", "futures", @@ -8443,7 +8443,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.33.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -8464,7 +8464,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.33.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -8500,7 +8500,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.33.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "array-bytes 6.2.3", "futures", @@ -8519,7 +8519,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "29.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "array-bytes 6.2.3", "bytes", @@ -8553,7 +8553,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.17.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8562,7 +8562,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "29.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "futures", "jsonrpsee", @@ -8594,7 +8594,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.33.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -8614,7 +8614,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "11.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "futures", "governor", @@ -8632,7 +8632,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.34.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "array-bytes 6.2.3", "futures", @@ -8663,7 +8663,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.35.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-trait", "directories", @@ -8728,7 +8728,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.30.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "log", "parity-scale-codec", @@ -8739,7 +8739,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "27.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "derive_more", "futures", @@ -8760,7 +8760,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "15.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "chrono", "futures", @@ -8779,7 +8779,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "ansi_term", "chrono", @@ -8809,7 +8809,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -8820,7 +8820,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-trait", "futures", @@ -8847,7 +8847,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-trait", "futures", @@ -8863,7 +8863,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "14.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-channel", "futures", @@ -9409,7 +9409,7 @@ dependencies = [ [[package]] name = "sp-api" version = "26.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "hash-db", "log", @@ -9431,7 +9431,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "15.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "Inflector", "blake2 0.10.6", @@ -9445,7 +9445,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "30.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "parity-scale-codec", "scale-info", @@ -9458,7 +9458,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "23.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "integer-sqrt", "num-traits", @@ -9490,7 +9490,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "26.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "sp-api", "sp-inherents", @@ -9501,7 +9501,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "futures", "log", @@ -9519,7 +9519,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.32.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-trait", "futures", @@ -9534,7 +9534,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.32.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-trait", "parity-scale-codec", @@ -9551,7 +9551,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.32.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-trait", "parity-scale-codec", @@ -9570,7 +9570,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "13.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "finality-grandpa", "log", @@ -9588,7 +9588,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.32.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "parity-scale-codec", "scale-info", @@ -9600,7 +9600,7 @@ dependencies = [ [[package]] name = "sp-core" version = "28.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "array-bytes 6.2.3", "bandersnatch_vrfs", @@ -9668,7 +9668,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "blake2b_simd", "byteorder", @@ -9681,7 +9681,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "quote", "sp-crypto-hashing", @@ -9691,7 +9691,7 @@ dependencies = [ [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "kvdb", "parking_lot 0.12.3", @@ -9700,7 +9700,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "proc-macro2", "quote", @@ -9710,7 +9710,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "environmental", "parity-scale-codec", @@ -9721,7 +9721,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.7.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "serde_json", "sp-api", @@ -9732,7 +9732,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "26.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9746,7 +9746,7 @@ dependencies = [ [[package]] name = "sp-io" version = "30.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "bytes", "ed25519-dalek", @@ -9772,7 +9772,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "31.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "sp-core", "sp-runtime", @@ -9782,7 +9782,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.34.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -9793,7 +9793,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "thiserror", "zstd 0.12.4", @@ -9802,7 +9802,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.6.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -9813,7 +9813,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.4.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "parity-scale-codec", "scale-info", @@ -9825,7 +9825,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "26.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "sp-api", "sp-core", @@ -9835,7 +9835,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "backtrace", "lazy_static", @@ -9845,7 +9845,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "26.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "rustc-hash", "serde", @@ -9855,7 +9855,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "31.0.1" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "alloy-primitives", "alloy-sol-types", @@ -9886,7 +9886,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -9905,7 +9905,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "Inflector", "expander", @@ -9918,7 +9918,7 @@ dependencies = [ [[package]] name = "sp-session" version = "27.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "parity-scale-codec", "scale-info", @@ -9933,7 +9933,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "26.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9947,7 +9947,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.35.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "hash-db", "log", @@ -9968,7 +9968,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "10.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "aes-gcm", "curve25519-dalek 4.1.1", @@ -9993,12 +9993,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -10011,7 +10011,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "26.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-trait", "parity-scale-codec", @@ -10024,7 +10024,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "parity-scale-codec", "sp-std", @@ -10036,7 +10036,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "26.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "sp-api", "sp-runtime", @@ -10045,7 +10045,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "26.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-trait", "parity-scale-codec", @@ -10060,7 +10060,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "29.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "ahash 0.8.11", "hash-db", @@ -10084,7 +10084,7 @@ dependencies = [ [[package]] name = "sp-ver" version = "4.0.0-dev" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-trait", "parity-scale-codec", @@ -10101,7 +10101,7 @@ dependencies = [ [[package]] name = "sp-version" version = "29.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -10118,7 +10118,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "13.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -10129,7 +10129,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -10142,7 +10142,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "27.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -10301,7 +10301,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.4.7" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "hmac 0.12.1", "pbkdf2", @@ -10313,12 +10313,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "hyper", "log", @@ -10330,7 +10330,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.33.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-trait", "jsonrpsee", @@ -10343,7 +10343,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "array-bytes 6.2.3", "async-trait", @@ -10370,7 +10370,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "array-bytes 6.2.3", "frame-executive", @@ -10413,7 +10413,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "futures", "sc-block-builder", @@ -10432,7 +10432,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "17.0.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "build-helper", "cargo_metadata", @@ -11048,7 +11048,7 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "try-runtime-cli" version = "0.38.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "async-trait", "clap", @@ -11234,7 +11234,7 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "ver-api" version = "4.0.0-dev" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" +source = "git+https://github.com/gasp-xyz/polkadot-sdk?branch=eth-rollup-develop#f96b7fd48c5b5ed6d08a62a6a0ebdac22287e19a" dependencies = [ "derive_more", "frame-support", @@ -12205,8 +12205,3 @@ dependencies = [ "cc", "pkg-config", ] - -[[patch.unused]] -name = "sp-crypto-ec-utils" -version = "0.10.0" -source = "git+https://github.com/gasp-xyz//polkadot-sdk?branch=feature/rolldown-benchmarks#f8b9a65e261c5eda745a8edb7cc9855b8f4b5d03" diff --git a/Cargo.toml b/Cargo.toml index 8929112a9..c3d7647cd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -193,143 +193,143 @@ ver-api = { git = "https://github.com/gasp-xyz/polkadot-sdk", branch = "eth-roll # ... which satisfies git dependency `sp-crypto-ec-utils` of package `sp-ark-bls12-381 v0.4.2 (https://github.com/paritytech/arkworks-substrate#caa2eed7)` sp-crypto-ec-utils = { git = "https://github.com/gasp-xyz/polkadot-sdk", branch = "eth-rollup-develop" } -#polkdadot sdk -[patch."https://github.com/gasp-xyz/polkadot-sdk"] -extrinsic-shuffler = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -fork-tree = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -frame-benchmarking = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -frame-benchmarking-cli = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -frame-executive = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -frame-support = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -frame-support-procedural = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -frame-support-procedural-tools = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -frame-support-procedural-tools-derive = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -frame-system = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -frame-system-benchmarking = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -frame-system-rpc-runtime-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -frame-try-runtime = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -mangata-support = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -mangata-types = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-aura = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-authorship = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-babe = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-balances = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-collective-mangata = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-grandpa = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-identity = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-membership = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-proxy = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-session = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-sudo-mangata = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-timestamp = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-transaction-payment = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-transaction-payment-rpc = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-treasury = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-utility = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-utility-mangata = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -pallet-vesting-mangata = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-allocator = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-basic-authorship-ver = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-block-builder = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-block-builder-ver = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-chain-spec = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-chain-spec-derive = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-cli = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-client-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-client-db = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-consensus = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-consensus-aura = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-consensus-grandpa = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-consensus-slots = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-executor = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-executor-common = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-executor-polkavm = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-executor-wasmtime = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-informant = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-keystore = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-mixnet = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-network = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-network-bitswap = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-network-common = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-network-gossip = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-network-light = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-network-sync = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-network-transactions = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-offchain = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-proposer-metrics = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-rpc = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-rpc-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-rpc-server = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-rpc-spec-v2 = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-service = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-state-db = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-sysinfo = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-telemetry = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-tracing = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-tracing-proc-macro = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-transaction-pool = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-transaction-pool-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sc-utils = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-api-proc-macro = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-application-crypto = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-arithmetic = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-block-builder = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-blockchain = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-consensus = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-consensus-aura = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-consensus-babe = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-consensus-grandpa = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-consensus-slots = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-core = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-crypto-hashing = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-crypto-hashing-proc-macro = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-database = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-debug-derive = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-externalities = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-genesis-builder = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-inherents = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-io = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-keyring = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-keystore = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-maybe-compressed-blob = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-metadata-ir = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-mixnet = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-offchain = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-panic-handler = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-rpc = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-runtime = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-runtime-interface = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-runtime-interface-proc-macro = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-session = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-staking = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-state-machine = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-statement-store = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-std = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-storage = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-timestamp = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-tracing = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-transaction-pool = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-transaction-storage-proof = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-trie = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-ver = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-version = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-version-proc-macro = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-wasm-interface = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -sp-weights = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -substrate-bip39 = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -substrate-build-script-utils = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -substrate-prometheus-endpoint = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -substrate-test-client = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -substrate-test-runtime = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -substrate-test-runtime-client = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -substrate-wasm-builder = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -try-runtime-cli = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -ver-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# #polkdadot sdk +# [patch."https://github.com/gasp-xyz/polkadot-sdk"] +# extrinsic-shuffler = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# fork-tree = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# frame-benchmarking = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# frame-benchmarking-cli = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# frame-executive = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# frame-support = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# frame-support-procedural = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# frame-support-procedural-tools = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# frame-support-procedural-tools-derive = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# frame-system = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# frame-system-benchmarking = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# frame-system-rpc-runtime-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# frame-try-runtime = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# mangata-support = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# mangata-types = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-aura = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-authorship = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-babe = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-balances = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-collective-mangata = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-grandpa = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-identity = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-membership = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-proxy = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-session = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-sudo-mangata = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-timestamp = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-transaction-payment = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-transaction-payment-rpc = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-treasury = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-utility = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-utility-mangata = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# pallet-vesting-mangata = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-allocator = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-basic-authorship-ver = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-block-builder = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-block-builder-ver = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-chain-spec = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-chain-spec-derive = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-cli = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-client-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-client-db = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-consensus = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-consensus-aura = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-consensus-grandpa = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-consensus-slots = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-executor = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-executor-common = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-executor-polkavm = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-executor-wasmtime = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-informant = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-keystore = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-mixnet = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-network = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-network-bitswap = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-network-common = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-network-gossip = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-network-light = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-network-sync = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-network-transactions = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-offchain = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-proposer-metrics = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-rpc = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-rpc-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-rpc-server = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-rpc-spec-v2 = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-service = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-state-db = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-sysinfo = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-telemetry = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-tracing = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-tracing-proc-macro = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-transaction-pool = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-transaction-pool-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sc-utils = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-api-proc-macro = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-application-crypto = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-arithmetic = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-block-builder = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-blockchain = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-consensus = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-consensus-aura = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-consensus-babe = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-consensus-grandpa = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-consensus-slots = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-core = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-crypto-hashing = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-crypto-hashing-proc-macro = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-database = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-debug-derive = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-externalities = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-genesis-builder = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-inherents = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-io = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-keyring = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-keystore = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-maybe-compressed-blob = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-metadata-ir = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-mixnet = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-offchain = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-panic-handler = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-rpc = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-runtime = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-runtime-interface = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-runtime-interface-proc-macro = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-session = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-staking = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-state-machine = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-statement-store = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-std = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-storage = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-timestamp = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-tracing = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-transaction-pool = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-transaction-storage-proof = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-trie = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-ver = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-version = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-version-proc-macro = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-wasm-interface = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# sp-weights = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# substrate-bip39 = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# substrate-build-script-utils = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# substrate-prometheus-endpoint = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# substrate-test-client = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# substrate-test-runtime = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# substrate-test-runtime-client = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# substrate-wasm-builder = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# try-runtime-cli = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# ver-api = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } -# ... which satisfies git dependency `sp-crypto-ec-utils` of package `sp-ark-bls12-381 v0.4.2 (https://github.com/paritytech/arkworks-substrate#caa2eed7)` -sp-crypto-ec-utils = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } +# # ... which satisfies git dependency `sp-crypto-ec-utils` of package `sp-ark-bls12-381 v0.4.2 (https://github.com/paritytech/arkworks-substrate#caa2eed7)` +# sp-crypto-ec-utils = { git = "https://github.com/gasp-xyz//polkadot-sdk", branch = "feature/rolldown-benchmarks" } # # patch generated by './scripts/dev_manifest.sh ../polkadot-sdk/' # [patch."https://github.com/gasp-xyz/polkadot-sdk"] From 85369177417d3caa96a0a06ee060c284bcb1715e Mon Sep 17 00:00:00 2001 From: iStrike7 <40371953+iStrike7@users.noreply.github.com> Date: Fri, 8 Nov 2024 17:24:09 +0530 Subject: [PATCH 17/17] =?UTF-8?q?added=20offset=20to=20VerExtrinsicBaseWei?= =?UTF-8?q?ght=20and=20FeeLockWeight=20to=20xyk=20extri=E2=80=A6=20(#837)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit added offset to VerExtrinsicBaseWeight and FeeLockWeight to xyk extrinsics --- pallets/bootstrap/src/mock.rs | 1 + pallets/fee-lock/src/benchmarking.rs | 86 +++++++++++++++++ pallets/fee-lock/src/lib.rs | 18 +++- pallets/fee-lock/src/weights.rs | 61 +++++++++--- pallets/proof-of-stake/src/mock.rs | 1 + pallets/rolldown/Cargo.toml | 2 +- pallets/xyk/src/lib.rs | 23 ++--- pallets/xyk/src/mock.rs | 2 + rollup/runtime/src/constants.rs | 5 +- rollup/runtime/src/lib.rs | 1 + rollup/runtime/src/runtime_config.rs | 4 +- rollup/runtime/src/weights/pallet_fee_lock.rs | 93 ++++++++++++++----- scripts/run_benchmarks.sh | 34 +++---- 13 files changed, 264 insertions(+), 67 deletions(-) diff --git a/pallets/bootstrap/src/mock.rs b/pallets/bootstrap/src/mock.rs index eb02d9dfa..ea75b43a1 100644 --- a/pallets/bootstrap/src/mock.rs +++ b/pallets/bootstrap/src/mock.rs @@ -135,6 +135,7 @@ impl pallet_xyk::Config for Test { type DisabledTokens = Nothing; type VestingProvider = Vesting; type AssetMetadataMutation = AssetMetadataMutation; + type FeeLockWeight = (); } impl pallet_proof_of_stake::Config for Test { diff --git a/pallets/fee-lock/src/benchmarking.rs b/pallets/fee-lock/src/benchmarking.rs index 507e08b19..897d2303b 100644 --- a/pallets/fee-lock/src/benchmarking.rs +++ b/pallets/fee-lock/src/benchmarking.rs @@ -32,6 +32,90 @@ const MGA_TOKEN_ID: u32 = 0; benchmarks! { + process_fee_lock{ + + let caller: T::AccountId = whitelisted_caller(); + let period_length: BlockNumberFor = 10u32.into(); + let fee_lock_amount: BalanceOf = 1000_u32.into(); + let queue_position = 10u128; + let token_id = MGA_TOKEN_ID.into(); + >::set_block_number(1u32.into()); + let now= >::block_number(); + let mint_amount: BalanceOf = 1_000_000u32.into(); + let swap_value_threshold: BalanceOf = 1000_u32.into(); + + // This should be a while loop + // But this is fine here since token_id is 0 + if ::Tokens::get_next_currency_id() > token_id { + assert_ok!(::Tokens::mint(token_id, &caller.clone(), mint_amount)); + } else { + assert_eq!(::Tokens::create(&caller.clone(), mint_amount).unwrap(), token_id); + } + + assert_ok!(FeeLock::::update_fee_lock_metadata(RawOrigin::Root.into(), Some(period_length), Some(fee_lock_amount), Some(swap_value_threshold), None)); + + FeeLockMetadataQeueuePosition::::insert(caller.clone(), queue_position); + UnlockQueue::::insert(queue_position, caller.clone()); + + + let initial_user_free_balance = ::Tokens::free_balance(token_id, &caller.clone()); + let initial_user_reserved_balance = ::Tokens::reserved_balance(token_id, &caller.clone()); + let initial_user_locked_balance = ::Tokens::locked_balance(token_id, &caller.clone()); + + assert_eq!(FeeLock::::get_account_fee_lock_data(caller.clone()), AccountFeeLockDataInfo{ + total_fee_lock_amount: Default::default(), + last_fee_lock_block: Default::default(), + }); + + } : {FeeLock::::process_fee_lock(&caller)} + verify{ + + assert_eq!(::Tokens::free_balance(token_id, &caller.clone()), + initial_user_free_balance - fee_lock_amount); + assert_eq!(::Tokens::reserved_balance(token_id, &caller.clone()), + initial_user_reserved_balance + fee_lock_amount); + assert_eq!(::Tokens::locked_balance(token_id, &caller.clone()), + initial_user_locked_balance); + + assert_eq!(FeeLock::::get_account_fee_lock_data(caller.clone()), AccountFeeLockDataInfo{ + total_fee_lock_amount: fee_lock_amount, + last_fee_lock_block: now, + }); + } + + get_swap_valuation_for_token { + + let caller: T::AccountId = whitelisted_caller(); + let mint_amount: BalanceOf = 1_000_000u32.into(); + let pool_amount: BalanceOf = 100_000u32.into(); + let token_id = MGA_TOKEN_ID.into(); + + // This should be a while loop + // But this is fine here since token_id is 0 + if ::Tokens::get_next_currency_id() > token_id { + assert_ok!(::Tokens::mint(token_id, &caller.clone(), mint_amount)); + } else { + assert_eq!(::Tokens::create(&caller.clone(), mint_amount).unwrap(), token_id); + } + + let valuating_token_amount: BalanceOf = 1000_u32.into(); + let valuating_token_id = ::Tokens::create(&caller.clone(), mint_amount)?; + + // Order of tokens in the create_pool call below is important + #[cfg(not(test))] + assert_ok!(::PoolReservesProvider::create_pool(caller, valuating_token_id, pool_amount, token_id, pool_amount.saturating_mul(2u8.into()))); + + // We want to avoid having the value being 1000, since that is what get_swap_valuation_for_token returns if the valuating_token_id is the native token id + #[cfg(test)] + let value: BalanceOf = 500_u32.into(); + #[cfg(not(test))] + let value: BalanceOf = 2000_u32.into(); + let mut valuation: Option> = None; + }: {valuation = FeeLock::::get_swap_valuation_for_token(valuating_token_id, valuating_token_amount);} + verify{ + assert_eq!(valuation, Some(value)); + } + update_fee_lock_metadata{ let period_length: BlockNumberFor = 1000u32.into(); let fee_lock_amount: BalanceOf = 1000_u32.into(); @@ -58,6 +142,8 @@ benchmarks! { let now= >::block_number(); let token_id = MGA_TOKEN_ID.into(); + // This should be a while loop + // But this is fine here since token_id is 0 if ::Tokens::get_next_currency_id() > token_id { assert_ok!(::Tokens::mint(token_id, &caller.clone(), 1_000_000u32.into())); } else { diff --git a/pallets/fee-lock/src/lib.rs b/pallets/fee-lock/src/lib.rs index 74f6797b8..bff9b206f 100644 --- a/pallets/fee-lock/src/lib.rs +++ b/pallets/fee-lock/src/lib.rs @@ -10,7 +10,7 @@ use frame_support::{ transactional, }; use frame_system::{ensure_signed, pallet_prelude::*}; -use mangata_support::traits::{FeeLockTriggerTrait, Valuate}; +use mangata_support::traits::{FeeLockTriggerTrait, Valuate, XykFunctionsTrait}; use orml_tokens::{MultiTokenCurrencyExtended, MultiTokenReservableCurrency}; use sp_arithmetic::per_things::Rounding; use sp_runtime::helpers_128bit::multiply_by_rational_with_rounding; @@ -225,7 +225,11 @@ pub mod pallet { type MaxCuratedTokens: Get; type Tokens: MultiTokenCurrencyExtended + MultiTokenReservableCurrency; + #[cfg(not(all(feature = "runtime-benchmarks", not(test))))] type PoolReservesProvider: Valuate, CurrencyIdOf>; + #[cfg(all(feature = "runtime-benchmarks", not(test)))] + type PoolReservesProvider: Valuate, CurrencyIdOf> + + XykFunctionsTrait, CurrencyIdOf>; #[pallet::constant] type NativeTokenId: Get>; type WeightInfo: WeightInfo; @@ -553,3 +557,15 @@ impl FeeLockTriggerTrait, CurrencyIdOf> Ok(()) } } + +pub struct FeeLockWeightProvider(PhantomData); + +impl Get for FeeLockWeightProvider { + fn get() -> Weight { + // We assume that process_fee_lock is heavier than unlock_fee + // The FeeLockMetadata read is not accounted for since it is called no matter the extrinsic and hence would be accounted for in the ExtrinsicBaseWeight + T::WeightInfo::process_fee_lock() + .saturating_add(T::WeightInfo::get_swap_valuation_for_token()) + .saturating_add(Weight::from_parts(40_000_000, 0)) + } +} diff --git a/pallets/fee-lock/src/weights.rs b/pallets/fee-lock/src/weights.rs index 14dbf5a4f..e236d40b7 100644 --- a/pallets/fee-lock/src/weights.rs +++ b/pallets/fee-lock/src/weights.rs @@ -16,24 +16,24 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -//! Autogenerated weights for pallet_token_timeout +//! Autogenerated weights for pallet_fee_lock //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-09-01, STEPS: `2`, REPEAT: 2, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-11-07, STEPS: `2`, REPEAT: 2, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("rollup-local"), DB CACHE: 1024 // Executed Command: -// /home/striker/work/mangata-ws/mangata-node/scripts/..//target/release/mangata-node +// /home/striker/work/mangata-ws/mangata-node/scripts/..//target/release/rollup-node // benchmark // pallet // --chain -// dev +// rollup-local // --execution // wasm // --wasm-execution // compiled // --pallet -// pallet_token_timeout +// pallet_fee_lock // --extrinsic // * // --steps @@ -41,7 +41,7 @@ // --repeat // 2 // --output -// ./benchmarks/pallet_token_timeout_weights.rs +// ./benchmarks/pallet_fee_lock_weights.rs // --template // ./templates/module-weight-template.hbs @@ -55,20 +55,57 @@ use sp_std::marker::PhantomData; /// Weight functions needed for pallet_fee_lock. pub trait WeightInfo { + fn process_fee_lock() -> Weight; + fn get_swap_valuation_for_token() -> Weight; fn update_fee_lock_metadata() -> Weight; fn unlock_fee() -> Weight; } // For backwards compatibility and tests impl WeightInfo for () { + // Storage: `FeeLock::FeeLockMetadata` (r:1 w:0) + // Proof: `FeeLock::FeeLockMetadata` (`max_values`: Some(1), `max_size`: Some(438), added: 933, mode: `MaxEncodedLen`) + // Storage: `FeeLock::AccountFeeLockData` (r:1 w:1) + // Proof: `FeeLock::AccountFeeLockData` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:1 w:1) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `FeeLock::FeeLockMetadataQeueuePosition` (r:1 w:1) + // Proof: `FeeLock::FeeLockMetadataQeueuePosition` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + // Storage: `FeeLock::UnlockQueue` (r:1 w:2) + // Proof: `FeeLock::UnlockQueue` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + // Storage: `FeeLock::UnlockQueueEnd` (r:1 w:1) + // Proof: `FeeLock::UnlockQueueEnd` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + fn process_fee_lock() -> Weight { + (Weight::from_parts(39_182_000, 0)) + .saturating_add(RocksDbWeight::get().reads(6 as u64)) + .saturating_add(RocksDbWeight::get().writes(6 as u64)) + } + // Storage: `Xyk::Pools` (r:2 w:0) + // Proof: `Xyk::Pools` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`) + fn get_swap_valuation_for_token() -> Weight { + (Weight::from_parts(10_686_000, 0)) + .saturating_add(RocksDbWeight::get().reads(2 as u64)) + } + // Storage: `FeeLock::FeeLockMetadata` (r:1 w:1) + // Proof: `FeeLock::FeeLockMetadata` (`max_values`: Some(1), `max_size`: Some(438), added: 933, mode: `MaxEncodedLen`) fn update_fee_lock_metadata() -> Weight { - (Weight::from_parts(44_245_000, 0)) + (Weight::from_parts(22_559_000, 0)) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } + // Storage: `FeeLock::AccountFeeLockData` (r:1 w:1) + // Proof: `FeeLock::AccountFeeLockData` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + // Storage: `FeeLock::FeeLockMetadata` (r:1 w:0) + // Proof: `FeeLock::FeeLockMetadata` (`max_values`: Some(1), `max_size`: Some(438), added: 933, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:1 w:1) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `FeeLock::FeeLockMetadataQeueuePosition` (r:1 w:1) + // Proof: `FeeLock::FeeLockMetadataQeueuePosition` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + // Storage: `FeeLock::UnlockQueue` (r:1 w:1) + // Proof: `FeeLock::UnlockQueue` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) fn unlock_fee() -> Weight { - (Weight::from_parts(50_286_000, 0)) - .saturating_add(RocksDbWeight::get().reads(3 as u64)) - .saturating_add(RocksDbWeight::get().writes(2 as u64)) + (Weight::from_parts(39_182_000, 0)) + .saturating_add(RocksDbWeight::get().reads(5 as u64)) + .saturating_add(RocksDbWeight::get().writes(4 as u64)) } } diff --git a/pallets/proof-of-stake/src/mock.rs b/pallets/proof-of-stake/src/mock.rs index 8829b0e10..cfdc64b0b 100644 --- a/pallets/proof-of-stake/src/mock.rs +++ b/pallets/proof-of-stake/src/mock.rs @@ -260,6 +260,7 @@ impl pallet_xyk::Config for Test { type DisabledTokens = Nothing; type VestingProvider = Vesting; type AssetMetadataMutation = AssetMetadataMutation; + type FeeLockWeight = (); } #[cfg(not(feature = "runtime-benchmarks"))] diff --git a/pallets/rolldown/Cargo.toml b/pallets/rolldown/Cargo.toml index 33fbebe62..92251a16e 100644 --- a/pallets/rolldown/Cargo.toml +++ b/pallets/rolldown/Cargo.toml @@ -67,6 +67,6 @@ std = [ "pallet-sequencer-staking/std", ] -runtime-benchmarks = ["frame-benchmarking/runtime-benchmarks"] +runtime-benchmarks = ["frame-benchmarking/runtime-benchmarks", "pallet-sequencer-staking/runtime-benchmarks"] try-runtime = ["frame-support/try-runtime", "frame-system/try-runtime", "orml-tokens/try-runtime", "sp-runtime/try-runtime"] diff --git a/pallets/xyk/src/lib.rs b/pallets/xyk/src/lib.rs index 31de53c88..05e277b77 100644 --- a/pallets/xyk/src/lib.rs +++ b/pallets/xyk/src/lib.rs @@ -450,6 +450,7 @@ pub mod pallet { Moment = BlockNumberFor, >; type AssetMetadataMutation: AssetMetadataMutationTrait>; + type FeeLockWeight: Get; type WeightInfo: WeightInfo; } @@ -677,7 +678,7 @@ pub mod pallet { #[pallet::call] impl Pallet { #[pallet::call_index(0)] - #[pallet::weight(<::WeightInfo>::create_pool())] + #[pallet::weight(<::WeightInfo>::create_pool().saturating_add(T::FeeLockWeight::get()))] pub fn create_pool( origin: OriginFor, first_asset_id: CurrencyIdOf, @@ -724,7 +725,7 @@ pub mod pallet { /// - `sold_asset_amount`: The amount of the sold token being sold /// - `min_amount_out` - The minimum amount of bought asset that must be bought in order to not fail on slippage. Slippage failures still charge exchange commission. #[pallet::call_index(1)] - #[pallet::weight((<::WeightInfo>::sell_asset(), DispatchClass::Operational, Pays::No))] + #[pallet::weight((<::WeightInfo>::sell_asset().saturating_add(T::FeeLockWeight::get()), DispatchClass::Operational, Pays::No))] #[deprecated(note = "multiswap_sell_asset should be used instead")] pub fn sell_asset( origin: OriginFor, @@ -769,7 +770,7 @@ pub mod pallet { /// - `sold_asset_amount`: The amount of the first asset sold /// - `min_amount_out` - The minimum amount of last asset that must be bought in order to not fail on slippage. Slippage failures still charge exchange commission. #[pallet::call_index(2)] - #[pallet::weight((<::WeightInfo>::multiswap_sell_asset(swap_token_list.len() as u32), DispatchClass::Operational, Pays::No))] + #[pallet::weight((<::WeightInfo>::multiswap_sell_asset(swap_token_list.len() as u32).saturating_add(T::FeeLockWeight::get()), DispatchClass::Operational, Pays::No))] pub fn multiswap_sell_asset( origin: OriginFor, swap_token_list: Vec>, @@ -826,7 +827,7 @@ pub mod pallet { /// - `bought_asset_amount`: The amount of the bought token being bought /// - `max_amount_in` - The maximum amount of sold asset that must be sold in order to not fail on slippage. Slippage failures still charge exchange commission. #[pallet::call_index(3)] - #[pallet::weight((<::WeightInfo>::buy_asset(), DispatchClass::Operational, Pays::No))] + #[pallet::weight((<::WeightInfo>::buy_asset().saturating_add(T::FeeLockWeight::get()), DispatchClass::Operational, Pays::No))] #[deprecated(note = "multiswap_buy_asset should be used instead")] pub fn buy_asset( origin: OriginFor, @@ -874,7 +875,7 @@ pub mod pallet { /// - `bought_asset_amount`: The amount of the last asset bought /// - `max_amount_in` - The maximum amount of first asset that can be sold in order to not fail on slippage. Slippage failures still charge exchange commission. #[pallet::call_index(4)] - #[pallet::weight((<::WeightInfo>::multiswap_buy_asset(swap_token_list.len() as u32), DispatchClass::Operational, Pays::No))] + #[pallet::weight((<::WeightInfo>::multiswap_buy_asset(swap_token_list.len() as u32).saturating_add(T::FeeLockWeight::get()), DispatchClass::Operational, Pays::No))] pub fn multiswap_buy_asset( origin: OriginFor, swap_token_list: Vec>, @@ -917,7 +918,7 @@ pub mod pallet { } #[pallet::call_index(5)] - #[pallet::weight(<::WeightInfo>::mint_liquidity_using_vesting_native_tokens())] + #[pallet::weight(<::WeightInfo>::mint_liquidity_using_vesting_native_tokens().saturating_add(T::FeeLockWeight::get()))] #[transactional] pub fn mint_liquidity_using_vesting_native_tokens_by_vesting_index( origin: OriginFor, @@ -977,7 +978,7 @@ pub mod pallet { } #[pallet::call_index(6)] - #[pallet::weight(<::WeightInfo>::mint_liquidity_using_vesting_native_tokens())] + #[pallet::weight(<::WeightInfo>::mint_liquidity_using_vesting_native_tokens().saturating_add(T::FeeLockWeight::get()))] #[transactional] pub fn mint_liquidity_using_vesting_native_tokens( origin: OriginFor, @@ -1034,7 +1035,7 @@ pub mod pallet { } #[pallet::call_index(7)] - #[pallet::weight(<::WeightInfo>::mint_liquidity())] + #[pallet::weight(<::WeightInfo>::mint_liquidity().saturating_add(T::FeeLockWeight::get()))] pub fn mint_liquidity( origin: OriginFor, first_asset_id: CurrencyIdOf, @@ -1063,7 +1064,7 @@ pub mod pallet { } #[pallet::call_index(8)] - #[pallet::weight(<::WeightInfo>::compound_rewards())] + #[pallet::weight(<::WeightInfo>::compound_rewards().saturating_add(T::FeeLockWeight::get()))] #[transactional] pub fn compound_rewards( origin: OriginFor, @@ -1082,7 +1083,7 @@ pub mod pallet { } #[pallet::call_index(9)] - #[pallet::weight(<::WeightInfo>::provide_liquidity_with_conversion())] + #[pallet::weight(<::WeightInfo>::provide_liquidity_with_conversion().saturating_add(T::FeeLockWeight::get()))] #[transactional] pub fn provide_liquidity_with_conversion( origin: OriginFor, @@ -1114,7 +1115,7 @@ pub mod pallet { } #[pallet::call_index(10)] - #[pallet::weight(<::WeightInfo>::burn_liquidity())] + #[pallet::weight(<::WeightInfo>::burn_liquidity().saturating_add(T::FeeLockWeight::get()))] pub fn burn_liquidity( origin: OriginFor, first_asset_id: CurrencyIdOf, diff --git a/pallets/xyk/src/mock.rs b/pallets/xyk/src/mock.rs index 60f1bbf64..56c0589b3 100644 --- a/pallets/xyk/src/mock.rs +++ b/pallets/xyk/src/mock.rs @@ -274,6 +274,7 @@ impl Config for Test { type DisallowedPools = DummyBlacklistedPool; type DisabledTokens = Nothing; type AssetMetadataMutation = MockAssetRegister; + type FeeLockWeight = (); } #[cfg(feature = "runtime-benchmarks")] @@ -294,6 +295,7 @@ impl Config for Test { type DisallowedPools = Nothing; type DisabledTokens = Nothing; type AssetMetadataMutation = MockAssetRegister; + type FeeLockWeight = (); } #[cfg(not(feature = "runtime-benchmarks"))] diff --git a/rollup/runtime/src/constants.rs b/rollup/runtime/src/constants.rs index d353abd41..f0ece01e3 100644 --- a/rollup/runtime/src/constants.rs +++ b/rollup/runtime/src/constants.rs @@ -1,6 +1,9 @@ #![cfg_attr(not(feature = "std"), no_std)] pub mod fee { - use crate::{runtime_config::consts::UNIT, weights::VerExtrinsicBaseWeight, Balance}; + use crate::{ + runtime_config::{config::frame_system::VerExtrinsicBaseWeight, consts::UNIT}, + Balance, + }; use frame_support::weights::{ constants::WEIGHT_REF_TIME_PER_SECOND, WeightToFeeCoefficient, WeightToFeeCoefficients, WeightToFeePolynomial, diff --git a/rollup/runtime/src/lib.rs b/rollup/runtime/src/lib.rs index 5f9e077c6..d08d03f39 100644 --- a/rollup/runtime/src/lib.rs +++ b/rollup/runtime/src/lib.rs @@ -325,6 +325,7 @@ impl pallet_xyk::Config for Runtime { type DisabledTokens = (cfg::pallet_xyk::TestTokensFilter, cfg::pallet_xyk::AssetRegisterFilter); type AssetMetadataMutation = cfg::pallet_xyk::AssetMetadataMutation; + type FeeLockWeight = pallet_fee_lock::FeeLockWeightProvider; type WeightInfo = weights::pallet_xyk_weights::ModuleWeight; } diff --git a/rollup/runtime/src/runtime_config.rs b/rollup/runtime/src/runtime_config.rs index 41d35cfef..85629701b 100644 --- a/rollup/runtime/src/runtime_config.rs +++ b/rollup/runtime/src/runtime_config.rs @@ -194,6 +194,8 @@ pub mod config { pub type MaxConsumers = frame_support::traits::ConstU32<16>; parameter_types! { + pub const BaseWeightOffset: Weight = Weight::from_parts(::DbWeight::get().read, 0); + pub const VerExtrinsicBaseWeight: Weight = weights::VerExtrinsicBaseWeight::get().saturating_add(BaseWeightOffset::get()); pub const BlockHashCount: BlockNumber = 2400; pub const Version: sp_version::RuntimeVersion = crate::VERSION; // This part is copied from Substrate's `bin/node/runtime/src/lib.rs`. @@ -205,7 +207,7 @@ pub mod config { pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(weights::VerBlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { - weights.base_extrinsic = weights::VerExtrinsicBaseWeight::get(); + weights.base_extrinsic = VerExtrinsicBaseWeight::get(); }) .for_class(DispatchClass::Normal, |weights| { weights.max_total = Some(NORMAL_DISPATCH_RATIO * consts::MAXIMUM_BLOCK_WEIGHT); diff --git a/rollup/runtime/src/weights/pallet_fee_lock.rs b/rollup/runtime/src/weights/pallet_fee_lock.rs index d2b6013d3..6461e303c 100644 --- a/rollup/runtime/src/weights/pallet_fee_lock.rs +++ b/rollup/runtime/src/weights/pallet_fee_lock.rs @@ -18,33 +18,32 @@ //! Autogenerated weights for pallet_fee_lock //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2024-01-09, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("mangata-kusama"), DB CACHE: 1024 +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-11-07, STEPS: `2`, REPEAT: 2, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("rollup-local"), DB CACHE: 1024 // Executed Command: -// target/release/mangata-node +// /home/striker/work/mangata-ws/mangata-node/scripts/..//target/release/rollup-node // benchmark // pallet -// -l=info,runtime::collective=warn,xyk=warn // --chain -// mangata-kusama +// rollup-local // --execution // wasm // --wasm-execution // compiled // --pallet -// * +// pallet_fee_lock // --extrinsic // * // --steps -// 50 +// 2 // --repeat -// 20 +// 2 +// --output +// ./benchmarks/pallet_fee_lock_weights.rs // --template // ./templates/module-weight-template.hbs -// --output -// ./benchmarks/ #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -56,6 +55,8 @@ use sp_std::marker::PhantomData; /// Weight functions needed for pallet_fee_lock. pub trait WeightInfo { + fn process_fee_lock() -> Weight; + fn get_swap_valuation_for_token() -> Weight; fn update_fee_lock_metadata() -> Weight; fn unlock_fee() -> Weight; } @@ -63,25 +64,48 @@ pub trait WeightInfo { /// Weights for pallet_fee_lock using the Mangata node and recommended hardware. pub struct ModuleWeight(PhantomData); impl pallet_fee_lock::WeightInfo for ModuleWeight { + // Storage: `FeeLock::FeeLockMetadata` (r:1 w:0) + // Proof: `FeeLock::FeeLockMetadata` (`max_values`: Some(1), `max_size`: Some(438), added: 933, mode: `MaxEncodedLen`) + // Storage: `FeeLock::AccountFeeLockData` (r:1 w:1) + // Proof: `FeeLock::AccountFeeLockData` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:1 w:1) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `FeeLock::FeeLockMetadataQeueuePosition` (r:1 w:1) + // Proof: `FeeLock::FeeLockMetadataQeueuePosition` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + // Storage: `FeeLock::UnlockQueue` (r:1 w:2) + // Proof: `FeeLock::UnlockQueue` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + // Storage: `FeeLock::UnlockQueueEnd` (r:1 w:1) + // Proof: `FeeLock::UnlockQueueEnd` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + fn process_fee_lock() -> Weight { + (Weight::from_parts(39_182_000, 0)) + .saturating_add(T::DbWeight::get().reads(6 as u64)) + .saturating_add(T::DbWeight::get().writes(6 as u64)) + } + // Storage: `Xyk::Pools` (r:2 w:0) + // Proof: `Xyk::Pools` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`) + fn get_swap_valuation_for_token() -> Weight { + (Weight::from_parts(10_686_000, 0)) + .saturating_add(T::DbWeight::get().reads(2 as u64)) + } // Storage: `FeeLock::FeeLockMetadata` (r:1 w:1) // Proof: `FeeLock::FeeLockMetadata` (`max_values`: Some(1), `max_size`: Some(438), added: 933, mode: `MaxEncodedLen`) fn update_fee_lock_metadata() -> Weight { - (Weight::from_parts(25_440_000, 0)) + (Weight::from_parts(22_559_000, 0)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: `FeeLock::AccountFeeLockData` (r:1 w:1) - // Proof: `FeeLock::AccountFeeLockData` (`max_values`: None, `max_size`: Some(60), added: 2535, mode: `MaxEncodedLen`) + // Proof: `FeeLock::AccountFeeLockData` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) // Storage: `FeeLock::FeeLockMetadata` (r:1 w:0) // Proof: `FeeLock::FeeLockMetadata` (`max_values`: Some(1), `max_size`: Some(438), added: 933, mode: `MaxEncodedLen`) // Storage: `Tokens::Accounts` (r:1 w:1) - // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) // Storage: `FeeLock::FeeLockMetadataQeueuePosition` (r:1 w:1) - // Proof: `FeeLock::FeeLockMetadataQeueuePosition` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`) + // Proof: `FeeLock::FeeLockMetadataQeueuePosition` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) // Storage: `FeeLock::UnlockQueue` (r:1 w:1) - // Proof: `FeeLock::UnlockQueue` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`) + // Proof: `FeeLock::UnlockQueue` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) fn unlock_fee() -> Weight { - (Weight::from_parts(51_730_000, 0)) + (Weight::from_parts(39_182_000, 0)) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -89,25 +113,48 @@ impl pallet_fee_lock::WeightInfo for ModuleWeight { // For backwards compatibility and tests impl WeightInfo for () { + // Storage: `FeeLock::FeeLockMetadata` (r:1 w:0) + // Proof: `FeeLock::FeeLockMetadata` (`max_values`: Some(1), `max_size`: Some(438), added: 933, mode: `MaxEncodedLen`) + // Storage: `FeeLock::AccountFeeLockData` (r:1 w:1) + // Proof: `FeeLock::AccountFeeLockData` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + // Storage: `Tokens::Accounts` (r:1 w:1) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `FeeLock::FeeLockMetadataQeueuePosition` (r:1 w:1) + // Proof: `FeeLock::FeeLockMetadataQeueuePosition` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + // Storage: `FeeLock::UnlockQueue` (r:1 w:2) + // Proof: `FeeLock::UnlockQueue` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + // Storage: `FeeLock::UnlockQueueEnd` (r:1 w:1) + // Proof: `FeeLock::UnlockQueueEnd` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + fn process_fee_lock() -> Weight { + (Weight::from_parts(39_182_000, 0)) + .saturating_add(RocksDbWeight::get().reads(6 as u64)) + .saturating_add(RocksDbWeight::get().writes(6 as u64)) + } + // Storage: `Xyk::Pools` (r:2 w:0) + // Proof: `Xyk::Pools` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`) + fn get_swap_valuation_for_token() -> Weight { + (Weight::from_parts(10_686_000, 0)) + .saturating_add(RocksDbWeight::get().reads(2 as u64)) + } // Storage: `FeeLock::FeeLockMetadata` (r:1 w:1) // Proof: `FeeLock::FeeLockMetadata` (`max_values`: Some(1), `max_size`: Some(438), added: 933, mode: `MaxEncodedLen`) fn update_fee_lock_metadata() -> Weight { - (Weight::from_parts(25_440_000, 0)) + (Weight::from_parts(22_559_000, 0)) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: `FeeLock::AccountFeeLockData` (r:1 w:1) - // Proof: `FeeLock::AccountFeeLockData` (`max_values`: None, `max_size`: Some(60), added: 2535, mode: `MaxEncodedLen`) + // Proof: `FeeLock::AccountFeeLockData` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) // Storage: `FeeLock::FeeLockMetadata` (r:1 w:0) // Proof: `FeeLock::FeeLockMetadata` (`max_values`: Some(1), `max_size`: Some(438), added: 933, mode: `MaxEncodedLen`) // Storage: `Tokens::Accounts` (r:1 w:1) - // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + // Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) // Storage: `FeeLock::FeeLockMetadataQeueuePosition` (r:1 w:1) - // Proof: `FeeLock::FeeLockMetadataQeueuePosition` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`) + // Proof: `FeeLock::FeeLockMetadataQeueuePosition` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) // Storage: `FeeLock::UnlockQueue` (r:1 w:1) - // Proof: `FeeLock::UnlockQueue` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`) + // Proof: `FeeLock::UnlockQueue` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) fn unlock_fee() -> Weight { - (Weight::from_parts(51_730_000, 0)) + (Weight::from_parts(39_182_000, 0)) .saturating_add(RocksDbWeight::get().reads(5 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) } diff --git a/scripts/run_benchmarks.sh b/scripts/run_benchmarks.sh index e05b33082..bc8096418 100755 --- a/scripts/run_benchmarks.sh +++ b/scripts/run_benchmarks.sh @@ -5,23 +5,23 @@ rm -rf ./benchmarks mkdir ./benchmarks benchmarks=( - # "frame_system" - # "pallet_session" - # "pallet_timestamp" - # "orml_tokens" - # "parachain_staking" - # "pallet_xyk" - # "orml_asset_registry" - # "pallet_treasury" - # "pallet_collective_mangata" - # "pallet_crowdloan_rewards" - # "pallet_utility_mangata" - # "pallet_vesting_mangata" - # "pallet_issuance" - # "pallet_bootstrap" - # "pallet_multipurpose_liquidity" - # "pallet_fee_lock" - # "pallet_proof_of_stake" + "frame_system" + "pallet_session" + "pallet_timestamp" + "orml_tokens" + "parachain_staking" + "pallet_xyk" + "orml_asset_registry" + "pallet_treasury" + "pallet_collective_mangata" + "pallet_crowdloan_rewards" + "pallet_utility_mangata" + "pallet_vesting_mangata" + "pallet_issuance" + "pallet_bootstrap" + "pallet_multipurpose_liquidity" + "pallet_fee_lock" + "pallet_proof_of_stake" "pallet_rolldown" )