diff --git a/common/primitives/core/src/teebag/types.rs b/common/primitives/core/src/teebag/types.rs index 55190d981d..8dae4880cf 100644 --- a/common/primitives/core/src/teebag/types.rs +++ b/common/primitives/core/src/teebag/types.rs @@ -68,6 +68,7 @@ pub enum AttestationType { pub enum WorkerType { #[default] Identity, + BitAcross, OmniExecutor, } diff --git a/parachain/Cargo.lock b/parachain/Cargo.lock index 99ecbf01dc..570f9b7e5c 100644 --- a/parachain/Cargo.lock +++ b/parachain/Cargo.lock @@ -7460,6 +7460,22 @@ dependencies = [ "sp-state-machine", ] +[[package]] +name = "pallet-bitacross" +version = "0.1.0" +dependencies = [ + "core-primitives", + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-balances", + "pallet-timestamp", + "parity-scale-codec", + "scale-info", + "sp-io", + "sp-runtime", +] + [[package]] name = "pallet-bounties" version = "36.0.0" @@ -9250,6 +9266,7 @@ dependencies = [ "pallet-aura", "pallet-authorship", "pallet-balances", + "pallet-bitacross", "pallet-bounties", "pallet-bridge-transfer", "pallet-chain-bridge", diff --git a/parachain/Cargo.toml b/parachain/Cargo.toml index 5457d59786..fb8c725e60 100644 --- a/parachain/Cargo.toml +++ b/parachain/Cargo.toml @@ -3,6 +3,7 @@ resolver = "2" members = [ 'node', 'pallets/account-fix', + 'pallets/bitacross', 'pallets/bridge/assets-handler', 'pallets/bridge/chain-bridge', 'pallets/bridge/bridge-transfer', @@ -273,6 +274,7 @@ paseo-parachain-runtime = { path = "runtime/paseo", default-features = false } pallet-account-fix = { path = "pallets/account-fix", default-features = false } pallet-asset-manager = { path = "pallets/xcm-asset-manager", default-features = false } pallet-assets-handler = { path = "pallets/bridge/assets-handler", default-features = false } +pallet-bitacross = { path = "pallets/bitacross", default-features = false } pallet-chain-bridge = { path = "pallets/bridge/chain-bridge", default-features = false } pallet-bridge-common = { path = "pallets/bridge/common", default-features = false } pallet-bridge-transfer = { path = "pallets/bridge/bridge-transfer", default-features = false } diff --git a/parachain/node/src/chain_specs/paseo.rs b/parachain/node/src/chain_specs/paseo.rs index 06346171e2..d72874568d 100644 --- a/parachain/node/src/chain_specs/paseo.rs +++ b/parachain/node/src/chain_specs/paseo.rs @@ -18,7 +18,7 @@ use super::*; use core_primitives::PASEO_PARA_ID; use cumulus_primitives_core::ParaId; use paseo_parachain_runtime::{ - AccountId, AuraId, Balance, BalancesConfig, CouncilMembershipConfig, + AccountId, AuraId, Balance, BalancesConfig, BitacrossConfig, CouncilMembershipConfig, DeveloperCommitteeMembershipConfig, ParachainInfoConfig, ParachainStakingConfig, PolkadotXcmConfig, RuntimeGenesisConfig, SessionConfig, SudoConfig, TechnicalCommitteeMembershipConfig, TeebagConfig, TeebagOperationalMode, VCManagementConfig, @@ -227,6 +227,7 @@ fn generate_genesis( admin: Some(root_key.clone()), mode: TeebagOperationalMode::Development, }, + bitacross: BitacrossConfig { admin: Some(root_key) }, score_staking: Default::default(), }; diff --git a/parachain/runtime/paseo/Cargo.toml b/parachain/runtime/paseo/Cargo.toml index 8df201903c..2fb76e12e4 100644 --- a/parachain/runtime/paseo/Cargo.toml +++ b/parachain/runtime/paseo/Cargo.toml @@ -85,6 +85,7 @@ pallet-account-fix = { workspace = true } pallet-asset-manager = { workspace = true } pallet-assets = { workspace = true } pallet-assets-handler = { workspace = true } +pallet-bitacross = { workspace = true } pallet-bridge-transfer = { workspace = true } pallet-chain-bridge = { workspace = true } pallet-evm-assertions = { workspace = true } @@ -165,6 +166,7 @@ runtime-benchmarks = [ "pallet-asset-manager/runtime-benchmarks", "pallet-assets-handler/runtime-benchmarks", "pallet-assets/runtime-benchmarks", + "pallet-bitacross/runtime-benchmarks", "pallet-balances/runtime-benchmarks", "pallet-bounties/runtime-benchmarks", "pallet-bridge-transfer/runtime-benchmarks", @@ -252,6 +254,7 @@ std = [ "pallet-aura/std", "pallet-authorship/std", "pallet-balances/std", + "pallet-bitacross/std", "pallet-bounties/std", "pallet-bridge-transfer/std", "pallet-chain-bridge/std", @@ -358,6 +361,7 @@ try-runtime = [ "pallet-aura/try-runtime", "pallet-authorship/try-runtime", "pallet-balances/try-runtime", + "pallet-bitacross/try-runtime", "pallet-bounties/try-runtime", "pallet-bridge-transfer/try-runtime", "pallet-chain-bridge/try-runtime", diff --git a/parachain/runtime/paseo/src/lib.rs b/parachain/runtime/paseo/src/lib.rs index 911575ca13..597509e9b2 100644 --- a/parachain/runtime/paseo/src/lib.rs +++ b/parachain/runtime/paseo/src/lib.rs @@ -233,7 +233,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { impl_name: create_runtime_str!("paseo-parachain"), authoring_version: 1, // same versioning-mechanism as polkadot: use last digit for minor updates - spec_version: 9220, + spec_version: 9221, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 1, @@ -1167,6 +1167,12 @@ impl pallet_omni_account::Config for Runtime { type OmniAccountConverter = DefaultOmniAccountConverter; } +impl pallet_bitacross::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type TEECallOrigin = EnsureEnclaveSigner; + type SetAdminOrigin = EnsureRootOrAllCouncil; +} + impl pallet_evm_assertions::Config for Runtime { type RuntimeEvent = RuntimeEvent; type AssertionId = H160; @@ -1368,6 +1374,7 @@ construct_runtime! { VCManagement: pallet_vc_management = 66, IMPExtrinsicWhitelist: pallet_group:: = 67, VCMPExtrinsicWhitelist: pallet_group:: = 68, + Bitacross: pallet_bitacross = 70, EvmAssertions: pallet_evm_assertions = 71, // Developer council @@ -1497,6 +1504,7 @@ impl Contains for NormalModeFilter { // AccountFix RuntimeCall::AccountFix(_) | RuntimeCall::AssetsHandler(_) | + RuntimeCall::Bitacross(_) | RuntimeCall::EvmAssertions(_) | RuntimeCall::ScoreStaking(_) | RuntimeCall::OmniAccount(_) |