pub type EthereumSystem = Pallet<Runtime>;
Aliased Type§
struct EthereumSystem(/* private fields */);
Implementations
Source§impl<T> Pallet<T>where
T: Config,
impl<T> Pallet<T>where
T: Config,
Sourcepub fn parameters() -> PricingParameters<<<T as Config>::Token as Inspect<<T as Config>::AccountId>>::Balance>
pub fn parameters() -> PricingParameters<<<T as Config>::Token as Inspect<<T as Config>::AccountId>>::Balance>
An auto-generated getter for PricingParameters
.
Source§impl<T> Pallet<T>where
T: Config,
impl<T> Pallet<T>where
T: Config,
Sourcepub fn upgrade(
origin: <T as Config>::RuntimeOrigin,
impl_address: H160,
impl_code_hash: H256,
initializer: Option<Initializer>,
) -> Result<(), DispatchError>
pub fn upgrade( origin: <T as Config>::RuntimeOrigin, impl_address: H160, impl_code_hash: H256, initializer: Option<Initializer>, ) -> Result<(), DispatchError>
Sends command to the Gateway contract to upgrade itself with a new implementation contract
Fee required: No
origin
: Must beRoot
.impl_address
: The address of the implementation contract.impl_code_hash
: The codehash of the implementation contract.initializer
: Optionally call an initializer on the implementation contract.
Sourcepub fn set_operating_mode(
origin: <T as Config>::RuntimeOrigin,
mode: OperatingMode,
) -> Result<(), DispatchError>
pub fn set_operating_mode( origin: <T as Config>::RuntimeOrigin, mode: OperatingMode, ) -> Result<(), DispatchError>
Sends a message to the Gateway contract to change its operating mode
Fee required: No
origin
: Must beLocation
Sourcepub fn set_pricing_parameters(
origin: <T as Config>::RuntimeOrigin,
params: PricingParameters<<<T as Config>::Token as Inspect<<T as Config>::AccountId>>::Balance>,
) -> Result<(), DispatchError>
pub fn set_pricing_parameters( origin: <T as Config>::RuntimeOrigin, params: PricingParameters<<<T as Config>::Token as Inspect<<T as Config>::AccountId>>::Balance>, ) -> Result<(), DispatchError>
Set pricing parameters on both sides of the bridge
Fee required: No
origin
: Must be root
Sourcepub fn create_agent(
origin: <T as Config>::RuntimeOrigin,
) -> Result<(), DispatchError>
pub fn create_agent( origin: <T as Config>::RuntimeOrigin, ) -> Result<(), DispatchError>
Sends a command to the Gateway contract to instantiate a new agent contract representing
origin
.
Fee required: Yes
origin
: Must beLocation
of a sibling parachain
Sourcepub fn create_channel(
origin: <T as Config>::RuntimeOrigin,
mode: OperatingMode,
) -> Result<(), DispatchError>
pub fn create_channel( origin: <T as Config>::RuntimeOrigin, mode: OperatingMode, ) -> Result<(), DispatchError>
Sends a message to the Gateway contract to create a new channel representing origin
Fee required: Yes
This extrinsic is permissionless, so a fee is charged to prevent spamming and pay for execution costs on the remote side.
The message is sent over the bridge on BridgeHub’s own channel to the Gateway.
origin
: Must beLocation
mode
: Initial operating mode of the channel
Sourcepub fn update_channel(
origin: <T as Config>::RuntimeOrigin,
mode: OperatingMode,
) -> Result<(), DispatchError>
pub fn update_channel( origin: <T as Config>::RuntimeOrigin, mode: OperatingMode, ) -> Result<(), DispatchError>
Sends a message to the Gateway contract to update a channel configuration
The origin must already have a channel initialized, as this message is sent over it.
A partial fee will be charged for local processing only.
origin
: Must beLocation
mode
: Initial operating mode of the channel
Sourcepub fn force_update_channel(
origin: <T as Config>::RuntimeOrigin,
channel_id: ChannelId,
mode: OperatingMode,
) -> Result<(), DispatchError>
pub fn force_update_channel( origin: <T as Config>::RuntimeOrigin, channel_id: ChannelId, mode: OperatingMode, ) -> Result<(), DispatchError>
Sends a message to the Gateway contract to update an arbitrary channel
Fee required: No
origin
: Must be rootchannel_id
: ID of channelmode
: Initial operating mode of the channeloutbound_fee
: Fee charged to users for sending outbound messages to Polkadot
Sourcepub fn transfer_native_from_agent(
origin: <T as Config>::RuntimeOrigin,
recipient: H160,
amount: u128,
) -> Result<(), DispatchError>
pub fn transfer_native_from_agent( origin: <T as Config>::RuntimeOrigin, recipient: H160, amount: u128, ) -> Result<(), DispatchError>
Sends a message to the Gateway contract to transfer ether from an agent to recipient
.
A partial fee will be charged for local processing only.
origin
: Must beLocation
Sourcepub fn force_transfer_native_from_agent(
origin: <T as Config>::RuntimeOrigin,
location: Box<VersionedLocation>,
recipient: H160,
amount: u128,
) -> Result<(), DispatchError>
pub fn force_transfer_native_from_agent( origin: <T as Config>::RuntimeOrigin, location: Box<VersionedLocation>, recipient: H160, amount: u128, ) -> Result<(), DispatchError>
Sends a message to the Gateway contract to transfer ether from an agent to recipient
.
Privileged. Can only be called by root.
Fee required: No
origin
: Must be rootlocation
: Location used to resolve the agentrecipient
: Recipient of fundsamount
: Amount to transfer
Sourcepub fn set_token_transfer_fees(
origin: <T as Config>::RuntimeOrigin,
create_asset_xcm: u128,
transfer_asset_xcm: u128,
register_token: U256,
) -> Result<(), DispatchError>
pub fn set_token_transfer_fees( origin: <T as Config>::RuntimeOrigin, create_asset_xcm: u128, transfer_asset_xcm: u128, register_token: U256, ) -> Result<(), DispatchError>
Sends a message to the Gateway contract to update fee related parameters for token transfers.
Privileged. Can only be called by root.
Fee required: No
origin
: Must be rootcreate_asset_xcm
: The XCM execution cost for creating a new asset class on AssetHub, in DOTtransfer_asset_xcm
: The XCM execution cost for performing a reserve transfer on AssetHub, in DOTregister_token
: The Ether fee for registering a new token, to discourage spamming
Sourcepub fn register_token(
origin: <T as Config>::RuntimeOrigin,
location: Box<VersionedLocation>,
metadata: AssetMetadata,
) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
pub fn register_token( origin: <T as Config>::RuntimeOrigin, location: Box<VersionedLocation>, metadata: AssetMetadata, ) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
Registers a Polkadot-native token as a wrapped ERC20 token on Ethereum. Privileged. Can only be called by root.
Fee required: No
origin
: Must be rootlocation
: Location of the asset (relative to this chain)metadata
: Metadata to include in the instantiated ERC20 contract on Ethereum
Source§impl<T> Pallet<T>where
T: Config,
impl<T> Pallet<T>where
T: Config,
Sourcepub fn do_transfer_native_from_agent(
agent_id: H256,
channel_id: ChannelId,
recipient: H160,
amount: u128,
pays_fee: PaysFee<T>,
) -> Result<(), DispatchError>
pub fn do_transfer_native_from_agent( agent_id: H256, channel_id: ChannelId, recipient: H160, amount: u128, pays_fee: PaysFee<T>, ) -> Result<(), DispatchError>
Issue a Command::TransferNativeFromAgent
command. The command will be sent on the
channel channel_id
Sourcepub fn initialize(
para_id: Id,
asset_hub_para_id: Id,
) -> Result<(), DispatchError>
pub fn initialize( para_id: Id, asset_hub_para_id: Id, ) -> Result<(), DispatchError>
Initializes agents and channels.
Trait Implementations
Source§impl<T> BeforeAllRuntimeMigrations for Pallet<T>where
T: Config,
impl<T> BeforeAllRuntimeMigrations for Pallet<T>where
T: Config,
Source§fn before_all_runtime_migrations() -> Weight
fn before_all_runtime_migrations() -> Weight
Source§impl<T> Benchmarking for Pallet<T>
impl<T> Benchmarking for Pallet<T>
Source§fn benchmarks(extra: bool) -> Vec<BenchmarkMetadata>
fn benchmarks(extra: bool) -> Vec<BenchmarkMetadata>
Source§fn run_benchmark(
extrinsic: &[u8],
c: &[(BenchmarkParameter, u32)],
whitelist: &[TrackedStorageKey],
verify: bool,
internal_repeats: u32,
) -> Result<Vec<BenchmarkResult>, BenchmarkError>
fn run_benchmark( extrinsic: &[u8], c: &[(BenchmarkParameter, u32)], whitelist: &[TrackedStorageKey], verify: bool, internal_repeats: u32, ) -> Result<Vec<BenchmarkResult>, BenchmarkError>
Source§impl<T> DispatchViewFunction for Pallet<T>where
T: Config,
impl<T> DispatchViewFunction for Pallet<T>where
T: Config,
fn dispatch_view_function<O>(
id: &ViewFunctionId,
input: &mut &[u8],
output: &mut O,
) -> Result<(), ViewFunctionDispatchError>where
O: Output,
Source§impl<T> Get<PricingParameters<<<T as Config>::Token as Inspect<<T as Config>::AccountId>>::Balance>> for Pallet<T>where
T: Config,
impl<T> Get<PricingParameters<<<T as Config>::Token as Inspect<<T as Config>::AccountId>>::Balance>> for Pallet<T>where
T: Config,
Source§impl<T> GetStorageVersion for Pallet<T>where
T: Config,
impl<T> GetStorageVersion for Pallet<T>where
T: Config,
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
Source§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> 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,
Source§fn on_initialize(_n: BlockNumber) -> Weight
fn on_initialize(_n: BlockNumber) -> Weight
Source§fn on_finalize(_n: BlockNumber)
fn on_finalize(_n: BlockNumber)
Source§fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
Hooks::on_finalize
). Read moreSource§fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)
fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)
Source§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Executive
pallet. Read moreSource§fn try_state(_n: BlockNumber) -> Result<(), DispatchError>
fn try_state(_n: BlockNumber) -> Result<(), DispatchError>
Source§fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
Source§fn post_upgrade(_state: Vec<u8>) -> Result<(), DispatchError>
fn post_upgrade(_state: Vec<u8>) -> Result<(), DispatchError>
Source§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
Source§fn integrity_test()
fn integrity_test()
Source§impl<T> IntegrityTest for Pallet<T>where
T: Config,
impl<T> IntegrityTest for Pallet<T>where
T: Config,
Source§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§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
.Source§impl<T> OnGenesis for Pallet<T>where
T: Config,
impl<T> OnGenesis for Pallet<T>where
T: Config,
Source§fn on_genesis()
fn on_genesis()
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> 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> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
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
Source§fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
Hooks::pre_upgrade
.Source§fn post_upgrade(state: Vec<u8>) -> Result<(), DispatchError>
fn post_upgrade(state: Vec<u8>) -> Result<(), DispatchError>
Hooks::post_upgrade
.Source§fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>
fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>
pre_upgrade
->
on_runtime_upgrade
-> post_upgrade
hooks for a migration. Read moreSource§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> PalletsInfoAccess for Pallet<T>where
T: Config,
impl<T> PalletsInfoAccess for Pallet<T>where
T: Config,
Source§impl<T> StaticLookup for Pallet<T>where
T: Config,
impl<T> StaticLookup for Pallet<T>where
T: Config,
Source§impl<T> StorageInfoTrait for Pallet<T>where
T: Config,
impl<T> StorageInfoTrait for Pallet<T>where
T: Config,
fn storage_info() -> Vec<StorageInfo>
Source§impl<T> TryDecodeEntireStorage for Pallet<T>where
T: Config,
impl<T> TryDecodeEntireStorage for Pallet<T>where
T: Config,
Source§fn try_decode_entire_state() -> Result<usize, Vec<TryDecodeEntireStorageError>>
fn try_decode_entire_state() -> Result<usize, Vec<TryDecodeEntireStorageError>>
Ok(bytes_decoded)
if success.Source§impl<T> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
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.