mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-31 04:01:02 +00:00
Snowbridge Ethereum Deneb fork preparation (#3029)
- Prepares for the Deneb hardfork on Sepolia testnet on 31 January (needs to be deployed to Rococo before then) - Removes `beacon-minimal-spec` flag for simpler config - Adds test comments --------- Co-authored-by: Ron <yrong1997@gmail.com> Co-authored-by: claravanstaden <Cats 4 life!> Co-authored-by: Alistair Singh <alistair.singh7@gmail.com>
This commit is contained in:
@@ -33,7 +33,7 @@ bridge-hub-common = { path = "../../../../../cumulus/parachains/runtimes/bridge-
|
||||
|
||||
snowbridge-core = { path = "../../primitives/core", default-features = false, features = ["serde"] }
|
||||
snowbridge-outbound-queue-merkle-tree = { path = "merkle-tree", default-features = false }
|
||||
ethabi = { git = "https://github.com/snowfork/ethabi-decode.git", package = "ethabi-decode", branch = "master", default-features = false }
|
||||
ethabi = { package = "ethabi-decode", version = "1.0.0", default-features = false }
|
||||
|
||||
xcm = { package = "staging-xcm", path = "../../../../../polkadot/xcm", default-features = false }
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
// SPDX-FileCopyrightText: 2023 Snowfork <hello@snowfork.com>
|
||||
//! Implementation for [`frame_support::traits::ProcessMessage`]
|
||||
use super::*;
|
||||
use crate::weights::WeightInfo;
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
// SPDX-FileCopyrightText: 2023 Snowfork <hello@snowfork.com>
|
||||
//! Implementation for [`snowbridge_core::outbound::SendMessage`]
|
||||
use super::*;
|
||||
use bridge_hub_common::AggregateMessageOrigin;
|
||||
|
||||
@@ -11,7 +11,7 @@ use frame_support::{
|
||||
use codec::Encode;
|
||||
use snowbridge_core::{
|
||||
outbound::{Command, SendError, SendMessage},
|
||||
ParaId,
|
||||
ParaId, PricingParameters, Rewards,
|
||||
};
|
||||
use sp_arithmetic::FixedU128;
|
||||
use sp_core::H256;
|
||||
@@ -266,3 +266,47 @@ fn encode_digest_item() {
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn validate_messages_with_fees() {
|
||||
new_tester().execute_with(|| {
|
||||
let message = mock_message(1000);
|
||||
let (_, fee) = OutboundQueue::validate(&message).unwrap();
|
||||
assert_eq!(fee.local, 698000000);
|
||||
assert_eq!(fee.remote, 2680000000000);
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_calculate_fees() {
|
||||
new_tester().execute_with(|| {
|
||||
let gas_used: u64 = 250000;
|
||||
let illegal_price_params: PricingParameters<<Test as Config>::Balance> =
|
||||
PricingParameters {
|
||||
exchange_rate: FixedU128::from_rational(1, 400),
|
||||
fee_per_gas: 10000_u32.into(),
|
||||
rewards: Rewards { local: 1_u32.into(), remote: 1_u32.into() },
|
||||
};
|
||||
let fee = OutboundQueue::calculate_fee(gas_used, illegal_price_params);
|
||||
assert_eq!(fee.local, 698000000);
|
||||
assert_eq!(fee.remote, 1000000);
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_calculate_fees_with_valid_exchange_rate_but_remote_fee_calculated_as_zero() {
|
||||
new_tester().execute_with(|| {
|
||||
let gas_used: u64 = 250000;
|
||||
let illegal_price_params: PricingParameters<<Test as Config>::Balance> =
|
||||
PricingParameters {
|
||||
exchange_rate: FixedU128::from_rational(1, 1),
|
||||
fee_per_gas: 1_u32.into(),
|
||||
rewards: Rewards { local: 1_u32.into(), remote: 1_u32.into() },
|
||||
};
|
||||
let fee = OutboundQueue::calculate_fee(gas_used, illegal_price_params.clone());
|
||||
assert_eq!(fee.local, 698000000);
|
||||
// Though none zero pricing params the remote fee calculated here is invalid
|
||||
// which should be avoided
|
||||
assert_eq!(fee.remote, 0);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
// SPDX-FileCopyrightText: 2023 Snowfork <hello@snowfork.com>
|
||||
use codec::{Decode, Encode};
|
||||
use ethabi::Token;
|
||||
use frame_support::traits::ProcessMessage;
|
||||
|
||||
Reference in New Issue
Block a user