pub type XcmTransactor = Pallet<Runtime>;

Aliased Type§

struct XcmTransactor(pub PhantomData<Runtime>);

Fields§

§0: PhantomData<Runtime>

Implementations

source§

impl<T> Pallet<T>
where T: Config,

source

pub fn register( origin: <T as Config>::RuntimeOrigin, who: <T as Config>::AccountId, index: u16 ) -> Result<(), DispatchError>

Register a derivative index for an account id. Dispatchable by DerivativeAddressRegistrationOrigin

We do not store the derivative address, but only the index. We do not need to store the derivative address to issue calls, only the index is enough

For now an index is registered for all possible destinations and not per-destination. We can change this in the future although it would just make things more complicated

source

pub fn deregister( origin: <T as Config>::RuntimeOrigin, index: u16 ) -> Result<(), DispatchError>

De-Register a derivative index. This prevents an account to use a derivative address (represented by an index) from our of our sovereign accounts anymore

source

pub fn transact_through_derivative( origin: <T as Config>::RuntimeOrigin, dest: <T as Config>::Transactor, index: u16, fee: CurrencyPayment<<T as Config>::CurrencyId>, inner_call: Vec<u8>, weight_info: TransactWeights, refund: bool ) -> Result<(), DispatchError>

Transact the inner call through a derivative account in a destination chain, using ‘fee_location’ to pay for the fees. This fee_location is given as a multilocation

The caller needs to have the index registered in this pallet. The fee multiasset needs to be a reserve asset for the destination transactor::multilocation.

source

pub fn transact_through_sovereign( origin: <T as Config>::RuntimeOrigin, dest: Box<VersionedLocation>, fee_payer: Option<<T as Config>::AccountId>, fee: CurrencyPayment<<T as Config>::CurrencyId>, call: Vec<u8>, origin_kind: OriginKind, weight_info: TransactWeights, refund: bool ) -> Result<(), DispatchError>

Transact the call through the sovereign account in a destination chain, ‘fee_payer’ pays for the fee

SovereignAccountDispatcherOrigin callable only

source

pub fn set_transact_info( origin: <T as Config>::RuntimeOrigin, location: Box<VersionedLocation>, transact_extra_weight: Weight, max_weight: Weight, transact_extra_weight_signed: Option<Weight> ) -> Result<(), DispatchError>

Change the transact info of a location

source

pub fn remove_transact_info( origin: <T as Config>::RuntimeOrigin, location: Box<VersionedLocation> ) -> Result<(), DispatchError>

Remove the transact info of a location

source

pub fn transact_through_signed( origin: <T as Config>::RuntimeOrigin, dest: Box<VersionedLocation>, fee: CurrencyPayment<<T as Config>::CurrencyId>, call: Vec<u8>, weight_info: TransactWeights, refund: bool ) -> Result<(), DispatchError>

Transact the call through the a signed origin in this chain that should be converted to a transaction dispatch account in the destination chain by any method implemented in the destination chains runtime

This time we are giving the currency as a currencyId instead of multilocation

source

pub fn set_fee_per_second( origin: <T as Config>::RuntimeOrigin, asset_location: Box<VersionedLocation>, fee_per_second: u128 ) -> Result<(), DispatchError>

Set the fee per second of an asset on its reserve chain

source

pub fn remove_fee_per_second( origin: <T as Config>::RuntimeOrigin, asset_location: Box<VersionedLocation> ) -> Result<(), DispatchError>

Remove the fee per second of an asset on its reserve chain

source

pub fn hrmp_manage( origin: <T as Config>::RuntimeOrigin, action: HrmpOperation, fee: CurrencyPayment<<T as Config>::CurrencyId>, weight_info: TransactWeights ) -> Result<(), DispatchError>

Manage HRMP operations

source§

impl<T> Pallet<T>
where T: Config,

source

pub fn calculate_fee_per_second(weight: Weight, fee_per_second: u128) -> u128

Returns the fee for a given set of parameters We always round up in case of fractional division

source

pub fn take_weight_from_transact_info( dest: Location, dest_weight: Weight, refund: bool ) -> Result<Weight, DispatchError>

Returns the weight information for a destination from storage it returns the weight to be used in non-signed cases

source

pub fn take_weight_from_transact_info_signed( dest: Location, dest_weight: Weight, refund: bool ) -> Result<Weight, DispatchError>

Returns the weight information for a destination from storage it returns the weight to be used in signed cases

source

pub fn take_fee_per_second_from_storage( fee_location: Location, destination: Location, total_weight: Weight ) -> Result<u128, DispatchError>

Returns the fee per second charged by a reserve chain for an asset it takes this information from storage

source

pub fn currency_to_multilocation( currency: Currency<<T as Config>::CurrencyId> ) -> Option<Location>

Converts Currency to multilocation

source§

impl<T> Pallet<T>
where T: Config,

source

pub fn index_to_account<KArg>(k: KArg) -> Option<<T as Config>::AccountId>
where KArg: EncodeLike<u16>,

An auto-generated getter for IndexToAccount.

source§

impl<T> Pallet<T>
where T: Config,

source

pub fn transact_info<KArg>(k: KArg) -> Option<RemoteTransactInfoWithMaxWeight>
where KArg: EncodeLike<Location>,

An auto-generated getter for TransactInfoWithWeightLimit.

source§

impl<T> Pallet<T>
where T: Config,

source

pub fn dest_asset_fee_per_second<KArg>(k: KArg) -> Option<u128>
where KArg: EncodeLike<Location>,

An auto-generated getter for DestinationAssetFeePerSecond.

source§

impl<T> Pallet<T>
where T: Config,

source

pub fn relay_indices() -> RelayChainIndices

An auto-generated getter for RelayIndices.

Trait Implementations

source§

impl<T> StakeEncodeCall for Pallet<T>
where T: Config,

source§

fn encode_call(call: AvailableStakeCalls) -> Vec<u8>

Encode call from the relay.
source§

impl<T> PalletInfoAccess for Pallet<T>
where T: Config,

source§

fn index() -> usize

Index of the pallet as configured in the runtime.
source§

fn name() -> &'static str

Name of the pallet as configured in the runtime.
source§

fn name_hash() -> [u8; 16]

Two128 hash of name.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
source§

impl<T> Debug for Pallet<T>

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl<T> WhitelistedStorageKeys for Pallet<T>
where T: Config,

source§

fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>

Returns a Vec<TrackedStorageKey> indicating the storage keys that should be whitelisted during benchmarking. This means that those keys will be excluded from the benchmarking performance calculation.
source§

impl<T> GetStorageVersion for Pallet<T>
where T: Config,

§

type InCodeStorageVersion = NoStorageVersionSet

This type is generated by the pallet macro. Read more
source§

fn in_code_storage_version( ) -> <Pallet<T> as GetStorageVersion>::InCodeStorageVersion

Returns the in-code storage version as specified in the storage_version attribute, or [NoStorageVersionSet] if the attribute is missing.
source§

fn on_chain_storage_version() -> StorageVersion

Returns the storage version of the pallet as last set in the actual on-chain storage.
§

fn current_storage_version() -> Self::InCodeStorageVersion

👎Deprecated: This method has been renamed to in_code_storage_version and will be removed after March 2024.
DEPRECATED: Use [Self::current_storage_version] instead. Read more
source§

impl<T> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where T: Config,

source§

fn offchain_worker( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number )

This function is being called after every block import (when fully synced). Read more
source§

impl<T> OnRuntimeUpgrade for Pallet<T>
where T: Config,

source§

fn on_runtime_upgrade() -> Weight

See [Hooks::on_runtime_upgrade].
source§

impl<T> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where T: Config,

source§

fn on_idle( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, remaining_weight: Weight ) -> Weight

See [Hooks::on_idle].
source§

impl<T> HrmpEncodeCall for Pallet<T>
where T: Config,

source§

impl<T> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where T: Config,

§

fn on_initialize(_n: BlockNumber) -> Weight

Block initialization hook. This is called at the very beginning of block execution. Read more
§

fn on_finalize(_n: BlockNumber)

Block finalization hook. This is called at the very end of block execution. Read more
§

fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight

Hook to consume a block’s idle time. This will run when the block is being finalized (before [Hooks::on_finalize]). Read more
§

fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)

A hook to run logic after inherent application. Read more
§

fn on_runtime_upgrade() -> Weight

Hook executed when a code change (aka. a “runtime upgrade”) is detected by the FRAME Executive pallet. Read more
§

fn offchain_worker(_n: BlockNumber)

Implementing this function on a pallet allows you to perform long-running tasks that are dispatched as separate threads, and entirely independent of the main blockchain execution. Read more
§

fn integrity_test()

Check the integrity of this pallet’s configuration. Read more
source§

impl<T> PalletsInfoAccess for Pallet<T>
where T: Config,

source§

fn count() -> usize

The number of pallets’ information that this type represents. Read more
source§

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
source§

impl<T> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where T: Config,

source§

fn on_initialize( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number ) -> Weight

See [Hooks::on_initialize].
source§

impl<T> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where T: Config,

source§

fn on_finalize( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number )

See [Hooks::on_finalize].
source§

impl<T> Callable<T> for Pallet<T>
where T: Config,

source§

impl<T> UtilityEncodeCall for Pallet<T>
where T: Config,

source§

impl<T> OnGenesis for Pallet<T>
where T: Config,

source§

fn on_genesis()

Something that should happen at genesis.
source§

impl<T> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where T: Config,

source§

fn on_poll( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, weight: &mut WeightMeter )

Code to execute every now and then at the beginning of the block after inherent application. Read more
source§

impl<T> PartialEq for Pallet<T>

source§

fn eq(&self, other: &Pallet<T>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T> Eq for Pallet<T>

source§

impl<T> StorageInfoTrait for Pallet<T>
where T: Config,

source§

fn storage_info() -> Vec<StorageInfo>

source§

impl<T> Clone for Pallet<T>

source§

fn clone(&self) -> Pallet<T>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T> IntegrityTest for Pallet<T>
where T: Config,

source§

fn integrity_test()

See [Hooks::integrity_test].
source§

impl<T> BeforeAllRuntimeMigrations for Pallet<T>
where T: Config,

source§

fn before_all_runtime_migrations() -> Weight

Something that should happen before runtime migrations are executed.