use crate::{
AccountId, AssetId, Assets, Balance, Balances, Clock, EnsureRoot, Imbalance, OnUnbalanced,
Runtime, RuntimeEvent, ThreeVm, Timestamp,
};
use frame_support::{parameter_types, traits::AsEnsureOriginWithArg};
use sp_core::{crypto::AccountId32, ConstU32};
use sp_runtime::traits::ConvertInto;
parameter_types! {
pub EscrowAccount: AccountId32 = AccountId32::new([51_u8; 32]);
}
impl pallet_account_manager::Config for Runtime {
type AssetBalanceOf = ConvertInto;
type AssetId = AssetId;
type Assets = Assets;
type Clock = Clock;
type Currency = Balances;
type EscrowAccount = EscrowAccount;
type Executors = t3rn_primitives::executors::ExecutorsMock<Self>;
type RuntimeEvent = RuntimeEvent;
type Time = Timestamp;
type WeightInfo = ();
}
pallet_account_manager::setup_currency_adapter!();
parameter_types! {
pub const AssetDeposit: Balance = 0; pub const ApprovalDeposit: Balance = 0;
pub const AssetsStringLimit: u32 = 50;
pub const MetadataDepositBase: Balance = 0;
pub const MetadataDepositPerByte: Balance = 0;
pub const AssetAccountDeposit: Balance = 0;
}
impl pallet_assets::Config for Runtime {
type ApprovalDeposit = ApprovalDeposit;
type AssetAccountDeposit = AssetAccountDeposit;
type AssetDeposit = AssetDeposit;
type AssetId = circuit_runtime_types::AssetId;
type AssetIdParameter = circuit_runtime_types::AssetId;
type Balance = Balance;
#[cfg(feature = "runtime-benchmarks")]
type BenchmarkHelper = ();
type CallbackHandle = ();
type CreateOrigin = AsEnsureOriginWithArg<frame_system::EnsureSigned<AccountId>>;
type Currency = Balances;
type Extra = ();
type ForceOrigin = EnsureRoot<AccountId>;
type Freezer = ();
type MetadataDepositBase = MetadataDepositBase;
type MetadataDepositPerByte = MetadataDepositPerByte;
type RemoveItemsLimit = ConstU32<1>;
type RuntimeEvent = RuntimeEvent;
type StringLimit = AssetsStringLimit;
type WeightInfo = ();
}