pub struct Runtime;

Implementations§

source§

impl Runtime

source

pub fn metadata() -> RuntimeMetadataPrefixed

Trait Implementations§

source§

impl AccountNonceApiV1<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>, <<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, u32> for Runtime

source§

fn account_nonce(account: AccountId) -> Index

Get current account nonce of given AccountId.
source§

impl AssetsAPIV1<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>, <<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, AssetId32<PredefinedAssetId>, u128, AssetSymbol, AssetName, u8, ContentSource, Description> for Runtime

source§

impl BabeApiV2<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>> for Runtime

source§

fn configuration() -> BabeConfiguration

Return the configuration for BABE.
source§

fn current_epoch() -> Epoch

Returns information regarding the current epoch.
source§

fn current_epoch_start() -> Slot

Returns the slot that started the current epoch.
source§

fn next_epoch() -> Epoch

Returns information regarding the next epoch (which was already previously announced).
source§

fn generate_key_ownership_proof( _slot_number: Slot, authority_id: AuthorityId ) -> Option<OpaqueKeyOwnershipProof>

Generates a proof of key ownership for the given authority in the current epoch. An example usage of this module is coupled with the session historical module to prove that a given authority key is tied to a given staking identity during a specific session. Proofs of key ownership are necessary for submitting equivocation reports. NOTE: even though the API takes a slot as parameter the current implementations ignores this parameter and instead relies on this method being called at the correct block height, i.e. any point at which the epoch for the given slot is live on-chain. Future implementations will instead use indexed data through an offchain worker, not requiring older states to be available.
source§

fn submit_report_equivocation_unsigned_extrinsic( equivocation_proof: EquivocationProof<<Block as BlockT>::Header>, key_owner_proof: OpaqueKeyOwnershipProof ) -> Option<()>

Submits an unsigned extrinsic to report an equivocation. The caller must provide the equivocation proof and a key ownership proof (should be obtained using generate_key_ownership_proof). The extrinsic will be unsigned and should only be accepted for local authorship (not to be broadcast to the network). This method returns None when creation of the extrinsic fails, e.g. if equivocation reporting is disabled for the given runtime (i.e. this method is hardcoded to return None). Only useful in an offchain context.
source§

impl BeefyApiV1<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>> for Runtime

source§

fn validator_set() -> Option<ValidatorSet<BeefyId>>

Return the current active BEEFY validator set
source§

impl BlockBuilderV6<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>> for Runtime

source§

fn apply_extrinsic( extrinsic: <Block as BlockT>::Extrinsic ) -> ApplyExtrinsicResult

Apply the given extrinsic. Read more
source§

fn finalize_block() -> <Block as BlockT>::Header

Finish the current block.
source§

fn inherent_extrinsics(data: InherentData) -> Vec<<Block as BlockT>::Extrinsic>

Generate inherent extrinsics. The inherent data will vary from chain to chain.
source§

fn check_inherents(block: Block, data: InherentData) -> CheckInherentsResult

Check that the inherents are valid. The inherent data will vary from chain to chain.
source§

impl BridgeProxyAPIV1<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>, AssetId32<PredefinedAssetId>> for Runtime

source§

fn list_apps() -> Vec<BridgeAppInfo>

source§

fn list_supported_assets(network_id: GenericNetworkId) -> Vec<BridgeAssetInfo>

source§

impl CallerTrait<<Runtime as Config>::AccountId> for OriginCaller

source§

fn into_system(self) -> Option<RawOrigin<<Runtime as Config>::AccountId>>

Extract the signer from the message if it is a Signed origin.
source§

fn as_system_ref(&self) -> Option<&RawOrigin<<Runtime as Config>::AccountId>>

Extract a reference to the system-level RawOrigin if it is that.
source§

impl Clone for Runtime

source§

fn clone(&self) -> Runtime

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 Config<()> for Runtime

§

type Balance = u128

The type for recording an account’s balance.

§

type RuntimeEvent = RuntimeEvent

The ubiquitous event type.

§

type DustRemoval = ()

Handler for the unbalanced reduction when removing a dust account.
§

type ExistentialDeposit = ExistentialDeposit

The minimum amount required to keep an account open.
§

type AccountStore = Pallet<Runtime>

The means of storing the balances of an account.
§

type WeightInfo = ()

Weight information for extrinsics in this pallet.
§

type MaxLocks = MaxLocks

The maximum number of locks that should exist on an account. Not strictly enforced, but used for weight estimation.
§

type MaxReserves = ()

The maximum number of named reserves that can exist on an account.
§

type ReserveIdentifier = ()

The id type for named reserves.
source§

impl Config<()> for Runtime

§

type RuntimeEvent = RuntimeEvent

Event type of this pallet.
§

type Symbol = SymbolName

Type of the symbol to be relayed.
§

type WeightInfo = SubstrateWeight<Runtime>

Weight information for extrinsics in this pallet.
§

type OnNewSymbolsRelayedHook = Pallet<Runtime>

Hook which is being executed when some new symbols were relayed
§

type Time = Pallet<Runtime>

Time used for checking if rate expired
§

type GetBandRateStalePeriod = GetBandRateStalePeriod

Rate expiration period in seconds.
§

type GetBandRateStaleBlockPeriod = GetBandRateStaleBlockPeriod

Rate expiration period in blocks
§

type OnSymbolDisabledHook = Pallet<Runtime>

Hook which is being executed when some symbol must be disabled
§

type MaxRelaySymbols = BandMaxRelaySymbols

Maximum number of symbols that can be relayed within a single call.
source§

impl Config<()> for Runtime

§

type RuntimeEvent = RuntimeEvent

The overarching event type.
§

type ScoreProvider = Pallet<Runtime>

Something that provides the scores of ids.
§

type WeightInfo = ()

Weight information for extrinsics in this pallet.
§

type BagThresholds = BagThresholds

The list of thresholds separating the various bags. Read more
§

type Score = u64

The type used to dictate a node position relative to other nodes.
source§

impl Config<Instance1> for Runtime

source§

impl Config<Instance1> for Runtime

§

type RuntimeOrigin = RuntimeOrigin

The runtime origin type.
§

type Proposal = RuntimeCall

The runtime call dispatch type.
§

type RuntimeEvent = RuntimeEvent

The runtime event type.
§

type MotionDuration = CouncilCollectiveMotionDuration

The time-out for council motions.
§

type MaxProposals = CouncilCollectiveMaxProposals

Maximum number of proposals allowed to be active in parallel.
§

type MaxMembers = CouncilCollectiveMaxMembers

The maximum number of members supported by the pallet. Used for weight estimation. Read more
§

type DefaultVote = PrimeDefaultVote

Default vote strategy of this collective.
§

type WeightInfo = CollectiveWeightInfo<Runtime>

Weight information for extrinsics in this pallet.
source§

impl Config<Instance1> for Runtime

§

type RuntimeEvent = RuntimeEvent

The overarching event type.
§

type AddOrigin = EitherOfDiverse<EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>, EnsureProportionMoreThan<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance1, 1, 2>>

Required origin for adding a member (though can always be Root).
§

type RemoveOrigin = EitherOfDiverse<EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>, EnsureProportionMoreThan<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance1, 1, 2>>

Required origin for removing a member (though can always be Root).
§

type SwapOrigin = EitherOfDiverse<EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>, EnsureProportionMoreThan<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance1, 1, 2>>

Required origin for adding and removing a member in a single action.
§

type ResetOrigin = EitherOfDiverse<EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>, EnsureProportionMoreThan<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance1, 1, 2>>

Required origin for resetting membership.
§

type PrimeOrigin = EitherOfDiverse<EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>, EnsureProportionMoreThan<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance1, 1, 2>>

Required origin for setting or resetting the prime member.
§

type MembershipInitialized = Pallet<Runtime, Instance2>

The receiver of the signal for when the membership has been initialized. This happens pre-genesis and will usually be the same as MembershipChanged. If you need to do something different on initialization, then you can change this accordingly.
§

type MembershipChanged = Pallet<Runtime, Instance2>

The receiver of the signal for when the membership has changed.
§

type MaxMembers = TechnicalCollectiveMaxMembers

The maximum number of members that this membership can have. Read more
§

type WeightInfo = ()

Weight information for extrinsics in this pallet.
source§

impl Config<Instance2> for Runtime

§

type RuntimeOrigin = RuntimeOrigin

The runtime origin type.
§

type Proposal = RuntimeCall

The runtime call dispatch type.
§

type RuntimeEvent = RuntimeEvent

The runtime event type.
§

type MotionDuration = TechnicalCollectiveMotionDuration

The time-out for council motions.
§

type MaxProposals = TechnicalCollectiveMaxProposals

Maximum number of proposals allowed to be active in parallel.
§

type MaxMembers = TechnicalCollectiveMaxMembers

The maximum number of members supported by the pallet. Used for weight estimation. Read more
§

type DefaultVote = PrimeDefaultVote

Default vote strategy of this collective.
§

type WeightInfo = CollectiveWeightInfo<Runtime>

Weight information for extrinsics in this pallet.
source§

impl Config<Instance2> for Runtime

§

type RuntimeEvent = RuntimeEvent

The overarching event type.
§

type OriginOutput = CallOriginOutput<SubNetworkId, H256, ()>

§

type Origin = RuntimeOrigin

The overarching origin type.
§

type MessageId = MessageId

Id of the message. Whenever message is passed to the dispatch module, it emits event with this id + dispatch result.
§

type Hashing = Keccak256

§

type Call = DispatchableSubstrateBridgeCall

The overarching dispatch call type.
§

type CallFilter = SubstrateBridgeCallFilter

The pallet will filter all incoming calls right before they’re dispatched. If this filter rejects the call, special event (Event::MessageRejected) is emitted.
§

type WeightInfo = WeightInfo<Runtime>

source§

impl Config<Instance2> for Runtime

source§

impl Config<Instance3> for Runtime

source§

impl Config<Instance4> for Runtime

source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

§

type Balance = u128

The balance type
§

type Amount = i128

The amount type, should be signed version of Balance
§

type CurrencyId = AssetId32<PredefinedAssetId>

The currency ID type
§

type WeightInfo = ()

Weight information for extrinsics in this module.
§

type ExistentialDeposits = ExistentialDeposits

The minimum amount required to keep an account. It’s deprecated to config 0 as ED for any currency_id, zero ED will retain account even if its total is zero. Since accounts of orml_tokens are also used as providers of System::AccountInfo, zero ED may cause some problems.
§

type CurrencyHooks = ()

Hooks are actions that are executed on certain events. For example: OnDust, OnNewTokenAccount
§

type MaxLocks = ()

§

type MaxReserves = ()

The maximum number of named reserves that can exist on an account.
§

type ReserveIdentifier = ()

The id type for named reserves.
§

type DustRemovalWhitelist = Everything

source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

The overarching event type.
§

type OutboundChannel = Pallet<Runtime>

§

type CallOrigin = EnsureAccount<CallOriginOutput<SubNetworkId, H256, ()>>

§

type MaxPeers = BridgeMaxPeers

§

type UnsignedPriority = DataSignerPriority

A configuration for base priority of unsigned transactions.
§

type UnsignedLongevity = DataSignerLongevity

A configuration for longevity of unsigned transactions.
§

type WeightInfo = WeightInfo<Runtime>

source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

The overarching event type.
§

type RuntimeCall = RuntimeCall

The overarching call type.
§

type WeightInfo = ()

Weight information for extrinsics in this pallet.
§

type PalletsOrigin = OriginCaller

The caller origin, overarching type of all pallets origins.
source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

§

type PalletId = ElectionsModuleId

Identifier for the elections-phragmen pallet’s lock
§

type Currency = Pallet<Runtime, ()>

The currency that people are electing with.
§

type ChangeMembers = Pallet<Runtime, Instance1>

What to do when the members change.
§

type InitializeMembers = Pallet<Runtime, Instance1>

What to do with genesis members
§

type CurrencyToVote = U128CurrencyToVote

Convert a balance into a number used for election calculation. This must fit into a u64 but is allowed to be sensibly lossy.
§

type CandidacyBond = ElectionsCandidacyBond

How much should be locked up in order to submit one’s candidacy.
§

type VotingBondBase = ElectionsVotingBondBase

Base deposit associated with voting. Read more
§

type VotingBondFactor = ElectionsVotingBondFactor

The amount of bond that need to be locked for each vote (32 bytes).
§

type LoserCandidate = OnUnbalancedDemocracySlash<Runtime>

Handler for the unbalanced reduction when a candidate has lost (and is not a runner-up)
§

type KickedMember = OnUnbalancedDemocracySlash<Runtime>

Handler for the unbalanced reduction when a member has been kicked.
§

type DesiredMembers = ElectionsDesiredMembers

Number of members to elect.
§

type DesiredRunnersUp = ElectionsDesiredRunnersUp

Number of runners_up to keep.
§

type TermDuration = ElectionsTermDuration

How long each seat is kept. This defines the next block number at which an election round will happen. If set to zero, no elections are ever triggered and the module will be in passive mode.
§

type MaxVoters = ElectionsMaxVoters

The maximum number of voters to allow in a phragmen election. Read more
§

type MaxCandidates = ElectionsMaxCandidates

The maximum number of candidates in a phragmen election. Read more
§

type WeightInfo = ()

Weight information for extrinsics in this pallet.
source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

The overarching event type.
§

type Hashing = Keccak256

§

type Hash = <Keccak256 as Hash>::Output

§

type Randomness = RandomnessFromTwoEpochsAgo<Runtime>

source§

impl Config for Runtime

source§

const PSWAP_PER_DAY: Balance = 2_500_000_000_000_000_000_000_000u128

source§

const REFRESH_FREQUENCY: BlockNumber = 1_200u32

source§

const VESTING_COEFF: u32 = 3u32

source§

const VESTING_FREQUENCY: BlockNumber = 3_600u32

How often the vesting happens. VESTING_FREQUENCY % REFRESH_FREQUENCY must be 0
source§

const BLOCKS_PER_DAY: BlockNumber = 14_400u32

§

type RuntimeCall = RuntimeCall

§

type SchedulerOriginCaller = OriginCaller

§

type Scheduler = Pallet<Runtime>

§

type RewardDoublingAssets = FarmingRewardDoublingAssets

§

type WeightInfo = ()

Weight information for extrinsics in this pallet.
source§

impl Config for Runtime

source§

const MIN_XOR: Balance = 700_000_000_000_000u128

The minimum amount of XOR to deposit as liquidity
§

type RuntimeEvent = RuntimeEvent

Because this pallet emits events, it depends on the runtime’s definition of an event.
§

type PairSwapAction = PairSwapAction<AssetId32<PredefinedAssetId>, <<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, TechAccountId<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, TechAssetId<PredefinedAssetId>, u32>>

§

type DepositLiquidityAction = DepositLiquidityAction<AssetId32<PredefinedAssetId>, <<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, TechAccountId<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, TechAssetId<PredefinedAssetId>, u32>>

§

type WithdrawLiquidityAction = WithdrawLiquidityAction<AssetId32<PredefinedAssetId>, <<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, TechAccountId<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, TechAssetId<PredefinedAssetId>, u32>>

§

type PolySwapAction = PolySwapAction<AssetId32<PredefinedAssetId>, <<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, TechAccountId<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, TechAssetId<PredefinedAssetId>, u32>>

§

type EnsureDEXManager = Pallet<Runtime>

§

type GetFee = GetFee

§

type OnPoolCreated = (Pallet<Runtime>, Pallet<Runtime>)

§

type OnPoolReservesChanged = Pallet<Runtime>

§

type WeightInfo = SubstrateWeight<Runtime>

Weight information for extrinsics in this pallet.
§

type XSTMarketInfo = Pallet<Runtime>

§

type GetTradingPairRestrictedFlag = GetTradingPairRestrictedFlag

source§

impl Config for Runtime

§

type FindAuthor = FindAccountFromAuthorIndex<Runtime, Pallet<Runtime>>

Find the author of a block.
§

type EventHandler = (Pallet<Runtime>, Pallet<Runtime>)

An event handler for authored blocks.
source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

§

type LiquidityRegistry = Pallet<Runtime>

§

type GetNumSamples = GetNumSamples

§

type GetTechnicalAccountId = GetLiquidityProxyAccountId

§

type PrimaryMarketTBC = Pallet<Runtime>

§

type PrimaryMarketXST = Pallet<Runtime>

§

type SecondaryMarket = Pallet<Runtime>

§

type WeightInfo = SubstrateWeight<Runtime>

Weight information for the extrinsics in this Pallet.
§

type VestedRewardsPallet = Pallet<Runtime>

§

type GetADARAccountId = GetADARAccountId

§

type ADARCommissionRatioUpdateOrigin = EitherOfDiverse<EnsureProportionMoreThan<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance2, 1, 2>, EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>>

source§

impl Config for Runtime

§

type SessionManager = NoteHistoricalRoot<Runtime, Pallet<Runtime>>

Handler for managing new session.
§

type Keys = SessionKeys

The keys.
§

type ShouldEndSession = Pallet<Runtime>

Indicator for when to end the session.
§

type SessionHandler = <SessionKeys as OpaqueKeys>::KeyTypeIdProviders

Handler when a session has changed.
§

type RuntimeEvent = RuntimeEvent

The overarching event type.
§

type ValidatorId = <<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId

A stable ID for a validator.
§

type ValidatorIdOf = StashOf<Runtime>

A conversion from account ID to validator ID. Read more
§

type NextSessionRotation = Pallet<Runtime>

Something that can predict the next session rotation. This should typically come from the same logical unit that provides [ShouldEndSession], yet, it gives a best effort estimate. It is helpful to implement [EstimateNextNewSession].
§

type WeightInfo = ()

Weight information for extrinsics in this pallet.
source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

§

type CallOrigin = EnsureAccount<CallOriginOutput<SubNetworkId, H256, ()>>

§

type OutboundChannel = Pallet<Runtime>

§

type MaxPeers = BridgeMaxPeers

§

type WeightInfo = WeightInfo<Runtime>

source§

impl Config for Runtime

source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

Because this pallet emits events, it depends on the runtime’s definition of an event.
§

type TechAssetId = TechAssetId<PredefinedAssetId>

Like Asset but deterministically maked from purpose.
§

type TechAccountId = TechAccountId<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, TechAssetId<PredefinedAssetId>, u32>

Like AccountId but controlled by consensus, not signing by user. This extra traits exist here bacause no way to do it by constraints, problem exist with constraints and substrate macroses, and place this traits here is solution.
§

type Trigger = ()

Trigger for auto claim.
§

type Condition = ()

Condition for auto claim.
§

type SwapAction = PolySwapAction<AssetId32<PredefinedAssetId>, <<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, TechAccountId<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, TechAssetId<PredefinedAssetId>, u32>>

Swap action.
source§

impl Config for Runtime

§

type RuntimeCall = RuntimeCall

The overarching call type.
§

type RuntimeEvent = RuntimeEvent

The overarching event type.
§

type Currency = Pallet<Runtime, ()>

The currency mechanism.
§

type DepositBase = DepositBase

The base amount of currency needed to reserve for creating a multisig execution or to store a dispatch call for later. Read more
§

type DepositFactor = DepositFactor

The amount of currency needed per unit threshold when creating a multisig execution. Read more
§

type MaxSignatories = MaxSignatories

The maximum amount of signatories allowed in the multisig.
§

type WeightInfo = ()

Weight information for extrinsics in this pallet.
source§

impl Config for Runtime

§

type BeefyId = Public

Authority identifier type
§

type MaxAuthorities = MaxAuthorities

The maximum number of authorities that can be added.
§

type OnNewValidatorSet = ()

A hook to act on the new BEEFY validator set. Read more
source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

Because this pallet emits events, it depends on the runtime’s definition of an event.
§

type CeresAssetId = CeresAssetId

Ceres asset id
§

type WeightInfo = SubstrateWeight<Runtime>

Weight information for extrinsics in this pallet.
source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

Because this pallet emits events, it depends on the runtime’s definition of an event.
§

type DemeterAssetId = DemeterAssetId

Demeter asset id
source§

const BLOCKS_PER_HOUR_AND_A_HALF: BlockNumber = 900u32

One hour represented in block number
§

type WeightInfo = SubstrateWeight<Runtime>

Weight information for extrinsics in this pallet.
source§

impl Config for Runtime

§

type Currency = Pallet<Runtime, ()>

The staking balance.
§

type MultiCurrency = Pallet<Runtime>

The multicurrency to use VAL.
§

type CurrencyBalance = u128

Just the Currency::Balance type; we have this item to allow us to constrain it to From<u64>.
§

type ValTokenId = GetValAssetId

The multicurrency id of the VAL token.
§

type ValRewardCurve = ValRewardCurve

The configured reward curve for stakers.
§

type UnixTime = Pallet<Runtime>

Time used for computing era duration. Read more
§

type CurrencyToVote = U128CurrencyToVote

Convert a balance into a number used for election calculation. This must fit into a u64 but is allowed to be sensibly lossy. The u64 is used to communicate with the [frame_election_provider_support] crate which accepts u64 numbers and does operations in 128. Consequently, the backward convert is used convert the u128s from sp-elections back to a [BalanceOf].
§

type RuntimeEvent = RuntimeEvent

The overarching event type.
§

type Slash = ()

Handler for the unbalanced reduction when slashing a staker.
§

type SessionsPerEra = SessionsPerEra

Number of sessions per era.
§

type BondingDuration = BondingDuration

Number of eras that staked funds must remain bonded for.
§

type SlashDeferDuration = SlashDeferDuration

Number of eras that slashes are deferred by, after computation. Read more
§

type AdminOrigin = EitherOfDiverse<EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>, EnsureProportionAtLeast<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance1, 3, 4>>

The origin which can manage less critical staking parameters that does not require root. Read more
§

type SessionInterface = Runtime

Interface for interacting with a session pallet.
§

type NextNewSession = Pallet<Runtime>

Something that can estimate the next session change, accurately or as a best effort guess.
§

type MaxNominatorRewardedPerValidator = MaxNominatorRewardedPerValidator

The maximum number of nominators rewarded for each validator. Read more
§

type VoterList = Pallet<Runtime, ()>

Something that provides a best-effort sorted list of voters aka electing nominators, used for NPoS election. Read more
§

type ElectionProvider = Pallet<Runtime>

Something that provides the election functionality.
§

type BenchmarkingConfig = StakingBenchmarkingConfig

Some parameters of the benchmarking.
§

type MaxUnlockingChunks = ConstU32<32>

The maximum number of unlocking chunks a [StakingLedger] can have. Effectively determines how many unique eras a staker may be unbonding in. Read more
§

type OffendingValidatorsThreshold = OffendingValidatorsThreshold

The fraction of the validator set that is safe to be offending. After the threshold is reached a new era will be forced.
§

type MaxNominations = MaxNominations

Maximum number of nominations per nominator.
§

type GenesisElectionProvider = OnChainExecution<OnChainSeqPhragmen>

Something that provides the election functionality at genesis.
§

type OnStakerSlash = ()

A hook called when any staker is slashed. Mostly likely this can be a no-op unless other pallets exist that are affected by slashing per-staker.
§

type HistoryDepth = ConstU32<84>

Number of eras to keep in history. Read more
§

type TargetList = UseValidatorsMap<Runtime>

WIP: This is a noop as of now, the actual business logic that’s described below is going to be introduced in a follow-up PR. Read more
§

type WeightInfo = ()

Weight information for extrinsics in this pallet.
source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

§

type MessageStatusNotifier = Pallet<Runtime>

§

type MaxMessagePayloadSize = BridgeMaxMessagePayloadSize

Max bytes in a message payload
§

type MaxMessagesPerCommit = BridgeMaxMessagesPerCommit

Max number of messages that can be queued and committed in one go for a given channel.
§

type AuxiliaryDigestHandler = Pallet<Runtime>

§

type AssetId = AssetId32<PredefinedAssetId>

§

type Balance = u128

§

type TimepointProvider = GenericTimepointProvider

§

type ThisNetworkId = ThisNetworkId

§

type WeightInfo = WeightInfo<Runtime>

Weight information for extrinsics in this pallet
source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

§

type ExtraAccountId = [u8; 32]

§

type ExtraAssetRecordArg = AssetIdExtraAssetRecordArg<u32, LiquiditySourceType, [u8; 32]>

§

type AssetId = AssetId32<PredefinedAssetId>

DEX assets (currency) identifier.
§

type GetBaseAssetId = GetBaseAssetId

The base asset as the core asset in all trading pairs
§

type GetBuyBackAssetId = GetBuyBackAssetId

Assets that will be buy-backed and burned for every [GetBuyBackPercentage] of [GetBuyBackSupplyAssets] mints
§

type GetBuyBackSupplyAssets = GetBuyBackSupplyAssets

Assets, [GetBuyBackPercentage] of minted amount of which will be used to buy-back and burn [GetBuyBackAssetId]
§

type GetBuyBackPercentage = GetBuyBackPercentage

The percentage of minted [GetBuyBackSupplyAssets] that will be used to buy-back and burn [GetBuyBackAssetId]
§

type GetBuyBackAccountId = GetBuyBackAccountId

Account which will be used to buy-back and burn [GetBuyBackAssetId]
§

type GetBuyBackDexId = GetBuyBackDexId

DEX id to buy-back and burn [GetBuyBackAssetId] through [BuyBackLiquidityProxy]
§

type BuyBackLiquidityProxy = Pallet<Runtime>

Liquidity proxy to perform [GetBuyBackAssetId] buy-back and burn
§

type Currency = Pallet<Runtime>

Currency to transfer, reserve/unreserve, lock/unlock assets
§

type GetTotalBalance = GetTotalBalance

Get the balance from other components
§

type WeightInfo = SubstrateWeight<Runtime>

Weight information for extrinsics in this pallet.
source§

impl Config for Runtime

§

type EpochDuration = EpochDuration

The amount of time, in slots, that each epoch should last. NOTE: Currently it is not possible to change the epoch duration after the chain has started. Attempting to do so will brick block production.
§

type ExpectedBlockTime = ExpectedBlockTime

The expected average block time at which BABE should be creating blocks. Since BABE is probabilistic it is not trivial to figure out what the expected average block time should be based on the slot duration and the security parameter c (where 1 - c represents the probability of a slot being empty).
§

type EpochChangeTrigger = ExternalTrigger

BABE requires some logic to be triggered on every block to query for whether an epoch has ended and to perform the transition to the next epoch. Read more
§

type DisabledValidators = Pallet<Runtime>

A way to check whether a given validator is disabled and should not be authoring blocks. Blocks authored by a disabled validator will lead to a panic as part of this module’s initialization.
§

type KeyOwnerProof = <<Runtime as Config>::KeyOwnerProofSystem as KeyOwnerProofSystem<(KeyTypeId, Public)>>::Proof

The proof of key ownership, used for validating equivocation reports. The proof must include the session index and validator count of the session at which the equivocation occurred.
§

type KeyOwnerIdentification = <<Runtime as Config>::KeyOwnerProofSystem as KeyOwnerProofSystem<(KeyTypeId, Public)>>::IdentificationTuple

The identification of a key owner, used when reporting equivocations.
§

type KeyOwnerProofSystem = Pallet<Runtime>

A system for proving ownership of keys, i.e. that a given key was part of a validator set, needed for validating equivocation reports.
§

type HandleEquivocation = EquivocationHandler<<Runtime as Config>::KeyOwnerIdentification, Pallet<Runtime>, ReportLongevity>

The equivocation handling subsystem, defines methods to report an offence (after the equivocation has been validated) and for submitting a transaction to report an equivocation (from an offchain context). NOTE: when enabling equivocation handling (i.e. this type isn’t set to ()) you must use this pallet’s ValidateUnsigned in the runtime definition.
§

type WeightInfo = ()

§

type MaxAuthorities = MaxAuthorities

Max number of authorities allowed
source§

impl Config for Runtime

§

type RuntimeCall = RuntimeCall

The overarching call type.
§

type RuntimeEvent = RuntimeEvent

The overarching event type.
§

type Currency = Pallet<Runtime, ()>

The currency mechanism.
§

type DepositBase = DepositBase

The base amount of currency needed to reserve for creating a multisig execution or to store a dispatch call for later. Read more
§

type DepositFactor = DepositFactor

The amount of currency needed per unit threshold when creating a multisig execution. Read more
§

type MaxSignatories = MaxSignatories

The maximum amount of signatories allowed in the multisig.
§

type WeightInfo = ()

Weight information for extrinsics in this pallet.
source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

The overarching event type.
§

type RuntimeOrigin = RuntimeOrigin

The aggregated origin which the dispatch will take.
§

type PalletsOrigin = OriginCaller

The caller origin, overarching type of all pallets origins.
§

type RuntimeCall = RuntimeCall

The aggregated call type.
§

type MaximumWeight = SchedulerMaxWeight

The maximum weight that may be scheduled per block for any dispatchables.
§

type ScheduleOrigin = EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>

Required origin to schedule or cancel calls.
§

type MaxScheduledPerBlock = MaxScheduledPerBlock

The maximum number of scheduled calls in the queue for a single block.
§

type WeightInfo = ()

Weight information for extrinsics in this pallet.
§

type OriginPrivilegeCmp = OriginPrivilegeCmp

Compare the privileges of origins. Read more
§

type Preimages = Pallet<Runtime>

The preimage provider with which we look up call hashes to get the call.
source§

impl Config for Runtime

source§

const BLOCKS_PER_DAY: BlockNumber = 14_400u32

Vested amount is updated every BLOCKS_PER_DAY blocks
source§

const UPDATE_FREQUENCY: BlockNumber = 100u32

How often the rewards data are being updated
source§

const MAX_CHUNK_SIZE: usize = 100usize

Max number of addresses to be processed in one take
source§

const MAX_VESTING_RATIO: Percent = _

Max percentage of daily burned VAL that can be vested as rewards
source§

const TIME_TO_SATURATION: BlockNumber = 26_280_000u32

The amount of time until vesting ratio reaches saturation at MAX_VESTING_RATIO
source§

const VAL_BURN_PERCENT: Percent = VAL_BURN_PERCENT

Percentage of VAL burned without vesting
§

type RuntimeEvent = RuntimeEvent

§

type WeightInfo = SubstrateWeight<Runtime>

source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

Permissions pallet’s events.
source§

impl Config for Runtime

source§

const BLOCKS_PER_ONE_DAY: BlockNumber = 14_400u32

One day represented in block number
§

type RuntimeEvent = RuntimeEvent

§

type CeresPerDay = CeresPerDay

Number of Ceres distributed per day
§

type CeresAssetId = CeresAssetId

Ceres asset id
§

type MaximumCeresInStakingPool = MaximumCeresInStakingPool

Maximum Ceres in staking pool
§

type WeightInfo = SubstrateWeight<Runtime>

Weight information for extrinsics in this pallet.
source§

impl Config for Runtime

source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

The overarching event type.
§

type OnChargeTransaction = Pallet<Runtime>

Handler for withdrawing, refunding and depositing the transaction fee. Transaction fees are withdrawn before the transaction is executed. After the transaction was executed the transaction weight can be adjusted, depending on the used resources by the transaction. If the transaction weight is lower than expected, parts of the transaction fee might be refunded. In the end the fees can be deposited.
§

type WeightToFee = Pallet<Runtime>

Convert a weight value into a deductible fee based on the currency type.
§

type FeeMultiplierUpdate = ConstantFeeMultiplier

Update the multiplier of the next block, based on the previous block’s weight.
§

type OperationalFeeMultiplier = OperationalFeeMultiplier

A fee mulitplier for Operational extrinsics to compute “virtual tip” to boost their priority Read more
§

type LengthToFee = ConstantMultiplier<u128, ConstU128<0>>

Convert a length value into a deductible fee based on the currency type.
source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

§

type Currency = Pallet<Runtime, ()>

Currency type.
§

type EstimateCallFee = Pallet<Runtime>

Something that can predict the fee of a call. Used to sensibly distribute rewards.
§

type UnsignedPhase = UnsignedPhase

Duration of the unsigned phase.
§

type SignedMaxSubmissions = SignedMaxSubmissions

Maximum number of signed submissions that can be queued. Read more
§

type SignedMaxRefunds = SignedMaxRefunds

The maximum amount of unchecked solutions to refund the call fee for.
§

type SignedRewardBase = SignedRewardBase

Base reward for a signed solution
§

type SignedDepositBase = SignedDepositBase

Base deposit for a signed solution.
§

type SignedDepositByte = SignedDepositByte

Per-byte deposit for a signed solution.
§

type SignedDepositWeight = ()

Per-weight deposit for a signed solution.
§

type SignedMaxWeight = <<Runtime as Config>::MinerConfig as MinerConfig>::MaxWeight

Maximum weight of a signed solution. Read more
§

type MinerConfig = Runtime

Configurations of the embedded miner. Read more
§

type SlashHandler = ()

Handler for the slashed deposits.
§

type RewardHandler = ()

Handler for the rewards.
§

type SignedPhase = SignedPhase

Duration of the signed phase.
§

type BetterUnsignedThreshold = BetterUnsignedThreshold

The minimum amount of improvement to the solution score that defines a solution as “better” in the Unsigned phase.
§

type BetterSignedThreshold = ()

The minimum amount of improvement to the solution score that defines a solution as “better” in the Signed phase.
§

type OffchainRepeat = OffchainRepeat

The repeat threshold of the offchain worker. Read more
§

type MinerTxPriority = NposSolutionPriority

The priority of the unsigned transaction submitted in the unsigned-phase
§

type DataProvider = Pallet<Runtime>

Something that will provide the election data.
§

type Fallback = NoElection<(<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, u32, Pallet<Runtime>, MaxActiveValidators)>

Configuration for the fallback.
§

type GovernanceFallback = OnChainExecution<OnChainSeqPhragmen>

Configuration of the governance-only fallback. Read more
§

type Solver = SequentialPhragmen<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, <<<Runtime as Config>::MinerConfig as MinerConfig>::Solution as NposSolution>::Accuracy, ()>

OCW election solution miner algorithm implementation.
§

type BenchmarkingConfig = ElectionBenchmarkConfig

The configuration of benchmarking.
§

type ForceOrigin = EitherOfDiverse<EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>, EitherOfDiverse<EnsureProportionAtLeast<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance1, 2, 3>, EnsureProportionAtLeast<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance2, 2, 3>>>

Origin that can control this pallet. Note that any action taken by this origin (such) as providing an emergency solution is not checked. Thus, it must be a trusted origin.
§

type WeightInfo = ()

The weight of the pallet.
§

type MaxElectingVoters = MaxElectingVoters

The maximum number of electing voters to put in the snapshot. At the moment, snapshots are only over a single block, but once multi-block elections are introduced they will take place over multiple blocks.
§

type MaxElectableTargets = MaxElectableTargets

The maximum number of electable targets to put in the snapshot.
§

type MaxWinners = MaxActiveValidators

The maximum number of winners that can be elected by this ElectionProvider implementation. Read more
source§

impl Config for Runtime

source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

§

type Verifier = MultiVerifier

Verifier module for message verification.
§

type MessageDispatch = Pallet<Runtime, Instance2>

Verifier module for message verification.
§

type UnsignedPriority = DataSignerPriority

A configuration for base priority of unsigned transactions.
§

type UnsignedLongevity = DataSignerLongevity

A configuration for longevity of unsigned transactions.
§

type MaxMessagePayloadSize = BridgeMaxMessagePayloadSize

Max bytes in a message payload
§

type MaxMessagesPerCommit = BridgeMaxMessagesPerCommit

Max number of messages that can be queued and committed in one go for a given channel.
§

type ThisNetworkId = ThisNetworkId

§

type WeightInfo = WeightInfo<Runtime>

Weight information for extrinsics in this pallet
source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

§

type EnsureDEXManager = Pallet<Runtime>

§

type DexInfoProvider = Pallet<Runtime>

§

type WeightInfo = ()

Weight information for extrinsics in this pallet.
source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

§

type RuntimeCall = RuntimeCall

The overarching dispatch call type.
§

type PeerId = TestAuthId

The identifier type for an offchain worker.
§

type NetworkId = u32

Sidechain network ID.
§

type GetEthNetworkId = GetEthNetworkId

§

type WeightInfo = SubstrateWeight<Runtime>

Weight information for extrinsics in this pallet.
§

type WeightToFee = Pallet<Runtime>

§

type MessageStatusNotifier = Pallet<Runtime>

§

type BridgeAssetLockChecker = Pallet<Runtime>

source§

impl Config for Runtime

§

type ExternalOrigin = EitherOfDiverse<EnsureProportionAtLeast<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance1, 1, 2>, EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>>

external_propose call condition

§

type ExternalMajorityOrigin = EitherOfDiverse<EnsureProportionAtLeast<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance1, 1, 2>, EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>>

A super-majority can have the next scheduled referendum be a straight majority-carries vote. external_propose_majority call condition

§

type ExternalDefaultOrigin = EitherOfDiverse<EnsureProportionAtLeast<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance1, 1, 2>, EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>>

external_propose_default call condition

§

type FastTrackOrigin = EitherOfDiverse<EnsureProportionMoreThan<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance2, 1, 2>, EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>>

Two thirds of the technical committee can have an ExternalMajority/ExternalDefault vote be tabled immediately and with a shorter voting/enactment period.

§

type CancellationOrigin = EitherOfDiverse<EnsureProportionAtLeast<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance1, 2, 3>, EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>>

To cancel a proposal which has been passed, 2/3 of the council must agree to it. emergency_cancel call condition.

§

type VetoOrigin = EnsureMember<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance2>

veto_external - vetoes and blacklists the external proposal hash

§

type RuntimeEvent = RuntimeEvent

§

type Currency = Pallet<Runtime, ()>

Currency type for this pallet.
§

type EnactmentPeriod = DemocracyEnactmentPeriod

The period between a proposal being approved and enacted. Read more
§

type LaunchPeriod = DemocracyLaunchPeriod

How often (in blocks) new public referenda are launched.
§

type VotingPeriod = DemocracyVotingPeriod

How often (in blocks) to check for new votes.
§

type MinimumDeposit = DemocracyMinimumDeposit

The minimum amount to be used as a deposit for a public referendum proposal.
§

type InstantOrigin = EitherOfDiverse<EnsureProportionAtLeast<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance2, 2, 3>, EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>>

Origin from which the next majority-carries (or more permissive) referendum may be tabled to vote immediately and asynchronously in a similar manner to the emergency origin. It retains its threshold method.
§

type InstantAllowed = DemocracyInstantAllowed

Indicator for whether an emergency origin is even allowed to happen. Some chains may want to set this permanently to false, others may want to condition it on things such as an upgrade having happened recently.
§

type FastTrackVotingPeriod = DemocracyFastTrackVotingPeriod

Minimum voting period allowed for a fast-track referendum.
§

type CancelProposalOrigin = EitherOfDiverse<EnsureProportionAtLeast<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance1, 2, 3>, EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>>

Origin from which a proposal may be cancelled and its backers slashed.
§

type BlacklistOrigin = EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>

Origin from which proposals may be blacklisted.
§

type CooloffPeriod = DemocracyCooloffPeriod

Period in blocks where an external proposal may not be re-submitted after being vetoed.
§

type Slash = OnUnbalancedDemocracySlash<Runtime>

Handler for the unbalanced reduction when slashing a preimage deposit.
§

type Scheduler = Pallet<Runtime>

The Scheduler.
§

type PalletsOrigin = OriginCaller

Overarching type of all pallets origins.
§

type MaxVotes = DemocracyMaxVotes

The maximum number of votes for an account. Read more
§

type WeightInfo = DemocracyWeightInfo

§

type MaxProposals = DemocracyMaxProposals

The maximum number of public proposals that can exist at any time.
§

type VoteLockingPeriod = DemocracyEnactmentPeriod

The minimum period of vote locking. Read more
§

type Preimages = Pallet<Runtime>

The Preimage provider.
§

type MaxDeposits = DemocracyMaxDeposits

The maximum number of deposits a public proposal may have at any time.
§

type MaxBlacklisted = DemocracyMaxBlacklisted

The maximum number of items which can be blacklisted.
source§

impl Config for Runtime

source§

impl Config for Runtime

source§

const BLOCKS_PER_ONE_DAY: BlockNumber = 14_400u32

One day represented in block number
§

type RuntimeEvent = RuntimeEvent

Because this pallet emits events, it depends on the runtime’s definition of an event.
§

type XYKPool = Pallet<Runtime>

Reference to pool_xyk pallet
§

type DemeterFarmingPlatform = Pallet<Runtime>

Reference to demeter_farming_platform pallet
§

type CeresAssetId = CeresAssetId

Ceres asset id
§

type WeightInfo = SubstrateWeight<Runtime>

Weight information for extrinsics in this pallet.
source§

impl Config for Runtime

§

type MultiCurrency = Pallet<Runtime>

§

type NativeCurrency = BasicCurrencyAdapter<Runtime, Pallet<Runtime, ()>, i128, u32>

§

type GetNativeCurrencyId = <Runtime as Config>::GetBaseAssetId

§

type WeightInfo = ()

Weight information for extrinsics in this module.
source§

impl Config for Runtime

§

type DEXId = u32

DEX identifier.
§

type LstId = LiquiditySourceType

source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

§

type OutboundChannel = Pallet<Runtime>

§

type CallOrigin = EnsureAccount<CallOriginOutput<SubNetworkId, H256, ()>>

§

type MessageStatusNotifier = Pallet<Runtime>

§

type AssetRegistry = Pallet<Runtime>

§

type AccountIdConverter = Identity

§

type AssetIdConverter = ConvertInto

§

type BalancePrecisionConverter = BalancePrecisionConverter

§

type BridgeAssetLocker = Pallet<Runtime>

§

type WeightInfo = WeightInfo<Runtime>

source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

The overarching event type.
§

type IdentificationTuple = (<Runtime as Config>::ValidatorId, <Runtime as Config>::FullIdentification)

Full identification of the validator.
§

type OnOffenceHandler = Pallet<Runtime>

A handler called for every offence report.
source§

impl Config for Runtime

§

type BlockLength = BlockLength

Maximum size of all encoded transactions (in bytes) that are allowed in one block.

§

type RuntimeOrigin = RuntimeOrigin

The ubiquitous origin type.

§

type RuntimeCall = RuntimeCall

The aggregated dispatch type that is available for extrinsics.

§

type Index = u32

The index type for storing how many extrinsics an account has signed.

§

type BlockNumber = u32

The index type for blocks.

§

type Hash = H256

The type for hashing blocks and tries.

§

type Hashing = BlakeTwo256

The hashing algorithm used.

§

type AccountId = <<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId

The identifier used to distinguish between accounts.

§

type Lookup = IdentityLookup<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>

The lookup mechanism to get account ID from whatever is passed in dispatchers.

§

type Header = Header<u32, BlakeTwo256>

The header type.

§

type RuntimeEvent = RuntimeEvent

The ubiquitous event type.

§

type BlockHashCount = BlockHashCount

Maximum number of block number to block hash mappings to keep (oldest pruned first).

§

type DbWeight = RocksDbWeight

The weight of database operations that the runtime can invoke.

§

type Version = Version

Runtime version.

§

type AccountData = AccountData<u128>

Converts a module to an index of this module in the runtime.

§

type BaseCallFilter = BaseCallFilter

The basic call filter to use in Origin. All origins are built with this filter as base, except Root.
§

type BlockWeights = BlockWeights

Block & extrinsics weights: base values and limits.
§

type PalletInfo = PalletInfo

Provides information about the pallet setup in the runtime. Read more
§

type OnNewAccount = ()

Handler for when a new account has just been created.
§

type OnKilledAccount = ()

A function that is invoked when an account has been determined to be dead. Read more
§

type SystemWeightInfo = ()

§

type SS58Prefix = SS58Prefix

The designated SS58 prefix of this chain. Read more
§

type OnSetCode = ()

What to do if the runtime wants to change the code to something new. Read more
§

type MaxConsumers = ConstU32<65536>

The maximum number of consumers allowed on a single account.
source§

impl Config for Runtime

source§

impl Config for Runtime

§

type AuthorityId = Public

The identifier type for an authority.
§

type RuntimeEvent = RuntimeEvent

The overarching event type.
§

type ValidatorSet = Pallet<Runtime>

A type for retrieving the validators supposed to be online in a session.
§

type NextSessionRotation = Pallet<Runtime>

A trait that allows us to estimate the current session progress and also the average session length. Read more
§

type ReportUnresponsiveness = Pallet<Runtime>

A type that gives us the ability to submit unresponsiveness offence reports.
§

type UnsignedPriority = ImOnlineUnsignedPriority

A configuration for base priority of unsigned transactions. Read more
§

type WeightInfo = ()

Weight information for extrinsics in this pallet.
§

type MaxKeys = MaxKeys

The maximum number of keys that can be added.
§

type MaxPeerInHeartbeats = MaxPeerInHeartbeats

The maximum number of peers to be stored in ReceivedHeartbeats
§

type MaxPeerDataEncodingSize = MaxPeerDataEncodingSize

The maximum size of the encoding of PeerId and MultiAddr that are coming from the hearbeat
source§

impl Config for Runtime

§

type FullIdentification = Exposure<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, u128>

Full identification of the validator.
§

type FullIdentificationOf = ExposureOf<Runtime>

A conversion from validator ID to full identification. Read more
source§

impl Config for Runtime

source§

impl Config for Runtime

source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

§

type ERC20App = ()

§

type EthApp = ()

§

type HashiBridge = Pallet<Runtime>

§

type ParachainApp = Pallet<Runtime>

§

type TimepointProvider = GenericTimepointProvider

§

type ReferencePriceProvider = ReferencePriceProvider<Runtime, GetReferenceDexId, GetReferenceAssetId>

§

type ManagerOrigin = EitherOfDiverse<EnsureProportionMoreThan<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance2, 2, 3>, EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>>

§

type WeightInfo = ()

source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

The event type of this module.
§

type KeyOwnerProofSystem = Pallet<Runtime>

A system for proving ownership of keys, i.e. that a given key was part of a validator set, needed for validating equivocation reports.
§

type KeyOwnerProof = <<Runtime as Config>::KeyOwnerProofSystem as KeyOwnerProofSystem<(KeyTypeId, Public)>>::Proof

The proof of key ownership, used for validating equivocation reports The proof must include the session index and validator count of the session at which the equivocation occurred.
§

type KeyOwnerIdentification = <<Runtime as Config>::KeyOwnerProofSystem as KeyOwnerProofSystem<(KeyTypeId, Public)>>::IdentificationTuple

The identification of a key owner, used when reporting equivocations.
§

type HandleEquivocation = EquivocationHandler<<Runtime as Config>::KeyOwnerIdentification, Pallet<Runtime>, ReportLongevity, GrandpaEquivocationOffence<<Runtime as Config>::KeyOwnerIdentification>>

The equivocation handling subsystem, defines methods to report an offence (after the equivocation has been validated) and for submitting a transaction to report an equivocation (from an offchain context). NOTE: when enabling equivocation handling (i.e. this type isn’t set to ()) you must use this pallet’s ValidateUnsigned in the runtime definition.
§

type WeightInfo = ()

Weights for this pallet.
§

type MaxAuthorities = MaxAuthorities

Max Authorities in use
§

type MaxSetIdSessionEntries = MaxSetIdSessionEntries

The maximum number of entries to keep in the set id to session index mapping. Read more
source§

impl Config for Runtime

source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

Because this pallet emits events, it depends on the runtime’s definition of an event.
§

type CeresAssetId = CeresAssetId

Ceres asset id
§

type WeightInfo = SubstrateWeight<Runtime>

Weight information for extrinsics in this pallet.
source§

impl Config for Runtime

source§

impl Config for Runtime

§

type Moment = u64

A timestamp: milliseconds since the unix epoch.

§

type OnTimestampSet = Pallet<Runtime>

Something which can be notified when the timestamp is set. Set this to () if not needed.
§

type MinimumPeriod = MinimumPeriod

The minimum period between blocks. Beware that this is different to the expected period that the block production apparatus provides. Your chosen consensus system will generally work with this to determine a sensible block time. e.g. For Aura, it will be double this period on default settings.
§

type WeightInfo = ()

Weight information for extrinsics in this pallet.
source§

impl Config for Runtime

source§

const MILLISECONDS_PER_DAY: Moment = 86_400_000u64

One day represented in milliseconds
§

type RuntimeEvent = RuntimeEvent

Because this pallet emits events, it depends on the runtime’s definition of an event.
§

type WeightInfo = SubstrateWeight<Runtime>

Weight information for extrinsics in this pallet.
source§

impl Config for Runtime

source§

impl Config for Runtime

§

type WeightInfo = PreimageWeightInfo

The Weight information for this pallet.
§

type RuntimeEvent = RuntimeEvent

The overarching event type.
§

type Currency = Pallet<Runtime, ()>

Currency type for this pallet.
§

type ManagerOrigin = EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>

An origin that can request a preimage be placed on-chain without a deposit or fee, or manage existing preimages.
§

type BaseDeposit = PreimageBaseDeposit

The base deposit for placing a preimage on chain.
§

type ByteDeposit = PreimageByteDeposit

The per-byte deposit for placing a preimage on chain.
source§

impl Config for Runtime

§

type RuntimeEvent = RuntimeEvent

The overarching event type.
§

type Currency = Pallet<Runtime, ()>

The currency trait.
§

type BasicDeposit = BasicDeposit

The amount held on deposit for a registered identity
§

type FieldDeposit = FieldDeposit

The amount held on deposit per additional field for a registered identity.
§

type SubAccountDeposit = SubAccountDeposit

The amount held on deposit for a registered subaccount. This should account for the fact that one storage item’s value will increase by the size of an account ID, and there will be another trie item whose value is the size of an account ID plus 32 bytes.
§

type MaxSubAccounts = MaxSubAccounts

The maximum number of sub-accounts allowed per identified account.
§

type MaxAdditionalFields = MaxAdditionalFields

Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O required to access an identity, but can be pretty high.
§

type MaxRegistrars = MaxRegistrars

Maxmimum number of registrars allowed in the system. Needed to bound the complexity of, e.g., updating judgements.
§

type Slashed = ()

What to do with slashed funds.
§

type ForceOrigin = EitherOfDiverse<EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>, EnsureProportionMoreThan<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance1, 1, 2>>

The origin which may forcibly set or remove a name. Root can always do this.
§

type RegistrarOrigin = EitherOfDiverse<EnsureRoot<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId>, EnsureProportionMoreThan<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, Instance1, 1, 2>>

The origin which may add or remove registrars. Root can always do this.
§

type WeightInfo = ()

Weight information for extrinsics in this pallet.
source§

impl Config for Runtime

source§

const MIN_DURATION_OF_POLL: Moment = 14_400_000u64

Minimum duration of poll represented in milliseconds
source§

const MAX_DURATION_OF_POLL: Moment = 604_800_000u64

Maximum duration of poll represented in milliseconds
§

type StringLimit = StringLimit

String limit
§

type OptionsLimit = OptionsLimit

Options limit
§

type RuntimeEvent = RuntimeEvent

Because this pallet emits events, it depends on the runtime’s definition of an event.
§

type HermesAssetId = HermesAssetId

Hermes asset id
§

type TitleLimit = TitleLimit

Title limit
§

type DescriptionLimit = DescriptionLimit

Description limit
§

type WeightInfo = SubstrateWeight<Runtime>

Weight information for extrinsics in this pallet.
source§

impl CoreV4<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>> for Runtime

source§

fn version() -> RuntimeVersion

Returns the version of the runtime.
source§

fn execute_block(block: Block)

Execute the given block.
source§

fn initialize_block(header: &<Block as BlockT>::Header)

Initialize a block with the given header.
source§

impl<LocalCall> CreateSignedTransaction<LocalCall> for Runtimewhere RuntimeCall: From<LocalCall>,

source§

fn create_transaction<C: AppCrypto<Self::Public, Self::Signature>>( call: RuntimeCall, public: <Signature as Verify>::Signer, account: AccountId, index: Index ) -> Option<(RuntimeCall, <UncheckedExtrinsic as Extrinsic>::SignaturePayload)>

Attempt to create signed extrinsic data that encodes call from given account. Read more
source§

impl DEXAPIV1<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>, AssetId32<PredefinedAssetId>, u32, u128, LiquiditySourceType, SwapVariant> for Runtime

source§

fn quote( dex_id: DEXId, liquidity_source_type: LiquiditySourceType, input_asset_id: AssetId, output_asset_id: AssetId, desired_input_amount: BalanceWrapper, swap_variant: SwapVariant ) -> Option<SwapOutcomeInfo<Balance>>

source§

fn can_exchange( dex_id: DEXId, liquidity_source_type: LiquiditySourceType, input_asset_id: AssetId, output_asset_id: AssetId ) -> bool

source§

fn list_supported_sources() -> Vec<LiquiditySourceType>

source§

impl DEXManagerAPIV1<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>, u32> for Runtime

source§

impl Debug for Runtime

source§

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

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

impl EnsureInherentsAreFirst<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>> for Runtime

source§

fn ensure_inherents_are_first(block: &Block) -> Result<(), u32>

Ensure the position of inherent is correct, i.e. they are before non-inherents. Read more
source§

impl EthBridgeRuntimeApiV1<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>, H256, SignatureParams, <<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, AssetKind, AssetId32<PredefinedAssetId>, H160, OffchainRequest<Runtime>, RequestStatus, OutgoingRequestEncoded, u32, u8> for Runtime

source§

fn get_requests( hashes: Vec<H256>, network_id: Option<NetworkId>, redirect_finished_load_requests: bool ) -> Result<Vec<(OffchainRequest<Runtime>, RequestStatus)>, DispatchError>

source§

fn get_approved_requests( hashes: Vec<H256>, network_id: Option<NetworkId> ) -> Result<Vec<(OutgoingRequestEncoded, Vec<SignatureParams>)>, DispatchError>

source§

fn get_approvals( hashes: Vec<H256>, network_id: Option<NetworkId> ) -> Result<Vec<Vec<SignatureParams>>, DispatchError>

source§

fn get_account_requests( account_id: AccountId, status_filter: Option<RequestStatus> ) -> Result<Vec<(NetworkId, H256)>, DispatchError>

source§

fn get_registered_assets( network_id: Option<NetworkId> ) -> Result<Vec<(AssetKind, (AssetId, BalancePrecision), Option<(H160, BalancePrecision)>)>, DispatchError>

source§

impl FarmingApiV1<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>, AssetId32<PredefinedAssetId>> for Runtime

source§

impl GetNodeBlockType for Runtime

§

type NodeBlock = Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>

The NodeBlock type.
source§

impl GetRuntimeBlockType for Runtime

§

type RuntimeBlock = Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>

The RuntimeBlock type.
source§

impl GetTotalBalance<Runtime> for GetTotalBalance

source§

fn total_balance( asset_id: &AssetId, who: &AccountId ) -> Result<Balance, DispatchError>

source§

impl GrandpaApiV3<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>> for Runtime

source§

fn grandpa_authorities() -> GrandpaAuthorityList

Get the current GRANDPA authorities and weights. This should not change except for when changes are scheduled and the corresponding delay has passed. Read more
source§

fn current_set_id() -> SetId

Get current GRANDPA authority set id.
source§

fn submit_report_equivocation_unsigned_extrinsic( equivocation_proof: EquivocationProof<<Block as BlockT>::Hash, NumberFor<Block>>, key_owner_proof: OpaqueKeyOwnershipProof ) -> Option<()>

Submits an unsigned extrinsic to report an equivocation. The caller must provide the equivocation proof and a key ownership proof (should be obtained using generate_key_ownership_proof). The extrinsic will be unsigned and should only be accepted for local authorship (not to be broadcast to the network). This method returns None when creation of the extrinsic fails, e.g. if equivocation reporting is disabled for the given runtime (i.e. this method is hardcoded to return None). Only useful in an offchain context.
source§

fn generate_key_ownership_proof( _set_id: SetId, authority_id: GrandpaId ) -> Option<OpaqueKeyOwnershipProof>

Generates a proof of key ownership for the given authority in the given set. An example usage of this module is coupled with the session historical module to prove that a given authority key is tied to a given staking identity during a specific session. Proofs of key ownership are necessary for submitting equivocation reports. NOTE: even though the API takes a set_id as parameter the current implementations ignore this parameter and instead rely on this method being called at the correct block height, i.e. any point at which the given set id is live on-chain. Future implementations will instead use indexed data through an offchain worker, not requiring older states to be available.
source§

impl IrohaMigrationAPIV1<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>> for Runtime

source§

fn needs_migration(iroha_address: String) -> bool

source§

impl LeafProviderAPIV1<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>> for Runtime

source§

fn latest_digest() -> Option<AuxiliaryDigest>

source§

impl LiquidityProxyAPIV2<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>, u32, AssetId32<PredefinedAssetId>, u128, SwapVariant, LiquiditySourceType, FilterMode> for Runtime

source§

fn quote( dex_id: DEXId, input_asset_id: AssetId, output_asset_id: AssetId, amount: BalanceWrapper, swap_variant: SwapVariant, selected_source_types: Vec<LiquiditySourceType>, filter_mode: FilterMode ) -> Option<SwapOutcomeInfo<Balance, AssetId>>

source§

fn is_path_available( dex_id: DEXId, input_asset_id: AssetId, output_asset_id: AssetId ) -> bool

source§

fn list_enabled_sources_for_path( dex_id: DEXId, input_asset_id: AssetId, output_asset_id: AssetId ) -> Vec<LiquiditySourceType>

source§

impl MetadataV1<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>> for Runtime

source§

fn metadata() -> OpaqueMetadata

Returns the metadata of a runtime.
source§

impl MinerConfig for Runtime

§

type AccountId = <<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId

The account id type.
§

type MaxLength = OffchainSolutionLengthLimit

Maximum length of the solution that the miner is allowed to generate. Read more
§

type MaxWeight = OffchainSolutionWeightLimit

Maximum weight of the solution that the miner is allowed to generate. Read more
§

type Solution = NposCompactSolution24

The solution that the miner is mining.
§

type MaxVotesPerVoter = <<Runtime as Config>::DataProvider as ElectionDataProvider>::MaxVotesPerVoter

Maximum number of votes per voter in the snapshots.
source§

fn solution_weight(v: u32, t: u32, a: u32, d: u32) -> Weight

Something that can compute the weight of a solution. Read more
source§

impl MmrApiV1<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>, H256, u32> for Runtime

source§

fn mmr_root() -> Result<Hash, Error>

Return the on-chain MMR root hash.
source§

fn mmr_leaf_count() -> Result<LeafIndex, Error>

Return the number of MMR blocks in the chain.
source§

fn generate_proof( _block_numbers: Vec<BlockNumber>, _best_known_block_number: Option<BlockNumber> ) -> Result<(Vec<EncodableOpaqueLeaf>, Proof<Hash>), Error>

Generate MMR proof for a series of block numbers. If best_known_block_number = Some(n), use historical MMR state at given block height n. Else, use current MMR state.
source§

fn verify_proof( _leaves: Vec<EncodableOpaqueLeaf>, _proof: Proof<Hash> ) -> Result<(), Error>

Verify MMR proof against on-chain MMR for a batch of leaves. Read more
source§

fn verify_proof_stateless( _root: Hash, _leaves: Vec<EncodableOpaqueLeaf>, _proof: Proof<Hash> ) -> Result<(), Error>

Verify MMR proof against given root hash for a batch of leaves. Read more
source§

impl OffchainWorkerApiV2<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>> for Runtime

source§

fn offchain_worker(header: &<Block as BlockT>::Header)

Starts the off-chain task for given block header.
source§

impl OracleProxyAPIV1<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>, SymbolName, u64> for Runtime

source§

fn quote(symbol: Symbol) -> Result<Option<RateInfo>, DispatchError>

source§

fn list_enabled_symbols() -> Result<Vec<(Symbol, ResolveTime)>, DispatchError>

source§

impl PartialEq<Runtime> for Runtime

source§

fn eq(&self, other: &Runtime) -> 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 PswapDistributionAPIV1<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>, <<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, u128> for Runtime

source§

impl RewardsAPIV1<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>, H160, u128> for Runtime

source§

fn claimables(eth_address: H160) -> Vec<BalanceInfo<Balance>>

source§

impl<C> SendTransactionTypes<C> for Runtimewhere RuntimeCall: From<C>,

§

type OverarchingCall = RuntimeCall

The runtime’s call type. Read more
§

type Extrinsic = UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>

The extrinsic type expected by the runtime.
source§

impl Serialize for Runtime

source§

fn serialize<S>( &self, _serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl SessionKeysV1<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>> for Runtime

source§

fn decode_session_keys(encoded: Vec<u8>) -> Option<Vec<(Vec<u8>, KeyTypeId)>>

Decode the given public session keys. Read more
source§

fn generate_session_keys(seed: Option<Vec<u8>>) -> Vec<u8>

Generate a set of session keys with optionally using the given seed. The keys should be stored within the keystore exposed via runtime externalities. Read more
source§

impl<T: SigningTypes> SignMessage<T> for Runtime

§

type SignatureData = ()

A signature data. Read more
source§

fn sign_message(&self, _message: &[u8]) -> Self::SignatureData

Sign a message. Read more
source§

fn sign<TPayload, F>(&self, _f: F) -> Self::SignatureDatawhere F: Fn(&Account<T>) -> TPayload, TPayload: SignedPayload<T>,

Construct and sign given payload. Read more
source§

impl SigningTypes for Runtime

§

type Public = <MultiSignature as Verify>::Signer

A public key that is capable of identifying AccountIds. Read more
§

type Signature = MultiSignature

A matching Signature type.
source§

impl TaggedTransactionQueueV3<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>> for Runtime

source§

fn validate_transaction( source: TransactionSource, tx: <Block as BlockT>::Extrinsic, block_hash: <Block as BlockT>::Hash ) -> TransactionValidity

Validate the transaction. Read more
source§

impl TradingPairAPIV1<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>, u32, TradingPair<AssetId32<PredefinedAssetId>>, AssetId32<PredefinedAssetId>, LiquiditySourceType> for Runtime

source§

fn list_enabled_pairs(dex_id: DEXId) -> Vec<TradingPair<AssetId>>

source§

fn is_pair_enabled( dex_id: DEXId, asset_id_a: AssetId, asset_id_b: AssetId ) -> bool

source§

fn list_enabled_sources_for_pair( dex_id: DEXId, base_asset_id: AssetId, target_asset_id: AssetId ) -> Vec<LiquiditySourceType>

source§

fn is_source_enabled_for_pair( dex_id: DEXId, base_asset_id: AssetId, target_asset_id: AssetId, source_type: LiquiditySourceType ) -> bool

source§

impl TransactionPaymentApiV3<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>, u128> for Runtime

source§

fn query_info( uxt: <Block as BlockT>::Extrinsic, len: u32 ) -> RuntimeDispatchInfo<Balance>

source§

fn query_fee_details( uxt: <Block as BlockT>::Extrinsic, len: u32 ) -> FeeDetails<Balance>

source§

fn query_weight_to_fee(weight: Weight) -> Balance

source§

fn query_length_to_fee(length: u32) -> Balance

source§

impl TypeInfo for Runtime

§

type Identity = Runtime

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl ValidateUnsigned for Runtime

§

type Call = RuntimeCall

The call to validate
source§

fn pre_dispatch(call: &Self::Call) -> Result<(), TransactionValidityError>

Validate the call right before dispatch. Read more
source§

fn validate_unsigned( source: TransactionSource, call: &Self::Call ) -> TransactionValidity

Return the validity of the call Read more
source§

impl VestedRewardsApiV2<Block<Header<u32, BlakeTwo256>, UncheckedExtrinsic<<<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, RuntimeCall, MultiSignature, (CheckSpecVersion<Runtime>, CheckTxVersion<Runtime>, CheckGenesis<Runtime>, CheckMortality<Runtime>, CheckNonce<Runtime>, CheckWeight<Runtime>, ChargeTransactionPayment<Runtime>)>>, <<MultiSignature as Verify>::Signer as IdentifyAccount>::AccountId, AssetId32<PredefinedAssetId>, u128, CrowdloanTag> for Runtime

source§

impl Config for Runtime

source§

impl Config for Runtime

source§

impl Copy for Runtime

source§

impl Eq for Runtime

source§

impl StructuralEq for Runtime

source§

impl StructuralPartialEq for Runtime

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> Twhere Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> Downcast for Twhere T: Any,

§

fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for Twhere T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send + 'static>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> DynClone for Twhere T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

§

impl<T> Pipe for Twhere T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> Rwhere Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R ) -> Rwhere Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<A> PureOrWrapped<A> for A

source§

fn is_pure(&self) -> bool

Not any data is wrapped.
source§

fn is_wrapped_regular(&self) -> bool

The entity is a wrapped Regular.
source§

fn is_wrapped(&self) -> bool

The entity is wrapped.
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
§

impl<T> SaturatedConversion for T

§

fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
§

fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. Read more
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for Twhere T: Debug,

§

impl<T> MaybeDebug for Twhere T: Debug,

§

impl<T> MaybeRefUnwindSafe for Twhere T: RefUnwindSafe,

§

impl<T> MaybeSerialize for Twhere T: Serialize,

§

impl<T> Member for Twhere T: Send + Sync + Debug + Eq + PartialEq<T> + Clone + 'static,

§

impl<T> StaticTypeInfo for Twhere T: TypeInfo + 'static,