Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 0 additions & 3 deletions Cargo.lock

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

2 changes: 0 additions & 2 deletions runtime/astar/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,6 @@ pallet-collective-proxy = { workspace = true }
pallet-dapp-staking = { workspace = true }
pallet-evm-precompile-assets-erc20 = { workspace = true }
pallet-evm-precompile-dapp-staking = { workspace = true }
pallet-evm-precompile-dispatch-lockdrop = { workspace = true }
pallet-evm-precompile-sr25519 = { workspace = true }
pallet-evm-precompile-substrate-ecdsa = { workspace = true }
pallet-evm-precompile-xcm = { workspace = true }
Expand Down Expand Up @@ -193,7 +192,6 @@ std = [
"pallet-evm-precompile-blake2/std",
"pallet-evm-precompile-bn128/std",
"pallet-evm-precompile-dapp-staking/std",
"pallet-evm-precompile-dispatch-lockdrop/std",
"pallet-evm-precompile-dispatch/std",
"pallet-evm-precompile-ed25519/std",
"pallet-evm-precompile-modexp/std",
Expand Down
37 changes: 1 addition & 36 deletions runtime/astar/src/precompiles.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ use pallet_evm_precompile_blake2::Blake2F;
use pallet_evm_precompile_bn128::{Bn128Add, Bn128Mul, Bn128Pairing};
use pallet_evm_precompile_dapp_staking::DappStakingV3Precompile;
use pallet_evm_precompile_dispatch::Dispatch;
use pallet_evm_precompile_dispatch_lockdrop::DispatchLockdrop;
use pallet_evm_precompile_ed25519::Ed25519Verify;
use pallet_evm_precompile_modexp::Modexp;
use pallet_evm_precompile_sha3fips::Sha3FIPS256;
Expand All @@ -35,7 +34,6 @@ use pallet_evm_precompile_sr25519::Sr25519Precompile;
use pallet_evm_precompile_substrate_ecdsa::SubstrateEcdsaPrecompile;
use pallet_evm_precompile_xcm::XcmPrecompile;
use precompile_utils::precompile_set::*;
use sp_core::ConstU32;
use sp_std::fmt::Debug;

/// The asset precompile address prefix. Addresses that match against this prefix will be routed
Expand Down Expand Up @@ -73,27 +71,6 @@ impl Contains<RuntimeCall> for WhitelistedCalls {
}
}

/// Filter that only allows whitelisted runtime call to pass through dispatch-lockdrop precompile
pub struct WhitelistedLockdropCalls;

impl Contains<RuntimeCall> for WhitelistedLockdropCalls {
fn contains(t: &RuntimeCall) -> bool {
match t {
RuntimeCall::Utility(pallet_utility::Call::batch { calls })
| RuntimeCall::Utility(pallet_utility::Call::batch_all { calls }) => calls
.iter()
.all(|call| WhitelistedLockdropCalls::contains(call)),
RuntimeCall::DappStaking(pallet_dapp_staking::Call::unbond_and_unstake { .. }) => true,
RuntimeCall::DappStaking(pallet_dapp_staking::Call::withdraw_unbonded { .. }) => true,
RuntimeCall::Balances(pallet_balances::Call::transfer_all { .. }) => true,
RuntimeCall::Balances(pallet_balances::Call::transfer_keep_alive { .. }) => true,
RuntimeCall::Balances(pallet_balances::Call::transfer_allow_death { .. }) => true,
RuntimeCall::Assets(pallet_assets::Call::transfer { .. }) => true,
_ => false,
}
}
}

/// The PrecompileSet installed in the Astar runtime.
#[precompile_utils::precompile_name_from_address]
pub type AstarPrecompilesSetAt<R, C> = (
Expand Down Expand Up @@ -148,18 +125,6 @@ pub type AstarPrecompilesSetAt<R, C> = (
CallableByPrecompile,
),
>,
// Skipping 20485 and 20486 to make sure all network have consistent
// precompiles address
PrecompileAt<
AddressU64<20487>,
DispatchLockdrop<
R,
DispatchFilterValidate<RuntimeCall, WhitelistedLockdropCalls>,
ConstU32<8>,
>,
// Not callable from smart contract nor precompiled, only EOA accounts
(),
>,
);

pub type AstarPrecompiles<R, C> = PrecompileSetBuilder<
Expand All @@ -168,7 +133,7 @@ pub type AstarPrecompiles<R, C> = PrecompileSetBuilder<
// Skip precompiles if out of range.
PrecompilesInRangeInclusive<
// We take range as last precompile index, UPDATE this once new prcompile is added
(AddressU64<1>, AddressU64<20487>),
(AddressU64<1>, AddressU64<20484>),
AstarPrecompilesSetAt<R, C>,
>,
// Prefixed precompile sets (XC20)
Expand Down
2 changes: 0 additions & 2 deletions runtime/shibuya/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,6 @@ pallet-dapp-staking = { workspace = true }
pallet-dynamic-evm-base-fee = { workspace = true }
pallet-evm-precompile-assets-erc20 = { workspace = true }
pallet-evm-precompile-dapp-staking = { workspace = true }
pallet-evm-precompile-dispatch-lockdrop = { workspace = true }
pallet-evm-precompile-sr25519 = { workspace = true }
pallet-evm-precompile-substrate-ecdsa = { workspace = true }
pallet-evm-precompile-xcm = { workspace = true }
Expand Down Expand Up @@ -193,7 +192,6 @@ std = [
"pallet-evm-precompile-blake2/std",
"pallet-evm-precompile-bn128/std",
"pallet-evm-precompile-dapp-staking/std",
"pallet-evm-precompile-dispatch-lockdrop/std",
"pallet-evm-precompile-dispatch/std",
"pallet-evm-precompile-ed25519/std",
"pallet-evm-precompile-modexp/std",
Expand Down
35 changes: 0 additions & 35 deletions runtime/shibuya/src/precompiles.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,12 @@

use crate::{Runtime, RuntimeCall};
use astar_primitives::precompiles::DispatchFilterValidate;
use frame_support::traits::ConstU32;
use frame_support::{parameter_types, traits::Contains};
use pallet_evm_precompile_assets_erc20::Erc20AssetsPrecompileSet;
use pallet_evm_precompile_blake2::Blake2F;
use pallet_evm_precompile_bn128::{Bn128Add, Bn128Mul, Bn128Pairing};
use pallet_evm_precompile_dapp_staking::DappStakingV3Precompile;
use pallet_evm_precompile_dispatch::Dispatch;
use pallet_evm_precompile_dispatch_lockdrop::DispatchLockdrop;
use pallet_evm_precompile_ed25519::Ed25519Verify;
use pallet_evm_precompile_modexp::Modexp;
use pallet_evm_precompile_sha3fips::Sha3FIPS256;
Expand Down Expand Up @@ -73,27 +71,6 @@ impl Contains<RuntimeCall> for WhitelistedCalls {
}
}

/// Filter that only allows whitelisted runtime call to pass through dispatch-lockdrop precompile
pub struct WhitelistedLockdropCalls;

impl Contains<RuntimeCall> for WhitelistedLockdropCalls {
fn contains(t: &RuntimeCall) -> bool {
match t {
RuntimeCall::Utility(pallet_utility::Call::batch { calls })
| RuntimeCall::Utility(pallet_utility::Call::batch_all { calls }) => calls
.iter()
.all(|call| WhitelistedLockdropCalls::contains(call)),
RuntimeCall::DappStaking(pallet_dapp_staking::Call::unbond_and_unstake { .. }) => true,
RuntimeCall::DappStaking(pallet_dapp_staking::Call::withdraw_unbonded { .. }) => true,
RuntimeCall::Balances(pallet_balances::Call::transfer_all { .. }) => true,
RuntimeCall::Balances(pallet_balances::Call::transfer_keep_alive { .. }) => true,
RuntimeCall::Balances(pallet_balances::Call::transfer_allow_death { .. }) => true,
RuntimeCall::Assets(pallet_assets::Call::transfer { .. }) => true,
_ => false,
}
}
}

/// The PrecompileSet installed in the Shibuya runtime.
#[precompile_utils::precompile_name_from_address]
pub type ShibuyaPrecompilesSetAt<R, C> = (
Expand Down Expand Up @@ -147,18 +124,6 @@ pub type ShibuyaPrecompilesSetAt<R, C> = (
CallableByPrecompile,
),
>,
// Skipping 20485 to make sure all network have consistent precompiles address
// Skipping 20486 - UnifiedAccountsPrecompile previously
PrecompileAt<
AddressU64<20487>,
DispatchLockdrop<
R,
DispatchFilterValidate<RuntimeCall, WhitelistedLockdropCalls>,
ConstU32<8>,
>,
// Not callable from smart contract nor precompiled, only EOA accounts
(),
>,
);

pub type ShibuyaPrecompiles<R, C> = PrecompileSetBuilder<
Expand Down
2 changes: 0 additions & 2 deletions runtime/shiden/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,6 @@ pallet-collator-selection = { workspace = true }
pallet-dapp-staking = { workspace = true }
pallet-evm-precompile-assets-erc20 = { workspace = true }
pallet-evm-precompile-dapp-staking = { workspace = true }
pallet-evm-precompile-dispatch-lockdrop = { workspace = true }
pallet-evm-precompile-sr25519 = { workspace = true }
pallet-evm-precompile-substrate-ecdsa = { workspace = true }
pallet-evm-precompile-xcm = { workspace = true }
Expand Down Expand Up @@ -178,7 +177,6 @@ std = [
"pallet-evm-precompile-bn128/std",
"sp-genesis-builder/std",
"pallet-evm-precompile-dispatch/std",
"pallet-evm-precompile-dispatch-lockdrop/std",
"pallet-evm-precompile-ed25519/std",
"pallet-evm-precompile-modexp/std",
"xcm-runtime-apis/std",
Expand Down
37 changes: 1 addition & 36 deletions runtime/shiden/src/precompiles.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,12 @@

use crate::{Runtime, RuntimeCall};
use astar_primitives::precompiles::DispatchFilterValidate;
use frame_support::pallet_prelude::ConstU32;
use frame_support::{parameter_types, traits::Contains};
use pallet_evm_precompile_assets_erc20::Erc20AssetsPrecompileSet;
use pallet_evm_precompile_blake2::Blake2F;
use pallet_evm_precompile_bn128::{Bn128Add, Bn128Mul, Bn128Pairing};
use pallet_evm_precompile_dapp_staking::DappStakingV3Precompile;
use pallet_evm_precompile_dispatch::Dispatch;
use pallet_evm_precompile_dispatch_lockdrop::DispatchLockdrop;
use pallet_evm_precompile_ed25519::Ed25519Verify;
use pallet_evm_precompile_modexp::Modexp;
use pallet_evm_precompile_sha3fips::Sha3FIPS256;
Expand Down Expand Up @@ -67,27 +65,6 @@ impl Contains<RuntimeCall> for WhitelistedCalls {
}
}
}
/// Filter that only allows whitelisted runtime call to pass through dispatch-lockdrop precompile
pub struct WhitelistedLockdropCalls;

impl Contains<RuntimeCall> for WhitelistedLockdropCalls {
fn contains(t: &RuntimeCall) -> bool {
match t {
RuntimeCall::Utility(pallet_utility::Call::batch { calls })
| RuntimeCall::Utility(pallet_utility::Call::batch_all { calls }) => calls
.iter()
.all(|call| WhitelistedLockdropCalls::contains(call)),
RuntimeCall::DappStaking(pallet_dapp_staking::Call::unbond_and_unstake { .. }) => true,
RuntimeCall::DappStaking(pallet_dapp_staking::Call::withdraw_unbonded { .. }) => true,
RuntimeCall::Balances(pallet_balances::Call::transfer_all { .. }) => true,
RuntimeCall::Balances(pallet_balances::Call::transfer_keep_alive { .. }) => true,
RuntimeCall::Balances(pallet_balances::Call::transfer_allow_death { .. }) => true,
RuntimeCall::Assets(pallet_assets::Call::transfer { .. }) => true,
_ => false,
}
}
}

/// The PrecompileSet installed in the Shiden runtime.
#[precompile_utils::precompile_name_from_address]
pub type ShidenPrecompilesSetAt<R, C> = (
Expand Down Expand Up @@ -141,18 +118,6 @@ pub type ShidenPrecompilesSetAt<R, C> = (
CallableByPrecompile,
),
>,
// Skipping 20485 and 20486 to make sure all network have consistent
// precompiles address
PrecompileAt<
AddressU64<20487>,
DispatchLockdrop<
R,
DispatchFilterValidate<RuntimeCall, WhitelistedLockdropCalls>,
ConstU32<8>,
>,
// Not callable from smart contract nor precompiled, only EOA accounts
(),
>,
);

pub type ShidenPrecompiles<R, C> = PrecompileSetBuilder<
Expand All @@ -161,7 +126,7 @@ pub type ShidenPrecompiles<R, C> = PrecompileSetBuilder<
// Skip precompiles if out of range.
PrecompilesInRangeInclusive<
// We take range as last precompile index, UPDATE this once new prcompile is added
(AddressU64<1>, AddressU64<20487>),
(AddressU64<1>, AddressU64<20484>),
ShidenPrecompilesSetAt<R, C>,
>,
// Prefixed precompile sets (XC20)
Expand Down