referrerpolicy=no-referrer-when-downgrade
bridge_hub_westend_runtime

Type Alias EthereumSystem

Source
pub type EthereumSystem = Pallet<Runtime>;

Aliased Type§

struct EthereumSystem(/* private fields */);

Implementations

Source§

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

Source

pub fn agents<KArg>(k: KArg) -> Option<()>
where KArg: EncodeLike<H256>,

An auto-generated getter for Agents.

Source§

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

Source

pub fn channels<KArg>(k: KArg) -> Option<Channel>
where KArg: EncodeLike<ChannelId>,

An auto-generated getter for Channels.

Source§

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

Source

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,

Source

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 be Root.
  • 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.
Source

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 be Location
Source

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
Source

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 be Location of a sibling parachain
Source

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 be Location
  • mode: Initial operating mode of the channel
Source

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 be Location
  • mode: Initial operating mode of the channel
Source

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 root
  • channel_id: ID of channel
  • mode: Initial operating mode of the channel
  • outbound_fee: Fee charged to users for sending outbound messages to Polkadot
Source

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 be Location
Source

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 root
  • location: Location used to resolve the agent
  • recipient: Recipient of funds
  • amount: Amount to transfer
Source

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 root
  • create_asset_xcm: The XCM execution cost for creating a new asset class on AssetHub, in DOT
  • transfer_asset_xcm: The XCM execution cost for performing a reserve transfer on AssetHub, in DOT
  • register_token: The Ether fee for registering a new token, to discourage spamming
Source

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 root
  • location: 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,

Source

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

Source

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,

Source§

fn before_all_runtime_migrations() -> Weight

Something that should happen before runtime migrations are executed.
Source§

impl<T> Benchmarking for Pallet<T>
where T: Config + Config,

Source§

fn benchmarks(extra: bool) -> Vec<BenchmarkMetadata>

Get the benchmarks available for this pallet. Generally there is one benchmark per extrinsic, so these are sometimes just called “extrinsics”. Read more
Source§

fn run_benchmark( extrinsic: &[u8], c: &[(BenchmarkParameter, u32)], whitelist: &[TrackedStorageKey], verify: bool, internal_repeats: u32, ) -> Result<Vec<BenchmarkResult>, BenchmarkError>

Run the benchmarks for this pallet.
Source§

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

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> Contains<ChannelId> for Pallet<T>
where T: Config,

Source§

fn contains(channel_id: &ChannelId) -> bool

Return true if this “contains” the given value t.
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> DispatchViewFunction for Pallet<T>
where T: Config,

Source§

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,

Source§

fn get() -> PricingParameters<<<T as Config>::Token as Inspect<<T as Config>::AccountId>>::Balance>

Return the current value.
Source§

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

Source§

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.
Source§

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> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where T: Config,

Source§

fn on_initialize(_n: BlockNumber) -> Weight

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

fn on_finalize(_n: BlockNumber)

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

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
Source§

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

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

fn on_runtime_upgrade() -> Weight

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

fn try_state(_n: BlockNumber) -> Result<(), DispatchError>

Execute the sanity checks of this pallet, per block. Read more
Source§

fn pre_upgrade() -> Result<Vec<u8>, DispatchError>

Execute some pre-checks prior to a runtime upgrade. Read more
Source§

fn post_upgrade(_state: Vec<u8>) -> Result<(), DispatchError>

Execute some post-checks after a runtime upgrade. Read more
Source§

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
Source§

fn integrity_test()

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

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

Source§

impl<T> MaybeEquivalence<H256, Location> for Pallet<T>
where T: Config,

Source§

fn convert(foreign_id: &H256) -> Option<Location>

Attempt to convert reference of A into value of B, returning None if not possible.
Source§

fn convert_back(location: &Location) -> Option<H256>

Attempt to convert reference of B into value of A, returning None if not possible.
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> 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, )

Source§

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

Source§

fn on_genesis()

Something that should happen at genesis.
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

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

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> OnRuntimeUpgrade for Pallet<T>
where T: Config,

Source§

fn on_runtime_upgrade() -> Weight

Source§

fn pre_upgrade() -> Result<Vec<u8>, DispatchError>

Source§

fn post_upgrade(state: Vec<u8>) -> Result<(), DispatchError>

Source§

fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>

The expected and default behavior of this method is to handle executing pre_upgrade -> on_runtime_upgrade -> post_upgrade hooks for a migration. Read more
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> 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> PartialEq for Pallet<T>

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

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

Source§

type Source = ChannelId

Type to lookup from.
Source§

type Target = Channel

Type to lookup into.
Source§

fn lookup( channel_id: <Pallet<T> as StaticLookup>::Source, ) -> Option<<Pallet<T> as StaticLookup>::Target>

Attempt a lookup.
Source§

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

Source§

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

Source§

fn try_decode_entire_state() -> Result<usize, Vec<TryDecodeEntireStorageError>>

Decode the entire data under the given storage, returning 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,

Source§

fn try_state( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, _s: Select, ) -> Result<(), DispatchError>

Execute the state checks.
Source§

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

Source§

fn prefix() -> [u8; 16]

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> Eq for Pallet<T>