Type Alias moonbeam_runtime::XcmTransactor
source · 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,
impl<T> Pallet<T>where
T: Config,
sourcepub fn register(
origin: <T as Config>::RuntimeOrigin,
who: <T as Config>::AccountId,
index: u16
) -> Result<(), DispatchError>
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
sourcepub fn deregister(
origin: <T as Config>::RuntimeOrigin,
index: u16
) -> Result<(), DispatchError>
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
sourcepub 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>
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.
sourcepub 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>
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
sourcepub 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>
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
sourcepub fn remove_transact_info(
origin: <T as Config>::RuntimeOrigin,
location: Box<VersionedLocation>
) -> Result<(), DispatchError>
pub fn remove_transact_info( origin: <T as Config>::RuntimeOrigin, location: Box<VersionedLocation> ) -> Result<(), DispatchError>
Remove the transact info of a location
sourcepub 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>
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
sourcepub fn set_fee_per_second(
origin: <T as Config>::RuntimeOrigin,
asset_location: Box<VersionedLocation>,
fee_per_second: u128
) -> Result<(), DispatchError>
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
sourcepub fn remove_fee_per_second(
origin: <T as Config>::RuntimeOrigin,
asset_location: Box<VersionedLocation>
) -> Result<(), DispatchError>
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
sourcepub fn hrmp_manage(
origin: <T as Config>::RuntimeOrigin,
action: HrmpOperation,
fee: CurrencyPayment<<T as Config>::CurrencyId>,
weight_info: TransactWeights
) -> Result<(), DispatchError>
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,
impl<T> Pallet<T>where
T: Config,
sourcepub fn calculate_fee_per_second(weight: Weight, fee_per_second: u128) -> u128
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
sourcepub fn take_weight_from_transact_info(
dest: Location,
dest_weight: Weight,
refund: bool
) -> Result<Weight, DispatchError>
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
sourcepub fn take_weight_from_transact_info_signed(
dest: Location,
dest_weight: Weight,
refund: bool
) -> Result<Weight, DispatchError>
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
sourcepub fn take_fee_per_second_from_storage(
fee_location: Location,
destination: Location,
total_weight: Weight
) -> Result<u128, DispatchError>
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
sourcepub fn currency_to_multilocation(
currency: Currency<<T as Config>::CurrencyId>
) -> Option<Location>
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,
impl<T> Pallet<T>where
T: Config,
sourcepub fn index_to_account<KArg>(k: KArg) -> Option<<T as Config>::AccountId>where
KArg: EncodeLike<u16>,
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,
impl<T> Pallet<T>where
T: Config,
sourcepub fn transact_info<KArg>(k: KArg) -> Option<RemoteTransactInfoWithMaxWeight>where
KArg: EncodeLike<Location>,
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,
impl<T> Pallet<T>where
T: Config,
sourcepub fn dest_asset_fee_per_second<KArg>(k: KArg) -> Option<u128>where
KArg: EncodeLike<Location>,
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,
impl<T> Pallet<T>where
T: Config,
sourcepub fn relay_indices() -> RelayChainIndices
pub fn relay_indices() -> RelayChainIndices
An auto-generated getter for RelayIndices
.
Trait Implementations
source§impl<T> StakeEncodeCall for Pallet<T>where
T: Config,
impl<T> StakeEncodeCall for Pallet<T>where
T: Config,
source§fn encode_call(call: AvailableStakeCalls) -> Vec<u8> ⓘ
fn encode_call(call: AvailableStakeCalls) -> Vec<u8> ⓘ
source§impl<T> PalletInfoAccess for Pallet<T>where
T: Config,
impl<T> PalletInfoAccess for Pallet<T>where
T: Config,
source§fn module_name() -> &'static str
fn module_name() -> &'static str
source§fn crate_version() -> CrateVersion
fn crate_version() -> CrateVersion
source§impl<T> WhitelistedStorageKeys for Pallet<T>where
T: Config,
impl<T> WhitelistedStorageKeys for Pallet<T>where
T: Config,
source§fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
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,
impl<T> GetStorageVersion for Pallet<T>where
T: Config,
§type InCodeStorageVersion = NoStorageVersionSet
type InCodeStorageVersion = NoStorageVersionSet
source§fn in_code_storage_version(
) -> <Pallet<T> as GetStorageVersion>::InCodeStorageVersion
fn in_code_storage_version( ) -> <Pallet<T> as GetStorageVersion>::InCodeStorageVersion
storage_version
attribute, or
[NoStorageVersionSet
] if the attribute is missing.source§fn on_chain_storage_version() -> StorageVersion
fn on_chain_storage_version() -> StorageVersion
§fn current_storage_version() -> Self::InCodeStorageVersion
fn current_storage_version() -> Self::InCodeStorageVersion
in_code_storage_version
and will be removed after March 2024.Self::current_storage_version
] instead. Read moresource§impl<T> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
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
)
fn offchain_worker( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number )
source§impl<T> OnRuntimeUpgrade for Pallet<T>where
T: Config,
impl<T> OnRuntimeUpgrade for Pallet<T>where
T: Config,
source§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Hooks::on_runtime_upgrade
].source§impl<T> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
source§impl<T> HrmpEncodeCall for Pallet<T>where
T: Config,
impl<T> HrmpEncodeCall for Pallet<T>where
T: Config,
fn hrmp_encode_call(call: HrmpAvailableCalls) -> Result<Vec<u8>, Error>
source§impl<T> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
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
fn on_initialize(_n: BlockNumber) -> Weight
§fn on_finalize(_n: BlockNumber)
fn on_finalize(_n: BlockNumber)
§fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
Hooks::on_finalize
]). Read more§fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)
fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)
§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Executive
pallet. Read more§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
§fn integrity_test()
fn integrity_test()
source§impl<T> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
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
fn on_initialize( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number ) -> Weight
Hooks::on_initialize
].source§impl<T> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
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
)
fn on_finalize( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number )
Hooks::on_finalize
].