Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
8ee240f
ref: XCM Transactor should use XCM Weight Trader for assets price
librelois Dec 8, 2025
bcf9f9d
fix compilation
librelois Dec 8, 2025
ac86d42
rust fmt
librelois Dec 8, 2025
78ba9b5
remove FeeTraderSetter
librelois Dec 8, 2025
9c91572
Create tests primitive MemoryFeeTrader
librelois Dec 9, 2025
004732f
test: cannot_send_to_local_chain get more precise error now
librelois Dec 9, 2025
92aecbc
rustfmt
librelois Dec 9, 2025
c75ca8e
fix test transact_through_signed_precompile_works_v1
librelois Dec 9, 2025
d9e4a9c
fix rust tests
librelois Dec 9, 2025
1920f7f
rustfmt
librelois Dec 9, 2025
b139561
fix rust tests
librelois Dec 9, 2025
2cae802
Merge branch 'master' into elois-xcm-transactor-trader
librelois Dec 9, 2025
9b03f13
fix compilation
librelois Dec 9, 2025
cf0e5fc
ts tests related to xcm transactor should use new pallet weight trader
librelois Dec 9, 2025
8f8f8b1
delete temporary md file
librelois Dec 9, 2025
6429e54
tests: rework addAssetToWeightTrader
librelois Dec 10, 2025
b891fa2
tests: xcm transactor: adapt asset price to the new formula
librelois Dec 10, 2025
d1afa68
Merge branch 'master' into elois-xcm-transactor-trader
librelois Dec 11, 2025
2c0dc24
Merge branch 'master' into elois-xcm-transactor-trader
librelois Dec 12, 2025
cb8952c
fix test D022766
librelois Dec 12, 2025
298a1ac
Merge branch 'master' into elois-xcm-transactor-trader
librelois Dec 12, 2025
af1aff8
fix regression detected by test D022769T02
librelois Dec 12, 2025
2610798
fix rust test transact_through_signed_cannot_send_to_local_chain
librelois Dec 15, 2025
a537cca
fix ts test D022770T01
librelois Dec 15, 2025
e8cf49f
rustfmt
librelois Dec 15, 2025
dbc5307
fix rust tests
librelois Dec 15, 2025
facaa8e
Merge branch 'master' into elois-xcm-transactor-trader
librelois Dec 15, 2025
1a5a2b7
rustfmt
librelois Dec 16, 2025
66bdae8
tests: xcm-transactor-precompile: improve expected fees computation
librelois Dec 16, 2025
6226098
rustfmt
librelois Dec 16, 2025
6e411ad
Merge branch 'master' into elois-xcm-transactor-trader
librelois Dec 16, 2025
f2094f8
Merge branch 'master' into elois-xcm-transactor-trader
librelois Dec 17, 2025
3eff94a
Revert "tests: xcm-transactor-precompile: improve expected fees compu…
librelois Dec 17, 2025
04635a9
Revert "fix ts test D022770T01"
librelois Dec 17, 2025
8afdde4
Revert "fix test D022766"
librelois Dec 17, 2025
c0be6fd
tests xcm-transactor: dont hardcode fees expectation
librelois Dec 17, 2025
93ce267
Merge branch 'master' into elois-xcm-transactor-trader
librelois Dec 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ members = [
"precompiles/xtokens",
"precompiles/p256verify",
"primitives/storage-proof",
"primitives/tests-primitives",
"primitives/bridge/moonbeam",
"primitives/bridge/moonriver",
"runtime/moonbase",
Expand Down Expand Up @@ -108,6 +109,7 @@ pallet-proxy-genesis-companion = { path = "pallets/proxy-genesis-companion", def
pallet-xcm-transactor = { path = "pallets/xcm-transactor", default-features = false }
pallet-xcm-weight-trader = { path = "pallets/xcm-weight-trader", default-features = false }
xcm-primitives = { path = "primitives/xcm", default-features = false }
moonbeam-tests-primitives = { path = "primitives/tests-primitives", default-features = false }

# Local bridge crates
bp-moonbeam = { path = "primitives/bridge/moonbeam", default-features = false }
Expand Down
1 change: 1 addition & 0 deletions pallets/xcm-transactor/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ pallet-timestamp = { workspace = true, features = [ "std" ] }
parity-scale-codec = { workspace = true, features = [ "std" ] }
sp-core = { workspace = true, features = [ "std" ] }
sp-runtime = { workspace = true }
moonbeam-tests-primitives = { workspace = true }

[features]
default = [ "std" ]
Expand Down
53 changes: 9 additions & 44 deletions pallets/xcm-transactor/src/benchmarks.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ use frame_system::RawOrigin;
use sp_std::boxed::Box;
use sp_std::vec;
use xcm::latest::prelude::*;
use xcm_primitives::XcmFeeTrader;

/// Helper function to set up XCM router for benchmarks
fn setup_xcm_router<T: Config>() {
Expand Down Expand Up @@ -118,26 +119,6 @@ mod benchmarks {
Ok(())
}

#[benchmark]
fn set_fee_per_second() -> Result<(), BenchmarkError> {
let fee_per_second = 1;
let location = Location::parent();

#[extrinsic_call]
_(
RawOrigin::Root,
Box::new(xcm::VersionedLocation::from(location.clone())),
fee_per_second,
);

assert_eq!(
Pallet::<T>::dest_asset_fee_per_second(&location),
Some(fee_per_second)
);

Ok(())
}

// Worst Case: AsCurrencyId, as the translation could involve db reads
// Worst Case: transacInfo db reads
#[benchmark]
Expand All @@ -161,12 +142,8 @@ mod benchmarks {
Some(extra_weight),
)
.expect("must succeed");
Pallet::<T>::set_fee_per_second(
RawOrigin::Root.into(),
Box::new(xcm::VersionedLocation::from(location.clone())),
fee_per_second,
)
.expect("must succeed");
<T as Config>::FeeTrader::set_asset_price(location.clone(), fee_per_second)
.expect("must succeed");
Pallet::<T>::register(RawOrigin::Root.into(), user.clone(), 0).expect("must succeed");

#[block]
Expand Down Expand Up @@ -222,12 +199,8 @@ mod benchmarks {
Some(extra_weight),
)
.expect("must succeed");
Pallet::<T>::set_fee_per_second(
RawOrigin::Root.into(),
Box::new(xcm::VersionedLocation::from(location.clone())),
fee_per_second,
)
.expect("must succeed");
<T as Config>::FeeTrader::set_asset_price(location.clone(), fee_per_second)
.expect("must succeed");

#[block]
{
Expand Down Expand Up @@ -283,12 +256,8 @@ mod benchmarks {
Some(extra_weight),
)
.expect("must succeed");
Pallet::<T>::set_fee_per_second(
RawOrigin::Root.into(),
Box::new(xcm::VersionedLocation::from(location.clone())),
fee_per_second,
)
.expect("must succeed");
<T as Config>::FeeTrader::set_asset_price(location.clone(), fee_per_second)
.expect("must succeed");

#[extrinsic_call]
_(
Expand Down Expand Up @@ -331,12 +300,8 @@ mod benchmarks {
Some(extra_weight),
)
.expect("must succeed");
Pallet::<T>::set_fee_per_second(
RawOrigin::Root.into(),
Box::new(xcm::VersionedLocation::from(location.clone())),
fee_per_second,
)
.expect("must succeed");
<T as Config>::FeeTrader::set_asset_price(location.clone(), fee_per_second)
.expect("must succeed");

#[extrinsic_call]
_(
Expand Down
Loading
Loading