Polymesh Testnet Runtime Api Documentation
title: Constants
The following sections contain the module constants, also known as parameter types. These can only be changed as part of a runtime upgrade. On the api, these are exposed via api.consts.<module>.<method>
.
(NOTE: These were generated from a static/snapshot view of a recent Substrate master node. Some items may not be available in older nodes, or in any customized implementations.)
asset
assetNameMaxLength: u32
- interface:
api.consts.asset.assetNameMaxLength
fundingRoundNameMaxLength: u32
- interface:
api.consts.asset.fundingRoundNameMaxLength
maxNumberOfTMExtensionForAsset: u32
- interface:
api.consts.asset.maxNumberOfTMExtensionForAsset
babe
epochDuration: u64
- interface:
api.consts.babe.epochDuration
- summary: The number of slots that an epoch takes. We couple sessions to epochs, i.e. we start a new session once the new epoch begins. NOTE: Currently it is not possible to change the epoch duration after the chain has started. Attempting to do so will brick block production.
expectedBlockTime: Moment
- interface:
api.consts.babe.expectedBlockTime
- summary: 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
(where1 - c
represents the probability of a slot being empty).
balances
existentialDeposit: Balance
- interface:
api.consts.balances.existentialDeposit
- summary: The minimum amount required to keep an account open.
base
maxLen: u32
- interface:
api.consts.base.maxLen
complianceManager
maxConditionComplexity: u32
- interface:
api.consts.complianceManager.maxConditionComplexity
corporateAction
maxDidWhts: u32
- interface:
api.consts.corporateAction.maxDidWhts
maxTargetIds: u32
- interface:
api.consts.corporateAction.maxTargetIds
identity
initialPOLYX: Balance
- interface:
api.consts.identity.initialPOLYX
indices
deposit: BalanceOf
- interface:
api.consts.indices.deposit
- summary: The deposit needed for reserving an index.
staking
bondingDuration: EraIndex
- interface:
api.consts.staking.bondingDuration
- summary: Number of eras that staked funds must remain bonded for.
electionLookahead: BlockNumber
-
interface:
api.consts.staking.electionLookahead
-
summary: The number of blocks before the end of the era from which election submissions are allowed.
Setting this to zero will disable the offchain compute and only on-chain seq-phragmen will be used.
This is bounded by being within the last session. Hence, setting it to a value more than the length of a session will be pointless.
fixedYearlyReward: BalanceOf
- interface:
api.consts.staking.fixedYearlyReward
- summary: Total year rewards that gets paid during fixed reward schedule.
maxIterations: u32
-
interface:
api.consts.staking.maxIterations
-
summary: Maximum number of balancing iterations to run in the offchain submission.
If set to 0, balance_solution will not be executed at all.
maxNominatorRewardedPerValidator: u32
-
interface:
api.consts.staking.maxNominatorRewardedPerValidator
-
summary: The maximum number of nominators rewarded for each validator.
For each validator only the
$MaxNominatorRewardedPerValidator
biggest stakers can claim their reward. This used to limit the i/o cost for the nominator payout.
maxValidatorPerIdentity: Permill
-
interface:
api.consts.staking.maxValidatorPerIdentity
-
summary: Maximum number of validators for each permissioned identity.
Max number of validators count =
MaxValidatorPerIdentity * Self::validator_count()
.
maxVariableInflationTotalIssuance: BalanceOf
- interface:
api.consts.staking.maxVariableInflationTotalIssuance
- summary: Maximum amount of
T::currency::total_issuance()
after that non-inflated rewards get paid.
minimumBond: BalanceOf
- interface:
api.consts.staking.minimumBond
- summary: Minimum amount of POLYX that must be bonded for a new bond.
minSolutionScoreBump: Perbill
- interface:
api.consts.staking.minSolutionScoreBump
- summary: The threshold of improvement that should be provided for a new solution to be accepted.
sessionsPerEra: SessionIndex
- interface:
api.consts.staking.sessionsPerEra
- summary: Number of sessions per era.
slashDeferDuration: EraIndex
-
interface:
api.consts.staking.slashDeferDuration
-
summary: Number of eras that slashes are deferred by, after computation.
This should be less than the bonding duration. Set to 0 if slashes should be applied immediately, without opportunity for intervention.
statistics
maxTransferManagersPerAsset: u32
- interface:
api.consts.statistics.maxTransferManagersPerAsset
system
blockHashCount: BlockNumber
- interface:
api.consts.system.blockHashCount
- summary: Maximum number of block number to block hash mappings to keep (oldest pruned first).
blockLength: BlockLength
- interface:
api.consts.system.blockLength
- summary: The maximum length of a block (in bytes).
blockWeights: BlockWeights
- interface:
api.consts.system.blockWeights
- summary: Block & extrinsics weights: base values and limits.
dbWeight: RuntimeDbWeight
- interface:
api.consts.system.dbWeight
- summary: The weight of runtime database operations the runtime can invoke.
ss58Prefix: u8
-
interface:
api.consts.system.ss58Prefix
-
summary: The designated SS85 prefix of this chain.
This replaces the "ss58Format" property declared in the chain spec. Reason is that the runtime should know about the prefix in order to make use of it as an identifier of the chain.
version: RuntimeVersion
- interface:
api.consts.system.version
- summary: Get the chain's current version.
timestamp
minimumPeriod: Moment
- interface:
api.consts.timestamp.minimumPeriod
- summary: 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.
transactionPayment
transactionByteFee: BalanceOf
- interface:
api.consts.transactionPayment.transactionByteFee
- summary: The fee to be paid for making a transaction; the per-byte portion.
weightToFee: Vec<WeightToFeeCoefficient>
- interface:
api.consts.transactionPayment.weightToFee
- summary: The polynomial that is applied in order to derive fee from weight.
title: Extrinsics
The following sections contain Extrinsics methods are part of the default Substrate runtime. On the api, these are exposed via api.tx.<module>.<method>
.
(NOTE: These were generated from a static/snapshot view of a recent Substrate master node. Some items may not be available in older nodes, or in any customized implementations.)
asset
acceptAssetOwnershipTransfer(auth_id: u64
)
-
interface:
api.tx.asset.acceptAssetOwnershipTransfer
-
summary: This function is used to accept a token ownership transfer. NB: To reject the transfer, call remove auth function in identity module.
Arguments
-
origin
It contains the secondary key of the caller (i.e. who signed the transaction to execute this function). -
auth_id
Authorization ID of the token ownership transfer authorization.
-
acceptTickerTransfer(auth_id: u64
)
-
interface:
api.tx.asset.acceptTickerTransfer
-
summary: Accepts a ticker transfer.
Consumes the authorization
auth_id
(seepallet_identity::consume_auth
). NB: To reject the transfer, call remove auth function in identity module.Arguments
-
origin
It contains the secondary key of the caller (i.e. who signed the transaction to execute this function). -
auth_id
Authorization ID of ticker transfer authorization.
Errors
AuthorizationError::BadType
ifauth_id
is not a valid ticket transfer authorization.
-
addDocuments(docs: Vec<Document>
, ticker: Ticker
)
-
interface:
api.tx.asset.addDocuments
-
summary: Add documents for a given token.
Arguments
-
origin
is a signer that has permissions to act as an agent ofticker
. -
ticker
Ticker of the token. -
docs
Documents to be attached toticker
.
Permissions
- Asset
-
claimClassicTicker(ticker: Ticker
, ethereum_signature: EcdsaSignature
)
-
interface:
api.tx.asset.claimClassicTicker
-
summary: Claim a systematically reserved Polymath Classic (PMC)
ticker
and transfer it to theorigin
's identity.To verify that the
origin
is in control of the Ethereum account on the books, anethereum_signature
containing theorigin
's DID as the message must be provided by that Ethereum account.Errors
-
NoSuchClassicTicker
if this is not a systematically reserved PMC ticker. -
TickerAlreadyRegistered
if the ticker was already registered, e.g., byorigin
. -
TickerRegistrationExpired
if the ticker's registration has expired. -
BadOrigin
if not signed. -
InvalidEthereumSignature
if theethereum_signature
is not valid. -
NotAnOwner
if the ethereum account is not the owner of the PMC ticker.
-
controllerTransfer(ticker: Ticker
, value: Balance
, from_portfolio: PortfolioId
)
-
interface:
api.tx.asset.controllerTransfer
-
summary: Forces a transfer of token from
from_portfolio
to the caller's default portfolio.Arguments
-
origin
Must be an external agent with appropriate permissions for a given ticker. -
ticker
Ticker symbol of the asset. -
value
Amount of tokens need to force transfer. -
from_portfolio
From whom portfolio tokens gets transferred.
-
createAsset(name: AssetName
, ticker: Ticker
, divisible: bool
, asset_type: AssetType
, identifiers: Vec<AssetIdentifier>
, funding_round: Option<FundingRoundName>
, disable_iu: bool
)
-
interface:
api.tx.asset.createAsset
-
summary: Initializes a new security token, with the initiating account as its owner. The total supply will initially be zero. To mint tokens, use
issue
.Arguments
-
origin
- contains the secondary key of the caller (i.e. who signed the transaction to execute this function). -
name
- the name of the token. -
ticker
- the ticker symbol of the token. -
divisible
- a boolean to identify the divisibility status of the token. -
asset_type
- the asset type. -
identifiers
- a vector of asset identifiers. -
funding_round
- name of the funding round. -
disable_iu
- whether or not investor uniqueness enforcement should be disabled. This cannot be changed after creating the asset.
Errors
-
InvalidAssetIdentifier
if any ofidentifiers
are invalid. -
MaxLengthOfAssetNameExceeded
ifname
's length exceedsT::AssetNameMaxLength
. -
FundingRoundNameMaxLengthExceeded
if the name of the funding round is longer thatT::FundingRoundNameMaxLength
. -
AssetAlreadyCreated
if asset was already created. -
TickerTooLong
ifticker
's length is greater thanconfig.max_ticker_length
chain parameter. -
TickerNotAscii
ifticker
is not yet registered, and contains non-ascii printable characters (from code 32 to 126) or any character after first occurrence of\0
.
Permissions
- Portfolio
-
freeze(ticker: Ticker
)
-
interface:
api.tx.asset.freeze
-
summary: Freezes transfers and minting of a given token.
Arguments
-
origin
- the secondary key of the sender. -
ticker
- the ticker of the token.
Errors
AlreadyFrozen
ifticker
is already frozen.
Permissions
- Asset
-
issue(ticker: Ticker
, amount: Balance
)
-
interface:
api.tx.asset.issue
-
summary: Issue, or mint, new tokens to the caller, which must be an authorized external agent.
Arguments
-
origin
is a signer that has permissions to act as an agent ofticker
. -
ticker
of the token. -
amount
of tokens that get issued.
Permissions
-
Asset
-
Portfolio
-
makeDivisible(ticker: Ticker
)
-
interface:
api.tx.asset.makeDivisible
-
summary: Makes an indivisible token divisible.
Arguments
-
origin
is a signer that has permissions to act as an agent ofticker
. -
ticker
Ticker of the token.
Errors
AssetAlreadyDivisible
ifticker
is already divisible.
Permissions
- Asset
-
redeem(ticker: Ticker
, value: Balance
)
-
interface:
api.tx.asset.redeem
-
summary: Redeems existing tokens by reducing the balance of the caller's default portfolio and the total supply of the token
Arguments
-
origin
is a signer that has permissions to act as an agent ofticker
. -
ticker
Ticker of the token. -
value
Amount of tokens to redeem.
Errors
-
Unauthorized
If called by someone without the appropriate external agent permissions -
InvalidGranularity
If the amount is not divisible by 10^6 for non-divisible tokens -
InsufficientPortfolioBalance
If the caller's default portfolio doesn't have enough free balance
Permissions
-
Asset
-
Portfolio
-
registerCustomAssetType(ty: Bytes
)
-
interface:
api.tx.asset.registerCustomAssetType
-
summary: Registers a custom asset type.
The provided
ty
will be bound to an ID in storage. The ID can then be used inAssetType::Custom
. Should thety
already exist in storage, no second ID is assigned to it.Arguments
-
origin
who called the extrinsic. -
ty
contains the string representation of the asset type.
-
registerTicker(ticker: Ticker
)
-
interface:
api.tx.asset.registerTicker
-
summary: Registers a new ticker or extends validity of an existing ticker. NB: Ticker validity does not get carry forward when renewing ticker.
Arguments
-
origin
It contains the secondary key of the caller (i.e. who signed the transaction to execute this function). -
ticker
ticker to register.
Permissions
- Asset
-
removeDocuments(ids: Vec<DocumentId>
, ticker: Ticker
)
-
interface:
api.tx.asset.removeDocuments
-
summary: Remove documents for a given token.
Arguments
-
origin
is a signer that has permissions to act as an agent ofticker
. -
ticker
Ticker of the token. -
ids
Documents ids to be removed fromticker
.
Permissions
- Asset
-
renameAsset(ticker: Ticker
, name: AssetName
)
-
interface:
api.tx.asset.renameAsset
-
summary: Renames a given token.
Arguments
-
origin
- the secondary key of the sender. -
ticker
- the ticker of the token. -
name
- the new name of the token.
Errors
MaxLengthOfAssetNameExceeded
if length ofname
is greater thanT::AssetNameMaxLength
.
Permissions
- Asset
-
reserveClassicTicker(classic_ticker_import: ClassicTickerImport
, contract_did: IdentityId
, config: TickerRegistrationConfig
)
-
interface:
api.tx.asset.reserveClassicTicker
-
summary: Reserve a Polymath Classic (PMC) ticker. Must be called by root, and assigns the ticker to a systematic DID.
Arguments
-
origin
which must be root. -
classic_ticker_import
specification for the PMC ticker. -
contract_did
to reserve the ticker to ifclassic_ticker_import.is_contract
holds. -
config
to use for expiry and ticker length.
Errors
-
AssetAlreadyCreated
ifclassic_ticker_import.ticker
was created as an asset. -
TickerTooLong
if theconfig
considers theclassic_ticker_import.ticker
too long. -
TickerAlreadyRegistered
ifclassic_ticker_import.ticker
was already registered.
-
setFundingRound(ticker: Ticker
, name: FundingRoundName
)
-
interface:
api.tx.asset.setFundingRound
-
summary: Sets the name of the current funding round.
Arguments
-
origin
- a signer that has permissions to act as an agent ofticker
. -
ticker
- the ticker of the token. -
name
- the desired name of the current funding round.
Errors
FundingRoundNameMaxLengthExceeded
if length ofname
is greater thanT::FundingRoundNameMaxLength
.
Permissions
- Asset
-
unfreeze(ticker: Ticker
)
-
interface:
api.tx.asset.unfreeze
-
summary: Unfreezes transfers and minting of a given token.
Arguments
-
origin
- the secondary key of the sender. -
ticker
- the ticker of the frozen token.
Errors
NotFrozen
ifticker
is not frozen yet.
Permissions
- Asset
-
updateIdentifiers(ticker: Ticker
, identifiers: Vec<AssetIdentifier>
)
-
interface:
api.tx.asset.updateIdentifiers
-
summary: Updates the asset identifiers.
Arguments
-
origin
- a signer that has permissions to act as an agent ofticker
. -
ticker
- the ticker of the token. -
identifiers
- the asset identifiers to be updated in the form of a vector of pairs ofIdentifierType
andAssetIdentifier
value.
Errors
InvalidAssetIdentifier
ifidentifiers
contains any invalid identifier.
Permissions
- Asset
-
authorityDiscovery
authorship
setUncles(new_uncles: Vec<Header>
)
- interface:
api.tx.authorship.setUncles
- summary: Provide a set of uncles.
babe
reportEquivocation(equivocation_proof: BabeEquivocationProof
, key_owner_proof: KeyOwnerProof
)
- interface:
api.tx.babe.reportEquivocation
- summary: Report authority equivocation/misbehavior. This method will verify the equivocation proof and validate the given key ownership proof against the extracted offender. If both are valid, the offence will be reported.
reportEquivocationUnsigned(equivocation_proof: BabeEquivocationProof
, key_owner_proof: KeyOwnerProof
)
- interface:
api.tx.babe.reportEquivocationUnsigned
- summary: Report authority equivocation/misbehavior. This method will verify the equivocation proof and validate the given key ownership proof against the extracted offender. If both are valid, the offence will be reported. This extrinsic must be called unsigned and it is expected that only block authors will call it (validated in
ValidateUnsigned
), as such if the block author is defined it will be defined as the equivocation reporter.
balances
burnAccountBalance(amount: Balance
)
- interface:
api.tx.balances.burnAccountBalance
- summary: Burns the given amount of tokens from the caller's free, unlocked balance.
depositBlockRewardReserveBalance(value: Compact<Balance>
)
- interface:
api.tx.balances.depositBlockRewardReserveBalance
- summary: Move some POLYX from balance of self to balance of BRR.
forceTransfer(source: LookupSource
, dest: LookupSource
, value: Compact<Balance>
)
- interface:
api.tx.balances.forceTransfer
- summary: Exactly as
transfer
, except the origin must be root and the source account may be specified.
setBalance(who: LookupSource
, new_free: Compact<Balance>
, new_reserved: Compact<Balance>
)
-
interface:
api.tx.balances.setBalance
-
summary: Set the balances of a given account.
This will alter
FreeBalance
andReservedBalance
in storage. it will also decrease the total issuance of the system (TotalIssuance
).The dispatch origin for this call is
root
.
transfer(dest: LookupSource
, value: Compact<Balance>
)
-
interface:
api.tx.balances.transfer
-
summary: Transfer some liquid free balance to another account.
transfer
will set theFreeBalance
of the sender and receiver. It will decrease the total issuance of the system by theTransferFee
.The dispatch origin for this call must be
Signed
by the transactor.
transferWithMemo(dest: LookupSource
, value: Compact<Balance>
, memo: Option<Memo>
)
- interface:
api.tx.balances.transferWithMemo
- summary: Transfer the native currency with the help of identifier string this functionality can help to differentiate the transfers.
base
bridge
addFreezeAdmin(freeze_admin: AccountId
)
-
interface:
api.tx.bridge.addFreezeAdmin
-
summary: Add a freeze admin.
Errors
BadAdmin
iforigin
is notSelf::admin()
account.
batchProposeBridgeTx(bridge_txs: Vec<BridgeTx>
)
-
interface:
api.tx.bridge.batchProposeBridgeTx
-
summary: Proposes a vector of bridge transactions. The vector is processed until the first proposal which causes an error, in which case the error is returned and the rest of proposals are not processed.
Errors
ControllerNotSet
ifControllers
was not set.
Weight
500_000_000 + 7_000_000 * bridge_txs.len()
changeAdmin(admin: AccountId
)
-
interface:
api.tx.bridge.changeAdmin
-
summary: Changes the bridge admin key.
Errors
BadAdmin
iforigin
is notSelf::admin()
account.
changeBridgeExempted(exempted: Vec<(IdentityId,bool)>
)
-
interface:
api.tx.bridge.changeBridgeExempted
-
summary: Changes the bridge limit exempted list.
Errors
BadAdmin
iforigin
is notSelf::admin()
account.
changeBridgeLimit(amount: Balance
, duration: BlockNumber
)
-
interface:
api.tx.bridge.changeBridgeLimit
-
summary: Changes the bridge limits.
Errors
-
BadAdmin
iforigin
is notSelf::admin()
account. -
DivisionByZero
ifduration
is zero.
-
changeController(controller: AccountId
)
-
interface:
api.tx.bridge.changeController
-
summary: Changes the controller account as admin.
Errors
BadAdmin
iforigin
is notSelf::admin()
account.
changeTimelock(timelock: BlockNumber
)
-
interface:
api.tx.bridge.changeTimelock
-
summary: Changes the timelock period.
Errors
BadAdmin
iforigin
is notSelf::admin()
account.
forceHandleBridgeTx(bridge_tx: BridgeTx
)
-
interface:
api.tx.bridge.forceHandleBridgeTx
-
summary: Forces handling a transaction by bypassing the bridge limit and timelock.
Errors
-
BadAdmin
iforigin
is notSelf::admin()
account. -
NoValidCdd
ifbridge_tx.recipient
does not have a valid CDD claim.
-
freeze()
-
interface:
api.tx.bridge.freeze
-
summary: Freezes transaction handling in the bridge module if it is not already frozen. When the bridge is frozen, attempted transactions get postponed instead of getting handled.
Errors
BadAdmin
iforigin
is notSelf::admin()
account.
freezeTxs(bridge_txs: Vec<BridgeTx>
)
-
interface:
api.tx.bridge.freezeTxs
-
summary: Freezes given bridge transactions. If any bridge txn is already handled then this function will just ignore it and process next one.
Errors
BadAdmin
iforigin
is notSelf::admin()
account.
Weight
400_000_000 + 2_000_000 * bridge_txs.len()
handleBridgeTx(bridge_tx: BridgeTx
)
-
interface:
api.tx.bridge.handleBridgeTx
-
summary: Handles an approved bridge transaction proposal.
Errors
-
BadCaller
iforigin
is notSelf::controller
orSelf::admin
. -
TimelockedTx
if the transaction status isTimelocked
. -
ProposalAlreadyHandled
if the transaction status isHandled
.
-
handleScheduledBridgeTx(bridge_tx: BridgeTx
)
-
interface:
api.tx.bridge.handleScheduledBridgeTx
-
summary: Root callable extrinsic, used as an internal call to handle a scheduled timelocked bridge transaction.
Errors
-
BadOrigin
iforigin
is not root. -
ProposalAlreadyHandled
if transaction status isHandled
. -
FrozenTx
if transaction status isFrozen
.
-
proposeBridgeTx(bridge_tx: BridgeTx
)
-
interface:
api.tx.bridge.proposeBridgeTx
-
summary: Proposes a bridge transaction, which amounts to making a multisig proposal for the bridge transaction if the transaction is new or approving an existing proposal if the transaction has already been proposed.
Errors
ControllerNotSet
ifControllers
was not set.
removeFreezeAdmin(freeze_admin: AccountId
)
-
interface:
api.tx.bridge.removeFreezeAdmin
-
summary: Remove a freeze admin.
Errors
BadAdmin
iforigin
is notSelf::admin()
account.
removeTxs(bridge_txs: Vec<BridgeTx>
)
-
interface:
api.tx.bridge.removeTxs
-
summary: Remove given bridge transactions.
Errors
-
BadAdmin
iforigin
is notSelf::admin()
account. -
NotFrozen
if a tx inbridge_txs
is not frozen.
-
unfreeze()
-
interface:
api.tx.bridge.unfreeze
-
summary: Unfreezes transaction handling in the bridge module if it is frozen.
Errors
BadAdmin
iforigin
is notSelf::admin()
account.
unfreezeTxs(bridge_txs: Vec<BridgeTx>
)
-
interface:
api.tx.bridge.unfreezeTxs
-
summary: Unfreezes given bridge transactions. If any bridge txn is already handled then this function will just ignore it and process next one.
Errors
BadAdmin
iforigin
is notSelf::admin()
account.
Weight
400_000_000 + 7_000_000 * bridge_txs.len()
capitalDistribution
claim(ca_id: CAId
)
-
interface:
api.tx.capitalDistribution.claim
-
summary: Claim a benefit of the capital distribution attached to
ca_id
.Taxes are withheld as specified by the CA. Post-tax earnings are then transferred to the default portfolio of the
origin
's DID.All benefits are rounded by truncation, down to first integer below. Moreover, before post-tax earnings, in indivisible currencies are transferred, they are rounded down to a whole unit.
Arguments
-
origin
which must be a holder of the asset and eligible for the distribution. -
ca_id
identifies the CA to start a capital distribution for.
Errors
-
HolderAlreadyPaid
iforigin
's DID has already received its benefit. -
NoSuchDistribution
if there's no capital distribution forca_id
. -
CannotClaimBeforeStart
ifnow < payment_at
. -
CannotClaimAfterExpiry
ifnow > expiry_at.unwrap()
. -
NoSuchCA
ifca_id
does not identify an existing CA. -
NotTargetedByCA
if the CA does not targetorigin
's DID. -
BalanceAmountProductOverflowed
ifba = balance * amount
would overflow. -
BalanceAmountProductSupplyDivisionFailed
ifba * supply
would overflow. -
Other errors can occur if the compliance manager rejects the transfer.
-
distribute(ca_id: CAId
, portfolio: Option<PortfolioNumber>
, currency: Ticker
, per_share: Balance
, amount: Balance
, payment_at: Moment
, expires_at: Option<Moment>
)
-
interface:
api.tx.capitalDistribution.distribute
-
summary: Start and attach a capital distribution, to the CA identified by
ca_id
, withamount
funds incurrency
withdrawn fromportfolio
belonging toorigin
's DID.The distribution will commence at
payment_at
and expire atexpires_at
, if provided, or ifNone
, then there's no expiry.The funds will be locked in
portfolio
from whendistribute
is called. When there's no expiry, some funds may be locked indefinitely inportfolio
, due to claimants not withdrawing or no benefits being pushed to them. For indivisible currencies, unlocked amounts, of less than one whole unit, will not be transferable fromportfolio
. However, if we imagine that usersAlice
andBob
both are entitled to 1.5 units, and only receive1
units each, then0.5 + 0.5 = 1
units are left inportfolio
, which is now transferrable.Arguments
-
origin
is a signer that has permissions to act as an agent ofca_id.ticker
. -
ca_id
identifies the CA to start a capital distribution for. -
portfolio
specifies the portfolio number of the agent to distributeamount
from. -
currency
to withdraw and distribute from theportfolio
. -
per_share
amount ofcurrency
to withdraw and distribute. Specified as a per-million, i.e.1 / 10^6
th of onecurrency
token. -
amount
ofcurrency
to withdraw and distribute at most. -
payment_at
specifies when benefits may first be pushed or claimed. -
expires_at
specifies, if provided, when remaining benefits are forfeit and may be reclaimed byorigin
.
Errors
-
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
. -
DistributingAsset
ifca_id.ticker == currency
. -
ExpiryBeforePayment
ifexpires_at.unwrap() <= payment_at
. -
NoSuchCA
ifca_id
does not identify an existing CA. -
NoRecordDate
if CA has no record date. -
RecordDateAfterStart
if CA's record date > payment_at. -
UnauthorizedCustodian
if the caller is not the custodian ofportfolio
. -
InsufficientPortfolioBalance
ifportfolio
has less thanamount
ofcurrency
. -
InsufficientBalance
if the protocol fee couldn't be charged. -
CANotBenefit
if the CA is not of kind PredictableBenefit/UnpredictableBenefit
Permissions
-
Asset
-
Portfolio
-
pushBenefit(ca_id: CAId
, holder: IdentityId
)
-
interface:
api.tx.capitalDistribution.pushBenefit
-
summary: Push benefit of an ongoing distribution to the given
holder
.Taxes are withheld as specified by the CA. Post-tax earnings are then transferred to the default portfolio of the
origin
's DID.All benefits are rounded by truncation, down to first integer below. Moreover, before post-tax earnings, in indivisible currencies are transferred, they are rounded down to a whole unit.
Arguments
-
origin
is a signer that has permissions to act as an agent ofca_id.ticker
. -
ca_id
identifies the CA with a capital distributions to push benefits for. -
holder
to push benefits to.
Errors
-
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
. -
NoSuchDistribution
if there's no capital distribution forca_id
. -
CannotClaimBeforeStart
ifnow < payment_at
. -
CannotClaimAfterExpiry
ifnow > expiry_at.unwrap()
. -
NoSuchCA
ifca_id
does not identify an existing CA. -
NotTargetedByCA
if the CA does not targetholder
. -
BalanceAmountProductOverflowed
ifba = balance * amount
would overflow. -
BalanceAmountProductSupplyDivisionFailed
ifba * supply
would overflow. -
Other errors can occur if the compliance manager rejects the transfer.
-
reclaim(ca_id: CAId
)
-
interface:
api.tx.capitalDistribution.reclaim
-
summary: Assuming a distribution has expired, unlock the remaining amount in the distributor portfolio.
Arguments
-
origin
which must be the creator of the capital distribution tied toca_id
. -
ca_id
identifies the CA with a capital distribution to reclaim for.
Errors
-
NoSuchDistribution
if there's no capital distribution forca_id
. -
AlreadyReclaimed
if this function has already been called successfully. -
NotExpired
ifnow < expiry
.
-
removeDistribution(ca_id: CAId
)
-
interface:
api.tx.capitalDistribution.removeDistribution
-
summary: Removes a distribution that hasn't started yet, unlocking the full amount in the distributor portfolio.
Arguments
-
origin
is a signer that has permissions to act as an agent ofca_id.ticker
. -
ca_id
identifies the CA with a not-yet-started capital distribution to remove.
Errors
-
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
. -
NoSuchDistribution
if there's no capital distribution forca_id
. -
DistributionStarted
ifpayment_at <= now
.
-
cddServiceProviders
abdicateMembership()
-
interface:
api.tx.cddServiceProviders.abdicateMembership
-
summary: Allows the calling member to unilaterally quit without this being subject to a GC vote.
Arguments
origin
- Member of committee who wants to quit.
Error
-
Only primary key can abdicate.
-
Last member of a group cannot abdicate.
addMember(who: IdentityId
)
-
interface:
api.tx.cddServiceProviders.addMember
-
summary: Adds a member
who
to the group. May only be called fromAddOrigin
or root.Arguments
-
origin
- Origin representingAddOrigin
or root -
who
- IdentityId to be added to the group.
-
disableMember(who: IdentityId
, expiry: Option<Moment>
, at: Option<Moment>
)
-
interface:
api.tx.cddServiceProviders.disableMember
-
summary: Disables a member at specific moment.
Please note that if member is already revoked (a "valid member"), its revocation time-stamp will be updated.
Any disabled member should NOT allow to act like an active member of the group. For instance, a disabled CDD member should NOT be able to generate a CDD claim. However any generated claim issued before
at
would be considered as a valid one.If you want to invalidate any generated claim, you should use
Self::remove_member
.Arguments
-
at
- Revocation time-stamp. -
who
- Target member of the group. -
expiry
- Time-stamp whenwho
is removed from CDD. As soon as it is expired, the generated claims will be "invalid" aswho
is not considered a member of the group.
-
removeMember(who: IdentityId
)
-
interface:
api.tx.cddServiceProviders.removeMember
-
summary: Removes a member
who
from the set. May only be called fromRemoveOrigin
or root.Any claim previously generated by this member is not valid as a group claim. For instance, if a CDD member group generated a claim for a target identity and then it is removed, that claim will be invalid. In case you want to keep the validity of generated claims, you have to use
Self::disable_member
functionArguments
-
origin
- Origin representingRemoveOrigin
or root -
who
- IdentityId to be removed from the group.
-
resetMembers(members: Vec<IdentityId>
)
-
interface:
api.tx.cddServiceProviders.resetMembers
-
summary: Changes the membership to a new set, disregarding the existing membership. May only be called from
ResetOrigin
or root.Arguments
-
origin
- Origin representingResetOrigin
or root -
members
- New set of identities
-
setActiveMembersLimit(limit: MemberCount
)
-
interface:
api.tx.cddServiceProviders.setActiveMembersLimit
-
summary: Change this group's limit for how many concurrent active members they may be.
Arguments
limit
- the number of active members there may be concurrently.
swapMember(remove: IdentityId
, add: IdentityId
)
-
interface:
api.tx.cddServiceProviders.swapMember
-
summary: Swaps out one member
remove
for another memberadd
.May only be called from
SwapOrigin
or root.Arguments
-
origin
- Origin representingSwapOrigin
or root -
remove
- IdentityId to be removed from the group. -
add
- IdentityId to be added in place ofremove
.
-
checkpoint
createCheckpoint(ticker: Ticker
)
-
interface:
api.tx.checkpoint.createCheckpoint
-
summary: Creates a single checkpoint at the current time.
Arguments
-
origin
is a signer that has permissions to act as an agent ofticker
. -
ticker
to create the checkpoint for.
Errors
-
UnauthorizedAgent
if the DID oforigin
isn't a permissioned agent forticker
. -
CounterOverflow
if the total checkpoint counter would overflow.
-
createSchedule(ticker: Ticker
, schedule: ScheduleSpec
)
-
interface:
api.tx.checkpoint.createSchedule
-
summary: Creates a schedule generating checkpoints in the future at either a fixed time or at intervals.
The schedule starts out with
strong_ref_count(schedule_id) <- 0
.Arguments
-
origin
is a signer that has permissions to act as owner ofticker
. -
ticker
to create the schedule for. -
schedule
that will generate checkpoints.
Errors
-
UnauthorizedAgent
if the DID oforigin
isn't a permissioned agent forticker
. -
ScheduleDurationTooShort
if the schedule duration is too short. -
InsufficientAccountBalance
if the protocol fee could not be charged. -
CounterOverflow
if the schedule ID or total checkpoint counters would overflow. -
FailedToComputeNextCheckpoint
if the next checkpoint forschedule
is in the past.
Permissions
- Asset
-
removeSchedule(ticker: Ticker
, id: ScheduleId
)
-
interface:
api.tx.checkpoint.removeSchedule
-
summary: Removes the checkpoint schedule of an asset identified by
id
.Arguments
-
origin
is a signer that has permissions to act as owner ofticker
. -
ticker
to remove the schedule from. -
id
of the schedule, when it was created bycreated_schedule
.
Errors
-
UnauthorizedAgent
if the DID oforigin
isn't a permissioned agent forticker
. -
NoCheckpointSchedule
ifid
does not identify a schedule for thisticker
. -
ScheduleNotRemovable
ifid
exists but is not removable.
Permissions
- Asset
-
setSchedulesMaxComplexity(max_complexity: u64
)
-
interface:
api.tx.checkpoint.setSchedulesMaxComplexity
-
summary: Sets the max complexity of a schedule set for an arbitrary ticker to
max_complexity
. The new maximum is not enforced retroactively, and only applies once new schedules are made.Must be called as a PIP (requires "root").
Arguments
-
origin
is the root origin. -
max_complexity
allowed for an arbitrary ticker's schedule set.
-
committeeMembership
abdicateMembership()
-
interface:
api.tx.committeeMembership.abdicateMembership
-
summary: Allows the calling member to unilaterally quit without this being subject to a GC vote.
Arguments
origin
- Member of committee who wants to quit.
Error
-
Only primary key can abdicate.
-
Last member of a group cannot abdicate.
addMember(who: IdentityId
)
-
interface:
api.tx.committeeMembership.addMember
-
summary: Adds a member
who
to the group. May only be called fromAddOrigin
or root.Arguments
-
origin
- Origin representingAddOrigin
or root -
who
- IdentityId to be added to the group.
-
disableMember(who: IdentityId
, expiry: Option<Moment>
, at: Option<Moment>
)
-
interface:
api.tx.committeeMembership.disableMember
-
summary: Disables a member at specific moment.
Please note that if member is already revoked (a "valid member"), its revocation time-stamp will be updated.
Any disabled member should NOT allow to act like an active member of the group. For instance, a disabled CDD member should NOT be able to generate a CDD claim. However any generated claim issued before
at
would be considered as a valid one.If you want to invalidate any generated claim, you should use
Self::remove_member
.Arguments
-
at
- Revocation time-stamp. -
who
- Target member of the group. -
expiry
- Time-stamp whenwho
is removed from CDD. As soon as it is expired, the generated claims will be "invalid" aswho
is not considered a member of the group.
-
removeMember(who: IdentityId
)
-
interface:
api.tx.committeeMembership.removeMember
-
summary: Removes a member
who
from the set. May only be called fromRemoveOrigin
or root.Any claim previously generated by this member is not valid as a group claim. For instance, if a CDD member group generated a claim for a target identity and then it is removed, that claim will be invalid. In case you want to keep the validity of generated claims, you have to use
Self::disable_member
functionArguments
-
origin
- Origin representingRemoveOrigin
or root -
who
- IdentityId to be removed from the group.
-
resetMembers(members: Vec<IdentityId>
)
-
interface:
api.tx.committeeMembership.resetMembers
-
summary: Changes the membership to a new set, disregarding the existing membership. May only be called from
ResetOrigin
or root.Arguments
-
origin
- Origin representingResetOrigin
or root -
members
- New set of identities
-
setActiveMembersLimit(limit: MemberCount
)
-
interface:
api.tx.committeeMembership.setActiveMembersLimit
-
summary: Change this group's limit for how many concurrent active members they may be.
Arguments
limit
- the number of active members there may be concurrently.
swapMember(remove: IdentityId
, add: IdentityId
)
-
interface:
api.tx.committeeMembership.swapMember
-
summary: Swaps out one member
remove
for another memberadd
.May only be called from
SwapOrigin
or root.Arguments
-
origin
- Origin representingSwapOrigin
or root -
remove
- IdentityId to be removed from the group. -
add
- IdentityId to be added in place ofremove
.
-
complianceManager
addComplianceRequirement(ticker: Ticker
, sender_conditions: Vec<Condition>
, receiver_conditions: Vec<Condition>
)
-
interface:
api.tx.complianceManager.addComplianceRequirement
-
summary: Adds a compliance requirement to an asset's compliance by ticker. If the compliance requirement is a duplicate, it does nothing.
Arguments
-
origin - Signer of the dispatchable. It should be the owner of the ticker
-
ticker - Symbol of the asset
-
sender_conditions - Sender transfer conditions.
-
receiver_conditions - Receiver transfer conditions.
Permissions
- Asset
-
addDefaultTrustedClaimIssuer(ticker: Ticker
, issuer: TrustedIssuer
)
-
interface:
api.tx.complianceManager.addDefaultTrustedClaimIssuer
-
summary: Adds another default trusted claim issuer at the ticker level.
Arguments
-
origin - Signer of the dispatchable. It should be the owner of the ticker.
-
ticker - Symbol of the asset.
-
issuer - IdentityId of the trusted claim issuer.
Permissions
- Asset
-
changeComplianceRequirement(ticker: Ticker
, new_req: ComplianceRequirement
)
-
interface:
api.tx.complianceManager.changeComplianceRequirement
-
summary: Modify an existing compliance requirement of a given ticker.
Arguments
-
origin - Signer of the dispatchable. It should be the owner of the ticker.
-
ticker - Symbol of the asset.
-
new_req - Compliance requirement.
Permissions
- Asset
-
pauseAssetCompliance(ticker: Ticker
)
-
interface:
api.tx.complianceManager.pauseAssetCompliance
-
summary: Pauses the verification of conditions for
ticker
during transfers.Arguments
-
origin - Signer of the dispatchable. It should be the owner of the ticker
-
ticker - Symbol of the asset
Permissions
- Asset
-
removeComplianceRequirement(ticker: Ticker
, id: u32
)
-
interface:
api.tx.complianceManager.removeComplianceRequirement
-
summary: Removes a compliance requirement from an asset's compliance.
Arguments
-
origin - Signer of the dispatchable. It should be the owner of the ticker
-
ticker - Symbol of the asset
-
id - Compliance requirement id which is need to be removed
Permissions
- Asset
-
removeDefaultTrustedClaimIssuer(ticker: Ticker
, issuer: IdentityId
)
-
interface:
api.tx.complianceManager.removeDefaultTrustedClaimIssuer
-
summary: Removes the given
issuer
from the set of default trusted claim issuers at the ticker level.Arguments
-
origin - Signer of the dispatchable. It should be the owner of the ticker.
-
ticker - Symbol of the asset.
-
issuer - IdentityId of the trusted claim issuer.
Permissions
- Asset
-
replaceAssetCompliance(ticker: Ticker
, asset_compliance: Vec<ComplianceRequirement>
)
-
interface:
api.tx.complianceManager.replaceAssetCompliance
-
summary: Replaces an asset's compliance by ticker with a new compliance.
Compliance requirements will be sorted (ascending by id) before replacing the current requirements.
Arguments
-
ticker
- the asset ticker, -
`asset_compliance - the new asset compliance.
Errors
-
Unauthorized
iforigin
is not the owner of the ticker. -
DuplicateAssetCompliance
ifasset_compliance
contains multiple entries with the samerequirement_id
.
Permissions
- Asset
-
resetAssetCompliance(ticker: Ticker
)
-
interface:
api.tx.complianceManager.resetAssetCompliance
-
summary: Removes an asset's compliance
Arguments
-
origin - Signer of the dispatchable. It should be the owner of the ticker
-
ticker - Symbol of the asset
Permissions
- Asset
-
resumeAssetCompliance(ticker: Ticker
)
-
interface:
api.tx.complianceManager.resumeAssetCompliance
-
summary: Resumes the verification of conditions for
ticker
during transfers.Arguments
-
origin - Signer of the dispatchable. It should be the owner of the ticker
-
ticker - Symbol of the asset
Permissions
- Asset
-
corporateAction
changeRecordDate(ca_id: CAId
, record_date: Option<RecordDateSpec>
)
-
interface:
api.tx.corporateAction.changeRecordDate
-
summary: Changes the record date of the CA identified by
ca_id
.Arguments
-
origin
which must be an external agent ofca_id.ticker
with relevant permissions. -
ca_id
of the CA to alter. -
record_date
, if any, to calculate the impact of the CA. If provided, this results in a scheduled balance snapshot ("checkpoint") at the date.
Errors
-
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
. -
NoSuchCA
ifid
does not identify an existing CA. -
When
record_date.is_some()
, other errors due to checkpoint scheduling may occur.
Permissions
- Asset
-
initiateCorporateAction(ticker: Ticker
, kind: CAKind
, decl_date: Moment
, record_date: Option<RecordDateSpec>
, details: CADetails
, targets: Option<TargetIdentities>
, default_withholding_tax: Option<Tax>
, withholding_tax: Option<Vec<(IdentityId,Tax)>>
)
-
interface:
api.tx.corporateAction.initiateCorporateAction
-
summary: Initiates a CA for
ticker
ofkind
withdetails
and other provided arguments.Arguments
-
origin
which must be an external agent ofticker
with relevant permissions. -
ticker
that the CA is made for. -
kind
of CA being initiated. -
decl_date
of CA bring initialized. -
record_date
, if any, to calculate the impact of this CA. If provided, this results in a scheduled balance snapshot ("checkpoint") at the date. -
details
of the CA in free-text form, up to a certain number of bytes in length. -
targets
, if any, which this CA is relevant/irrelevant to. Overrides, if provided, the default at the asset level (set_default_targets
). -
default_withholding_tax
, if any, is the default withholding tax to use for this CA. Overrides, if provided, the default at the asset level (set_default_withholding_tax
). -
withholding_tax
, if any, provides per-DID withholding tax overrides. Overrides, if provided, the default at the asset level (set_did_withholding_tax
).
Errors
-
DetailsTooLong
ifdetails.len()
goes beyondmax_details_length
. -
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
. -
CounterOverflow
in the unlikely event that so many CAs were created for thisticker
, that integer overflow would have occured if instead allowed. -
TooManyDidTaxes
ifwithholding_tax.unwrap().len()
would go over the limitMaxDidWhts
. -
DuplicateDidTax
if a DID is included more than once inwt
. -
TooManyTargetIds
iftargets.unwrap().identities.len() > T::MaxTargetIds::get()
. -
DeclDateInFuture
if the declaration date is not in the past. -
When
record_date.is_some()
, other errors due to checkpoint scheduling may occur.
Permissions
- Asset
-
linkCaDoc(id: CAId
, docs: Vec<DocumentId>
)
-
interface:
api.tx.corporateAction.linkCaDoc
-
summary: Link the given CA
id
to the givendocs
. Any previous links for the CA are removed in favor ofdocs
.The workflow here is to add the documents and initiating the CA in any order desired. Once both exist, they can now be linked together.
Arguments
-
origin
which must be an external agent ofid.ticker
with relevant permissions. -
id
of the CA to associate withdocs
. -
docs
to associate with the CA withid
.
Errors
-
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
. -
NoSuchCA
ifid
does not identify an existing CA. -
NoSuchDoc
if any ofdocs
does not identify an existing document.
Permissions
- Asset
-
removeCa(ca_id: CAId
)
-
interface:
api.tx.corporateAction.removeCa
-
summary: Removes the CA identified by
ca_id
.Associated data, such as document links, ballots, and capital distributions are also removed.
Any schedule associated with the record date will see
strong_ref_count(schedule_id)
decremented.Arguments
-
origin
which must be an external agent ofca_id.ticker
with relevant permissions. -
ca_id
of the CA to remove.
Errors
-
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
. -
NoSuchCA
ifid
does not identify an existing CA.
Permissions
- Asset
-
setDefaultTargets(ticker: Ticker
, targets: TargetIdentities
)
-
interface:
api.tx.corporateAction.setDefaultTargets
-
summary: Set the default CA
TargetIdentities
totargets
.Arguments
-
origin
which must be an external agent ofticker
with relevant permissions. -
ticker
for which the default identities are changing. -
targets
the default target identities for a CA.
Errors
-
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
. -
TooManyTargetIds
iftargets.identities.len() > T::MaxTargetIds::get()
.
Permissions
- Asset
-
setDefaultWithholdingTax(ticker: Ticker
, tax: Tax
)
-
interface:
api.tx.corporateAction.setDefaultWithholdingTax
-
summary: Set the default withholding tax for all DIDs and CAs relevant to this
ticker
.Arguments
-
origin
which must be an external agent ofticker
with relevant permissions. -
ticker
that the withholding tax will apply to. -
tax
that should be withheld when distributing dividends, etc.
Errors
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
.
Permissions
- Asset
-
setDidWithholdingTax(ticker: Ticker
, taxed_did: IdentityId
, tax: Option<Tax>
)
-
interface:
api.tx.corporateAction.setDidWithholdingTax
-
summary: Set the withholding tax of
ticker
fortaxed_did
totax
. IfSome(tax)
, this overrides the default withholding tax ofticker
totax
fortaxed_did
. Otherwise, ifNone
, the default withholding tax will be used.Arguments
-
origin
which must be an external agent ofticker
with relevant permissions. -
ticker
that the withholding tax will apply to. -
taxed_did
that will have its withholding tax updated. -
tax
that should be withheld when distributing dividends, etc.
Errors
-
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
. -
TooManyDidTaxes
ifSome(tax)
and adding the override would go over the limitMaxDidWhts
.
Permissions
- Asset
-
setMaxDetailsLength(length: u32
)
- interface:
api.tx.corporateAction.setMaxDetailsLength
- summary: Set the max
length
ofdetails
in terms of bytes. May only be called via a PIP.
corporateBallot
attachBallot(ca_id: CAId
, range: BallotTimeRange
, meta: BallotMeta
, rcv: bool
)
-
interface:
api.tx.corporateBallot.attachBallot
-
summary: Attach a corporate ballot to the CA identified by
ca_id
.The ballot will admit votes within
range
. The ballot's metadata is provided bymeta
, which includes the ballot title, the motions, their choices, etc. See theBallotMeta
for more.Arguments
-
origin
is a signer that has permissions to act as an agent ofca_id.ticker
. -
ca_id
identifies the CA to attach the ballot to. -
range
specifies when voting starts and ends. -
meta
specifies the ballot's metadata as aforementioned. -
rcv
specifies whether RCV is enabled for this ballot.
Errors
-
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
. -
NoSuchCA
ifca_id
does not identify an existing CA. -
CANotNotice
if the CA is not of theIssuerNotice
kind. -
StartAfterEnd
ifrange.start > range.end
. -
NowAfterEnd
ifnow > range.end
wherenow
is the current timestamp. -
NoRecordDate
if CA has no record date. -
RecordDateAfterStart
ifdate > range.start
wheredate
is the CA's record date. -
AlreadyExists
if there's a ballot already. -
NumberOfChoicesOverflow
if the total choice inmeta
overflowsusize
. -
TooLong
if any of the embedded strings inmeta
are too long. -
InsufficientBalance
if the protocol fee couldn't be charged.
-
changeEnd(ca_id: CAId
, end: Moment
)
-
interface:
api.tx.corporateBallot.changeEnd
-
summary: Amend the end date of the ballot of the CA identified by
ca_id
.Arguments
-
origin
is a signer that has permissions to act as an agent ofca_id.ticker
. -
ca_id
identifies the attached ballot's CA. -
end
specifies the new end date of the ballot.
Errors
-
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
. -
NoSuchBallot
ifca_id
does not identify a ballot. -
VotingAlreadyStarted
ifstart >= now
, wherenow
is the current time. -
StartAfterEnd
ifstart > end
.
-
changeMeta(ca_id: CAId
, meta: BallotMeta
)
-
interface:
api.tx.corporateBallot.changeMeta
-
summary: Amend the metadata (title, motions, etc.) of the ballot of the CA identified by
ca_id
.Arguments
-
origin
is a signer that has permissions to act as an agent ofca_id.ticker
. -
ca_id
identifies the attached ballot's CA. -
meta
specifies the new metadata.
Errors
-
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
. -
NoSuchBallot
ifca_id
does not identify a ballot. -
VotingAlreadyStarted
ifstart >= now
, wherenow
is the current time. -
NumberOfChoicesOverflow
if the total choice inmeta
overflowsusize
. -
TooLong
if any of the embedded strings inmeta
are too long.
-
changeRcv(ca_id: CAId
, rcv: bool
)
-
interface:
api.tx.corporateBallot.changeRcv
-
summary: Amend RCV support for the ballot of the CA identified by
ca_id
.Arguments
-
origin
is a signer that has permissions to act as an agent ofca_id.ticker
. -
ca_id
identifies the attached ballot's CA. -
rcv
specifies if RCV is to be supported or not.
Errors
-
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
. -
NoSuchBallot
ifca_id
does not identify a ballot. -
VotingAlreadyStarted
ifstart >= now
, wherenow
is the current time.
-
removeBallot(ca_id: CAId
)
-
interface:
api.tx.corporateBallot.removeBallot
-
summary: Remove the ballot of the CA identified by
ca_id
.Arguments
-
origin
is a signer that has permissions to act as an agent ofca_id.ticker
. -
ca_id
identifies the attached ballot's CA.
Errors
-
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
. -
NoSuchBallot
ifca_id
does not identify a ballot. -
VotingAlreadyStarted
ifstart >= now
, wherenow
is the current time.
-
vote(ca_id: CAId
, votes: Vec<BallotVote>
)
-
interface:
api.tx.corporateBallot.vote
-
summary: Cast
votes
in the ballot attached to the CA identified byca_id
.Arguments
-
origin
which must be a permissioned signer targeted by the CA. -
ca_id
identifies the attached ballot's CA. -
votes
specifies the balances to assign to each choice in the ballot. The full voting power oforigin
's DID may be used for each motion in the ballot.
Errors
-
NoSuchBallot
ifca_id
does not identify a ballot. -
VotingNotStarted
if the voting period hasn't commenced yet. -
VotingAlreadyEnded
if the voting period has ended. -
WrongVoteCount
if the number of choices in the ballot does not matchvotes.len()
. -
NoSuchCA
ifca_id
does not identify an existing CA. -
NotTargetedByCA
if the CA does not targetorigin
's DID. -
InsufficientVotes
if the voting power used for any motion invotes
exceedsorigin
's DID's voting power.
-
externalAgents
abdicate(ticker: Ticker
)
-
interface:
api.tx.externalAgents.abdicate
-
summary: Abdicate agentship for
ticker
.Arguments
ticker
of which the caller is an agent.
Errors
-
NotAnAgent
if the caller is not an agent ofticker
. -
RemovingLastFullAgent
if the caller is the last full agent.
Permissions
- Asset
acceptBecomeAgent(auth_id: u64
)
-
interface:
api.tx.externalAgents.acceptBecomeAgent
-
summary: Accept an authorization by an agent "Alice" who issued
auth_id
to also become an agent of the ticker Alice specified.Arguments
auth_id
identifying the authorization to accept.
Errors
-
AuthorizationError::Invalid
ifauth_id
does not exist for the given caller. -
AuthorizationError::Expired
ifauth_id
is for an auth that has expired. -
AuthorizationError::BadType
ifauth_id
was not for aBecomeAgent
auth type. -
UnauthorizedAgent
if "Alice" is not permissioned to provide the auth. -
NoSuchAG
if the group referred to a custom that does not exist. -
AlreadyAnAgent
if the caller is already an agent of the ticker.
Permissions
- Agent
changeGroup(ticker: Ticker
, agent: IdentityId
, group: AgentGroup
)
-
interface:
api.tx.externalAgents.changeGroup
-
summary: Change the agent group that
agent
belongs to inticker
.Arguments
-
ticker
that has theagent
. -
agent
ofticker
to change the group for. -
group
thatagent
will belong to inticker
.
Errors
-
UnauthorizedAgent
iforigin
was not authorized as an agent to call this. -
NoSuchAG
ifid
does not identify a custom AG. -
NotAnAgent
ifagent
is not an agent ofticker
. -
RemovingLastFullAgent
ifagent
was aFull
one and is being demoted.
Permissions
-
Asset
-
Agent
-
createGroup(ticker: Ticker
, perms: ExtrinsicPermissions
)
-
interface:
api.tx.externalAgents.createGroup
-
summary: Creates a custom agent group (AG) for the given
ticker
.The AG will have the permissions as given by
perms
. This new AG is then assignedid = AGIdSequence::get() + 1
as itsAGId
, which you can use asAgentGroup::Custom(id)
when adding agents forticker
.Arguments
-
ticker
to add the custom group for. -
perms
that the new AG will have.
Errors
-
UnauthorizedAgent
iforigin
was not authorized as an agent to call this. -
TooLong
ifperms
had some string or list length that was too long. -
CounterOverflow
ifAGIdSequence::get() + 1
would exceedu32::MAX
.
Permissions
-
Asset
-
Agent
-
removeAgent(ticker: Ticker
, agent: IdentityId
)
-
interface:
api.tx.externalAgents.removeAgent
-
summary: Remove the given
agent
fromticker
.Arguments
-
ticker
that has theagent
to remove. -
agent
ofticker
to remove.
Errors
-
UnauthorizedAgent
iforigin
was not authorized as an agent to call this. -
NotAnAgent
ifagent
is not an agent ofticker
. -
RemovingLastFullAgent
ifagent
is the last full one.
Permissions
-
Asset
-
Agent
-
setGroupPermissions(ticker: Ticker
, id: AGId
, perms: ExtrinsicPermissions
)
-
interface:
api.tx.externalAgents.setGroupPermissions
-
summary: Updates the permissions of the custom AG identified by
id
, for the giventicker
.Arguments
-
ticker
the custom AG belongs to. -
id
for the custom AG withinticker
. -
perms
to update the custom AG to.
Errors
-
UnauthorizedAgent
iforigin
was not authorized as an agent to call this. -
TooLong
ifperms
had some string or list length that was too long. -
NoSuchAG
ifid
does not identify a custom AG.
Permissions
-
Asset
-
Agent
-
grandpa
noteStalled(delay: BlockNumber
, best_finalized_block_number: BlockNumber
)
- interface:
api.tx.grandpa.noteStalled
- summary: Note that the current authority set of the GRANDPA finality gadget has stalled. This will trigger a forced authority set change at the beginning of the next session, to be enacted
delay
blocks after that. The delay should be high enough to safely assume that the block signalling the forced change will not be re-orged (e.g. 1000 blocks). The GRANDPA voters will start the new authority set using the given finalized block as base. Only callable by root.
reportEquivocation(equivocation_proof: GrandpaEquivocationProof
, key_owner_proof: KeyOwnerProof
)
- interface:
api.tx.grandpa.reportEquivocation
- summary: Report voter equivocation/misbehavior. This method will verify the equivocation proof and validate the given key ownership proof against the extracted offender. If both are valid, the offence will be reported.
reportEquivocationUnsigned(equivocation_proof: GrandpaEquivocationProof
, key_owner_proof: KeyOwnerProof
)
-
interface:
api.tx.grandpa.reportEquivocationUnsigned
-
summary: Report voter equivocation/misbehavior. This method will verify the equivocation proof and validate the given key ownership proof against the extracted offender. If both are valid, the offence will be reported.
This extrinsic must be called unsigned and it is expected that only block authors will call it (validated in
ValidateUnsigned
), as such if the block author is defined it will be defined as the equivocation reporter.
identity
acceptPrimaryKey(rotation_auth_id: u64
, optional_cdd_auth_id: Option<u64>
)
-
interface:
api.tx.identity.acceptPrimaryKey
-
summary: Call this with the new primary key. By invoking this method, caller accepts authorization to become the new primary key of the issuing identity. If a CDD service provider approved this change (or this is not required), primary key of the DID is updated.
The caller (new primary key) must be either a secondary key of the issuing identity, or unlinked to any identity.
Differs from rotate_primary_key_to_secondary in that it will unlink the old primary key instead of leaving it as a secondary key.
Arguments
-
owner_auth_id
Authorization from the owner who initiated the change -
cdd_auth_id
Authorization from a CDD service provider
-
addAuthorization(target: Signatory
, data: AuthorizationData
, expiry: Option<Moment>
)
- interface:
api.tx.identity.addAuthorization
- summary: Adds an authorization.
addClaim(target: IdentityId
, claim: Claim
, expiry: Option<Moment>
)
-
interface:
api.tx.identity.addClaim
-
summary: Adds a new claim record or edits an existing one.
Only called by did_issuer's secondary key.
addInvestorUniquenessClaim(target: IdentityId
, claim: Claim
, proof: InvestorZKProofData
, expiry: Option<Moment>
)
-
interface:
api.tx.identity.addInvestorUniquenessClaim
-
summary: Add
Claim::InvestorUniqueness
claim for a given target identity.Arguments
-
origin - Who provides the claim to the user? In this case, it's the user's account id as the user provides.
-
target -
IdentityId
to which the claim gets assigned. -
claim -
InvestorUniqueness
claim details. -
proof - To validate the self attestation.
-
expiry - Expiry of claim.
Errors
-
DidMustAlreadyExist
Target should already been a part of the ecosystem. -
ClaimVariantNotAllowed
When origin trying to pass claim variant other thanInvestorUniqueness
. -
ConfidentialScopeClaimNotAllowed
When issuer is different from target or CDD_ID is invalid for given user. -
`InvalidScopeClaim When proof is invalid.
-
addInvestorUniquenessClaimV2(target: IdentityId
, scope: Scope
, claim: Claim
, proof: ScopeClaimProof
, expiry: Option<Moment>
)
- interface:
api.tx.identity.addInvestorUniquenessClaimV2
addSecondaryKeysWithAuthorization(additional_keys: Vec<SecondaryKeyWithAuth>
, expires_at: Moment
)
-
interface:
api.tx.identity.addSecondaryKeysWithAuthorization
-
summary: It adds secondary keys to target identity
id
. Keys are directly added to identity because each of them has an authorization.Arguments:
-
origin
Primary key ofid
identity. -
id
Identity where new secondary keys will be added. -
additional_keys
New secondary items (and their authorization data) to add to target identity.
Failure
-
It can only called by primary key owner.
-
Keys should be able to linked to any identity.
-
cddRegisterDid(target_account: AccountId
, secondary_keys: Vec<SecondaryKey>
)
-
interface:
api.tx.identity.cddRegisterDid
-
summary: Register
target_account
with a new Identity.Failure
-
origin
has to be a active CDD provider. Inactive CDD providers cannot add new claims. -
target_account
(primary key of the new Identity) can be linked to just one and only one identity. -
External secondary keys can be linked to just one identity.
Weight
7_000_000_000 + 600_000 * secondary_keys.len()
-
changeCddRequirementForMkRotation(auth_required: bool
)
-
interface:
api.tx.identity.changeCddRequirementForMkRotation
-
summary: Set if CDD authorization is required for updating primary key of an identity. Callable via root (governance)
Arguments
auth_required
CDD Authorization required or not
freezeSecondaryKeys()
-
interface:
api.tx.identity.freezeSecondaryKeys
-
summary: It disables all secondary keys at
did
identity.Errors
gcAddCddClaim(target: IdentityId
)
- interface:
api.tx.identity.gcAddCddClaim
- summary: Assuming this is executed by the GC voting majority, adds a new cdd claim record.
gcRevokeCddClaim(target: IdentityId
)
- interface:
api.tx.identity.gcRevokeCddClaim
- summary: Assuming this is executed by the GC voting majority, removes an existing cdd claim record.
invalidateCddClaims(cdd: IdentityId
, disable_from: Moment
, expiry: Option<Moment>
)
-
interface:
api.tx.identity.invalidateCddClaims
-
summary: Invalidates any claim generated by
cdd
fromdisable_from
timestamps.You can also define an expiration time, which will invalidate all claims generated by that
cdd
and remove it as CDD member group.
joinIdentityAsKey(auth_id: u64
)
- interface:
api.tx.identity.joinIdentityAsKey
- summary: Join an identity as a secondary key.
leaveIdentityAsKey()
- interface:
api.tx.identity.leaveIdentityAsKey
- summary: Leave the secondary key's identity.
legacySetPermissionToSigner(signer: Signatory
, permissions: LegacyPermissions
)
- interface:
api.tx.identity.legacySetPermissionToSigner
- summary: This function is a workaround for https://github.com/polkadot-js/apps/issues/3632 It sets permissions for an specific
target_key
key. Only the primary key of an identity is able to set secondary key permissions.
removeAuthorization(target: Signatory
, auth_id: u64
, _auth_issuer_pays: bool
)
- interface:
api.tx.identity.removeAuthorization
- summary: Removes an authorization. _auth_issuer_pays determines whether the issuer of the authorisation pays the transaction fee
removeSecondaryKeys(signers_to_remove: Vec<Signatory>
)
-
interface:
api.tx.identity.removeSecondaryKeys
-
summary: Removes specified secondary keys of a DID if present.
Failure It can only called by primary key owner.
Weight
950_000_000 + 60_000 * signers_to_remove.len()
revokeClaim(target: IdentityId
, claim: Claim
)
- interface:
api.tx.identity.revokeClaim
- summary: Marks the specified claim as revoked.
revokeClaimByIndex(target: IdentityId
, claim_type: ClaimType
, scope: Option<Scope>
)
-
interface:
api.tx.identity.revokeClaimByIndex
-
summary: Revokes a specific claim using its Claim Unique Index composed by
target
,claim_type
, andscope
.Please note that
origin
must be the issuer of the target claim.Errors
TargetHasNonZeroBalanceAtScopeId
when you try to revoke aInvestorUniqueness*
claim, andtarget
identity still have any balance on the givenscope
.
rotatePrimaryKeyToSecondary(auth_id: u64
, optional_cdd_auth_id: Option<u64>
)
-
interface:
api.tx.identity.rotatePrimaryKeyToSecondary
-
summary: Call this with the new primary key. By invoking this method, caller accepts authorization to become the new primary key of the issuing identity. If a CDD service provider approved this change, (or this is not required), primary key of the DID is updated.
The caller (new primary key) must be either a secondary key of the issuing identity, or unlinked to any identity.
Differs from accept_primary_key in that it will leave the old primary key as a secondary key with the permissions specified in the corresponding RotatePrimaryKeyToSecondary authorization instead of unlinking the old primary key.
Arguments
-
owner_auth_id
Authorization from the owner who initiated the change -
cdd_auth_id
Authorization from a CDD service provider
-
setPermissionToSigner(signer: Signatory
, perms: Permissions
)
-
interface:
api.tx.identity.setPermissionToSigner
-
summary: Sets permissions for an specific
target_key
key.Only the primary key of an identity is able to set secondary key permissions.
unfreezeSecondaryKeys()
- interface:
api.tx.identity.unfreezeSecondaryKeys
- summary: Re-enables all secondary keys of the caller's identity.
imOnline
heartbeat(heartbeat: Heartbeat
, _signature: Signature
)
- interface:
api.tx.imOnline.heartbeat
- summary:
indices
claim(index: AccountIndex
)
-
interface:
api.tx.indices.claim
-
summary: Assign an previously unassigned index.
Payment:
Deposit
is reserved from the sender account.The dispatch origin for this call must be Signed.
index
: the index to be claimed. This must not be in use.
Emits
IndexAssigned
if successful.
forceTransfer(new: AccountId
, index: AccountIndex
, freeze: bool
)
-
interface:
api.tx.indices.forceTransfer
-
summary: Force an index to an account. This doesn't require a deposit. If the index is already held, then any deposit is reimbursed to its current owner.
The dispatch origin for this call must be Root.
-
index
: the index to be (re-)assigned. -
new
: the new owner of the index. This function is a no-op if it is equal to sender. -
freeze
: if set totrue
, will freeze the index so it cannot be transferred.
Emits
IndexAssigned
if successful. -
free(index: AccountIndex
)
-
interface:
api.tx.indices.free
-
summary: Free up an index owned by the sender.
Payment: Any previous deposit placed for the index is unreserved in the sender account.
The dispatch origin for this call must be Signed and the sender must own the index.
index
: the index to be freed. This must be owned by the sender.
Emits
IndexFreed
if successful.
freeze(index: AccountIndex
)
-
interface:
api.tx.indices.freeze
-
summary: Freeze an index so it will always point to the sender account. This consumes the deposit.
The dispatch origin for this call must be Signed and the signing account must have a non-frozen account
index
.index
: the index to be frozen in place.
Emits
IndexFrozen
if successful.
transfer(new: AccountId
, index: AccountIndex
)
-
interface:
api.tx.indices.transfer
-
summary: Assign an index already owned by the sender to another account. The balance reservation is effectively transferred to the new account.
The dispatch origin for this call must be Signed.
-
index
: the index to be re-assigned. This must be owned by the sender. -
new
: the new owner of the index. This function is a no-op if it is equal to sender.
Emits
IndexAssigned
if successful. -
multiSig
acceptMultisigSignerAsIdentity(auth_id: u64
)
-
interface:
api.tx.multiSig.acceptMultisigSignerAsIdentity
-
summary: Accepts a multisig signer authorization given to signer's identity.
Arguments
auth_id
- Auth id of the authorization.
acceptMultisigSignerAsKey(auth_id: u64
)
-
interface:
api.tx.multiSig.acceptMultisigSignerAsKey
-
summary: Accepts a multisig signer authorization given to signer's key (AccountId).
Arguments
auth_id
- Auth id of the authorization.
addMultisigSigner(signer: Signatory
)
-
interface:
api.tx.multiSig.addMultisigSigner
-
summary: Adds a signer to the multisig. This must be called by the multisig itself.
Arguments
signer
- Signatory to add.
addMultisigSignersViaCreator(multisig: AccountId
, signers: Vec<Signatory>
)
-
interface:
api.tx.multiSig.addMultisigSignersViaCreator
-
summary: Adds a signer to the multisig. This must be called by the creator identity of the multisig.
Arguments
-
multisig
- Address of the multi sig -
signers
- Signatories to add.
Weight
900_000_000 + 3_000_000 * signers.len()
-
approveAsIdentity(multisig: AccountId
, proposal_id: u64
)
-
interface:
api.tx.multiSig.approveAsIdentity
-
summary: Approves a multisig proposal using the caller's identity.
Arguments
-
multisig
- MultiSig address. -
proposal_id
- Proposal id to approve. If quorum is reached, the proposal will be immediately executed.
-
approveAsKey(multisig: AccountId
, proposal_id: u64
)
-
interface:
api.tx.multiSig.approveAsKey
-
summary: Approves a multisig proposal using the caller's secondary key (
AccountId
).Arguments
-
multisig
- MultiSig address. -
proposal_id
- Proposal id to approve. If quorum is reached, the proposal will be immediately executed.
-
changeSigsRequired(sigs_required: u64
)
-
interface:
api.tx.multiSig.changeSigsRequired
-
summary: Changes the number of signatures required by a multisig. This must be called by the multisig itself.
Arguments
sigs_required
- New number of required signatures.
createMultisig(signers: Vec<Signatory>
, sigs_required: u64
)
-
interface:
api.tx.multiSig.createMultisig
-
summary: Creates a multisig
Arguments
-
signers
- Signers of the multisig (They need to accept authorization before they are actually added). -
sigs_required
- Number of sigs required to process a multi-sig tx.
-
createOrApproveProposalAsIdentity(multisig: AccountId
, proposal: Proposal
, expiry: Option<Moment>
, auto_close: bool
)
-
interface:
api.tx.multiSig.createOrApproveProposalAsIdentity
-
summary: Creates a multisig proposal if it hasn't been created or approves it if it has.
Arguments
-
multisig
- MultiSig address. -
proposal
- Proposal to be voted on. -
expiry
- Optional proposal expiry time. -
auto_close
- Close proposal on receiving enough reject votes. If this is 1 out ofm
multisig, the proposal will be immediately executed.
-
createOrApproveProposalAsKey(multisig: AccountId
, proposal: Proposal
, expiry: Option<Moment>
, auto_close: bool
)
-
interface:
api.tx.multiSig.createOrApproveProposalAsKey
-
summary: Creates a multisig proposal if it hasn't been created or approves it if it has.
Arguments
-
multisig
- MultiSig address. -
proposal
- Proposal to be voted on. -
expiry
- Optional proposal expiry time. -
auto_close
- Close proposal on receiving enough reject votes. If this is 1 out ofm
multisig, the proposal will be immediately executed.
-
createProposalAsIdentity(multisig: AccountId
, proposal: Proposal
, expiry: Option<Moment>
, auto_close: bool
)
-
interface:
api.tx.multiSig.createProposalAsIdentity
-
summary: Creates a multisig proposal
Arguments
-
multisig
- MultiSig address. -
proposal
- Proposal to be voted on. -
expiry
- Optional proposal expiry time. -
auto_close
- Close proposal on receiving enough reject votes. If this is 1 out ofm
multisig, the proposal will be immediately executed.
-
createProposalAsKey(multisig: AccountId
, proposal: Proposal
, expiry: Option<Moment>
, auto_close: bool
)
-
interface:
api.tx.multiSig.createProposalAsKey
-
summary: Creates a multisig proposal
Arguments
-
multisig
- MultiSig address. -
proposal
- Proposal to be voted on. -
expiry
- Optional proposal expiry time. -
auto_close
- Close proposal on receiving enough reject votes. If this is 1 out ofm
multisig, the proposal will be immediately executed.
-
executeScheduledProposal(multisig: AccountId
, proposal_id: u64
, multisig_did: IdentityId
, _proposal_weight: Weight
)
- interface:
api.tx.multiSig.executeScheduledProposal
- summary: Root callable extrinsic, used as an internal call for executing scheduled multisig proposal.
makeMultisigPrimary(multisig: AccountId
, optional_cdd_auth_id: Option<u64>
)
-
interface:
api.tx.multiSig.makeMultisigPrimary
-
summary: Adds a multisig as the primary key of the current did if the current DID is the creator of the multisig.
Arguments
multi_sig
- multi sig address
makeMultisigSigner(multisig: AccountId
)
-
interface:
api.tx.multiSig.makeMultisigSigner
-
summary: Adds a multisig as a signer of current did if the current did is the creator of the multisig.
Arguments
multisig
- multi sig address
rejectAsIdentity(multisig: AccountId
, proposal_id: u64
)
-
interface:
api.tx.multiSig.rejectAsIdentity
-
summary: Rejects a multisig proposal using the caller's identity.
Arguments
-
multisig
- MultiSig address. -
proposal_id
- Proposal id to reject. If quorum is reached, the proposal will be immediately executed.
-
rejectAsKey(multisig: AccountId
, proposal_id: u64
)
-
interface:
api.tx.multiSig.rejectAsKey
-
summary: Rejects a multisig proposal using the caller's secondary key (
AccountId
).Arguments
-
multisig
- MultiSig address. -
proposal_id
- Proposal id to reject. If quorum is reached, the proposal will be immediately executed.
-
removeMultisigSigner(signer: Signatory
)
-
interface:
api.tx.multiSig.removeMultisigSigner
-
summary: Removes a signer from the multisig. This must be called by the multisig itself.
Arguments
signer
- Signatory to remove.
removeMultisigSignersViaCreator(multisig: AccountId
, signers: Vec<Signatory>
)
-
interface:
api.tx.multiSig.removeMultisigSignersViaCreator
-
summary: Removes a signer from the multisig. This must be called by the creator identity of the multisig.
Arguments
-
multisig
- Address of the multisig. -
signers
- Signatories to remove.
Weight
900_000_000 + 3_000_000 * signers.len()
-
offences
pips
approveCommitteeProposal(id: PipId
)
-
interface:
api.tx.pips.approveCommitteeProposal
-
summary: Approves the pending committee PIP given by the
id
.Errors
-
BadOrigin
unless a GC voting majority executes this function. -
NoSuchProposal
if the PIP withid
doesn't exist. -
IncorrectProposalState
if the proposal isn't pending. -
NotByCommittee
if the proposal isn't by a committee.
-
clearSnapshot()
-
interface:
api.tx.pips.clearSnapshot
-
summary: Clears the snapshot and emits the event
SnapshotCleared
.Errors
NotACommitteeMember
- triggered when a non-GC-member executes the function.
enactSnapshotResults(results: Vec<(PipId,SnapshotResult)>
)
-
interface:
api.tx.pips.enactSnapshotResults
-
summary: Enacts
results
for the PIPs in the snapshot queue. The snapshot will be available for further enactments until it is cleared.The
results
are encoded a list of(id, result)
whereresult
is applied toid
. Note that the snapshot priority queue is encoded with the lowest priority first. soresults = [(id, Approve)]
will approveSnapshotQueue[SnapshotQueue.len() - 1]
.Errors
-
BadOrigin
- unless a GC voting majority executes this function. -
CannotSkipPip
- a given PIP has already been skipped too many times. -
SnapshotResultTooLarge
- on len(results) > len(snapshot_queue). -
SnapshotIdMismatch
- if:text ∃ (i ∈ 0..SnapshotQueue.len()). results[i].0 ≠SnapshotQueue[SnapshotQueue.len() - i].id
This is protects against clearing queue while GC is voting.
-
executeScheduledPip(id: PipId
)
- interface:
api.tx.pips.executeScheduledPip
- summary: Internal dispatchable that handles execution of a PIP.
expireScheduledPip(did: IdentityId
, id: PipId
)
- interface:
api.tx.pips.expireScheduledPip
- summary: Internal dispatchable that handles expiration of a PIP.
propose(proposal: Proposal
, deposit: Balance
, url: Option<Url>
, description: Option<PipDescription>
)
-
interface:
api.tx.pips.propose
-
summary: A network member creates a PIP by submitting a dispatchable which changes the network in someway. A minimum deposit is required to open a new proposal.
Arguments
-
proposer
is either a signing key or committee. Used to understand whether this is a committee proposal and verified againstorigin
. -
proposal
a dispatchable call -
deposit
minimum deposit value, which is ignored ifproposer
is a committee. -
url
a link to a website for proposal discussion
-
pruneProposal(id: PipId
)
-
interface:
api.tx.pips.pruneProposal
-
summary: Prune the PIP given by the
id
, refunding any funds not already refunded. The PIP may not be activeThis function is intended for storage garbage collection purposes.
Errors
-
BadOrigin
unless a GC voting majority executes this function. -
NoSuchProposal
if the PIP withid
doesn't exist. -
IncorrectProposalState
if the proposal is active.
-
rejectProposal(id: PipId
)
-
interface:
api.tx.pips.rejectProposal
-
summary: Rejects the PIP given by the
id
, refunding any bonded funds, assuming it hasn't been cancelled or executed. Note that proposals scheduled-for-execution can also be rejected.Errors
-
BadOrigin
unless a GC voting majority executes this function. -
NoSuchProposal
if the PIP withid
doesn't exist. -
IncorrectProposalState
if the proposal was cancelled or executed.
-
rescheduleExecution(id: PipId
, until: Option<BlockNumber>
)
-
interface:
api.tx.pips.rescheduleExecution
-
summary: Updates the execution schedule of the PIP given by
id
.Arguments
until
defines the future block where the enactment period will finished.None
value means that enactment period is going to finish in the next block.
Errors
-
RescheduleNotByReleaseCoordinator
unless triggered by release coordinator. -
IncorrectProposalState
unless the proposal was in a scheduled state.
setActivePipLimit(limit: u32
)
-
interface:
api.tx.pips.setActivePipLimit
-
summary: Change the maximum number of active PIPs before community members cannot propose anything. Can only be called by root.
Arguments
limit
of concurrent active PIPs.
setDefaultEnactmentPeriod(duration: BlockNumber
)
-
interface:
api.tx.pips.setDefaultEnactmentPeriod
-
summary: Change the default enactment period. Can only be called by root.
Arguments
duration
the new default enactment period it takes for a scheduled PIP to be executed.
setMaxPipSkipCount(max: SkippedCount
)
-
interface:
api.tx.pips.setMaxPipSkipCount
-
summary: Change the maximum skip count (
max_pip_skip_count
). Can only be called by root.Arguments
max
skips before a PIP cannot be skipped by GC anymore.
setMinProposalDeposit(deposit: Balance
)
-
interface:
api.tx.pips.setMinProposalDeposit
-
summary: Change the minimum proposal deposit amount required to start a proposal. Can only be called by root.
Arguments
deposit
the new min deposit required to start a proposal
setPendingPipExpiry(expiry: MaybeBlock
)
-
interface:
api.tx.pips.setPendingPipExpiry
-
summary: Change the amount of blocks after which a pending PIP is expired. If
expiry
isNone
then PIPs never expire. Can only be called by root.Arguments
expiry
the block-time it takes for a still-Pending
PIP to expire.
setPruneHistoricalPips(prune: bool
)
-
interface:
api.tx.pips.setPruneHistoricalPips
-
summary: Change whether completed PIPs are pruned. Can only be called by root.
Arguments
prune
specifies whether completed PIPs should be pruned.
snapshot()
-
interface:
api.tx.pips.snapshot
-
summary: Takes a new snapshot of the current list of active && pending PIPs. The PIPs are then sorted into a priority queue based on each PIP's weight.
Errors
NotACommitteeMember
- triggered when a non-GC-member executes the function.
vote(id: PipId
, aye_or_nay: bool
, deposit: Balance
)
-
interface:
api.tx.pips.vote
-
summary: Vote either in favor (
aye_or_nay
== true) or against a PIP withid
. The "convinction" or strength of the vote is given bydeposit
, which is reserved.Note that
vote
is not additive. That is,vote(id, true, 50)
followed byvote(id, true, 40)
will first reserve50
and then refund50 - 10
, ending up with40
in deposit. To add atop of existing votes, you'll needexisting_deposit + addition
.Arguments
-
id
, proposal id -
aye_or_nay
, a bool representing for or against vote -
deposit
, the "conviction" with which the vote is made.
Errors
-
NoSuchProposal
ifid
doesn't reference a valid PIP. -
NotFromCommunity
if proposal was made by a committee. -
IncorrectProposalState
if PIP isn't pending. -
InsufficientDeposit
iforigin
cannot reservedeposit - old_deposit
.
-
polymeshCommittee
setExpiresAfter(expiry: MaybeBlock
)
-
interface:
api.tx.polymeshCommittee.setExpiresAfter
-
summary: Changes the time after which a proposal expires.
Arguments
expiry
- The new expiry time.
setReleaseCoordinator(id: IdentityId
)
-
interface:
api.tx.polymeshCommittee.setReleaseCoordinator
-
summary: Changes the release coordinator.
Arguments
id
- The DID of the new release coordinator.
Errors
NotAMember
, If the new coordinatorid
is not part of the committee.
setVoteThreshold(n: u32
, d: u32
)
-
interface:
api.tx.polymeshCommittee.setVoteThreshold
-
summary: Change the vote threshold the determines the winning proposal. For e.g., for a simple majority use (1, 2) which represents the in-equation ">= 1/2".
Arguments
-
n
- Numerator of the fraction representing vote threshold. -
d
- Denominator of the fraction representing vote threshold.
-
vote(proposal: Hash
, index: ProposalIndex
, approve: bool
)
-
interface:
api.tx.polymeshCommittee.vote
-
summary: Votes
approve
ingly (or not, iffalse
) on an existingproposal
given by its hash,index
.Arguments
-
proposal
- A hash of the proposal to be voted on. -
index
- The proposal index. -
approve
- Iftrue
than this is afor
vote, andagainst
otherwise.
Errors
NotAMember
, if theorigin
is not a member of this committee.
-
voteOrPropose(approve: bool
, call: Call
)
-
interface:
api.tx.polymeshCommittee.voteOrPropose
-
summary: Proposes to the committee that
call
should be executed in its name. Alternatively, if the hash ofcall
has already been recorded, i.e., already proposed, then this call counts as a vote, i.e., as ifvote_by_hash
was called.Weight
The weight of this dispatchable is that of
call
as well as the complexity for recording the vote itself.Arguments
-
approve
- is this an approving vote? If the proposal doesn't exist, passingfalse
will result in errorFirstVoteReject
. -
call
- the call to propose for execution.
Errors
-
FirstVoteReject
, ifcall
hasn't been proposed andapprove == false
. -
NotAMember
, if theorigin
is not a member of this committee.
-
portfolio
acceptPortfolioCustody(auth_id: u64
)
- interface:
api.tx.portfolio.acceptPortfolioCustody
createPortfolio(name: PortfolioName
)
- interface:
api.tx.portfolio.createPortfolio
- summary: Creates a portfolio with the given
name
.
deletePortfolio(num: PortfolioNumber
)
-
interface:
api.tx.portfolio.deletePortfolio
-
summary: Deletes a user portfolio. A portfolio can be deleted only if it has no funds.
Errors
-
PortfolioDoesNotExist
ifnum
doesn't reference a valid portfolio. -
PortfolioNotEmpty
if the portfolio still holds any asset
Permissions
- Portfolio
-
movePortfolioFunds(from: PortfolioId
, to: PortfolioId
, items: Vec<MovePortfolioItem>
)
-
interface:
api.tx.portfolio.movePortfolioFunds
-
summary: Moves a token amount from one portfolio of an identity to another portfolio of the same identity. Must be called by the custodian of the sender. Funds from deleted portfolios can also be recovered via this method.
A short memo can be added to to each token amount moved.
Errors
-
PortfolioDoesNotExist
if one or both of the portfolios reference an invalid portfolio. -
destination_is_same_portfolio
if both sender and receiver portfolio are the same -
DifferentIdentityPortfolios
if the sender and receiver portfolios belong to different identities -
UnauthorizedCustodian
if the caller is not the custodian of the from portfolio -
InsufficientPortfolioBalance
if the sender does not have enough free balance
Permissions
- Portfolio
-
quitPortfolioCustody(pid: PortfolioId
)
-
interface:
api.tx.portfolio.quitPortfolioCustody
-
summary: When called by the custodian of
portfolio_id
, allows returning the custody of the portfolio to the portfolio owner unilaterally.Errors
UnauthorizedCustodian
if the caller is not the current custodian ofportfolio_id
.
Permissions
- Portfolio
renamePortfolio(num: PortfolioNumber
, to_name: PortfolioName
)
-
interface:
api.tx.portfolio.renamePortfolio
-
summary: Renames a non-default portfolio.
Errors
PortfolioDoesNotExist
ifnum
doesn't reference a valid portfolio.
Permissions
- Portfolio
protocolFee
changeBaseFee(op: ProtocolOp
, base_fee: Balance
)
-
interface:
api.tx.protocolFee.changeBaseFee
-
summary: Changes the a base fee for the root origin.
Errors
BadOrigin
- Only root allowed.
changeCoefficient(coefficient: PosRatio
)
-
interface:
api.tx.protocolFee.changeCoefficient
-
summary: Changes the fee coefficient for the root origin.
Errors
BadOrigin
- Only root allowed.
randomnessCollectiveFlip
relayer
acceptPayingKey(auth_id: u64
)
-
interface:
api.tx.relayer.acceptPayingKey
-
summary: Accepts a
paying_key
authorization.Arguments
auth_id
the authorization id to accept apaying_key
.
Errors
-
AuthorizationError::Invalid
ifauth_id
does not exist for the given caller. -
AuthorizationError::Expired
ifauth_id
the authorization has expired. -
AuthorizationError::BadType
ifauth_id
was not aAddRelayerPayingKey
authorization. -
NotAuthorizedForUserKey
iforigin
is not authorized to accept the authorization for theuser_key
. -
NotAuthorizedForPayingKey
if the authorization was created an identity different from thepaying_key
's identity. -
UserKeyCddMissing
if theuser_key
is not attached to a CDD'd identity. -
PayingKeyCddMissing
if thepaying_key
is not attached to a CDD'd identity. -
UnauthorizedCaller
iforigin
is not authorized to call this extrinsic.
decreasePolyxLimit(user_key: AccountId
, amount: Balance
)
-
interface:
api.tx.relayer.decreasePolyxLimit
-
summary: Decrease the available POLYX for a
user_key
.Arguments
-
user_key
the user key of the subsidy to update the available POLYX. -
amount
the amount of POLYX to remove from the subsidy ofuser_key
.
Errors
-
NoPayingKey
if theuser_key
doesn't have apaying_key
. -
NotPayingKey
iforigin
doesn't match the currentpaying_key
. -
UnauthorizedCaller
iforigin
is not authorized to call this extrinsic. -
Overlow
if the subsidy has less thenamount
POLYX remaining.
-
increasePolyxLimit(user_key: AccountId
, amount: Balance
)
-
interface:
api.tx.relayer.increasePolyxLimit
-
summary: Increase the available POLYX for a
user_key
.Arguments
-
user_key
the user key of the subsidy to update the available POLYX. -
amount
the amount of POLYX to add to the subsidy ofuser_key
.
Errors
-
NoPayingKey
if theuser_key
doesn't have apaying_key
. -
NotPayingKey
iforigin
doesn't match the currentpaying_key
. -
UnauthorizedCaller
iforigin
is not authorized to call this extrinsic. -
Overlow
if the subsidy's remaining POLYX would have overflowedu128::MAX
.
-
removePayingKey(user_key: AccountId
, paying_key: AccountId
)
-
interface:
api.tx.relayer.removePayingKey
-
summary: Removes the
paying_key
from auser_key
.Arguments
-
user_key
the user key to remove the subsidy from. -
paying_key
the paying key that was subsidising theuser_key
.
Errors
-
NotAuthorizedForUserKey
iforigin
is not authorized to remove the subsidy for theuser_key
. -
NoPayingKey
if theuser_key
doesn't have apaying_key
. -
NotPayingKey
if thepaying_key
doesn't match the currentpaying_key
. -
UnauthorizedCaller
iforigin
is not authorized to call this extrinsic.
-
setPayingKey(user_key: AccountId
, polyx_limit: Balance
)
-
interface:
api.tx.relayer.setPayingKey
-
summary: Creates an authorization to allow
user_key
to accept the caller (origin == paying_key
) as their subsidiser.Arguments
-
user_key
the user key to subsidise. -
polyx_limit
the initial POLYX limit for this subsidy.
Errors
UnauthorizedCaller
iforigin
is not authorized to call this extrinsic.
-
updatePolyxLimit(user_key: AccountId
, polyx_limit: Balance
)
-
interface:
api.tx.relayer.updatePolyxLimit
-
summary: Updates the available POLYX for a
user_key
.Arguments
-
user_key
the user key of the subsidy to update the available POLYX. -
polyx_limit
the amount of POLYX available for subsidising theuser_key
.
Errors
-
NoPayingKey
if theuser_key
doesn't have apaying_key
. -
NotPayingKey
iforigin
doesn't match the currentpaying_key
. -
UnauthorizedCaller
iforigin
is not authorized to call this extrinsic.
-
rewards
claimItnReward(reward_address: AccountId
, itn_address: AccountId
, signature: OffChainSignature
)
-
interface:
api.tx.rewards.claimItnReward
-
summary: Claim an ITN reward.
Arguments
-
itn_address
specifying the awarded address on ITN. -
signature
authenticating the claim to the reward. The signature should containreward_address
followed by the suffix"claim_itn_reward"
, and must have been signed byitn_address
.
Errors
-
InsufficientBalance
- Itn rewards has insufficient funds to issue the reward. -
InvalidSignature
-signature
had an invalid signer or invalid message. -
ItnRewardAlreadyClaimed
- Reward issued to theitn_address
has already been claimed. -
UnknownItnAddress
-itn_address
is not in the rewards table and has no reward to be claimed.
-
setItnRewardStatus(itn_address: AccountId
, status: ItnRewardStatus
)
- interface:
api.tx.rewards.setItnRewardStatus
scheduler
cancel(when: BlockNumber
, index: u32
)
- interface:
api.tx.scheduler.cancel
- summary: Cancel an anonymously scheduled task.
cancelNamed(id: Bytes
)
- interface:
api.tx.scheduler.cancelNamed
- summary: Cancel a named scheduled task.
schedule(when: BlockNumber
, maybe_periodic: Option<Period>
, priority: Priority
, call: Call
)
- interface:
api.tx.scheduler.schedule
- summary: Anonymously schedule a task.
scheduleAfter(after: BlockNumber
, maybe_periodic: Option<Period>
, priority: Priority
, call: Call
)
- interface:
api.tx.scheduler.scheduleAfter
- summary: Anonymously schedule a task after a delay.
scheduleNamed(id: Bytes
, when: BlockNumber
, maybe_periodic: Option<Period>
, priority: Priority
, call: Call
)
- interface:
api.tx.scheduler.scheduleNamed
- summary: Schedule a named task.
scheduleNamedAfter(id: Bytes
, after: BlockNumber
, maybe_periodic: Option<Period>
, priority: Priority
, call: Call
)
- interface:
api.tx.scheduler.scheduleNamedAfter
- summary: Schedule a named task after a delay.
session
purgeKeys()
-
interface:
api.tx.session.purgeKeys
-
summary: Removes any session key(s) of the function caller. This doesn't take effect until the next session.
The dispatch origin of this function must be signed.
setKeys(keys: Keys
, proof: Bytes
)
-
interface:
api.tx.session.setKeys
-
summary: Sets the session key(s) of the function caller to
keys
. Allows an account to set its session key prior to becoming a validator. This doesn't take effect until the next session.The dispatch origin of this function must be signed.
settlement
addAndAffirmInstruction(venue_id: VenueId
, settlement_type: SettlementType
, trade_date: Option<Moment>
, value_date: Option<Moment>
, legs: Vec<Leg>
, portfolios: Vec<PortfolioId>
)
-
interface:
api.tx.settlement.addAndAffirmInstruction
-
summary: Adds and affirms a new instruction.
Arguments
-
venue_id
- ID of the venue this instruction belongs to. -
settlement_type
- Defines if the instruction should be settled in the next block after receiving all affirmations or waiting till a specific block. -
trade_date
- Optional date from which people can interact with this instruction. -
value_date
- Optional date after which the instruction should be settled (not enforced) -
legs
- Legs included in this instruction. -
portfolios
- Portfolios that the sender controls and wants to use in this affirmations.
Permissions
- Portfolio
-
addInstruction(venue_id: VenueId
, settlement_type: SettlementType
, trade_date: Option<Moment>
, value_date: Option<Moment>
, legs: Vec<Leg>
)
-
interface:
api.tx.settlement.addInstruction
-
summary: Adds a new instruction.
Arguments
-
venue_id
- ID of the venue this instruction belongs to. -
settlement_type
- Defines if the instruction should be settled in the next block after receiving all affirmations or waiting till a specific block. -
trade_date
- Optional date from which people can interact with this instruction. -
value_date
- Optional date after which the instruction should be settled (not enforced) -
legs
- Legs included in this instruction.
Weight
950_000_000 + 1_000_000 * legs.len()
-
affirmInstruction(id: InstructionId
, portfolios: Vec<PortfolioId>
, max_legs_count: u32
)
-
interface:
api.tx.settlement.affirmInstruction
-
summary: Provide affirmation to an existing instruction.
Arguments
-
id
- Instruction id to affirm. -
portfolios
- Portfolios that the sender controls and wants to affirm this instruction. -
max_legs_count
- Number of legs that need to be affirmed.
Permissions
- Portfolio
-
affirmWithReceipts(id: InstructionId
, receipt_details: Vec<ReceiptDetails>
, portfolios: Vec<PortfolioId>
, max_legs_count: u32
)
-
interface:
api.tx.settlement.affirmWithReceipts
-
summary: Accepts an instruction and claims a signed receipt.
Arguments
-
id
- Target instruction id. -
leg_id
- Target leg id for the receipt -
receipt_uid
- Receipt ID generated by the signer. -
signer
- Signer of the receipt. -
signed_data
- Signed receipt. -
portfolios
- Portfolios that the sender controls and wants to accept this instruction with
Permissions
- Portfolio
-
allowVenues(ticker: Ticker
, venues: Vec<VenueId>
)
-
interface:
api.tx.settlement.allowVenues
-
summary: Allows additional venues to create instructions involving an asset.
-
ticker
- Ticker of the token in question. -
venues
- Array of venues that are allowed to create instructions for the token in question.
Permissions
- Asset
-
changeReceiptValidity(receipt_uid: u64
, validity: bool
)
-
interface:
api.tx.settlement.changeReceiptValidity
-
summary: Marks a receipt issued by the caller as claimed or not claimed. This allows the receipt issuer to invalidate an already issued receipt or revalidate an already claimed receipt.
-
receipt_uid
- Unique ID of the receipt. -
validity
- New validity of the receipt.
-
claimReceipt(id: InstructionId
, receipt_details: ReceiptDetails
)
-
interface:
api.tx.settlement.claimReceipt
-
summary: Claims a signed receipt.
Arguments
-
id
- Target instruction id for the receipt. -
leg_id
- Target leg id for the receipt -
receipt_uid
- Receipt ID generated by the signer. -
signer
- Signer of the receipt. -
signed_data
- Signed receipt.
Permissions
- Portfolio
-
createVenue(details: VenueDetails
, signers: Vec<AccountId>
, typ: VenueType
)
-
interface:
api.tx.settlement.createVenue
-
summary: Registers a new venue.
-
details
- Extra details about a venue -
signers
- Array of signers that are allowed to sign receipts for this venue -
typ
- Type of venue being created
-
disallowVenues(ticker: Ticker
, venues: Vec<VenueId>
)
-
interface:
api.tx.settlement.disallowVenues
-
summary: Revokes permission given to venues for creating instructions involving a particular asset.
-
ticker
- Ticker of the token in question. -
venues
- Array of venues that are no longer allowed to create instructions for the token in question.
Permissions
- Asset
-
executeScheduledInstruction(id: InstructionId
, _legs_count: u32
)
- interface:
api.tx.settlement.executeScheduledInstruction
- summary: Root callable extrinsic, used as an internal call to execute a scheduled settlement instruction.
rejectInstruction(id: InstructionId
, portfolio: PortfolioId
, num_of_legs: u32
)
-
interface:
api.tx.settlement.rejectInstruction
-
summary: Rejects an existing instruction.
Arguments
-
id
- Instruction id to reject. -
portfolio
- Portfolio to reject the instruction. -
num_of_legs
- Number of legs in the instruction.
Permissions
- Portfolio
-
rescheduleInstruction(id: InstructionId
)
-
interface:
api.tx.settlement.rescheduleInstruction
-
summary: Reschedules a failed instruction.
Arguments
id
- Target instruction id to reschedule.
Permissions
- Portfolio
Errors
InstructionNotFailed
- Instruction not in a failed state or does not exist.
setVenueFiltering(ticker: Ticker
, enabled: bool
)
-
interface:
api.tx.settlement.setVenueFiltering
-
summary: Enables or disabled venue filtering for a token.
Arguments
-
ticker
- Ticker of the token in question. -
enabled
- Boolean that decides if the filtering should be enabled.
Permissions
- Asset
-
unclaimReceipt(instruction_id: InstructionId
, leg_id: LegId
)
-
interface:
api.tx.settlement.unclaimReceipt
-
summary: Unclaims a previously claimed receipt.
Arguments
-
instruction_id
- Target instruction id for the receipt. -
leg_id
- Target leg id for the receipt
Permissions
- Portfolio
-
updateVenueDetails(id: VenueId
, details: VenueDetails
)
-
interface:
api.tx.settlement.updateVenueDetails
-
summary: Edit a venue's details.
-
id
specifies the ID of the venue to edit. -
details
specifies the updated venue details.
-
updateVenueType(id: VenueId
, typ: VenueType
)
-
interface:
api.tx.settlement.updateVenueType
-
summary: Edit a venue's type.
-
id
specifies the ID of the venue to edit. -
type
specifies the new type of the venue.
-
withdrawAffirmation(id: InstructionId
, portfolios: Vec<PortfolioId>
, max_legs_count: u32
)
-
interface:
api.tx.settlement.withdrawAffirmation
-
summary: Withdraw an affirmation for a given instruction.
Arguments
-
id
- Instruction id for that affirmation get withdrawn. -
portfolios
- Portfolios that the sender controls and wants to withdraw affirmation. -
max_legs_count
- Number of legs that need to be un-affirmed.
Permissions
- Portfolio
-
staking
addPermissionedValidator(identity: IdentityId
, intended_count: Option<u32>
)
-
interface:
api.tx.staking.addPermissionedValidator
-
summary: Governance committee on 2/3 rds majority can introduce a new potential identity to the pool of permissioned entities who can run validators. Staking module uses
PermissionedIdentity
to ensure validators have completed KYB compliance and considers them for validation.Arguments
-
origin Required origin for adding a potential validator.
-
identity Validator's IdentityId.
-
intended_count No. of validators given identity intends to run.
-
bond(controller: LookupSource
, value: Compact<BalanceOf>
, payee: RewardDestination
)
-
interface:
api.tx.staking.bond
-
summary: Take the origin account as a stash and lock up
value
of its balance.controller
will be the account that controls it.value
must be more than theminimum_balance
specified byT::Currency
.The dispatch origin for this call must be Signed by the stash account.
Emits
Bonded
.
bondExtra(max_additional: Compact<BalanceOf>
)
-
interface:
api.tx.staking.bondExtra
-
summary: Add some extra amount that have appeared in the stash
free_balance
into the balance up for staking.Use this if there are additional funds in your stash account that you wish to bond. Unlike [
bond
] or [unbond
] this function does not impose any limitation on the amount that can be added.The dispatch origin for this call must be Signed by the stash, not the controller and it can be only called when [
EraElectionStatus
] isClosed
.Emits
Bonded
.
cancelDeferredSlash(era: EraIndex
, slash_indices: Vec<u32>
)
-
interface:
api.tx.staking.cancelDeferredSlash
-
summary: Cancel enactment of a deferred slash.
Can be called by the
T::SlashCancelOrigin
.Parameters: era and indices of the slashes for that era to kill.
changeSlashingAllowedFor(slashing_switch: SlashingSwitch
)
-
interface:
api.tx.staking.changeSlashingAllowedFor
-
summary: Switch slashing status on the basis of given
SlashingSwitch
. Can only be called by root.Arguments
-
origin - AccountId of root.
-
slashing_switch - Switch used to set the targets for slashing.
-
chill()
-
interface:
api.tx.staking.chill
-
summary: Declare no desire to either validate or nominate.
Effects will be felt at the beginning of the next era.
The dispatch origin for this call must be Signed by the controller, not the stash. And, it can be only called when [
EraElectionStatus
] isClosed
.
forceNewEra()
-
interface:
api.tx.staking.forceNewEra
-
summary: Force there to be a new era at the end of the next session. After this, it will be reset to normal (non-forced) behaviour.
The dispatch origin must be Root.
forceNewEraAlways()
-
interface:
api.tx.staking.forceNewEraAlways
-
summary: Force there to be a new era at the end of sessions indefinitely.
The dispatch origin must be Root.
forceNoEras()
-
interface:
api.tx.staking.forceNoEras
-
summary: Force there to be no new eras indefinitely.
The dispatch origin must be Root.
forceUnstake(stash: AccountId
, num_slashing_spans: u32
)
-
interface:
api.tx.staking.forceUnstake
-
summary: Force a current staker to become completely unstaked, immediately.
The dispatch origin must be Root.
increaseValidatorCount(additional: Compact<u32>
)
-
interface:
api.tx.staking.increaseValidatorCount
-
summary: Increments the ideal number of validators.
The dispatch origin must be Root.
nominate(targets: Vec<LookupSource>
)
-
interface:
api.tx.staking.nominate
-
summary: Declare the desire to nominate
targets
for the origin controller.Effects will be felt at the beginning of the next era. This can only be called when [
EraElectionStatus
] isClosed
.The dispatch origin for this call must be Signed by the controller, not the stash. And, it can be only called when [
EraElectionStatus
] isClosed
.
payoutStakers(validator_stash: AccountId
, era: EraIndex
)
-
interface:
api.tx.staking.payoutStakers
-
summary: Pay out all the stakers behind a single validator for a single era.
-
validator_stash
is the stash account of the validator. Their nominators, up toT::MaxNominatorRewardedPerValidator
, will also receive their rewards. -
era
may be any era between[current_era - history_depth; current_era]
.
The origin of this call must be Signed. Any account can call this function, even if it is not one of the stakers.
This can only be called when [
EraElectionStatus
] isClosed
. -
payoutStakersBySystem(validator_stash: AccountId
, era: EraIndex
)
- interface:
api.tx.staking.payoutStakersBySystem
- summary: System version of
payout_stakers()
. Only be called by the root origin.
reapStash(stash: AccountId
, num_slashing_spans: u32
)
-
interface:
api.tx.staking.reapStash
-
summary: Remove all data structure concerning a staker/stash once its balance is at the minimum. This is essentially equivalent to
withdraw_unbonded
except it can be called by anyone and the targetstash
must have no funds left beyond the ED.This can be called from any origin.
stash
: The stash account to reap. Its balance must be zero.
rebond(value: Compact<BalanceOf>
)
-
interface:
api.tx.staking.rebond
-
summary: Rebond a portion of the stash scheduled to be unlocked.
The dispatch origin must be signed by the controller, and it can be only called when [
EraElectionStatus
] isClosed
.
removePermissionedValidator(identity: IdentityId
)
-
interface:
api.tx.staking.removePermissionedValidator
-
summary: Remove an identity from the pool of (wannabe) validator identities. Effects are known in the next session. Staking module checks
PermissionedIdentity
to ensure validators have completed KYB complianceArguments
-
origin Required origin for removing a potential validator.
-
identity Validator's IdentityId.
-
scaleValidatorCount(factor: Percent
)
-
interface:
api.tx.staking.scaleValidatorCount
-
summary: Scale up the ideal number of validators by a factor.
The dispatch origin must be Root.
setCommissionCap(new_cap: Perbill
)
-
interface:
api.tx.staking.setCommissionCap
-
summary: Changes commission rate which applies to all validators. Only Governance committee is allowed to change this value.
Arguments
new_cap
the new commission cap.
setController(controller: LookupSource
)
-
interface:
api.tx.staking.setController
-
summary: (Re-)set the controller of a stash.
Effects will be felt at the beginning of the next era.
The dispatch origin for this call must be Signed by the stash, not the controller.
setHistoryDepth(new_history_depth: Compact<EraIndex>
, _era_items_deleted: Compact<u32>
)
-
interface:
api.tx.staking.setHistoryDepth
-
summary: Set
HistoryDepth
value. This function will delete any history information whenHistoryDepth
is reduced.Parameters:
-
new_history_depth
: The new history depth you would like to set. -
era_items_deleted
: The number of items that will be deleted by this dispatch. This should report all the storage items that will be deleted by clearing old era history. Needed to report an accurate weight for the dispatch. Trusted byRoot
to report an accurate number.
Origin must be root.
-
setInvulnerables(invulnerables: Vec<AccountId>
)
-
interface:
api.tx.staking.setInvulnerables
-
summary: Set the validators who cannot be slashed (if any).
The dispatch origin must be Root.
setMinBondThreshold(new_value: BalanceOf
)
-
interface:
api.tx.staking.setMinBondThreshold
-
summary: Changes min bond value to be used in validate(). Only Governance committee is allowed to change this value.
Arguments
new_value
the new minimum
setPayee(payee: RewardDestination
)
-
interface:
api.tx.staking.setPayee
-
summary: (Re-)set the payment target for a controller.
Effects will be felt at the beginning of the next era.
The dispatch origin for this call must be Signed by the controller, not the stash.
setValidatorCount(new: Compact<u32>
)
-
interface:
api.tx.staking.setValidatorCount
-
summary: Sets the ideal number of validators.
The dispatch origin must be Root.
submitElectionSolution(winners: Vec<ValidatorIndex>
, compact: CompactAssignments
, score: ElectionScore
, era: EraIndex
, size: ElectionSize
)
-
interface:
api.tx.staking.submitElectionSolution
-
summary: Submit an election result to the chain. If the solution:
- is valid. 2. has a better score than a potentially existing solution on chain.
then, it will be put on chain.
A solution consists of two pieces of data:
winners
: a flat vector of all the winners of the round. 2.assignments
: the compact version of an assignment vector that encodes the edge weights.
Both of which may be computed using phragmen, or any other algorithm.
Additionally, the submitter must provide:
- The
score
that they claim their solution has.
Both validators and nominators will be represented by indices in the solution. The indices should respect the corresponding types ([
ValidatorIndex
] and [NominatorIndex
]). Moreover, they should be valid when used to index into [SnapshotValidators
] and [SnapshotNominators
]. Any invalid index will cause the solution to be rejected. These two storage items are set during the election window and may be used to determine the indices.A solution is valid if:
- It is submitted when [
EraElectionStatus
] isOpen
. 1. Its claimed score is equal to the score computed on-chain. 2. Presents the correct number of winners. 3. All indexes must be value according to the snapshot vectors. All edge values must also be correct and should not overflow the granularity of the ratio type (i.e. 256 or billion). 4. For each edge, all targets are actually nominated by the voter. 5. Has correct self-votes.
A solutions score is consisted of 3 parameters:
min { support.total }
for each support of a winner. This value should be maximized. 2.sum { support.total }
for each support of a winner. This value should be minimized. 3.sum { support.total^2 }
for each support of a winner. This value should be minimized (to ensure less variance)
submitElectionSolutionUnsigned(winners: Vec<ValidatorIndex>
, compact: CompactAssignments
, score: ElectionScore
, era: EraIndex
, size: ElectionSize
)
-
interface:
api.tx.staking.submitElectionSolutionUnsigned
-
summary: Unsigned version of
submit_election_solution
.Note that this must pass the [
ValidateUnsigned
] check which only allows transactions from the local node to be included. In other words, only the block author can include a transaction in the block.
unbond(value: Compact<BalanceOf>
)
-
interface:
api.tx.staking.unbond
-
summary: Schedule a portion of the stash to be unlocked ready for transfer out after the bond period ends. If this leaves an amount actively bonded less than T::Currency::minimum_balance(), then it is increased to the full amount.
Once the unlock period is done, you can call
withdraw_unbonded
to actually move the funds out of management ready for transfer.No more than a limited number of unlocking chunks (see
MAX_UNLOCKING_CHUNKS
) can co-exists at the same time. In that case, [Call::withdraw_unbonded
] need to be called first to remove some of the chunks (if possible).The dispatch origin for this call must be Signed by the controller, not the stash. And, it can be only called when [
EraElectionStatus
] isClosed
.Emits
Unbonded
.See also [
Call::withdraw_unbonded
].
updatePermissionedValidatorIntendedCount(identity: IdentityId
, new_intended_count: u32
)
-
interface:
api.tx.staking.updatePermissionedValidatorIntendedCount
-
summary: Update the intended validator count for a given DID.
Arguments
-
origin which must be the required origin for adding a potential validator.
-
identity to add as a validator.
-
new_intended_count New value of intended count.
-
validate(prefs: ValidatorPrefs
)
-
interface:
api.tx.staking.validate
-
summary: Declare the desire to validate for the origin controller.
Effects will be felt at the beginning of the next era.
The dispatch origin for this call must be Signed by the controller, not the stash. And, it can be only called when [
EraElectionStatus
] isClosed
.
validateCddExpiryNominators(targets: Vec<AccountId>
)
-
interface:
api.tx.staking.validateCddExpiryNominators
-
summary: Validate the nominators CDD expiry time.
If an account from a given set of address is nominating then check the CDD expiry time of it and if it is expired then the account should be unbonded and removed from the nominating process.
withdrawUnbonded(num_slashing_spans: u32
)
-
interface:
api.tx.staking.withdrawUnbonded
-
summary: Remove any unlocked chunks from the
unlocking
queue from our management.This essentially frees up that balance to be used by the stash account to do whatever it wants.
The dispatch origin for this call must be Signed by the controller, not the stash. And, it can be only called when [
EraElectionStatus
] isClosed
.Emits
Withdrawn
.See also [
Call::unbond
].
statistics
addExemptedEntities(ticker: Ticker
, transfer_manager: TransferManager
, exempted_entities: Vec<ScopeId>
)
-
interface:
api.tx.statistics.addExemptedEntities
-
summary: Exempt entities from a transfer manager
Arguments
-
origin
It contains the secondary key of the caller (i.e who signed the transaction to execute this function). -
ticker
ticker for which the exemption list is being modified. -
transfer_manager
Transfer manager for which the exemption list is being modified. -
exempted_entities
ScopeIds for which the exemption list is being modified.
Errors
Unauthorized
iforigin
is not the owner of the ticker.
Permissions
- Asset
-
addTransferManager(ticker: Ticker
, new_transfer_manager: TransferManager
)
-
interface:
api.tx.statistics.addTransferManager
-
summary: Adds a new transfer manager.
Arguments
-
origin
It contains the secondary key of the caller (i.e who signed the transaction to execute this function). -
ticker
ticker for which the transfer managers are being updated. -
new_transfer_manager
Transfer manager being added.
Errors
-
Unauthorized
iforigin
is not the owner of the ticker. -
DuplicateTransferManager
ifnew_transfer_manager
is already enabled for the ticker. -
TransferManagersLimitReached
if theticker
already has max TMs attached
Permissions
- Asset
-
removeExemptedEntities(ticker: Ticker
, transfer_manager: TransferManager
, entities: Vec<ScopeId>
)
-
interface:
api.tx.statistics.removeExemptedEntities
-
summary: remove entities from exemption list of a transfer manager
Arguments
-
origin
It contains the secondary key of the caller (i.e who signed the transaction to execute this function). -
ticker
ticker for which the exemption list is being modified. -
transfer_manager
Transfer manager for which the exemption list is being modified. -
scope_ids
ScopeIds for which the exemption list is being modified.
Errors
Unauthorized
iforigin
is not the owner of the ticker.
Permissions
- Asset
-
removeTransferManager(ticker: Ticker
, transfer_manager: TransferManager
)
-
interface:
api.tx.statistics.removeTransferManager
-
summary: Removes a transfer manager.
Arguments
-
origin
It contains the secondary key of the caller (i.e who signed the transaction to execute this function). -
ticker
ticker for which the transfer managers are being updated. -
transfer_manager
Transfer manager being removed.
Errors
-
Unauthorized
iforigin
is not the owner of the ticker. -
TransferManagerMissing
ifasset_compliance
contains multiple entries with the samerequirement_id
.
Permissions
- Asset
-
sto
createFundraiser(offering_portfolio: PortfolioId
, offering_asset: Ticker
, raising_portfolio: PortfolioId
, raising_asset: Ticker
, tiers: Vec<PriceTier>
, venue_id: VenueId
, start: Option<Moment>
, end: Option<Moment>
, minimum_investment: Balance
, fundraiser_name: FundraiserName
)
-
interface:
api.tx.sto.createFundraiser
-
summary: Create a new fundraiser.
-
offering_portfolio
- Portfolio containing theoffering_asset
. -
offering_asset
- Asset being offered. -
raising_portfolio
- Portfolio containing theraising_asset
. -
raising_asset
- Asset being exchanged foroffering_asset
on investment. -
tiers
- Price tiers to charge investors on investment. -
venue_id
- Venue to handle settlement. -
start
- Fundraiser start time, ifNone
the fundraiser will start immediately. -
end
- Fundraiser end time, ifNone
the fundraiser will never expire. -
minimum_investment
- Minimum amount ofraising_asset
that an investor needs to spend to invest in this raise. -
fundraiser_name
- Fundraiser name, only used in the UIs.
Permissions
-
Asset
-
Portfolio
-
freezeFundraiser(offering_asset: Ticker
, id: FundraiserId
)
-
interface:
api.tx.sto.freezeFundraiser
-
summary: Freeze a fundraiser.
-
offering_asset
- Asset to freeze. -
id
- ID of the fundraiser to freeze.
Permissions
- Asset
-
invest(investment_portfolio: PortfolioId
, funding_portfolio: PortfolioId
, offering_asset: Ticker
, id: FundraiserId
, purchase_amount: Balance
, max_price: Option<Balance>
, receipt: Option<ReceiptDetails>
)
-
interface:
api.tx.sto.invest
-
summary: Invest in a fundraiser.
-
investment_portfolio
- Portfolio thatoffering_asset
will be deposited in. -
funding_portfolio
- Portfolio that will fund the investment. -
offering_asset
- Asset to invest in. -
id
- ID of the fundraiser to invest in. -
purchase_amount
- Amount ofoffering_asset
to purchase. -
max_price
- Maximum price to pay per unit ofoffering_asset
, IfNone
there are no constraints on price. -
receipt
- Off-chain receipt to use instead of on-chain balance infunding_portfolio
.
Permissions
- Portfolio
-
modifyFundraiserWindow(offering_asset: Ticker
, id: FundraiserId
, start: Moment
, end: Option<Moment>
)
-
interface:
api.tx.sto.modifyFundraiserWindow
-
summary: Modify the time window a fundraiser is active
-
offering_asset
- Asset to modify. -
id
- ID of the fundraiser to modify. -
start
- New start of the fundraiser. -
end
- New end of the fundraiser to modify.
Permissions
- Asset
-
stop(offering_asset: Ticker
, id: FundraiserId
)
-
interface:
api.tx.sto.stop
-
summary: Stop a fundraiser.
-
offering_asset
- Asset to stop. -
id
- ID of the fundraiser to stop.
Permissions
- Asset
-
unfreezeFundraiser(offering_asset: Ticker
, id: FundraiserId
)
-
interface:
api.tx.sto.unfreezeFundraiser
-
summary: Unfreeze a fundraiser.
-
offering_asset
- Asset to unfreeze. -
id
- ID of the fundraiser to unfreeze.
Permissions
- Asset
-
sudo
setKey(new: LookupSource
)
-
interface:
api.tx.sudo.setKey
-
summary: Authenticates the current sudo key and sets the given AccountId (
new
) as the new sudo key.The dispatch origin for this call must be Signed.
sudo(call: Call
)
-
interface:
api.tx.sudo.sudo
-
summary: Authenticates the sudo key and dispatches a function call with
Root
origin.The dispatch origin for this call must be Signed.
sudoAs(who: LookupSource
, call: Call
)
-
interface:
api.tx.sudo.sudoAs
-
summary: Authenticates the sudo key and dispatches a function call with
Signed
origin from a given account.The dispatch origin for this call must be Signed.
sudoUncheckedWeight(call: Call
, _weight: Weight
)
-
interface:
api.tx.sudo.sudoUncheckedWeight
-
summary: Authenticates the sudo key and dispatches a function call with
Root
origin. This function does not check the weight of the call, and instead allows the Sudo user to specify the weight of the call.The dispatch origin for this call must be Signed.
system
fillBlock(_ratio: Perbill
)
- interface:
api.tx.system.fillBlock
- summary: A dispatch that will fill the block weight up to the given ratio.
killPrefix(prefix: Key
, _subkeys: u32
)
-
interface:
api.tx.system.killPrefix
-
summary: Kill all storage items with a key that starts with the given prefix.
NOTE: We rely on the Root origin to provide us the number of subkeys under the prefix we are removing to accurately calculate the weight of this function.
killStorage(keys: Vec<Key>
)
- interface:
api.tx.system.killStorage
- summary: Kill some items from storage.
remark(_remark: Bytes
)
- interface:
api.tx.system.remark
- summary: Make some on-chain remark.
setChangesTrieConfig(changes_trie_config: Option<ChangesTrieConfiguration>
)
- interface:
api.tx.system.setChangesTrieConfig
- summary: Set the new changes trie configuration.
setCode(code: Bytes
)
- interface:
api.tx.system.setCode
- summary: Set the new runtime code.
setCodeWithoutChecks(code: Bytes
)
- interface:
api.tx.system.setCodeWithoutChecks
- summary: Set the new runtime code without doing any checks of the given
code
.
setHeapPages(pages: u64
)
- interface:
api.tx.system.setHeapPages
- summary: Set the number of pages in the WebAssembly environment's heap.
setStorage(items: Vec<KeyValue>
)
- interface:
api.tx.system.setStorage
- summary: Set some items of storage.
technicalCommittee
setExpiresAfter(expiry: MaybeBlock
)
-
interface:
api.tx.technicalCommittee.setExpiresAfter
-
summary: Changes the time after which a proposal expires.
Arguments
expiry
- The new expiry time.
setReleaseCoordinator(id: IdentityId
)
-
interface:
api.tx.technicalCommittee.setReleaseCoordinator
-
summary: Changes the release coordinator.
Arguments
id
- The DID of the new release coordinator.
Errors
NotAMember
, If the new coordinatorid
is not part of the committee.
setVoteThreshold(n: u32
, d: u32
)
-
interface:
api.tx.technicalCommittee.setVoteThreshold
-
summary: Change the vote threshold the determines the winning proposal. For e.g., for a simple majority use (1, 2) which represents the in-equation ">= 1/2".
Arguments
-
n
- Numerator of the fraction representing vote threshold. -
d
- Denominator of the fraction representing vote threshold.
-
vote(proposal: Hash
, index: ProposalIndex
, approve: bool
)
-
interface:
api.tx.technicalCommittee.vote
-
summary: Votes
approve
ingly (or not, iffalse
) on an existingproposal
given by its hash,index
.Arguments
-
proposal
- A hash of the proposal to be voted on. -
index
- The proposal index. -
approve
- Iftrue
than this is afor
vote, andagainst
otherwise.
Errors
NotAMember
, if theorigin
is not a member of this committee.
-
voteOrPropose(approve: bool
, call: Call
)
-
interface:
api.tx.technicalCommittee.voteOrPropose
-
summary: Proposes to the committee that
call
should be executed in its name. Alternatively, if the hash ofcall
has already been recorded, i.e., already proposed, then this call counts as a vote, i.e., as ifvote_by_hash
was called.Weight
The weight of this dispatchable is that of
call
as well as the complexity for recording the vote itself.Arguments
-
approve
- is this an approving vote? If the proposal doesn't exist, passingfalse
will result in errorFirstVoteReject
. -
call
- the call to propose for execution.
Errors
-
FirstVoteReject
, ifcall
hasn't been proposed andapprove == false
. -
NotAMember
, if theorigin
is not a member of this committee.
-
technicalCommitteeMembership
abdicateMembership()
-
interface:
api.tx.technicalCommitteeMembership.abdicateMembership
-
summary: Allows the calling member to unilaterally quit without this being subject to a GC vote.
Arguments
origin
- Member of committee who wants to quit.
Error
-
Only primary key can abdicate.
-
Last member of a group cannot abdicate.
addMember(who: IdentityId
)
-
interface:
api.tx.technicalCommitteeMembership.addMember
-
summary: Adds a member
who
to the group. May only be called fromAddOrigin
or root.Arguments
-
origin
- Origin representingAddOrigin
or root -
who
- IdentityId to be added to the group.
-
disableMember(who: IdentityId
, expiry: Option<Moment>
, at: Option<Moment>
)
-
interface:
api.tx.technicalCommitteeMembership.disableMember
-
summary: Disables a member at specific moment.
Please note that if member is already revoked (a "valid member"), its revocation time-stamp will be updated.
Any disabled member should NOT allow to act like an active member of the group. For instance, a disabled CDD member should NOT be able to generate a CDD claim. However any generated claim issued before
at
would be considered as a valid one.If you want to invalidate any generated claim, you should use
Self::remove_member
.Arguments
-
at
- Revocation time-stamp. -
who
- Target member of the group. -
expiry
- Time-stamp whenwho
is removed from CDD. As soon as it is expired, the generated claims will be "invalid" aswho
is not considered a member of the group.
-
removeMember(who: IdentityId
)
-
interface:
api.tx.technicalCommitteeMembership.removeMember
-
summary: Removes a member
who
from the set. May only be called fromRemoveOrigin
or root.Any claim previously generated by this member is not valid as a group claim. For instance, if a CDD member group generated a claim for a target identity and then it is removed, that claim will be invalid. In case you want to keep the validity of generated claims, you have to use
Self::disable_member
functionArguments
-
origin
- Origin representingRemoveOrigin
or root -
who
- IdentityId to be removed from the group.
-
resetMembers(members: Vec<IdentityId>
)
-
interface:
api.tx.technicalCommitteeMembership.resetMembers
-
summary: Changes the membership to a new set, disregarding the existing membership. May only be called from
ResetOrigin
or root.Arguments
-
origin
- Origin representingResetOrigin
or root -
members
- New set of identities
-
setActiveMembersLimit(limit: MemberCount
)
-
interface:
api.tx.technicalCommitteeMembership.setActiveMembersLimit
-
summary: Change this group's limit for how many concurrent active members they may be.
Arguments
limit
- the number of active members there may be concurrently.
swapMember(remove: IdentityId
, add: IdentityId
)
-
interface:
api.tx.technicalCommitteeMembership.swapMember
-
summary: Swaps out one member
remove
for another memberadd
.May only be called from
SwapOrigin
or root.Arguments
-
origin
- Origin representingSwapOrigin
or root -
remove
- IdentityId to be removed from the group. -
add
- IdentityId to be added in place ofremove
.
-
testUtils
getCddOf(of: AccountId
)
- interface:
api.tx.testUtils.getCddOf
- summary: Emits an event with caller's identity and CDD status.
getMyDid()
- interface:
api.tx.testUtils.getMyDid
- summary: Emits an event with caller's identity.
mockCddRegisterDid(target_account: AccountId
)
-
interface:
api.tx.testUtils.mockCddRegisterDid
-
summary: Registers a new Identity for the
target_account
and issues a CDD claim to it. The Investor UID is generated deterministically by the hash of the generated DID and then we fix it to be compliant with UUID v4.See
Failure
-
origin
has to be an active CDD provider. Inactive CDD providers cannot add new claims. -
target_account
(primary key of the new Identity) can be linked to just one and only one identity.
-
registerDid(uid: InvestorUid
, secondary_keys: Vec<SecondaryKey>
)
-
interface:
api.tx.testUtils.registerDid
-
summary: Generates a new
IdentityID
for the caller, and issues a self-generated CDD claim.The caller account will be the primary key of that identity. For each account of
secondary_keys
, a newJoinIdentity
authorization is created, so each of them will need to accept it before become part of this newIdentityID
.Errors
-
AlreadyLinked
if the caller account or if any of the givensecondary_keys
has already linked to anIdentityID
-
SecondaryKeysContainPrimaryKey
ifsecondary_keys
contains the caller account. -
DidAlreadyExists
if auto-generated DID already exists.
-
timestamp
set(now: Compact<Moment>
)
-
interface:
api.tx.timestamp.set
-
summary: Set the current time.
This call should be invoked exactly once per block. It will panic at the finalization phase, if this call hasn't been invoked by that time.
The timestamp should be greater than the previous one by the amount specified by
MinimumPeriod
.The dispatch origin for this call must be
Inherent
.
treasury
disbursement(beneficiaries: Vec<Beneficiary>
)
-
interface:
api.tx.treasury.disbursement
-
summary: It transfers balances from treasury to each of beneficiaries and the specific amount for each of them.
Error
-
BadOrigin
: Only root can execute transaction. -
InsufficientBalance
: If treasury balances is not enough to cover all beneficiaries.
-
reimbursement(amount: BalanceOf
)
-
interface:
api.tx.treasury.reimbursement
-
summary: It transfers the specific
amount
fromorigin
account into treasury.Only accounts which are associated to an identity can make a donation to treasury.
upgradeCommittee
setExpiresAfter(expiry: MaybeBlock
)
-
interface:
api.tx.upgradeCommittee.setExpiresAfter
-
summary: Changes the time after which a proposal expires.
Arguments
expiry
- The new expiry time.
setReleaseCoordinator(id: IdentityId
)
-
interface:
api.tx.upgradeCommittee.setReleaseCoordinator
-
summary: Changes the release coordinator.
Arguments
id
- The DID of the new release coordinator.
Errors
NotAMember
, If the new coordinatorid
is not part of the committee.
setVoteThreshold(n: u32
, d: u32
)
-
interface:
api.tx.upgradeCommittee.setVoteThreshold
-
summary: Change the vote threshold the determines the winning proposal. For e.g., for a simple majority use (1, 2) which represents the in-equation ">= 1/2".
Arguments
-
n
- Numerator of the fraction representing vote threshold. -
d
- Denominator of the fraction representing vote threshold.
-
vote(proposal: Hash
, index: ProposalIndex
, approve: bool
)
-
interface:
api.tx.upgradeCommittee.vote
-
summary: Votes
approve
ingly (or not, iffalse
) on an existingproposal
given by its hash,index
.Arguments
-
proposal
- A hash of the proposal to be voted on. -
index
- The proposal index. -
approve
- Iftrue
than this is afor
vote, andagainst
otherwise.
Errors
NotAMember
, if theorigin
is not a member of this committee.
-
voteOrPropose(approve: bool
, call: Call
)
-
interface:
api.tx.upgradeCommittee.voteOrPropose
-
summary: Proposes to the committee that
call
should be executed in its name. Alternatively, if the hash ofcall
has already been recorded, i.e., already proposed, then this call counts as a vote, i.e., as ifvote_by_hash
was called.Weight
The weight of this dispatchable is that of
call
as well as the complexity for recording the vote itself.Arguments
-
approve
- is this an approving vote? If the proposal doesn't exist, passingfalse
will result in errorFirstVoteReject
. -
call
- the call to propose for execution.
Errors
-
FirstVoteReject
, ifcall
hasn't been proposed andapprove == false
. -
NotAMember
, if theorigin
is not a member of this committee.
-
upgradeCommitteeMembership
abdicateMembership()
-
interface:
api.tx.upgradeCommitteeMembership.abdicateMembership
-
summary: Allows the calling member to unilaterally quit without this being subject to a GC vote.
Arguments
origin
- Member of committee who wants to quit.
Error
-
Only primary key can abdicate.
-
Last member of a group cannot abdicate.
addMember(who: IdentityId
)
-
interface:
api.tx.upgradeCommitteeMembership.addMember
-
summary: Adds a member
who
to the group. May only be called fromAddOrigin
or root.Arguments
-
origin
- Origin representingAddOrigin
or root -
who
- IdentityId to be added to the group.
-
disableMember(who: IdentityId
, expiry: Option<Moment>
, at: Option<Moment>
)
-
interface:
api.tx.upgradeCommitteeMembership.disableMember
-
summary: Disables a member at specific moment.
Please note that if member is already revoked (a "valid member"), its revocation time-stamp will be updated.
Any disabled member should NOT allow to act like an active member of the group. For instance, a disabled CDD member should NOT be able to generate a CDD claim. However any generated claim issued before
at
would be considered as a valid one.If you want to invalidate any generated claim, you should use
Self::remove_member
.Arguments
-
at
- Revocation time-stamp. -
who
- Target member of the group. -
expiry
- Time-stamp whenwho
is removed from CDD. As soon as it is expired, the generated claims will be "invalid" aswho
is not considered a member of the group.
-
removeMember(who: IdentityId
)
-
interface:
api.tx.upgradeCommitteeMembership.removeMember
-
summary: Removes a member
who
from the set. May only be called fromRemoveOrigin
or root.Any claim previously generated by this member is not valid as a group claim. For instance, if a CDD member group generated a claim for a target identity and then it is removed, that claim will be invalid. In case you want to keep the validity of generated claims, you have to use
Self::disable_member
functionArguments
-
origin
- Origin representingRemoveOrigin
or root -
who
- IdentityId to be removed from the group.
-
resetMembers(members: Vec<IdentityId>
)
-
interface:
api.tx.upgradeCommitteeMembership.resetMembers
-
summary: Changes the membership to a new set, disregarding the existing membership. May only be called from
ResetOrigin
or root.Arguments
-
origin
- Origin representingResetOrigin
or root -
members
- New set of identities
-
setActiveMembersLimit(limit: MemberCount
)
-
interface:
api.tx.upgradeCommitteeMembership.setActiveMembersLimit
-
summary: Change this group's limit for how many concurrent active members they may be.
Arguments
limit
- the number of active members there may be concurrently.
swapMember(remove: IdentityId
, add: IdentityId
)
-
interface:
api.tx.upgradeCommitteeMembership.swapMember
-
summary: Swaps out one member
remove
for another memberadd
.May only be called from
SwapOrigin
or root.Arguments
-
origin
- Origin representingSwapOrigin
or root -
remove
- IdentityId to be removed from the group. -
add
- IdentityId to be added in place ofremove
.
-
utility
batch(calls: Vec<Call>
)
-
interface:
api.tx.utility.batch
-
summary: Dispatch multiple calls from the sender's origin.
This will execute until the first one fails and then stop.
May be called from root or a signed origin.
Parameters
calls
: The calls to be dispatched from the same origin.
Weight
-
The sum of the weights of the
calls
. -
One event.
This will return
Ok
in all circumstances except an unsigned origin. To determine the success of the batch, an event is deposited. If a call failed and the batch was interrupted, then theBatchInterrupted
event is deposited, along with the number of successful calls made and the error of the failed call. If all were successful, then theBatchCompleted
event is deposited.
batchAtomic(calls: Vec<Call>
)
-
interface:
api.tx.utility.batchAtomic
-
summary: Dispatch multiple calls from the sender's origin.
This will execute all calls, in order, stopping at the first failure, in which case the state changes are rolled back. On failure, an event
BatchInterrupted(failure_idx, error)
is deposited.May be called from root or a signed origin.
Parameters
calls
: The calls to be dispatched from the same origin.
Weight
-
The sum of the weights of the
calls
. -
One event.
This will return
Ok
in all circumstances except an unsigned origin. To determine the success of the batch, an event is deposited. If any call failed, thenBatchInterrupted
is deposited. If all were successful, then theBatchCompleted
event is deposited.
batchOptimistic(calls: Vec<Call>
)
-
interface:
api.tx.utility.batchOptimistic
-
summary: Dispatch multiple calls from the sender's origin.
This will execute all calls, in order, irrespective of failures. Any failures will be available in a
BatchOptimisticFailed
event.May be called from root or a signed origin.
Parameters
calls
: The calls to be dispatched from the same origin.
Weight
-
The sum of the weights of the
calls
. -
One event.
This will return
Ok
in all circumstances except an unsigned origin. To determine the success of the batch, an event is deposited. If any call failed, thenBatchOptimisticFailed
is deposited, with a vector of event counts for each call as well as a vector of errors. If all were successful, then theBatchCompleted
event is deposited.
relayTx(target: AccountId
, signature: OffChainSignature
, call: UniqueCall
)
-
interface:
api.tx.utility.relayTx
-
summary: Relay a call for a target from an origin
Relaying in this context refers to the ability of origin to make a call on behalf of target.
Fees are charged to origin
Parameters
-
target
: Account to be relayed -
signature
: Signature from target authorizing the relay -
call
: Call to be relayed on behalf of target
-
title: Events
Events are emitted for certain operations on the runtime. The following sections describe the events that are part of the default Substrate runtime.
(NOTE: These were generated from a static/snapshot view of a recent Substrate master node. Some items may not be available in older nodes, or in any customized implementations.)
asset
AssetCreated(IdentityId
, Ticker
, bool
, AssetType
, IdentityId
, bool
)
- interface:
api.events.asset.AssetCreated.is
- summary: Event for creation of the asset. caller DID/ owner DID, ticker, divisibility, asset type, beneficiary DID, disable investor uniqueness
AssetFrozen(IdentityId
, Ticker
)
- interface:
api.events.asset.AssetFrozen.is
- summary: An event emitted when an asset is frozen. Parameter: caller DID, ticker.
AssetOwnershipTransferred(IdentityId
, Ticker
, IdentityId
)
- interface:
api.events.asset.AssetOwnershipTransferred.is
- summary: Emit when token ownership is transferred. caller DID / token ownership transferred to DID, ticker, from
AssetRenamed(IdentityId
, Ticker
, AssetName
)
- interface:
api.events.asset.AssetRenamed.is
- summary: An event emitted when a token is renamed. Parameters: caller DID, ticker, new token name.
AssetUnfrozen(IdentityId
, Ticker
)
- interface:
api.events.asset.AssetUnfrozen.is
- summary: An event emitted when an asset is unfrozen. Parameter: caller DID, ticker.
ClassicTickerClaimed(IdentityId
, Ticker
, EthereumAddress
)
- interface:
api.events.asset.ClassicTickerClaimed.is
- summary: A Polymath Classic token was claimed and transferred to a non-systematic DID.
ControllerTransfer(IdentityId
, Ticker
, PortfolioId
, Balance
)
- interface:
api.events.asset.ControllerTransfer.is
- summary: Event for when a forced transfer takes place. caller DID/ controller DID, ticker, Portfolio of token holder, value.
CustomAssetTypeExists(IdentityId
, CustomAssetTypeId
, Bytes
)
- interface:
api.events.asset.CustomAssetTypeExists.is
- summary: A custom asset type already exists on-chain. caller DID, the ID of the custom asset type, the string contents registered.
CustomAssetTypeRegistered(IdentityId
, CustomAssetTypeId
, Bytes
)
- interface:
api.events.asset.CustomAssetTypeRegistered.is
- summary: A custom asset type was registered on-chain. caller DID, the ID of the custom asset type, the string contents registered.
DivisibilityChanged(IdentityId
, Ticker
, bool
)
- interface:
api.events.asset.DivisibilityChanged.is
- summary: Event for change in divisibility. caller DID, ticker, divisibility
DocumentAdded(IdentityId
, Ticker
, DocumentId
, Document
)
- interface:
api.events.asset.DocumentAdded.is
- summary: A new document attached to an asset
DocumentRemoved(IdentityId
, Ticker
, DocumentId
)
- interface:
api.events.asset.DocumentRemoved.is
- summary: A document removed from an asset
ExtensionRemoved(IdentityId
, Ticker
, AccountId
)
- interface:
api.events.asset.ExtensionRemoved.is
- summary: A extension got removed. caller DID, ticker, AccountId
FundingRoundSet(IdentityId
, Ticker
, FundingRoundName
)
- interface:
api.events.asset.FundingRoundSet.is
- summary: An event carrying the name of the current funding round of a ticker. Parameters: caller DID, ticker, funding round name.
IdentifiersUpdated(IdentityId
, Ticker
, Vec<AssetIdentifier>
)
- interface:
api.events.asset.IdentifiersUpdated.is
- summary: Event emitted when any token identifiers are updated. caller DID, ticker, a vector of (identifier type, identifier value)
IsIssuable(Ticker
, bool
)
- interface:
api.events.asset.IsIssuable.is
- summary: is_issuable() output ticker, return value (true if issuable)
Issued(IdentityId
, Ticker
, IdentityId
, Balance
, FundingRoundName
, Balance
)
- interface:
api.events.asset.Issued.is
- summary: Emit when tokens get issued. caller DID, ticker, beneficiary DID, value, funding round, total issued in this funding round
Redeemed(IdentityId
, Ticker
, IdentityId
, Balance
)
- interface:
api.events.asset.Redeemed.is
- summary: Emit when tokens get redeemed. caller DID, ticker, from DID, value
TickerRegistered(IdentityId
, Ticker
, Option<Moment>
)
- interface:
api.events.asset.TickerRegistered.is
- summary: Emit when ticker is registered. caller DID / ticker owner did, ticker, ticker owner, expiry
TickerTransferred(IdentityId
, Ticker
, IdentityId
)
- interface:
api.events.asset.TickerTransferred.is
- summary: Emit when ticker is transferred. caller DID / ticker transferred to DID, ticker, from
Transfer(IdentityId
, Ticker
, PortfolioId
, PortfolioId
, Balance
)
- interface:
api.events.asset.Transfer.is
- summary: Event for transfer of tokens. caller DID, ticker, from portfolio, to portfolio, value
TransferWithData(IdentityId
, Ticker
, IdentityId
, IdentityId
, Balance
, Bytes
)
- interface:
api.events.asset.TransferWithData.is
- summary: An additional event to Transfer; emitted when
transfer_with_data
is called. caller DID , ticker, from DID, to DID, value, data
balances
AccountBalanceBurned(IdentityId
, AccountId
, Balance
)
- interface:
api.events.balances.AccountBalanceBurned.is
- summary: The account and the amount of unlocked balance of that account that was burned. (caller Id, caller account, amount)
BalanceSet(IdentityId
, AccountId
, Balance
, Balance
)
- interface:
api.events.balances.BalanceSet.is
- summary: A balance was set by root (did, who, free, reserved).
Endowed(Option<IdentityId>
, AccountId
, Balance
)
- interface:
api.events.balances.Endowed.is
- summary: An account was created with some free balance. [did, account, free_balance]
Reserved(AccountId
, Balance
)
- interface:
api.events.balances.Reserved.is
- summary: Some balance was reserved (moved from free to reserved). [who, value]
ReserveRepatriated(AccountId
, AccountId
, Balance
, BalanceStatus
)
- interface:
api.events.balances.ReserveRepatriated.is
- summary: Some balance was moved from the reserve of the first account to the second account. Final argument indicates the destination balance type. [from, to, balance, destination_status]
Transfer(Option<IdentityId>
, AccountId
, Option<IdentityId>
, AccountId
, Balance
, Option<Memo>
)
- interface:
api.events.balances.Transfer.is
- summary: Transfer succeeded (from_did, from, to_did, to, value, memo).
Unreserved(AccountId
, Balance
)
- interface:
api.events.balances.Unreserved.is
- summary: Some balance was unreserved (moved from reserved to free). [who, value]
base
UnexpectedError(Option<DispatchError>
)
- interface:
api.events.base.UnexpectedError.is
- summary: An unexpected error happened that should be investigated.
bridge
AdminChanged(IdentityId
, AccountId
)
- interface:
api.events.bridge.AdminChanged.is
- summary: Confirmation of Admin change.
Bridged(IdentityId
, BridgeTx
)
- interface:
api.events.bridge.Bridged.is
- summary: Confirmation of POLYX upgrade on Polymesh from POLY tokens on Ethereum.
BridgeLimitUpdated(IdentityId
, Balance
, BlockNumber
)
- interface:
api.events.bridge.BridgeLimitUpdated.is
- summary: Bridge limit has been updated.
BridgeTxScheduled(IdentityId
, BridgeTx
, BlockNumber
)
- interface:
api.events.bridge.BridgeTxScheduled.is
- summary: Bridge Tx Scheduled.
BridgeTxScheduleFailed(IdentityId
, BridgeTx
, Bytes
)
- interface:
api.events.bridge.BridgeTxScheduleFailed.is
- summary: Failed to schedule Bridge Tx.
ControllerChanged(IdentityId
, AccountId
)
- interface:
api.events.bridge.ControllerChanged.is
- summary: Confirmation of a signer set change.
ExemptedUpdated(IdentityId
, IdentityId
, bool
)
- interface:
api.events.bridge.ExemptedUpdated.is
- summary: Exemption status of an identity has been updated.
FreezeAdminAdded(IdentityId
, AccountId
)
- interface:
api.events.bridge.FreezeAdminAdded.is
- summary: A new freeze admin has been added.
FreezeAdminRemoved(IdentityId
, AccountId
)
- interface:
api.events.bridge.FreezeAdminRemoved.is
- summary: A freeze admin has been removed.
Frozen(IdentityId
)
- interface:
api.events.bridge.Frozen.is
- summary: Notification of freezing the bridge.
FrozenTx(IdentityId
, BridgeTx
)
- interface:
api.events.bridge.FrozenTx.is
- summary: Notification of freezing a transaction.
TimelockChanged(IdentityId
, BlockNumber
)
- interface:
api.events.bridge.TimelockChanged.is
- summary: Confirmation of default timelock change.
TxRemoved(IdentityId
, BridgeTx
)
- interface:
api.events.bridge.TxRemoved.is
- summary: Notification of removing a transaction.
TxsHandled(Vec<(AccountId,u32,HandledTxStatus)>
)
- interface:
api.events.bridge.TxsHandled.is
- summary: An event emitted after a vector of transactions is handled. The parameter is a vector of tuples of recipient account, its nonce, and the status of the processed transaction.
Unfrozen(IdentityId
)
- interface:
api.events.bridge.Unfrozen.is
- summary: Notification of unfreezing the bridge.
UnfrozenTx(IdentityId
, BridgeTx
)
- interface:
api.events.bridge.UnfrozenTx.is
- summary: Notification of unfreezing a transaction.
capitalDistribution
BenefitClaimed(EventDid
, EventDid
, CAId
, Distribution
, Balance
, Tax
)
-
interface:
api.events.capitalDistribution.BenefitClaimed.is
-
summary: A token holder's benefit of a capital distribution for the given
CAId
was claimed.(Caller DID, Holder/Claimant DID, CA's ID, updated distribution details, DID's benefit, DID's tax %)
Created(EventDid
, CAId
, Distribution
)
-
interface:
api.events.capitalDistribution.Created.is
-
summary: A capital distribution, with details included, was created by the DID (permissioned agent) for the CA identified by
CAId
.(Agent DID, CA's ID, distribution details)
Reclaimed(EventDid
, CAId
, Balance
)
-
interface:
api.events.capitalDistribution.Reclaimed.is
-
summary: Stats from
push_benefit
was emitted.(Agent DID, CA's ID, max requested DIDs, processed DIDs, failed DIDs)
Removed(EventDid
, CAId
)
-
interface:
api.events.capitalDistribution.Removed.is
-
summary: A capital distribution was removed.
(Agent DID, CA's ID)
cddServiceProviders
ActiveLimitChanged(IdentityId
, MemberCount
, MemberCount
)
- interface:
api.events.cddServiceProviders.ActiveLimitChanged.is
- summary: The limit of how many active members there can be concurrently was changed.
Dummy(PhantomData
)
- interface:
api.events.cddServiceProviders.Dummy.is
- summary: Phantom member, never used.
MemberAdded(IdentityId
, IdentityId
)
- interface:
api.events.cddServiceProviders.MemberAdded.is
- summary: The given member was added; see the transaction for who. caller DID, New member DID.
MemberRemoved(IdentityId
, IdentityId
)
- interface:
api.events.cddServiceProviders.MemberRemoved.is
- summary: The given member was removed; see the transaction for who. caller DID, member DID that get removed.
MemberRevoked(IdentityId
, IdentityId
)
- interface:
api.events.cddServiceProviders.MemberRevoked.is
- summary: The given member has been revoked at specific time-stamp. caller DID, member DID that get revoked.
MembersReset(IdentityId
, Vec<IdentityId>
)
- interface:
api.events.cddServiceProviders.MembersReset.is
- summary: The membership was reset; see the transaction for who the new set is. caller DID, List of new members.
MembersSwapped(IdentityId
, IdentityId
, IdentityId
)
- interface:
api.events.cddServiceProviders.MembersSwapped.is
- summary: Two members were swapped; see the transaction for who. caller DID, Removed DID, New add DID.
checkpoint
CheckpointCreated(Option<EventDid>
, Ticker
, CheckpointId
, Balance
, Moment
)
-
interface:
api.events.checkpoint.CheckpointCreated.is
-
summary: A checkpoint was created.
(caller DID, ticker, checkpoint ID, total supply, checkpoint timestamp)
MaximumSchedulesComplexityChanged(IdentityId
, u64
)
-
interface:
api.events.checkpoint.MaximumSchedulesComplexityChanged.is
-
summary: The maximum complexity for an arbitrary ticker's schedule set was changed.
(GC DID, the new maximum)
ScheduleCreated(EventDid
, Ticker
, StoredSchedule
)
-
interface:
api.events.checkpoint.ScheduleCreated.is
-
summary: A checkpoint schedule was created.
(caller DID, ticker, schedule)
ScheduleRemoved(IdentityId
, Ticker
, StoredSchedule
)
-
interface:
api.events.checkpoint.ScheduleRemoved.is
-
summary: A checkpoint schedule was removed.
(caller DID, ticker, schedule)
committeeMembership
ActiveLimitChanged(IdentityId
, MemberCount
, MemberCount
)
- interface:
api.events.committeeMembership.ActiveLimitChanged.is
- summary: The limit of how many active members there can be concurrently was changed.
Dummy(PhantomData
)
- interface:
api.events.committeeMembership.Dummy.is
- summary: Phantom member, never used.
MemberAdded(IdentityId
, IdentityId
)
- interface:
api.events.committeeMembership.MemberAdded.is
- summary: The given member was added; see the transaction for who. caller DID, New member DID.
MemberRemoved(IdentityId
, IdentityId
)
- interface:
api.events.committeeMembership.MemberRemoved.is
- summary: The given member was removed; see the transaction for who. caller DID, member DID that get removed.
MemberRevoked(IdentityId
, IdentityId
)
- interface:
api.events.committeeMembership.MemberRevoked.is
- summary: The given member has been revoked at specific time-stamp. caller DID, member DID that get revoked.
MembersReset(IdentityId
, Vec<IdentityId>
)
- interface:
api.events.committeeMembership.MembersReset.is
- summary: The membership was reset; see the transaction for who the new set is. caller DID, List of new members.
MembersSwapped(IdentityId
, IdentityId
, IdentityId
)
- interface:
api.events.committeeMembership.MembersSwapped.is
- summary: Two members were swapped; see the transaction for who. caller DID, Removed DID, New add DID.
complianceManager
AssetCompliancePaused(IdentityId
, Ticker
)
- interface:
api.events.complianceManager.AssetCompliancePaused.is
- summary: Emitted when an asset compliance for a given ticker gets paused. (caller DID, Ticker).
AssetComplianceReplaced(IdentityId
, Ticker
, Vec<ComplianceRequirement>
)
- interface:
api.events.complianceManager.AssetComplianceReplaced.is
- summary: Emitted when an asset compliance is replaced. Parameters: caller DID, ticker, new asset compliance.
AssetComplianceReset(IdentityId
, Ticker
)
- interface:
api.events.complianceManager.AssetComplianceReset.is
- summary: Emitted when an asset compliance of a ticker is reset. (caller DID, Ticker).
AssetComplianceResumed(IdentityId
, Ticker
)
- interface:
api.events.complianceManager.AssetComplianceResumed.is
- summary: Emitted when an asset compliance for a given ticker gets resume. (caller DID, Ticker).
ComplianceRequirementChanged(IdentityId
, Ticker
, ComplianceRequirement
)
- interface:
api.events.complianceManager.ComplianceRequirementChanged.is
- summary: Emitted when compliance requirement get modified/change. (caller DID, Ticker, ComplianceRequirement).
ComplianceRequirementCreated(IdentityId
, Ticker
, ComplianceRequirement
)
- interface:
api.events.complianceManager.ComplianceRequirementCreated.is
- summary: Emitted when new compliance requirement is created. (caller DID, Ticker, ComplianceRequirement).
ComplianceRequirementRemoved(IdentityId
, Ticker
, u32
)
- interface:
api.events.complianceManager.ComplianceRequirementRemoved.is
- summary: Emitted when a compliance requirement is removed. (caller DID, Ticker, requirement_id).
TrustedDefaultClaimIssuerAdded(IdentityId
, Ticker
, TrustedIssuer
)
- interface:
api.events.complianceManager.TrustedDefaultClaimIssuerAdded.is
- summary: Emitted when default claim issuer list for a given ticker gets added. (caller DID, Ticker, Added TrustedIssuer).
TrustedDefaultClaimIssuerRemoved(IdentityId
, Ticker
, IdentityId
)
- interface:
api.events.complianceManager.TrustedDefaultClaimIssuerRemoved.is
- summary: Emitted when default claim issuer list for a given ticker get removed. (caller DID, Ticker, Removed TrustedIssuer).
corporateAction
CAATransferred(IdentityId
, Ticker
, IdentityId
)
- interface:
api.events.corporateAction.CAATransferred.is
- summary: A new DID was made the CAA. (New CAA DID, Ticker, New CAA DID).
CAInitiated(EventDid
, CAId
, CorporateAction
, CADetails
)
- interface:
api.events.corporateAction.CAInitiated.is
- summary: A CA was initiated. (Agent DID, CA id, the CA, the CA details)
CALinkedToDoc(IdentityId
, CAId
, Vec<DocumentId>
)
- interface:
api.events.corporateAction.CALinkedToDoc.is
- summary: A CA was linked to a set of docs. (Agent DID, CA Id, List of doc identifiers)
CARemoved(EventDid
, CAId
)
- interface:
api.events.corporateAction.CARemoved.is
- summary: A CA was removed. (Agent DID, CA Id)
DefaultTargetIdentitiesChanged(IdentityId
, Ticker
, TargetIdentities
)
- interface:
api.events.corporateAction.DefaultTargetIdentitiesChanged.is
- summary: The set of default
TargetIdentities
for a ticker changed. (Agent DID, Ticker, New TargetIdentities)
DefaultWithholdingTaxChanged(IdentityId
, Ticker
, Tax
)
- interface:
api.events.corporateAction.DefaultWithholdingTaxChanged.is
- summary: The default withholding tax for a ticker changed. (Agent DID, Ticker, New Tax).
DidWithholdingTaxChanged(IdentityId
, Ticker
, IdentityId
, Option<Tax>
)
- interface:
api.events.corporateAction.DidWithholdingTaxChanged.is
- summary: The withholding tax specific to a DID for a ticker changed. (Agent DID, Ticker, Taxed DID, New Tax).
MaxDetailsLengthChanged(IdentityId
, u32
)
- interface:
api.events.corporateAction.MaxDetailsLengthChanged.is
- summary: The maximum length of
details
in bytes was changed. (GC DID, new length)
RecordDateChanged(EventDid
, CAId
, CorporateAction
)
- interface:
api.events.corporateAction.RecordDateChanged.is
- summary: A CA's record date changed.
corporateBallot
Created(IdentityId
, CAId
, BallotTimeRange
, BallotMeta
, bool
)
-
interface:
api.events.corporateBallot.Created.is
-
summary: A corporate ballot was created.
(Agent DID, CA's ID, Voting start/end, Ballot metadata, RCV enabled?)
MetaChanged(IdentityId
, CAId
, BallotMeta
)
-
interface:
api.events.corporateBallot.MetaChanged.is
-
summary: A corporate ballot changed its metadata.
(Agent DID, CA's ID, New metadata)
RangeChanged(IdentityId
, CAId
, BallotTimeRange
)
-
interface:
api.events.corporateBallot.RangeChanged.is
-
summary: A corporate ballot changed its start/end date range.
(Agent DID, CA's ID, Voting start/end)
RCVChanged(IdentityId
, CAId
, bool
)
-
interface:
api.events.corporateBallot.RCVChanged.is
-
summary: A corporate ballot changed its RCV support.
(Agent DID, CA's ID, New support)
Removed(EventDid
, CAId
)
-
interface:
api.events.corporateBallot.Removed.is
-
summary: A corporate ballot was removed.
(Agent DID, CA's ID)
VoteCast(IdentityId
, CAId
, Vec<BallotVote>
)
-
interface:
api.events.corporateBallot.VoteCast.is
-
summary: A vote was cast in a corporate ballot.
(voter DID, CAId, Votes)
externalAgents
AgentAdded(EventDid
, Ticker
, AgentGroup
)
-
interface:
api.events.externalAgents.AgentAdded.is
-
summary: An agent was added.
(Caller/Agent DID, Agent's ticker, Agent's group)
AgentRemoved(EventDid
, Ticker
, IdentityId
)
-
interface:
api.events.externalAgents.AgentRemoved.is
-
summary: An agent was removed.
(Caller DID, Agent's ticker, Agent's DID)
GroupChanged(EventDid
, Ticker
, IdentityId
, AgentGroup
)
-
interface:
api.events.externalAgents.GroupChanged.is
-
summary: An agent's group was changed.
(Caller DID, Agent's ticker, Agent's DID, The new group of the agent)
GroupCreated(EventDid
, Ticker
, AGId
, ExtrinsicPermissions
)
-
interface:
api.events.externalAgents.GroupCreated.is
-
summary: An Agent Group was created.
(Caller DID, AG's ticker, AG's ID, AG's permissions)
GroupPermissionsUpdated(EventDid
, Ticker
, AGId
, ExtrinsicPermissions
)
-
interface:
api.events.externalAgents.GroupPermissionsUpdated.is
-
summary: An Agent Group's permissions was updated.
(Caller DID, AG's ticker, AG's ID, AG's new permissions)
grandpa
NewAuthorities(AuthorityList
)
- interface:
api.events.grandpa.NewAuthorities.is
- summary: New authority set has been applied. [authority_set]
Paused()
- interface:
api.events.grandpa.Paused.is
- summary: Current authority set has been paused.
Resumed()
- interface:
api.events.grandpa.Resumed.is
- summary: Current authority set has been resumed.
identity
AssetDidRegistered(IdentityId
, Ticker
)
- interface:
api.events.identity.AssetDidRegistered.is
- summary: Asset DID
AuthorizationAdded(IdentityId
, Option<IdentityId>
, Option<AccountId>
, u64
, AuthorizationData
, Option<Moment>
)
- interface:
api.events.identity.AuthorizationAdded.is
- summary: New authorization added. (authorised_by, target_did, target_key, auth_id, authorization_data, expiry)
AuthorizationConsumed(Option<IdentityId>
, Option<AccountId>
, u64
)
- interface:
api.events.identity.AuthorizationConsumed.is
- summary: Authorization consumed. (authorized_identity, authorized_key, auth_id)
AuthorizationRejected(Option<IdentityId>
, Option<AccountId>
, u64
)
- interface:
api.events.identity.AuthorizationRejected.is
- summary: Authorization rejected by the user who was authorized. (authorized_identity, authorized_key, auth_id)
AuthorizationRevoked(Option<IdentityId>
, Option<AccountId>
, u64
)
- interface:
api.events.identity.AuthorizationRevoked.is
- summary: Authorization revoked by the authorizer. (authorized_identity, authorized_key, auth_id)
CddClaimsInvalidated(IdentityId
, Moment
)
- interface:
api.events.identity.CddClaimsInvalidated.is
- summary: CDD claims generated by
IdentityId
(a CDD Provider) have been invalidated fromMoment
.
CddRequirementForPrimaryKeyUpdated(bool
)
- interface:
api.events.identity.CddRequirementForPrimaryKeyUpdated.is
- summary: CDD requirement for updating primary key changed. (new_requirement)
ClaimAdded(IdentityId
, IdentityClaim
)
- interface:
api.events.identity.ClaimAdded.is
- summary: DID, claims
ClaimRevoked(IdentityId
, IdentityClaim
)
- interface:
api.events.identity.ClaimRevoked.is
- summary: DID, ClaimType, Claim Issuer
DidCreated(IdentityId
, AccountId
, Vec<SecondaryKey>
)
- interface:
api.events.identity.DidCreated.is
- summary: DID, primary key account ID, secondary keys
MockInvestorUIDCreated(IdentityId
, InvestorUid
)
- interface:
api.events.identity.MockInvestorUIDCreated.is
- summary: Mocked InvestorUid created.
OffChainAuthorizationRevoked(IdentityId
, Signatory
)
- interface:
api.events.identity.OffChainAuthorizationRevoked.is
- summary: Off-chain Authorization has been revoked. (Target Identity, Signatory)
PrimaryKeyUpdated(IdentityId
, AccountId
, AccountId
)
- interface:
api.events.identity.PrimaryKeyUpdated.is
- summary: DID, old primary key account ID, new ID
SecondaryKeyPermissionsUpdated(IdentityId
, SecondaryKey
, Permissions
, Permissions
)
- interface:
api.events.identity.SecondaryKeyPermissionsUpdated.is
- summary: DID, updated secondary key, previous permissions, new permissions
SecondaryKeysAdded(IdentityId
, Vec<SecondaryKey>
)
- interface:
api.events.identity.SecondaryKeysAdded.is
- summary: DID, new keys
SecondaryKeysFrozen(IdentityId
)
- interface:
api.events.identity.SecondaryKeysFrozen.is
- summary: All Secondary keys of the identity ID are frozen.
SecondaryKeysRemoved(IdentityId
, Vec<Signatory>
)
- interface:
api.events.identity.SecondaryKeysRemoved.is
- summary: DID, the keys that got removed
SecondaryKeysUnfrozen(IdentityId
)
- interface:
api.events.identity.SecondaryKeysUnfrozen.is
- summary: All Secondary keys of the identity ID are unfrozen.
SignerLeft(IdentityId
, Signatory
)
- interface:
api.events.identity.SignerLeft.is
- summary: A signer left their identity. (did, signer)
imOnline
AllGood()
- interface:
api.events.imOnline.AllGood.is
- summary: At the end of the session, no offence was committed.
HeartbeatReceived(AuthorityId
)
- interface:
api.events.imOnline.HeartbeatReceived.is
- summary: A new heartbeat was received from
AuthorityId
[authority_id]
SomeOffline(Vec<IdentificationTuple>
)
- interface:
api.events.imOnline.SomeOffline.is
- summary: At the end of the session, at least one validator was found to be [offline].
indices
IndexAssigned(AccountId
, AccountIndex
)
- interface:
api.events.indices.IndexAssigned.is
- summary: A account index was assigned. [index, who]
IndexFreed(AccountIndex
)
- interface:
api.events.indices.IndexFreed.is
- summary: A account index has been freed up (unassigned). [index]
IndexFrozen(AccountIndex
, AccountId
)
- interface:
api.events.indices.IndexFrozen.is
- summary: A account index has been frozen to its current account ID. [index, who]
multiSig
MultiSigCreated(IdentityId
, AccountId
, AccountId
, Vec<Signatory>
, u64
)
- interface:
api.events.multiSig.MultiSigCreated.is
- summary: Event emitted after creation of a multisig. Arguments: caller DID, multisig address, signers (pending approval), signatures required.
MultiSigSignaturesRequiredChanged(IdentityId
, AccountId
, u64
)
- interface:
api.events.multiSig.MultiSigSignaturesRequiredChanged.is
- summary: Event emitted when the number of required signatures is changed. Arguments: caller DID, multisig, new required signatures.
MultiSigSignerAdded(IdentityId
, AccountId
, Signatory
)
- interface:
api.events.multiSig.MultiSigSignerAdded.is
- summary: Event emitted when a signatory is added. Arguments: caller DID, multisig, added signer.
MultiSigSignerAuthorized(IdentityId
, AccountId
, Signatory
)
- interface:
api.events.multiSig.MultiSigSignerAuthorized.is
- summary: Event emitted when a multisig signatory is authorized to be added. Arguments: caller DID, multisig, authorized signer.
MultiSigSignerRemoved(IdentityId
, AccountId
, Signatory
)
- interface:
api.events.multiSig.MultiSigSignerRemoved.is
- summary: Event emitted when a multisig signatory is removed. Arguments: caller DID, multisig, removed signer.
ProposalAdded(IdentityId
, AccountId
, u64
)
- interface:
api.events.multiSig.ProposalAdded.is
- summary: Event emitted after adding a proposal. Arguments: caller DID, multisig, proposal ID.
ProposalApproved(IdentityId
, AccountId
, Signatory
, u64
)
- interface:
api.events.multiSig.ProposalApproved.is
- summary: Event emitted when the proposal get approved. Arguments: caller DID, multisig, authorized signer, proposal id.
ProposalExecuted(IdentityId
, AccountId
, u64
, bool
)
- interface:
api.events.multiSig.ProposalExecuted.is
- summary: Event emitted when a proposal is executed. Arguments: caller DID, multisig, proposal ID, result.
ProposalExecutionFailed(DispatchError
)
- interface:
api.events.multiSig.ProposalExecutionFailed.is
- summary: Event emitted when there's an error in proposal execution
ProposalRejected(IdentityId
, AccountId
, u64
)
- interface:
api.events.multiSig.ProposalRejected.is
- summary: Event emitted when a proposal is rejected. Arguments: caller DID, multisig, proposal ID.
ProposalRejectionVote(IdentityId
, AccountId
, Signatory
, u64
)
- interface:
api.events.multiSig.ProposalRejectionVote.is
- summary: Event emitted when a vote is cast in favor of rejecting a proposal. Arguments: caller DID, multisig, authorized signer, proposal id.
SchedulingFailed(DispatchError
)
- interface:
api.events.multiSig.SchedulingFailed.is
- summary: Scheduling of proposal fails.
offences
Offence(Kind
, OpaqueTimeSlot
, bool
)
- interface:
api.events.offences.Offence.is
- summary: There is an offence reported of the given
kind
happened at thesession_index
and (kind-specific) time slot. This event is not deposited for duplicate slashes. last element indicates of the offence was applied (true) or queued (false) [kind, timeslot, applied].
pips
ActivePipLimitChanged(IdentityId
, u32
, u32
)
- interface:
api.events.pips.ActivePipLimitChanged.is
- summary: The maximum number of active PIPs was changed. (caller DID, old value, new value)
DefaultEnactmentPeriodChanged(IdentityId
, BlockNumber
, BlockNumber
)
- interface:
api.events.pips.DefaultEnactmentPeriodChanged.is
- summary: Default enactment period (in blocks) has been changed. (caller DID, old period, new period)
ExecutionCancellingFailed(PipId
)
- interface:
api.events.pips.ExecutionCancellingFailed.is
- summary: Cancelling the PIP execution failed in the scheduler pallet.
ExecutionScheduled(IdentityId
, PipId
, BlockNumber
)
- interface:
api.events.pips.ExecutionScheduled.is
- summary: Execution of a PIP has been scheduled at specific block.
ExecutionSchedulingFailed(IdentityId
, PipId
, BlockNumber
)
- interface:
api.events.pips.ExecutionSchedulingFailed.is
- summary: Scheduling of the PIP for execution failed in the scheduler pallet.
ExpiryScheduled(IdentityId
, PipId
, BlockNumber
)
- interface:
api.events.pips.ExpiryScheduled.is
- summary: The PIP has been scheduled for expiry.
ExpirySchedulingFailed(IdentityId
, PipId
, BlockNumber
)
- interface:
api.events.pips.ExpirySchedulingFailed.is
- summary: Scheduling of the PIP for expiry failed in the scheduler pallet.
HistoricalPipsPruned(IdentityId
, bool
, bool
)
- interface:
api.events.pips.HistoricalPipsPruned.is
- summary: Pruning Historical PIPs is enabled or disabled (caller DID, old value, new value)
MaxPipSkipCountChanged(IdentityId
, SkippedCount
, SkippedCount
)
- interface:
api.events.pips.MaxPipSkipCountChanged.is
- summary: The maximum times a PIP can be skipped was changed. (caller DID, old value, new value)
MinimumProposalDepositChanged(IdentityId
, Balance
, Balance
)
- interface:
api.events.pips.MinimumProposalDepositChanged.is
- summary: Minimum deposit amount modified (caller DID, old amount, new amount)
PendingPipExpiryChanged(IdentityId
, MaybeBlock
, MaybeBlock
)
- interface:
api.events.pips.PendingPipExpiryChanged.is
- summary: Amount of blocks after which a pending PIP expires. (caller DID, old expiry, new expiry)
PipClosed(IdentityId
, PipId
, bool
)
- interface:
api.events.pips.PipClosed.is
- summary: Pip has been closed, bool indicates whether data is pruned
PipSkipped(IdentityId
, PipId
, SkippedCount
)
- interface:
api.events.pips.PipSkipped.is
- summary: A PIP in the snapshot queue was skipped. (gc_did, pip_id, new_skip_count)
ProposalCreated(IdentityId
, Proposer
, PipId
, Balance
, Option<Url>
, Option<PipDescription>
, MaybeBlock
, ProposalData
)
-
interface:
api.events.pips.ProposalCreated.is
-
summary: A PIP was made with a
Balance
stake.Parameters:
Caller DID, Proposer, PIP ID, deposit, URL, description, expiry time, proposal data.
ProposalRefund(IdentityId
, PipId
, Balance
)
- interface:
api.events.pips.ProposalRefund.is
- summary: Refund proposal (id, total amount)
ProposalStateUpdated(IdentityId
, PipId
, ProposalState
)
- interface:
api.events.pips.ProposalStateUpdated.is
- summary: Triggered each time the state of a proposal is amended
SnapshotCleared(IdentityId
, SnapshotId
)
- interface:
api.events.pips.SnapshotCleared.is
- summary: The snapshot was cleared.
SnapshotResultsEnacted(IdentityId
, Option<SnapshotId>
, Vec<(PipId,SkippedCount)>
, Vec<PipId>
, Vec<PipId>
)
- interface:
api.events.pips.SnapshotResultsEnacted.is
- summary: Results (e.g., approved, rejected, and skipped), were enacted for some PIPs. (gc_did, snapshot_id_opt, skipped_pips_with_new_count, rejected_pips, approved_pips)
SnapshotTaken(IdentityId
, SnapshotId
, Vec<SnapshottedPip>
)
- interface:
api.events.pips.SnapshotTaken.is
- summary: A new snapshot was taken.
Voted(IdentityId
, AccountId
, PipId
, bool
, Balance
)
- interface:
api.events.pips.Voted.is
- summary:
AccountId
votedbool
on the proposal referenced byPipId
polymeshCommittee
Approved(IdentityId
, Hash
, MemberCount
, MemberCount
, MemberCount
)
- interface:
api.events.polymeshCommittee.Approved.is
- summary: A motion was approved by the required threshold with the following tally (yes votes, no votes and total seats given respectively as
MemberCount
). Parameters: caller DID, proposal hash, yay vote count, nay vote count, total seats.
Executed(IdentityId
, Hash
, DispatchResult
)
- interface:
api.events.polymeshCommittee.Executed.is
- summary: A motion was executed;
DispatchResult
isOk(())
if returned without error. Parameters: caller DID, proposal hash, result of proposal dispatch.
ExpiresAfterUpdated(IdentityId
, MaybeBlock
)
- interface:
api.events.polymeshCommittee.ExpiresAfterUpdated.is
- summary: Proposal expiry time has been updated. Parameters: caller DID, new expiry time (if any).
FinalVotes(IdentityId
, ProposalIndex
, Hash
, Vec<IdentityId>
, Vec<IdentityId>
)
- interface:
api.events.polymeshCommittee.FinalVotes.is
- summary: Final votes on a motion (given hash) caller DID, ProposalIndex, Proposal hash, yes voters, no voter
Proposed(IdentityId
, ProposalIndex
, Hash
)
- interface:
api.events.polymeshCommittee.Proposed.is
- summary: A motion (given hash) has been proposed (by given account) with a threshold (given
MemberCount
). Parameters: caller DID, proposal index, proposal hash.
Rejected(IdentityId
, Hash
, MemberCount
, MemberCount
, MemberCount
)
- interface:
api.events.polymeshCommittee.Rejected.is
- summary: A motion was rejected by the required threshold with the following tally (yes votes, no votes and total seats given respectively as
MemberCount
). Parameters: caller DID, proposal hash, yay vote count, nay vote count, total seats.
ReleaseCoordinatorUpdated(IdentityId
, Option<IdentityId>
)
- interface:
api.events.polymeshCommittee.ReleaseCoordinatorUpdated.is
- summary: Release coordinator has been updated. Parameters: caller DID, DID of the release coordinator.
Voted(IdentityId
, ProposalIndex
, Hash
, bool
, MemberCount
, MemberCount
, MemberCount
)
- interface:
api.events.polymeshCommittee.Voted.is
- summary: A motion (given hash) has been voted on by given account, leaving a tally (yes votes, no votes and total seats given respectively as
MemberCount
). caller DID, Proposal index, Proposal hash, current vote, yay vote count, nay vote count, total seats.
VoteRetracted(IdentityId
, ProposalIndex
, Hash
, bool
)
- interface:
api.events.polymeshCommittee.VoteRetracted.is
- summary: A vote on a motion (given hash) has been retracted. caller DID, ProposalIndex, Proposal hash, vote that was retracted
VoteThresholdUpdated(IdentityId
, u32
, u32
)
- interface:
api.events.polymeshCommittee.VoteThresholdUpdated.is
- summary: Voting threshold has been updated Parameters: caller DID, numerator, denominator
portfolio
MovedBetweenPortfolios(IdentityId
, PortfolioId
, PortfolioId
, Ticker
, Balance
, Option<Memo>
)
-
interface:
api.events.portfolio.MovedBetweenPortfolios.is
-
summary: A token amount has been moved from one portfolio to another.
Parameters
-
origin DID
-
source portfolio
-
destination portfolio
-
asset ticker
-
asset balance that was moved
-
PortfolioCreated(IdentityId
, PortfolioNumber
, PortfolioName
)
-
interface:
api.events.portfolio.PortfolioCreated.is
-
summary: The portfolio has been successfully created.
Parameters
-
origin DID
-
portfolio number
-
portfolio name
-
PortfolioCustodianChanged(IdentityId
, PortfolioId
, IdentityId
)
-
interface:
api.events.portfolio.PortfolioCustodianChanged.is
-
summary: Custody of a portfolio has been given to a different identity
Parameters
-
origin DID
-
portfolio id
-
portfolio custodian did
-
PortfolioDeleted(IdentityId
, PortfolioNumber
)
-
interface:
api.events.portfolio.PortfolioDeleted.is
-
summary: The portfolio has been successfully removed.
Parameters
-
origin DID
-
portfolio number
-
PortfolioRenamed(IdentityId
, PortfolioNumber
, PortfolioName
)
-
interface:
api.events.portfolio.PortfolioRenamed.is
-
summary: The portfolio identified with
num
has been renamed toname
.Parameters
-
origin DID
-
portfolio number
-
portfolio name
-
UserPortfolios(IdentityId
, Vec<(PortfolioNumber,PortfolioName)>
)
-
interface:
api.events.portfolio.UserPortfolios.is
-
summary: All non-default portfolio numbers and names of a DID.
Parameters
-
origin DID
-
vector of number-name pairs
-
protocolFee
CoefficientSet(IdentityId
, PosRatio
)
- interface:
api.events.protocolFee.CoefficientSet.is
- summary: The fee coefficient.
FeeCharged(AccountId
, Balance
)
- interface:
api.events.protocolFee.FeeCharged.is
- summary: Fee charged.
FeeSet(IdentityId
, Balance
)
- interface:
api.events.protocolFee.FeeSet.is
- summary: The protocol fee of an operation.
relayer
AcceptedPayingKey(EventDid
, AccountId
, AccountId
)
-
interface:
api.events.relayer.AcceptedPayingKey.is
-
summary: Accepted paying key.
(Caller DID, User Key, Paying Key)
AuthorizedPayingKey(EventDid
, AccountId
, AccountId
, Balance
, u64
)
-
interface:
api.events.relayer.AuthorizedPayingKey.is
-
summary: Authorization given for
paying_key
touser_key
.(Caller DID, User Key, Paying Key, Initial POLYX limit, Auth ID)
RemovedPayingKey(EventDid
, AccountId
, AccountId
)
-
interface:
api.events.relayer.RemovedPayingKey.is
-
summary: Removed paying key.
(Caller DID, User Key, Paying Key)
UpdatedPolyxLimit(EventDid
, AccountId
, AccountId
, Balance
, Balance
)
-
interface:
api.events.relayer.UpdatedPolyxLimit.is
-
summary: Updated polyx limit.
(Caller DID, User Key, Paying Key, POLYX limit, old remaining POLYX)
rewards
ItnRewardClaimed(AccountId
, Balance
)
- interface:
api.events.rewards.ItnRewardClaimed.is
- summary: Itn reward was claimed.
scheduler
Canceled(BlockNumber
, u32
)
- interface:
api.events.scheduler.Canceled.is
- summary: Canceled some task. [when, index]
Dispatched(TaskAddress
, Option<Bytes>
, DispatchResult
)
- interface:
api.events.scheduler.Dispatched.is
- summary: Dispatched some task. [task, id, result]
Scheduled(BlockNumber
, u32
)
- interface:
api.events.scheduler.Scheduled.is
- summary: Scheduled some task. [when, index]
session
NewSession(SessionIndex
)
- interface:
api.events.session.NewSession.is
- summary: New session has happened. Note that the argument is the [session_index], not the block number as the type might suggest.
settlement
AffirmationWithdrawn(IdentityId
, PortfolioId
, InstructionId
)
- interface:
api.events.settlement.AffirmationWithdrawn.is
- summary: An affirmation has been withdrawn (did, portfolio, instruction_id)
InstructionAffirmed(IdentityId
, PortfolioId
, InstructionId
)
- interface:
api.events.settlement.InstructionAffirmed.is
- summary: An instruction has been affirmed (did, portfolio, instruction_id)
InstructionCreated(IdentityId
, VenueId
, InstructionId
, SettlementType
, Option<Moment>
, Option<Moment>
, Vec<Leg>
)
- interface:
api.events.settlement.InstructionCreated.is
- summary: A new instruction has been created (did, venue_id, instruction_id, settlement_type, trade_date, value_date, legs)
InstructionExecuted(IdentityId
, InstructionId
)
- interface:
api.events.settlement.InstructionExecuted.is
- summary: Instruction executed successfully(did, instruction_id)
InstructionFailed(IdentityId
, InstructionId
)
- interface:
api.events.settlement.InstructionFailed.is
- summary: Instruction failed execution (did, instruction_id)
InstructionRejected(IdentityId
, InstructionId
)
- interface:
api.events.settlement.InstructionRejected.is
- summary: An instruction has been rejected (did, instruction_id)
InstructionRescheduled(IdentityId
, InstructionId
)
- interface:
api.events.settlement.InstructionRescheduled.is
- summary: Instruction is rescheduled. (caller DID, instruction_id)
LegFailedExecution(IdentityId
, InstructionId
, LegId
)
- interface:
api.events.settlement.LegFailedExecution.is
- summary: Execution of a leg failed (did, instruction_id, leg_id)
ReceiptClaimed(IdentityId
, InstructionId
, LegId
, u64
, AccountId
, ReceiptMetadata
)
- interface:
api.events.settlement.ReceiptClaimed.is
- summary: A receipt has been claimed (did, instruction_id, leg_id, receipt_uid, signer, receipt metadata)
ReceiptUnclaimed(IdentityId
, InstructionId
, LegId
, u64
, AccountId
)
- interface:
api.events.settlement.ReceiptUnclaimed.is
- summary: A receipt has been unclaimed (did, instruction_id, leg_id, receipt_uid, signer)
ReceiptValidityChanged(IdentityId
, AccountId
, u64
, bool
)
- interface:
api.events.settlement.ReceiptValidityChanged.is
- summary: A receipt has been invalidated (did, signer, receipt_uid, validity)
SchedulingFailed(DispatchError
)
- interface:
api.events.settlement.SchedulingFailed.is
- summary: Scheduling of instruction fails.
VenueCreated(IdentityId
, VenueId
, VenueDetails
, VenueType
)
- interface:
api.events.settlement.VenueCreated.is
- summary: A new venue has been created (did, venue_id, details, type)
VenueDetailsUpdated(IdentityId
, VenueId
, VenueDetails
)
- interface:
api.events.settlement.VenueDetailsUpdated.is
- summary: An existing venue's details has been updated (did, venue_id, details)
VenueFiltering(IdentityId
, Ticker
, bool
)
- interface:
api.events.settlement.VenueFiltering.is
- summary: Venue filtering has been enabled or disabled for a ticker (did, ticker, filtering_enabled)
VenuesAllowed(IdentityId
, Ticker
, Vec<VenueId>
)
- interface:
api.events.settlement.VenuesAllowed.is
- summary: Venues added to allow list (did, ticker, vec<venue_id>)
VenuesBlocked(IdentityId
, Ticker
, Vec<VenueId>
)
- interface:
api.events.settlement.VenuesBlocked.is
- summary: Venues added to block list (did, ticker, vec<venue_id>)
VenueTypeUpdated(IdentityId
, VenueId
, VenueType
)
- interface:
api.events.settlement.VenueTypeUpdated.is
- summary: An existing venue's type has been updated (did, venue_id, type)
VenueUnauthorized(IdentityId
, Ticker
, VenueId
)
- interface:
api.events.settlement.VenueUnauthorized.is
- summary: Venue not part of the token's allow list (did, Ticker, venue_id)
staking
Bonded(IdentityId
, AccountId
, Balance
)
-
interface:
api.events.staking.Bonded.is
-
summary: An account has bonded this amount. [did, stash, amount]
NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably, it will not be emitted for staking rewards when they are added to stake.
CommissionCapUpdated(IdentityId
, Perbill
, Perbill
)
- interface:
api.events.staking.CommissionCapUpdated.is
- summary: When commission cap get updated. (old value, new value)
EraPayout(EraIndex
, Balance
, Balance
)
- interface:
api.events.staking.EraPayout.is
- summary: The era payout has been set; the first balance is the validator-payout; the second is the remainder from the maximum amount of reward. [era_index, validator_payout, remainder]
InvalidatedNominators(IdentityId
, AccountId
, Vec<AccountId>
)
- interface:
api.events.staking.InvalidatedNominators.is
- summary: Remove the nominators from the valid nominators when there CDD expired. Caller, Stash accountId of nominators
MinimumBondThresholdUpdated(Option<IdentityId>
, Balance
)
- interface:
api.events.staking.MinimumBondThresholdUpdated.is
- summary: Min bond threshold was updated (new value).
Nominated(IdentityId
, AccountId
, Vec<AccountId>
)
- interface:
api.events.staking.Nominated.is
- summary: User has updated their nominations
OldSlashingReportDiscarded(SessionIndex
)
- interface:
api.events.staking.OldSlashingReportDiscarded.is
- summary: An old slashing report from a prior era was discarded because it could not be processed. [session_index]
PermissionedIdentityAdded(IdentityId
, IdentityId
)
- interface:
api.events.staking.PermissionedIdentityAdded.is
- summary: An DID has issued a candidacy. See the transaction for who. GC identity , Validator's identity.
PermissionedIdentityRemoved(IdentityId
, IdentityId
)
- interface:
api.events.staking.PermissionedIdentityRemoved.is
- summary: The given member was removed. See the transaction for who. GC identity , Validator's identity.
Reward(IdentityId
, AccountId
, Balance
)
- interface:
api.events.staking.Reward.is
- summary: The staker has been rewarded by this amount. [stash_identity, stash, amount]
RewardPaymentSchedulingInterrupted(AccountId
, EraIndex
, DispatchError
)
- interface:
api.events.staking.RewardPaymentSchedulingInterrupted.is
- summary: When scheduling of reward payments get interrupted.
Slash(AccountId
, Balance
)
- interface:
api.events.staking.Slash.is
- summary: One validator (and its nominators) has been slashed by the given amount. [validator, amount]
SlashingAllowedForChanged(SlashingSwitch
)
- interface:
api.events.staking.SlashingAllowedForChanged.is
- summary: Update for whom balance get slashed.
SolutionStored(ElectionCompute
)
- interface:
api.events.staking.SolutionStored.is
- summary: A new solution for the upcoming election has been stored. [compute]
StakingElection(ElectionCompute
)
- interface:
api.events.staking.StakingElection.is
- summary: A new set of stakers was elected with the given [compute].
Unbonded(IdentityId
, AccountId
, Balance
)
- interface:
api.events.staking.Unbonded.is
- summary: An account has unbonded this amount. [did, stash, amount]
Withdrawn(AccountId
, Balance
)
- interface:
api.events.staking.Withdrawn.is
- summary: An account has called
withdraw_unbonded
and removed unbonding chunks worthBalance
from the unlocking queue. [stash, amount]
statistics
ExemptionsAdded(IdentityId
, Ticker
, TransferManager
, Vec<ScopeId>
)
- interface:
api.events.statistics.ExemptionsAdded.is
- summary:
ScopeId
s were added to the exemption list.
ExemptionsRemoved(IdentityId
, Ticker
, TransferManager
, Vec<ScopeId>
)
- interface:
api.events.statistics.ExemptionsRemoved.is
- summary:
ScopeId
s were removed from the exemption list.
TransferManagerAdded(IdentityId
, Ticker
, TransferManager
)
- interface:
api.events.statistics.TransferManagerAdded.is
- summary: A new transfer manager was added.
TransferManagerRemoved(IdentityId
, Ticker
, TransferManager
)
- interface:
api.events.statistics.TransferManagerRemoved.is
- summary: An existing transfer manager was removed.
sto
FundraiserClosed(IdentityId
, FundraiserId
)
- interface:
api.events.sto.FundraiserClosed.is
- summary: A fundraiser has been stopped. (Agent DID, fundraiser id)
FundraiserCreated(IdentityId
, FundraiserId
, FundraiserName
, Fundraiser
)
- interface:
api.events.sto.FundraiserCreated.is
- summary: A new fundraiser has been created. (Agent DID, fundraiser id, fundraiser name, fundraiser details)
FundraiserFrozen(IdentityId
, FundraiserId
)
- interface:
api.events.sto.FundraiserFrozen.is
- summary: A fundraiser has been frozen. (Agent DID, fundraiser id)
FundraiserUnfrozen(IdentityId
, FundraiserId
)
- interface:
api.events.sto.FundraiserUnfrozen.is
- summary: A fundraiser has been unfrozen. (Agent DID, fundraiser id)
FundraiserWindowModified(EventDid
, FundraiserId
, Moment
, Option<Moment>
, Moment
, Option<Moment>
)
- interface:
api.events.sto.FundraiserWindowModified.is
- summary: A fundraiser window has been modified. (Agent DID, fundraiser id, old_start, old_end, new_start, new_end)
Invested(IdentityId
, FundraiserId
, Ticker
, Ticker
, Balance
, Balance
)
- interface:
api.events.sto.Invested.is
- summary: An investor invested in the fundraiser. (Investor, fundraiser_id, offering token, raise token, offering_token_amount, raise_token_amount)
sudo
KeyChanged(AccountId
)
- interface:
api.events.sudo.KeyChanged.is
- summary: The [sudoer] just switched identity; the old key is supplied.
Sudid(DispatchResult
)
- interface:
api.events.sudo.Sudid.is
- summary: A sudo just took place. [result]
SudoAsDone(DispatchResult
)
- interface:
api.events.sudo.SudoAsDone.is
- summary: A sudo just took place. [result]
system
CodeUpdated()
- interface:
api.events.system.CodeUpdated.is
- summary:
:code
was updated.
ExtrinsicFailed(DispatchError
, DispatchInfo
)
- interface:
api.events.system.ExtrinsicFailed.is
- summary: An extrinsic failed. [error, info]
ExtrinsicSuccess(DispatchInfo
)
- interface:
api.events.system.ExtrinsicSuccess.is
- summary: An extrinsic completed successfully. [info]
KilledAccount(AccountId
)
- interface:
api.events.system.KilledAccount.is
- summary: An [account] was reaped.
NewAccount(AccountId
)
- interface:
api.events.system.NewAccount.is
- summary: A new [account] was created.
technicalCommittee
Approved(IdentityId
, Hash
, MemberCount
, MemberCount
, MemberCount
)
- interface:
api.events.technicalCommittee.Approved.is
- summary: A motion was approved by the required threshold with the following tally (yes votes, no votes and total seats given respectively as
MemberCount
). Parameters: caller DID, proposal hash, yay vote count, nay vote count, total seats.
Executed(IdentityId
, Hash
, DispatchResult
)
- interface:
api.events.technicalCommittee.Executed.is
- summary: A motion was executed;
DispatchResult
isOk(())
if returned without error. Parameters: caller DID, proposal hash, result of proposal dispatch.
ExpiresAfterUpdated(IdentityId
, MaybeBlock
)
- interface:
api.events.technicalCommittee.ExpiresAfterUpdated.is
- summary: Proposal expiry time has been updated. Parameters: caller DID, new expiry time (if any).
FinalVotes(IdentityId
, ProposalIndex
, Hash
, Vec<IdentityId>
, Vec<IdentityId>
)
- interface:
api.events.technicalCommittee.FinalVotes.is
- summary: Final votes on a motion (given hash) caller DID, ProposalIndex, Proposal hash, yes voters, no voter
Proposed(IdentityId
, ProposalIndex
, Hash
)
- interface:
api.events.technicalCommittee.Proposed.is
- summary: A motion (given hash) has been proposed (by given account) with a threshold (given
MemberCount
). Parameters: caller DID, proposal index, proposal hash.
Rejected(IdentityId
, Hash
, MemberCount
, MemberCount
, MemberCount
)
- interface:
api.events.technicalCommittee.Rejected.is
- summary: A motion was rejected by the required threshold with the following tally (yes votes, no votes and total seats given respectively as
MemberCount
). Parameters: caller DID, proposal hash, yay vote count, nay vote count, total seats.
ReleaseCoordinatorUpdated(IdentityId
, Option<IdentityId>
)
- interface:
api.events.technicalCommittee.ReleaseCoordinatorUpdated.is
- summary: Release coordinator has been updated. Parameters: caller DID, DID of the release coordinator.
Voted(IdentityId
, ProposalIndex
, Hash
, bool
, MemberCount
, MemberCount
, MemberCount
)
- interface:
api.events.technicalCommittee.Voted.is
- summary: A motion (given hash) has been voted on by given account, leaving a tally (yes votes, no votes and total seats given respectively as
MemberCount
). caller DID, Proposal index, Proposal hash, current vote, yay vote count, nay vote count, total seats.
VoteRetracted(IdentityId
, ProposalIndex
, Hash
, bool
)
- interface:
api.events.technicalCommittee.VoteRetracted.is
- summary: A vote on a motion (given hash) has been retracted. caller DID, ProposalIndex, Proposal hash, vote that was retracted
VoteThresholdUpdated(IdentityId
, u32
, u32
)
- interface:
api.events.technicalCommittee.VoteThresholdUpdated.is
- summary: Voting threshold has been updated Parameters: caller DID, numerator, denominator
technicalCommitteeMembership
ActiveLimitChanged(IdentityId
, MemberCount
, MemberCount
)
- interface:
api.events.technicalCommitteeMembership.ActiveLimitChanged.is
- summary: The limit of how many active members there can be concurrently was changed.
Dummy(PhantomData
)
- interface:
api.events.technicalCommitteeMembership.Dummy.is
- summary: Phantom member, never used.
MemberAdded(IdentityId
, IdentityId
)
- interface:
api.events.technicalCommitteeMembership.MemberAdded.is
- summary: The given member was added; see the transaction for who. caller DID, New member DID.
MemberRemoved(IdentityId
, IdentityId
)
- interface:
api.events.technicalCommitteeMembership.MemberRemoved.is
- summary: The given member was removed; see the transaction for who. caller DID, member DID that get removed.
MemberRevoked(IdentityId
, IdentityId
)
- interface:
api.events.technicalCommitteeMembership.MemberRevoked.is
- summary: The given member has been revoked at specific time-stamp. caller DID, member DID that get revoked.
MembersReset(IdentityId
, Vec<IdentityId>
)
- interface:
api.events.technicalCommitteeMembership.MembersReset.is
- summary: The membership was reset; see the transaction for who the new set is. caller DID, List of new members.
MembersSwapped(IdentityId
, IdentityId
, IdentityId
)
- interface:
api.events.technicalCommitteeMembership.MembersSwapped.is
- summary: Two members were swapped; see the transaction for who. caller DID, Removed DID, New add DID.
testUtils
CddStatus(Option<IdentityId>
, AccountId
, bool
)
- interface:
api.events.testUtils.CddStatus.is
- summary: Shows the
DID
associated to theAccountId
, and a flag indicates if that DID has a valid CDD claim. (Target DID, Target Account, a valid CDD claim exists)
DidStatus(IdentityId
, AccountId
)
- interface:
api.events.testUtils.DidStatus.is
- summary: Emits the
IdentityId
and theAccountId
of the caller. (Caller DID, Caller account)
MockInvestorUIDCreated(IdentityId
, InvestorUid
)
- interface:
api.events.testUtils.MockInvestorUIDCreated.is
- summary: A new mocked
InvestorUid
has been created for the given Identity. (Target DID, New InvestorUid)
treasury
TreasuryDisbursement(IdentityId
, IdentityId
, Balance
)
- interface:
api.events.treasury.TreasuryDisbursement.is
- summary: Disbursement to a target Identity. (target identity, amount)
TreasuryReimbursement(IdentityId
, Balance
)
- interface:
api.events.treasury.TreasuryReimbursement.is
- summary: Treasury reimbursement.
upgradeCommittee
Approved(IdentityId
, Hash
, MemberCount
, MemberCount
, MemberCount
)
- interface:
api.events.upgradeCommittee.Approved.is
- summary: A motion was approved by the required threshold with the following tally (yes votes, no votes and total seats given respectively as
MemberCount
). Parameters: caller DID, proposal hash, yay vote count, nay vote count, total seats.
Executed(IdentityId
, Hash
, DispatchResult
)
- interface:
api.events.upgradeCommittee.Executed.is
- summary: A motion was executed;
DispatchResult
isOk(())
if returned without error. Parameters: caller DID, proposal hash, result of proposal dispatch.
ExpiresAfterUpdated(IdentityId
, MaybeBlock
)
- interface:
api.events.upgradeCommittee.ExpiresAfterUpdated.is
- summary: Proposal expiry time has been updated. Parameters: caller DID, new expiry time (if any).
FinalVotes(IdentityId
, ProposalIndex
, Hash
, Vec<IdentityId>
, Vec<IdentityId>
)
- interface:
api.events.upgradeCommittee.FinalVotes.is
- summary: Final votes on a motion (given hash) caller DID, ProposalIndex, Proposal hash, yes voters, no voter
Proposed(IdentityId
, ProposalIndex
, Hash
)
- interface:
api.events.upgradeCommittee.Proposed.is
- summary: A motion (given hash) has been proposed (by given account) with a threshold (given
MemberCount
). Parameters: caller DID, proposal index, proposal hash.
Rejected(IdentityId
, Hash
, MemberCount
, MemberCount
, MemberCount
)
- interface:
api.events.upgradeCommittee.Rejected.is
- summary: A motion was rejected by the required threshold with the following tally (yes votes, no votes and total seats given respectively as
MemberCount
). Parameters: caller DID, proposal hash, yay vote count, nay vote count, total seats.
ReleaseCoordinatorUpdated(IdentityId
, Option<IdentityId>
)
- interface:
api.events.upgradeCommittee.ReleaseCoordinatorUpdated.is
- summary: Release coordinator has been updated. Parameters: caller DID, DID of the release coordinator.
Voted(IdentityId
, ProposalIndex
, Hash
, bool
, MemberCount
, MemberCount
, MemberCount
)
- interface:
api.events.upgradeCommittee.Voted.is
- summary: A motion (given hash) has been voted on by given account, leaving a tally (yes votes, no votes and total seats given respectively as
MemberCount
). caller DID, Proposal index, Proposal hash, current vote, yay vote count, nay vote count, total seats.
VoteRetracted(IdentityId
, ProposalIndex
, Hash
, bool
)
- interface:
api.events.upgradeCommittee.VoteRetracted.is
- summary: A vote on a motion (given hash) has been retracted. caller DID, ProposalIndex, Proposal hash, vote that was retracted
VoteThresholdUpdated(IdentityId
, u32
, u32
)
- interface:
api.events.upgradeCommittee.VoteThresholdUpdated.is
- summary: Voting threshold has been updated Parameters: caller DID, numerator, denominator
upgradeCommitteeMembership
ActiveLimitChanged(IdentityId
, MemberCount
, MemberCount
)
- interface:
api.events.upgradeCommitteeMembership.ActiveLimitChanged.is
- summary: The limit of how many active members there can be concurrently was changed.
Dummy(PhantomData
)
- interface:
api.events.upgradeCommitteeMembership.Dummy.is
- summary: Phantom member, never used.
MemberAdded(IdentityId
, IdentityId
)
- interface:
api.events.upgradeCommitteeMembership.MemberAdded.is
- summary: The given member was added; see the transaction for who. caller DID, New member DID.
MemberRemoved(IdentityId
, IdentityId
)
- interface:
api.events.upgradeCommitteeMembership.MemberRemoved.is
- summary: The given member was removed; see the transaction for who. caller DID, member DID that get removed.
MemberRevoked(IdentityId
, IdentityId
)
- interface:
api.events.upgradeCommitteeMembership.MemberRevoked.is
- summary: The given member has been revoked at specific time-stamp. caller DID, member DID that get revoked.
MembersReset(IdentityId
, Vec<IdentityId>
)
- interface:
api.events.upgradeCommitteeMembership.MembersReset.is
- summary: The membership was reset; see the transaction for who the new set is. caller DID, List of new members.
MembersSwapped(IdentityId
, IdentityId
, IdentityId
)
- interface:
api.events.upgradeCommitteeMembership.MembersSwapped.is
- summary: Two members were swapped; see the transaction for who. caller DID, Removed DID, New add DID.
utility
BatchCompleted(EventCounts
)
- interface:
api.events.utility.BatchCompleted.is
- summary: Batch of dispatches completed fully with no error. Includes a vector of event counts for each dispatch.
BatchInterrupted(EventCounts
, ErrorAt
)
- interface:
api.events.utility.BatchInterrupted.is
- summary: Batch of dispatches did not complete fully. Includes a vector of event counts for each dispatch and the index of the first failing dispatch as well as the error.
BatchOptimisticFailed(EventCounts
, Vec<ErrorAt>
)
- interface:
api.events.utility.BatchOptimisticFailed.is
- summary: Batch of dispatches did not complete fully. Includes a vector of event counts for each call and a vector of any failed dispatches with their indices and associated error.
title: Errors
This page lists the errors that can be encountered in the different modules.
(NOTE: These were generated from a static/snapshot view of a recent Substrate master node. Some items may not be available in older nodes, or in any customized implementations.)
asset
AlreadyArchived
- interface:
api.errors.asset.AlreadyArchived.is
- summary: When extension already archived.
AlreadyFrozen
- interface:
api.errors.asset.AlreadyFrozen.is
- summary: The token is already frozen.
AlreadyUnArchived
- interface:
api.errors.asset.AlreadyUnArchived.is
- summary: When extension already un-archived.
AssetAlreadyCreated
- interface:
api.errors.asset.AssetAlreadyCreated.is
- summary: The token has already been created.
AssetAlreadyDivisible
- interface:
api.errors.asset.AssetAlreadyDivisible.is
- summary: The token is already divisible.
BalanceOverflow
- interface:
api.errors.asset.BalanceOverflow.is
- summary: An overflow while calculating the balance.
ExtensionAlreadyPresent
- interface:
api.errors.asset.ExtensionAlreadyPresent.is
- summary: When extension is already added.
FundingRoundNameMaxLengthExceeded
- interface:
api.errors.asset.FundingRoundNameMaxLengthExceeded.is
- summary: Maximum length of the funding round name has been exceeded.
IncompatibleExtensionVersion
- interface:
api.errors.asset.IncompatibleExtensionVersion.is
- summary: Given smart extension is not compatible with the asset.
InsufficientBalance
- interface:
api.errors.asset.InsufficientBalance.is
- summary: The sender balance is not sufficient.
InvalidAssetIdentifier
- interface:
api.errors.asset.InvalidAssetIdentifier.is
- summary: Some
AssetIdentifier
was invalid.
InvalidCustomAssetTypeId
- interface:
api.errors.asset.InvalidCustomAssetTypeId.is
- summary: Invalid
CustomAssetTypeId
.
InvalidEthereumSignature
- interface:
api.errors.asset.InvalidEthereumSignature.is
- summary: An invalid Ethereum
EcdsaSignature
.
InvalidGranularity
- interface:
api.errors.asset.InvalidGranularity.is
- summary: An invalid granularity.
InvalidTransfer
- interface:
api.errors.asset.InvalidTransfer.is
- summary: Transfer validation check failed.
InvestorUniquenessClaimNotAllowed
- interface:
api.errors.asset.InvestorUniquenessClaimNotAllowed.is
- summary: Investor Uniqueness claims are not allowed for this asset.
MaximumTMExtensionLimitReached
- interface:
api.errors.asset.MaximumTMExtensionLimitReached.is
- summary: Number of Transfer Manager extensions attached to an asset is equal to MaxNumberOfTMExtensionForAsset.
MaxLengthOfAssetNameExceeded
- interface:
api.errors.asset.MaxLengthOfAssetNameExceeded.is
- summary: Maximum length of asset name has been exceeded.
NoSuchAsset
- interface:
api.errors.asset.NoSuchAsset.is
- summary: No such token.
NoSuchClassicTicker
- interface:
api.errors.asset.NoSuchClassicTicker.is
- summary: The given ticker is not a classic one.
NoSuchDoc
- interface:
api.errors.asset.NoSuchDoc.is
- summary: The given Document does not exist.
NotAnOwner
- interface:
api.errors.asset.NotAnOwner.is
- summary: Not an owner of the token on Ethereum.
NotFrozen
- interface:
api.errors.asset.NotFrozen.is
- summary: The asset must be frozen.
SenderSameAsReceiver
- interface:
api.errors.asset.SenderSameAsReceiver.is
- summary: Transfers to self are not allowed
TickerAlreadyRegistered
- interface:
api.errors.asset.TickerAlreadyRegistered.is
- summary: The ticker is already registered to someone else.
TickerNotAscii
- interface:
api.errors.asset.TickerNotAscii.is
- summary: The ticker has non-ascii-encoded parts.
TickerRegistrationExpired
- interface:
api.errors.asset.TickerRegistrationExpired.is
- summary: Registration of ticker has expired.
TickerTooLong
- interface:
api.errors.asset.TickerTooLong.is
- summary: The ticker length is over the limit.
TotalSupplyAboveLimit
- interface:
api.errors.asset.TotalSupplyAboveLimit.is
- summary: The total supply is above the limit.
TotalSupplyOverflow
- interface:
api.errors.asset.TotalSupplyOverflow.is
- summary: An overflow while calculating the total supply.
Unauthorized
- interface:
api.errors.asset.Unauthorized.is
- summary: The user is not authorized.
authorship
GenesisUncle
- interface:
api.errors.authorship.GenesisUncle.is
- summary: The uncle is genesis.
InvalidUncleParent
- interface:
api.errors.authorship.InvalidUncleParent.is
- summary: The uncle parent not in the chain.
OldUncle
- interface:
api.errors.authorship.OldUncle.is
- summary: The uncle isn't recent enough to be included.
TooHighUncle
- interface:
api.errors.authorship.TooHighUncle.is
- summary: The uncle is too high in chain.
TooManyUncles
- interface:
api.errors.authorship.TooManyUncles.is
- summary: Too many uncles.
UncleAlreadyIncluded
- interface:
api.errors.authorship.UncleAlreadyIncluded.is
- summary: The uncle is already included.
UnclesAlreadySet
- interface:
api.errors.authorship.UnclesAlreadySet.is
- summary: Uncles already set in the block.
balances
ExistentialDeposit
- interface:
api.errors.balances.ExistentialDeposit.is
- summary: Value too low to create account due to existential deposit
InsufficientBalance
- interface:
api.errors.balances.InsufficientBalance.is
- summary: Balance too low to send value
LiquidityRestrictions
- interface:
api.errors.balances.LiquidityRestrictions.is
- summary: Account liquidity restrictions prevent withdrawal
Overflow
- interface:
api.errors.balances.Overflow.is
- summary: Got an overflow after adding
ReceiverCddMissing
- interface:
api.errors.balances.ReceiverCddMissing.is
- summary: Receiver does not have a valid CDD
base
CounterOverflow
-
interface:
api.errors.base.CounterOverflow.is
-
summary: The sequence counter for something overflowed.
When this happens depends on e.g., the capacity of the identifier type. For example, we might have
pub struct PipId(u32);
, withu32::MAX
capacity. In practice, these errors will never happen but no code path should result in a panic, so these corner cases need to be covered with an error variant.
TooLong
- interface:
api.errors.base.TooLong.is
- summary: Exceeded a generic length limit. The limit could be for any sort of lists of things, including a string.
bridge
BadAdmin
- interface:
api.errors.bridge.BadAdmin.is
- summary: The origin is not the admin address.
BadCaller
- interface:
api.errors.bridge.BadCaller.is
- summary: The origin is not the controller or the admin address.
BridgeLimitReached
- interface:
api.errors.bridge.BridgeLimitReached.is
- summary: The identity's minted total has reached the bridge limit.
ControllerNotSet
- interface:
api.errors.bridge.ControllerNotSet.is
- summary: The bridge controller address is not set.
DivisionByZero
- interface:
api.errors.bridge.DivisionByZero.is
- summary: The block interval duration is zero. Cannot divide.
Frozen
- interface:
api.errors.bridge.Frozen.is
- summary: The bridge is already frozen.
FrozenTx
- interface:
api.errors.bridge.FrozenTx.is
- summary: The transaction is frozen.
NotFrozen
- interface:
api.errors.bridge.NotFrozen.is
- summary: The bridge is not frozen.
NoValidCdd
- interface:
api.errors.bridge.NoValidCdd.is
- summary: The recipient DID has no valid CDD.
Overflow
- interface:
api.errors.bridge.Overflow.is
- summary: The identity's minted total has overflowed.
ProposalAlreadyHandled
- interface:
api.errors.bridge.ProposalAlreadyHandled.is
- summary: The bridge transaction proposal has already been handled and the funds minted.
TimelockedTx
- interface:
api.errors.bridge.TimelockedTx.is
- summary: The transaction is timelocked.
Unauthorized
- interface:
api.errors.bridge.Unauthorized.is
- summary: Unauthorized to perform an operation.
capitalDistribution
AlreadyExists
- interface:
api.errors.capitalDistribution.AlreadyExists.is
- summary: A distribution already exists for this CA.
AlreadyReclaimed
- interface:
api.errors.capitalDistribution.AlreadyReclaimed.is
- summary: DID who created the distribution already did reclaim.
BalancePerShareProductOverflowed
- interface:
api.errors.capitalDistribution.BalancePerShareProductOverflowed.is
- summary: Multiplication of the balance with the per share payout amount overflowed.
CannotClaimAfterExpiry
- interface:
api.errors.capitalDistribution.CannotClaimAfterExpiry.is
- summary: Distribution's expiry has passed. DID cannot claim anymore and has forfeited the benefits.
CannotClaimBeforeStart
- interface:
api.errors.capitalDistribution.CannotClaimBeforeStart.is
- summary: Distribution allotment cannot be claimed as the current time is before start-of-payment.
CANotBenefit
- interface:
api.errors.capitalDistribution.CANotBenefit.is
- summary: A capital distribution was made for a non-benefit CA.
DistributingAsset
- interface:
api.errors.capitalDistribution.DistributingAsset.is
- summary: Currency that is distributed is the same as the CA's ticker. Calling agent is attempting a form of stock split, which is not what the extrinsic is for.
DistributionStarted
- interface:
api.errors.capitalDistribution.DistributionStarted.is
- summary: A distribution has been activated, as
payment_at <= now
holds.
ExpiryBeforePayment
- interface:
api.errors.capitalDistribution.ExpiryBeforePayment.is
- summary: A distributions provided expiry date was strictly before its payment date. In other words, everything to distribute would immediately be forfeited.
HolderAlreadyPaid
- interface:
api.errors.capitalDistribution.HolderAlreadyPaid.is
- summary: The token holder has already been paid their benefit.
InsufficientRemainingAmount
- interface:
api.errors.capitalDistribution.InsufficientRemainingAmount.is
- summary: A distribution has insufficient remaining amount of currency to distribute.
NoSuchDistribution
- interface:
api.errors.capitalDistribution.NoSuchDistribution.is
- summary: A capital distribution doesn't exist for this CA.
NotDistributionCreator
- interface:
api.errors.capitalDistribution.NotDistributionCreator.is
- summary: DID is not the one who created the distribution.
NotExpired
- interface:
api.errors.capitalDistribution.NotExpired.is
- summary: Distribution had not expired yet, or there's no expiry date.
cddServiceProviders
ActiveMembersLimitExceeded
- interface:
api.errors.cddServiceProviders.ActiveMembersLimitExceeded.is
- summary: The limit for the number of concurrent active members for this group has been exceeded.
ActiveMembersLimitOverflow
- interface:
api.errors.cddServiceProviders.ActiveMembersLimitOverflow.is
- summary: Active member limit was greater than maximum committee members limit.
DuplicateMember
- interface:
api.errors.cddServiceProviders.DuplicateMember.is
- summary: Group member was added already.
LastMemberCannotQuit
- interface:
api.errors.cddServiceProviders.LastMemberCannotQuit.is
- summary: Last member of the committee can not quit.
MissingCurrentIdentity
- interface:
api.errors.cddServiceProviders.MissingCurrentIdentity.is
- summary: Missing current DID
NoSuchMember
- interface:
api.errors.cddServiceProviders.NoSuchMember.is
- summary: Can't remove a member that doesn't exist.
OnlyPrimaryKeyAllowed
- interface:
api.errors.cddServiceProviders.OnlyPrimaryKeyAllowed.is
- summary: Only primary key of the identity is allowed.
checkpoint
FailedToComputeNextCheckpoint
- interface:
api.errors.checkpoint.FailedToComputeNextCheckpoint.is
- summary: Failed to compute the next checkpoint. The schedule does not have any upcoming checkpoints.
NoSuchSchedule
- interface:
api.errors.checkpoint.NoSuchSchedule.is
- summary: A checkpoint schedule does not exist for the asset.
ScheduleDurationTooShort
- interface:
api.errors.checkpoint.ScheduleDurationTooShort.is
- summary: The duration of a schedule period is too short.
ScheduleNotRemovable
- interface:
api.errors.checkpoint.ScheduleNotRemovable.is
- summary: A checkpoint schedule is not removable as
ref_count(schedule_id) > 0
.
SchedulesTooComplex
- interface:
api.errors.checkpoint.SchedulesTooComplex.is
- summary: The set of schedules taken together are too complex. For example, they are too many, or they occurs too frequently.
committeeMembership
ActiveMembersLimitExceeded
- interface:
api.errors.committeeMembership.ActiveMembersLimitExceeded.is
- summary: The limit for the number of concurrent active members for this group has been exceeded.
ActiveMembersLimitOverflow
- interface:
api.errors.committeeMembership.ActiveMembersLimitOverflow.is
- summary: Active member limit was greater than maximum committee members limit.
DuplicateMember
- interface:
api.errors.committeeMembership.DuplicateMember.is
- summary: Group member was added already.
LastMemberCannotQuit
- interface:
api.errors.committeeMembership.LastMemberCannotQuit.is
- summary: Last member of the committee can not quit.
MissingCurrentIdentity
- interface:
api.errors.committeeMembership.MissingCurrentIdentity.is
- summary: Missing current DID
NoSuchMember
- interface:
api.errors.committeeMembership.NoSuchMember.is
- summary: Can't remove a member that doesn't exist.
OnlyPrimaryKeyAllowed
- interface:
api.errors.committeeMembership.OnlyPrimaryKeyAllowed.is
- summary: Only primary key of the identity is allowed.
complianceManager
ComplianceRequirementTooComplex
- interface:
api.errors.complianceManager.ComplianceRequirementTooComplex.is
- summary: The worst case scenario of the compliance requirement is too complex
DidNotExist
- interface:
api.errors.complianceManager.DidNotExist.is
- summary: Did not exist
DuplicateComplianceRequirements
- interface:
api.errors.complianceManager.DuplicateComplianceRequirements.is
- summary: There are duplicate compliance requirements.
IncorrectOperationOnTrustedIssuer
- interface:
api.errors.complianceManager.IncorrectOperationOnTrustedIssuer.is
- summary: Issuer exist but trying to add it again
InvalidComplianceRequirementId
- interface:
api.errors.complianceManager.InvalidComplianceRequirementId.is
- summary: Compliance requirement id doesn't exist
Unauthorized
- interface:
api.errors.complianceManager.Unauthorized.is
- summary: User is not authorized.
corporateAction
AuthNotCAATransfer
- interface:
api.errors.corporateAction.AuthNotCAATransfer.is
- summary: The authorization type is not to transfer the CAA to another DID.
DeclDateAfterRecordDate
- interface:
api.errors.corporateAction.DeclDateAfterRecordDate.is
- summary: A CA's declaration date was strictly after its record date.
DeclDateInFuture
- interface:
api.errors.corporateAction.DeclDateInFuture.is
- summary: A CA's declaration date occurs in the future.
DetailsTooLong
- interface:
api.errors.corporateAction.DetailsTooLong.is
- summary: The
details
of a CA exceeded the max allowed length.
DuplicateDidTax
- interface:
api.errors.corporateAction.DuplicateDidTax.is
- summary: A withholding tax override for a given DID was specified more than once. The chain refused to make a choice, and hence there was an error.
NoRecordDate
- interface:
api.errors.corporateAction.NoRecordDate.is
- summary: The CA did not have a record date.
NoSuchCA
- interface:
api.errors.corporateAction.NoSuchCA.is
- summary: A CA with the given
CAId
did not exist.
NoSuchCheckpointId
- interface:
api.errors.corporateAction.NoSuchCheckpointId.is
- summary: On CA creation, a checkpoint ID was provided which doesn't exist.
NotTargetedByCA
- interface:
api.errors.corporateAction.NotTargetedByCA.is
- summary: CA does not target the DID.
RecordDateAfterStart
- interface:
api.errors.corporateAction.RecordDateAfterStart.is
- summary: A CA's record date was strictly after the "start" time, where "start" is context dependent. For example, it could be the start of a ballot, or the start-of-payment in capital distribution.
TooManyDidTaxes
- interface:
api.errors.corporateAction.TooManyDidTaxes.is
- summary: Too many withholding tax overrides were specified.
TooManyTargetIds
- interface:
api.errors.corporateAction.TooManyTargetIds.is
- summary: Too many identities in
TargetIdentities
were specified.
corporateBallot
AlreadyExists
- interface:
api.errors.corporateBallot.AlreadyExists.is
- summary: A corporate ballot already exists for this CA.
CANotNotice
- interface:
api.errors.corporateBallot.CANotNotice.is
- summary: A corporate ballot was made for a non
IssuerNotice
CA.
InsufficientVotes
- interface:
api.errors.corporateBallot.InsufficientVotes.is
- summary: Voting power used by a DID on a motion exceeds that which is available to them.
NoSuchBallot
- interface:
api.errors.corporateBallot.NoSuchBallot.is
- summary: A corporate ballot doesn't exist for this CA.
NoSuchRCVFallback
- interface:
api.errors.corporateBallot.NoSuchRCVFallback.is
- summary: The RCV fallback of some choice does not exist.
NowAfterEnd
- interface:
api.errors.corporateBallot.NowAfterEnd.is
- summary: A corporate ballot's end time was strictly before the current time.
NumberOfChoicesOverflow
- interface:
api.errors.corporateBallot.NumberOfChoicesOverflow.is
- summary: If some motion in a corporate ballot has more choices than would fit in
u16
.
RCVNotAllowed
- interface:
api.errors.corporateBallot.RCVNotAllowed.is
- summary: RCV is not allowed for this ballot.
RCVSelfCycle
- interface:
api.errors.corporateBallot.RCVSelfCycle.is
- summary: The RCV fallback points to the origin choice.
StartAfterEnd
- interface:
api.errors.corporateBallot.StartAfterEnd.is
- summary: A corporate ballot's start time was strictly after the ballot's end.
VotingAlreadyEnded
- interface:
api.errors.corporateBallot.VotingAlreadyEnded.is
- summary: Voting ended already.
VotingAlreadyStarted
- interface:
api.errors.corporateBallot.VotingAlreadyStarted.is
- summary: Voting started already. Amending a ballot is no longer possible.
VotingNotStarted
- interface:
api.errors.corporateBallot.VotingNotStarted.is
- summary: Voting hasn't started yet.
WrongVoteCount
- interface:
api.errors.corporateBallot.WrongVoteCount.is
- summary: Provided list of balances does not match the total number of choices.
externalAgents
AlreadyAnAgent
- interface:
api.errors.externalAgents.AlreadyAnAgent.is
- summary: The provided
agent
is already an agent for theTicker
.
NoSuchAG
- interface:
api.errors.externalAgents.NoSuchAG.is
- summary: An AG with the given
AGId
did not exist for theTicker
.
NotAnAgent
- interface:
api.errors.externalAgents.NotAnAgent.is
- summary: The provided
agent
is not an agent for theTicker
.
RemovingLastFullAgent
- interface:
api.errors.externalAgents.RemovingLastFullAgent.is
- summary: This agent is the last full one, and it's being removed, making the asset orphaned.
SecondaryKeyNotAuthorizedForAsset
- interface:
api.errors.externalAgents.SecondaryKeyNotAuthorizedForAsset.is
- summary: The caller's secondary key does not have the required asset permission.
UnauthorizedAgent
- interface:
api.errors.externalAgents.UnauthorizedAgent.is
- summary: The agent is not authorized to call the current extrinsic.
grandpa
ChangePending
- interface:
api.errors.grandpa.ChangePending.is
- summary: Attempt to signal GRANDPA change with one already pending.
DuplicateOffenceReport
- interface:
api.errors.grandpa.DuplicateOffenceReport.is
- summary: A given equivocation report is valid but already previously reported.
InvalidEquivocationProof
- interface:
api.errors.grandpa.InvalidEquivocationProof.is
- summary: An equivocation proof provided as part of an equivocation report is invalid.
InvalidKeyOwnershipProof
- interface:
api.errors.grandpa.InvalidKeyOwnershipProof.is
- summary: A key ownership proof provided as part of an equivocation report is invalid.
PauseFailed
- interface:
api.errors.grandpa.PauseFailed.is
- summary: Attempt to signal GRANDPA pause when the authority set isn't live (either paused or already pending pause).
ResumeFailed
- interface:
api.errors.grandpa.ResumeFailed.is
- summary: Attempt to signal GRANDPA resume when the authority set isn't paused (either live or already pending resume).
TooSoon
- interface:
api.errors.grandpa.TooSoon.is
- summary: Cannot signal forced change so soon after last.
identity
AccountKeyIsBeingUsed
- interface:
api.errors.identity.AccountKeyIsBeingUsed.is
- summary: The account key is being used, it can't be unlinked.
AlreadyLinked
- interface:
api.errors.identity.AlreadyLinked.is
- summary: One secondary or primary key can only belong to one DID
AuthorizationExpired
- interface:
api.errors.identity.AuthorizationExpired.is
- summary: The offchain authorization has expired.
AuthorizationHasBeenRevoked
- interface:
api.errors.identity.AuthorizationHasBeenRevoked.is
- summary: Authorization has been explicitly revoked.
AuthorizationsNotForSameDids
- interface:
api.errors.identity.AuthorizationsNotForSameDids.is
- summary: Authorizations are not for the same DID.
CannotDecodeSignerAccountId
- interface:
api.errors.identity.CannotDecodeSignerAccountId.is
- summary: Cannot convert a
T::AccountId
toAnySignature::Signer::AccountId
.
CDDIdNotUniqueForIdentity
- interface:
api.errors.identity.CDDIdNotUniqueForIdentity.is
- summary: CDDId should be unique & same within all cdd claims possessed by a DID.
ClaimAndProofVersionsDoNotMatch
- interface:
api.errors.identity.ClaimAndProofVersionsDoNotMatch.is
- summary: Claim and Proof versions are different.
ClaimVariantNotAllowed
- interface:
api.errors.identity.ClaimVariantNotAllowed.is
- summary: Try to add a claim variant using un-designated extrinsic.
ConfidentialScopeClaimNotAllowed
- interface:
api.errors.identity.ConfidentialScopeClaimNotAllowed.is
- summary: Confidential Scope claims can be added by an Identity to it-self.
CurrentIdentityCannotBeForwarded
- interface:
api.errors.identity.CurrentIdentityCannotBeForwarded.is
- summary: Current identity cannot be forwarded, it is not a secondary key of target identity.
CustomScopeTooLong
- interface:
api.errors.identity.CustomScopeTooLong.is
- summary: A custom scope is too long. It can at most be
32
characters long.
DidAlreadyExists
- interface:
api.errors.identity.DidAlreadyExists.is
- summary: The DID already exists.
DidDoesNotExist
- interface:
api.errors.identity.DidDoesNotExist.is
- summary: The DID does not exist.
DidMustAlreadyExist
- interface:
api.errors.identity.DidMustAlreadyExist.is
- summary: The DID must already exist.
FailedToChargeFee
- interface:
api.errors.identity.FailedToChargeFee.is
- summary: Couldn't charge fee for the transaction.
InvalidAccountKey
- interface:
api.errors.identity.InvalidAccountKey.is
- summary: Account Id cannot be extracted from signer
InvalidAuthorizationFromCddProvider
- interface:
api.errors.identity.InvalidAuthorizationFromCddProvider.is
- summary: An invalid authorization from the CDD provider.
InvalidAuthorizationFromOwner
- interface:
api.errors.identity.InvalidAuthorizationFromOwner.is
- summary: An invalid authorization from the owner.
InvalidAuthorizationSignature
- interface:
api.errors.identity.InvalidAuthorizationSignature.is
- summary: An invalid authorization signature.
InvalidCDDId
- interface:
api.errors.identity.InvalidCDDId.is
- summary: Non systematic CDD providers can not create default cdd_id claims.
InvalidScopeClaim
- interface:
api.errors.identity.InvalidScopeClaim.is
- summary: Addition of a new scope claim gets invalidated.
KeyNotAllowed
- interface:
api.errors.identity.KeyNotAllowed.is
- summary: This key is not allowed to execute a given operation.
MissingCurrentIdentity
- interface:
api.errors.identity.MissingCurrentIdentity.is
- summary: Missing current identity on the transaction
MultiSigHasBalance
- interface:
api.errors.identity.MultiSigHasBalance.is
- summary: Multisig can not be unlinked from an identity while it still holds POLYX
NotASigner
- interface:
api.errors.identity.NotASigner.is
- summary: Signer is not a secondary key of the provided identity
NotCddProviderAttestation
- interface:
api.errors.identity.NotCddProviderAttestation.is
- summary: Attestation was not by a CDD service provider.
NotPrimaryKey
- interface:
api.errors.identity.NotPrimaryKey.is
- summary: Only the primary key is allowed to revoke an Identity Signatory off-chain authorization.
SecondaryKeysContainPrimaryKey
- interface:
api.errors.identity.SecondaryKeysContainPrimaryKey.is
- summary: The secondary keys contain the primary key.
TargetHasNoCdd
- interface:
api.errors.identity.TargetHasNoCdd.is
- summary: The target DID has no valid CDD.
TargetHasNonZeroBalanceAtScopeId
- interface:
api.errors.identity.TargetHasNonZeroBalanceAtScopeId.is
- summary: Try to delete the IU claim even when the user has non zero balance at given scopeId.
Unauthorized
- interface:
api.errors.identity.Unauthorized.is
- summary: Signatory is not pre authorized by the identity
UnAuthorizedCddProvider
- interface:
api.errors.identity.UnAuthorizedCddProvider.is
- summary: Only CDD service providers are allowed.
imOnline
DuplicatedHeartbeat
- interface:
api.errors.imOnline.DuplicatedHeartbeat.is
- summary: Duplicated heartbeat.
InvalidKey
- interface:
api.errors.imOnline.InvalidKey.is
- summary: Non existent public key.
multiSig
AlreadyASigner
- interface:
api.errors.multiSig.AlreadyASigner.is
- summary: Already a signer.
AlreadyVoted
- interface:
api.errors.multiSig.AlreadyVoted.is
- summary: Already voted.
CddMissing
- interface:
api.errors.multiSig.CddMissing.is
- summary: The multisig is not attached to a CDD'd identity.
ChangeNotAllowed
- interface:
api.errors.multiSig.ChangeNotAllowed.is
- summary: Changing multisig parameters not allowed since multisig is a primary key.
DecodingError
- interface:
api.errors.multiSig.DecodingError.is
- summary: Multisig address.
FailedToChargeFee
- interface:
api.errors.multiSig.FailedToChargeFee.is
- summary: Couldn't charge fee for the transaction.
FailedToSchedule
- interface:
api.errors.multiSig.FailedToSchedule.is
- summary: Scheduling of a proposal fails
IdentityNotCreator
- interface:
api.errors.multiSig.IdentityNotCreator.is
- summary: Identity provided is not the multisig's creator.
MissingCurrentIdentity
- interface:
api.errors.multiSig.MissingCurrentIdentity.is
- summary: Current DID is missing
MultisigMissingIdentity
- interface:
api.errors.multiSig.MultisigMissingIdentity.is
- summary: Multisig is not attached to an identity
NonceOverflow
- interface:
api.errors.multiSig.NonceOverflow.is
- summary: A nonce overflow.
NoSigners
- interface:
api.errors.multiSig.NoSigners.is
- summary: No signers.
NoSuchMultisig
- interface:
api.errors.multiSig.NoSuchMultisig.is
- summary: No such multisig.
NotASigner
- interface:
api.errors.multiSig.NotASigner.is
- summary: Not a signer.
NotEnoughSigners
- interface:
api.errors.multiSig.NotEnoughSigners.is
- summary: Not enough signers.
NotPrimaryKey
- interface:
api.errors.multiSig.NotPrimaryKey.is
- summary: The function can only be called by the primary key of the did
ProposalAlreadyExecuted
- interface:
api.errors.multiSig.ProposalAlreadyExecuted.is
- summary: Proposal was executed earlier
ProposalAlreadyRejected
- interface:
api.errors.multiSig.ProposalAlreadyRejected.is
- summary: Proposal was rejected earlier
ProposalExpired
- interface:
api.errors.multiSig.ProposalExpired.is
- summary: Proposal has expired
ProposalMissing
- interface:
api.errors.multiSig.ProposalMissing.is
- summary: The proposal does not exist.
RequiredSignaturesOutOfBounds
- interface:
api.errors.multiSig.RequiredSignaturesOutOfBounds.is
- summary: Too few or too many required signatures.
SignerAlreadyLinked
- interface:
api.errors.multiSig.SignerAlreadyLinked.is
- summary: Signer is an account key that is already associated with a multisig.
TooManySigners
- interface:
api.errors.multiSig.TooManySigners.is
- summary: More signers than required.
permissions
UnauthorizedCaller
- interface:
api.errors.permissions.UnauthorizedCaller.is
- summary: The caller is not authorized to call the current extrinsic.
pips
CannotSkipPip
- interface:
api.errors.pips.CannotSkipPip.is
- summary: When enacting snapshot results, an unskippable PIP was skipped.
IncorrectDeposit
- interface:
api.errors.pips.IncorrectDeposit.is
- summary: Proposer specifies an incorrect deposit
IncorrectProposalState
- interface:
api.errors.pips.IncorrectProposalState.is
- summary: Proposal is not in the correct state
InsufficientDeposit
- interface:
api.errors.pips.InsufficientDeposit.is
- summary: Proposer can't afford to lock minimum deposit
InvalidFutureBlockNumber
- interface:
api.errors.pips.InvalidFutureBlockNumber.is
- summary: When a block number is less than current block number.
MissingCurrentIdentity
- interface:
api.errors.pips.MissingCurrentIdentity.is
- summary: Missing current DID
NoSuchProposal
- interface:
api.errors.pips.NoSuchProposal.is
- summary: The proposal does not exist.
NotACommitteeMember
- interface:
api.errors.pips.NotACommitteeMember.is
- summary: Not part of governance committee.
NotByCommittee
- interface:
api.errors.pips.NotByCommittee.is
- summary: The given dispatchable call is not valid for this proposal. The proposal must be by community, but isn't.
NotFromCommunity
- interface:
api.errors.pips.NotFromCommunity.is
- summary: The given dispatchable call is not valid for this proposal. The proposal must be from the community, but isn't.
NumberOfVotesExceeded
- interface:
api.errors.pips.NumberOfVotesExceeded.is
- summary: When number of votes overflows.
ProposalNotInScheduledState
- interface:
api.errors.pips.ProposalNotInScheduledState.is
- summary: A proposal that is not in a scheduled state cannot be executed.
RescheduleNotByReleaseCoordinator
- interface:
api.errors.pips.RescheduleNotByReleaseCoordinator.is
- summary: Only the GC release coordinator is allowed to reschedule proposal execution.
ScheduledProposalDoesntExist
- interface:
api.errors.pips.ScheduledProposalDoesntExist.is
- summary: Execution of a scheduled proposal failed because it is missing.
SnapshotIdMismatch
- interface:
api.errors.pips.SnapshotIdMismatch.is
- summary: Tried to enact result for PIP with id different from that at the position in the queue.
SnapshotResultTooLarge
- interface:
api.errors.pips.SnapshotResultTooLarge.is
- summary: Tried to enact results for the snapshot queue overflowing its length.
StakeAmountOfVotesExceeded
- interface:
api.errors.pips.StakeAmountOfVotesExceeded.is
- summary: When stake amount of a vote overflows.
TooManyActivePips
- interface:
api.errors.pips.TooManyActivePips.is
- summary: The current number of active (pending | scheduled) PIPs exceed the maximum and the proposal is not by a committee.
polymeshCommittee
DuplicateProposal
- interface:
api.errors.polymeshCommittee.DuplicateProposal.is
- summary: Duplicate proposal.
DuplicateVote
- interface:
api.errors.polymeshCommittee.DuplicateVote.is
- summary: Duplicate votes are not allowed.
FirstVoteReject
- interface:
api.errors.polymeshCommittee.FirstVoteReject.is
- summary: First vote on a proposal creates it, so it must be an approval. All proposals are motions to execute something as "GC majority". To reject e.g., a PIP, a motion to reject should be approved.
InvalidProportion
- interface:
api.errors.polymeshCommittee.InvalidProportion.is
- summary: Proportion must be a rational number.
MismatchedVotingIndex
- interface:
api.errors.polymeshCommittee.MismatchedVotingIndex.is
- summary: Mismatched voting index.
NoSuchProposal
- interface:
api.errors.polymeshCommittee.NoSuchProposal.is
- summary: No such proposal.
NotAMember
- interface:
api.errors.polymeshCommittee.NotAMember.is
- summary: A DID isn't part of the committee. The DID may either be a caller or some other context.
ProposalExpired
- interface:
api.errors.polymeshCommittee.ProposalExpired.is
- summary: Proposal exists, but it has expired.
ProposalsLimitReached
- interface:
api.errors.polymeshCommittee.ProposalsLimitReached.is
- summary: Maximum number of proposals has been reached.
portfolio
DestinationIsSamePortfolio
- interface:
api.errors.portfolio.DestinationIsSamePortfolio.is
- summary: The source and destination portfolios should be different.
DifferentIdentityPortfolios
- interface:
api.errors.portfolio.DifferentIdentityPortfolios.is
- summary: The portfolios belong to different identities
InsufficientPortfolioBalance
- interface:
api.errors.portfolio.InsufficientPortfolioBalance.is
- summary: Insufficient balance for a transaction.
InsufficientTokensLocked
- interface:
api.errors.portfolio.InsufficientTokensLocked.is
- summary: Can not unlock more tokens than what are locked
PortfolioDoesNotExist
- interface:
api.errors.portfolio.PortfolioDoesNotExist.is
- summary: The portfolio doesn't exist.
PortfolioNameAlreadyInUse
- interface:
api.errors.portfolio.PortfolioNameAlreadyInUse.is
- summary: The portfolio couldn't be renamed because the chosen name is already in use.
PortfolioNotEmpty
- interface:
api.errors.portfolio.PortfolioNotEmpty.is
- summary: The portfolio still has some asset balance left
SecondaryKeyNotAuthorizedForPortfolio
- interface:
api.errors.portfolio.SecondaryKeyNotAuthorizedForPortfolio.is
- summary: The secondary key is not authorized to access the portfolio(s).
UnauthorizedCustodian
- interface:
api.errors.portfolio.UnauthorizedCustodian.is
- summary: The porfolio's custody is with someone other than the caller.
protocolFee
InsufficientAccountBalance
- interface:
api.errors.protocolFee.InsufficientAccountBalance.is
- summary: Insufficient account balance to pay the fee.
InsufficientSubsidyBalance
- interface:
api.errors.protocolFee.InsufficientSubsidyBalance.is
- summary: Insufficient subsidy balance to pay the fee.
UnHandledImbalances
- interface:
api.errors.protocolFee.UnHandledImbalances.is
- summary: Not able to handled the imbalances
relayer
NoPayingKey
- interface:
api.errors.relayer.NoPayingKey.is
- summary: The
user_key
doesn't have apaying_key
.
NotAuthorizedForPayingKey
- interface:
api.errors.relayer.NotAuthorizedForPayingKey.is
- summary: The signer is not authorized for
paying_key
.
NotAuthorizedForUserKey
- interface:
api.errors.relayer.NotAuthorizedForUserKey.is
- summary: The signer is not authorized for
user_key
.
NotPayingKey
- interface:
api.errors.relayer.NotPayingKey.is
- summary: The
user_key
has a differentpaying_key
.
Overflow
- interface:
api.errors.relayer.Overflow.is
- summary: The remaining POLYX for
user_key
overflowed.
PayingKeyCddMissing
- interface:
api.errors.relayer.PayingKeyCddMissing.is
- summary: The
user_key
is not attached to a CDD'd identity.
UserKeyCddMissing
- interface:
api.errors.relayer.UserKeyCddMissing.is
- summary: The
user_key
is not attached to a CDD'd identity.
rewards
InvalidSignature
- interface:
api.errors.rewards.InvalidSignature.is
- summary: Provided signature was invalid.
ItnRewardAlreadyClaimed
- interface:
api.errors.rewards.ItnRewardAlreadyClaimed.is
- summary: Itn reward was already claimed.
UnableToCovertBalance
- interface:
api.errors.rewards.UnableToCovertBalance.is
- summary: Balance can not be converted to a primitive.
UnknownItnAddress
- interface:
api.errors.rewards.UnknownItnAddress.is
- summary: Address was not found in the list of Itn addresses.
scheduler
FailedToSchedule
- interface:
api.errors.scheduler.FailedToSchedule.is
- summary: Failed to schedule a call
NotFound
- interface:
api.errors.scheduler.NotFound.is
- summary: Cannot find the scheduled call.
RescheduleNoChange
- interface:
api.errors.scheduler.RescheduleNoChange.is
- summary: Reschedule failed because it does not change scheduled time.
TargetBlockNumberInPast
- interface:
api.errors.scheduler.TargetBlockNumberInPast.is
- summary: Given target block number is in the past.
session
DuplicatedKey
- interface:
api.errors.session.DuplicatedKey.is
- summary: Registered duplicate key.
InvalidProof
- interface:
api.errors.session.InvalidProof.is
- summary: Invalid ownership proof.
NoAccount
- interface:
api.errors.session.NoAccount.is
- summary: Key setting account is not live, so it's impossible to associate keys.
NoAssociatedValidatorId
- interface:
api.errors.session.NoAssociatedValidatorId.is
- summary: No associated validator ID for account.
NoKeys
- interface:
api.errors.session.NoKeys.is
- summary: No keys are associated with this account.
settlement
FailedToLockTokens
- interface:
api.errors.settlement.FailedToLockTokens.is
- summary: While affirming the transfer, system failed to lock the assets involved.
FailedToSchedule
- interface:
api.errors.settlement.FailedToSchedule.is
- summary: Scheduling of an instruction fails.
InstructionDatesInvalid
- interface:
api.errors.settlement.InstructionDatesInvalid.is
- summary: Instruction has invalid dates
InstructionFailed
- interface:
api.errors.settlement.InstructionFailed.is
- summary: Instruction failed to execute.
InstructionHasTooManyLegs
- interface:
api.errors.settlement.InstructionHasTooManyLegs.is
- summary: Maximum legs that can be in a single instruction.
InstructionNotAffirmed
- interface:
api.errors.settlement.InstructionNotAffirmed.is
- summary: Instruction has not been affirmed.
InstructionNotFailed
- interface:
api.errors.settlement.InstructionNotFailed.is
- summary: Provided instruction is not failing execution.
InstructionNotPending
- interface:
api.errors.settlement.InstructionNotPending.is
- summary: Provided instruction is not pending execution.
InstructionSettleBlockPassed
- interface:
api.errors.settlement.InstructionSettleBlockPassed.is
- summary: Instruction's target settle block reached.
InvalidSignature
- interface:
api.errors.settlement.InvalidSignature.is
- summary: Offchain signature is invalid.
InvalidVenue
- interface:
api.errors.settlement.InvalidVenue.is
- summary: Venue does not exist.
LegCountTooSmall
- interface:
api.errors.settlement.LegCountTooSmall.is
- summary: Legs count should matches with the total number of legs in which given portfolio act as
from_portfolio
.
LegNotPending
- interface:
api.errors.settlement.LegNotPending.is
- summary: Provided leg is not pending execution.
NoPendingAffirm
- interface:
api.errors.settlement.NoPendingAffirm.is
- summary: No pending affirmation for the provided instruction.
NoPortfolioProvided
- interface:
api.errors.settlement.NoPortfolioProvided.is
- summary: Portfolio based actions require at least one portfolio to be provided as input.
PortfolioMismatch
- interface:
api.errors.settlement.PortfolioMismatch.is
- summary: Portfolio in receipt does not match with portfolios provided by the user.
ReceiptAlreadyClaimed
- interface:
api.errors.settlement.ReceiptAlreadyClaimed.is
- summary: Receipt already used.
ReceiptNotClaimed
- interface:
api.errors.settlement.ReceiptNotClaimed.is
- summary: Receipt not used yet.
SameSenderReceiver
- interface:
api.errors.settlement.SameSenderReceiver.is
- summary: Sender and receiver are the same.
SettleOnPastBlock
- interface:
api.errors.settlement.SettleOnPastBlock.is
- summary: The provided settlement block number is in the past and cannot be used by the scheduler.
Unauthorized
- interface:
api.errors.settlement.Unauthorized.is
- summary: Sender does not have required permissions.
UnauthorizedSigner
- interface:
api.errors.settlement.UnauthorizedSigner.is
- summary: Signer is not authorized by the venue.
UnauthorizedVenue
- interface:
api.errors.settlement.UnauthorizedVenue.is
- summary: Venue does not have required permissions.
UnexpectedAffirmationStatus
- interface:
api.errors.settlement.UnexpectedAffirmationStatus.is
- summary: The current instruction affirmation status does not support the requested action.
UnknownInstruction
- interface:
api.errors.settlement.UnknownInstruction.is
- summary: Instruction status is unknown
staking
AlreadyBonded
- interface:
api.errors.staking.AlreadyBonded.is
- summary: Stash is already bonded.
AlreadyClaimed
- interface:
api.errors.staking.AlreadyClaimed.is
- summary: Rewards for this era have already been claimed for this validator.
AlreadyExists
- interface:
api.errors.staking.AlreadyExists.is
- summary: Permissioned validator already exists.
AlreadyPaired
- interface:
api.errors.staking.AlreadyPaired.is
- summary: Controller is already paired.
BadState
- interface:
api.errors.staking.BadState.is
- summary: Internal state has become somehow corrupted and the operation cannot continue.
BadTarget
- interface:
api.errors.staking.BadTarget.is
- summary: A nomination target was supplied that was blocked or otherwise not a validator.
BondTooSmall
- interface:
api.errors.staking.BondTooSmall.is
- summary: When the amount to be bonded is less than
MinimumBond
CallNotAllowed
- interface:
api.errors.staking.CallNotAllowed.is
- summary: The call is not allowed at the given time due to restrictions of election period.
EmptyTargets
- interface:
api.errors.staking.EmptyTargets.is
- summary: Targets cannot be empty.
FundedTarget
- interface:
api.errors.staking.FundedTarget.is
- summary: Attempting to target a stash that still has funds.
HitIntendedValidatorCount
- interface:
api.errors.staking.HitIntendedValidatorCount.is
- summary: Running validator count hit the intended count.
IncorrectSlashingSpans
- interface:
api.errors.staking.IncorrectSlashingSpans.is
- summary: Incorrect number of slashing spans provided.
InsufficientValue
- interface:
api.errors.staking.InsufficientValue.is
- summary: Can not bond with value less than minimum balance.
IntendedCountIsExceedingConsensusLimit
- interface:
api.errors.staking.IntendedCountIsExceedingConsensusLimit.is
- summary: When the intended number of validators to run is >= 2/3 of
validator_count
.
InvalidEraToReward
- interface:
api.errors.staking.InvalidEraToReward.is
- summary: Invalid era to reward.
InvalidSlashIndex
- interface:
api.errors.staking.InvalidSlashIndex.is
- summary: Slash record index out of bounds.
InvalidValidatorCommission
- interface:
api.errors.staking.InvalidValidatorCommission.is
- summary: Validator prefs are not in valid range.
InvalidValidatorIdentity
- interface:
api.errors.staking.InvalidValidatorIdentity.is
- summary: Given potential validator identity is invalid.
NoChange
- interface:
api.errors.staking.NoChange.is
- summary: Updates with same value.
NoMoreChunks
- interface:
api.errors.staking.NoMoreChunks.is
- summary: Can not schedule more unlock chunks.
NotController
- interface:
api.errors.staking.NotController.is
- summary: Not a controller account.
NotExists
- interface:
api.errors.staking.NotExists.is
- summary: Permissioned validator not exists.
NotSortedAndUnique
- interface:
api.errors.staking.NotSortedAndUnique.is
- summary: Items are not sorted and unique.
NotStash
- interface:
api.errors.staking.NotStash.is
- summary: Not a stash account.
NoUnlockChunk
- interface:
api.errors.staking.NoUnlockChunk.is
- summary: Can not rebond without unlocking chunks.
OffchainElectionBogusCompact
- interface:
api.errors.staking.OffchainElectionBogusCompact.is
- summary: Error while building the assignment type from the compact. This can happen if an index is invalid, or if the weights overflow.
OffchainElectionBogusEdge
- interface:
api.errors.staking.OffchainElectionBogusEdge.is
- summary: The submitted result has unknown edges that are not among the presented winners.
OffchainElectionBogusElectionSize
- interface:
api.errors.staking.OffchainElectionBogusElectionSize.is
- summary: The election size is invalid.
OffchainElectionBogusNomination
- interface:
api.errors.staking.OffchainElectionBogusNomination.is
- summary: One of the submitted nominators has an edge to which they have not voted on chain.
OffchainElectionBogusNominator
- interface:
api.errors.staking.OffchainElectionBogusNominator.is
- summary: One of the submitted nominators is not an active nominator on chain.
OffchainElectionBogusScore
- interface:
api.errors.staking.OffchainElectionBogusScore.is
- summary: The claimed score does not match with the one computed from the data.
OffchainElectionBogusSelfVote
- interface:
api.errors.staking.OffchainElectionBogusSelfVote.is
- summary: A self vote must only be originated from a validator to ONLY themselves.
OffchainElectionBogusWinner
- interface:
api.errors.staking.OffchainElectionBogusWinner.is
- summary: One of the submitted winners is not an active candidate on chain (index is out of range in snapshot).
OffchainElectionBogusWinnerCount
- interface:
api.errors.staking.OffchainElectionBogusWinnerCount.is
- summary: Incorrect number of winners were presented.
OffchainElectionEarlySubmission
- interface:
api.errors.staking.OffchainElectionEarlySubmission.is
- summary: The submitted result is received out of the open window.
OffchainElectionSlashedNomination
- interface:
api.errors.staking.OffchainElectionSlashedNomination.is
- summary: One of the submitted nominators has an edge which is submitted before the last non-zero slash of the target.
OffchainElectionWeakSubmission
- interface:
api.errors.staking.OffchainElectionWeakSubmission.is
- summary: The submitted result is not as good as the one stored on chain.
SnapshotUnavailable
- interface:
api.errors.staking.SnapshotUnavailable.is
- summary: The snapshot data of the current window is missing.
StashIdentityDoesNotExist
- interface:
api.errors.staking.StashIdentityDoesNotExist.is
- summary: Validator or nominator stash identity does not exist.
StashIdentityNotCDDed
- interface:
api.errors.staking.StashIdentityNotCDDed.is
- summary: Nominator stash was not CDDed.
StashIdentityNotPermissioned
- interface:
api.errors.staking.StashIdentityNotPermissioned.is
- summary: Validator stash identity was not permissioned.
TooManyTargets
- interface:
api.errors.staking.TooManyTargets.is
- summary: Too many nomination targets supplied.
statistics
DuplicateTransferManager
- interface:
api.errors.statistics.DuplicateTransferManager.is
- summary: The transfer manager already exists
InvalidTransfer
- interface:
api.errors.statistics.InvalidTransfer.is
- summary: Transfer not allowed
TransferManagerMissing
- interface:
api.errors.statistics.TransferManagerMissing.is
- summary: Transfer manager is not enabled
TransferManagersLimitReached
- interface:
api.errors.statistics.TransferManagersLimitReached.is
- summary: The limit of transfer managers allowed for an asset has been reached
sto
FundraiserClosed
- interface:
api.errors.sto.FundraiserClosed.is
- summary: Fundraiser has been closed/stopped already.
FundraiserExpired
- interface:
api.errors.sto.FundraiserExpired.is
- summary: Interacting with a fundraiser past the end
Moment
.
FundraiserNotFound
- interface:
api.errors.sto.FundraiserNotFound.is
- summary: Fundraiser not found.
FundraiserNotLive
- interface:
api.errors.sto.FundraiserNotLive.is
- summary: Fundraiser is either frozen or stopped.
InsufficientTokensRemaining
- interface:
api.errors.sto.InsufficientTokensRemaining.is
- summary: Not enough tokens left for sale.
InvalidOfferingWindow
- interface:
api.errors.sto.InvalidOfferingWindow.is
- summary: Window (start time, end time) has invalid parameters, e.g start time is after end time.
InvalidPriceTiers
- interface:
api.errors.sto.InvalidPriceTiers.is
- summary: An individual price tier was invalid or a set of price tiers was invalid.
InvalidVenue
- interface:
api.errors.sto.InvalidVenue.is
- summary: An invalid venue provided.
InvestmentAmountTooLow
- interface:
api.errors.sto.InvestmentAmountTooLow.is
- summary: Investment amount is lower than minimum investment amount.
MaxPriceExceeded
- interface:
api.errors.sto.MaxPriceExceeded.is
- summary: Price of the investment exceeded the max price.
Overflow
- interface:
api.errors.sto.Overflow.is
- summary: An arithmetic operation overflowed.
Unauthorized
- interface:
api.errors.sto.Unauthorized.is
- summary: Sender does not have required permissions.
sudo
RequireSudo
- interface:
api.errors.sudo.RequireSudo.is
- summary: Sender must be the Sudo account
system
FailedToExtractRuntimeVersion
-
interface:
api.errors.system.FailedToExtractRuntimeVersion.is
-
summary: Failed to extract the runtime version from the new runtime.
Either calling
Core_version
or decodingRuntimeVersion
failed.
InvalidSpecName
- interface:
api.errors.system.InvalidSpecName.is
- summary: The name of specification does not match between the current runtime and the new runtime.
NonDefaultComposite
- interface:
api.errors.system.NonDefaultComposite.is
- summary: Suicide called when the account has non-default composite data.
NonZeroRefCount
- interface:
api.errors.system.NonZeroRefCount.is
- summary: There is a non-zero reference count preventing the account from being purged.
SpecVersionNeedsToIncrease
- interface:
api.errors.system.SpecVersionNeedsToIncrease.is
- summary: The specification version is not allowed to decrease between the current runtime and the new runtime.
technicalCommittee
DuplicateProposal
- interface:
api.errors.technicalCommittee.DuplicateProposal.is
- summary: Duplicate proposal.
DuplicateVote
- interface:
api.errors.technicalCommittee.DuplicateVote.is
- summary: Duplicate votes are not allowed.
FirstVoteReject
- interface:
api.errors.technicalCommittee.FirstVoteReject.is
- summary: First vote on a proposal creates it, so it must be an approval. All proposals are motions to execute something as "GC majority". To reject e.g., a PIP, a motion to reject should be approved.
InvalidProportion
- interface:
api.errors.technicalCommittee.InvalidProportion.is
- summary: Proportion must be a rational number.
MismatchedVotingIndex
- interface:
api.errors.technicalCommittee.MismatchedVotingIndex.is
- summary: Mismatched voting index.
NoSuchProposal
- interface:
api.errors.technicalCommittee.NoSuchProposal.is
- summary: No such proposal.
NotAMember
- interface:
api.errors.technicalCommittee.NotAMember.is
- summary: A DID isn't part of the committee. The DID may either be a caller or some other context.
ProposalExpired
- interface:
api.errors.technicalCommittee.ProposalExpired.is
- summary: Proposal exists, but it has expired.
ProposalsLimitReached
- interface:
api.errors.technicalCommittee.ProposalsLimitReached.is
- summary: Maximum number of proposals has been reached.
technicalCommitteeMembership
ActiveMembersLimitExceeded
- interface:
api.errors.technicalCommitteeMembership.ActiveMembersLimitExceeded.is
- summary: The limit for the number of concurrent active members for this group has been exceeded.
ActiveMembersLimitOverflow
- interface:
api.errors.technicalCommitteeMembership.ActiveMembersLimitOverflow.is
- summary: Active member limit was greater than maximum committee members limit.
DuplicateMember
- interface:
api.errors.technicalCommitteeMembership.DuplicateMember.is
- summary: Group member was added already.
LastMemberCannotQuit
- interface:
api.errors.technicalCommitteeMembership.LastMemberCannotQuit.is
- summary: Last member of the committee can not quit.
MissingCurrentIdentity
- interface:
api.errors.technicalCommitteeMembership.MissingCurrentIdentity.is
- summary: Missing current DID
NoSuchMember
- interface:
api.errors.technicalCommitteeMembership.NoSuchMember.is
- summary: Can't remove a member that doesn't exist.
OnlyPrimaryKeyAllowed
- interface:
api.errors.technicalCommitteeMembership.OnlyPrimaryKeyAllowed.is
- summary: Only primary key of the identity is allowed.
treasury
InsufficientBalance
- interface:
api.errors.treasury.InsufficientBalance.is
- summary: Proposer's balance is too low.
upgradeCommittee
DuplicateProposal
- interface:
api.errors.upgradeCommittee.DuplicateProposal.is
- summary: Duplicate proposal.
DuplicateVote
- interface:
api.errors.upgradeCommittee.DuplicateVote.is
- summary: Duplicate votes are not allowed.
FirstVoteReject
- interface:
api.errors.upgradeCommittee.FirstVoteReject.is
- summary: First vote on a proposal creates it, so it must be an approval. All proposals are motions to execute something as "GC majority". To reject e.g., a PIP, a motion to reject should be approved.
InvalidProportion
- interface:
api.errors.upgradeCommittee.InvalidProportion.is
- summary: Proportion must be a rational number.
MismatchedVotingIndex
- interface:
api.errors.upgradeCommittee.MismatchedVotingIndex.is
- summary: Mismatched voting index.
NoSuchProposal
- interface:
api.errors.upgradeCommittee.NoSuchProposal.is
- summary: No such proposal.
NotAMember
- interface:
api.errors.upgradeCommittee.NotAMember.is
- summary: A DID isn't part of the committee. The DID may either be a caller or some other context.
ProposalExpired
- interface:
api.errors.upgradeCommittee.ProposalExpired.is
- summary: Proposal exists, but it has expired.
ProposalsLimitReached
- interface:
api.errors.upgradeCommittee.ProposalsLimitReached.is
- summary: Maximum number of proposals has been reached.
upgradeCommitteeMembership
ActiveMembersLimitExceeded
- interface:
api.errors.upgradeCommitteeMembership.ActiveMembersLimitExceeded.is
- summary: The limit for the number of concurrent active members for this group has been exceeded.
ActiveMembersLimitOverflow
- interface:
api.errors.upgradeCommitteeMembership.ActiveMembersLimitOverflow.is
- summary: Active member limit was greater than maximum committee members limit.
DuplicateMember
- interface:
api.errors.upgradeCommitteeMembership.DuplicateMember.is
- summary: Group member was added already.
LastMemberCannotQuit
- interface:
api.errors.upgradeCommitteeMembership.LastMemberCannotQuit.is
- summary: Last member of the committee can not quit.
MissingCurrentIdentity
- interface:
api.errors.upgradeCommitteeMembership.MissingCurrentIdentity.is
- summary: Missing current DID
NoSuchMember
- interface:
api.errors.upgradeCommitteeMembership.NoSuchMember.is
- summary: Can't remove a member that doesn't exist.
OnlyPrimaryKeyAllowed
- interface:
api.errors.upgradeCommitteeMembership.OnlyPrimaryKeyAllowed.is
- summary: Only primary key of the identity is allowed.
utility
InvalidNonce
- interface:
api.errors.utility.InvalidNonce.is
- summary: Provided nonce was invalid If the provided nonce < current nonce, the call was already executed If the provided nonce > current nonce, the call(s) before the current failed to execute
InvalidSignature
- interface:
api.errors.utility.InvalidSignature.is
- summary: Offchain signature is invalid
TargetCddMissing
- interface:
api.errors.utility.TargetCddMissing.is
- summary: Target does not have a valid CDD
title: JSON-RPC
The following sections contain RPC methods that are Remote Calls available by default and allow you to interact with the actual node, query, and submit.
author
hasKey(publicKey: Bytes
, keyType: Text
): bool
- interface:
api.rpc.author.hasKey
- jsonrpc:
author_hasKey
- summary: Returns true if the keystore has private keys for the given public key and key type.
hasSessionKeys(sessionKeys: Bytes
): bool
- interface:
api.rpc.author.hasSessionKeys
- jsonrpc:
author_hasSessionKeys
- summary: Returns true if the keystore has private keys for the given session public keys.
insertKey(keyType: Text
, suri: Text
, publicKey: Bytes
): Bytes
- interface:
api.rpc.author.insertKey
- jsonrpc:
author_insertKey
- summary: Insert a key into the keystore.
pendingExtrinsics(): Vec<Extrinsic>
- interface:
api.rpc.author.pendingExtrinsics
- jsonrpc:
author_pendingExtrinsics
- summary: Returns all pending extrinsics, potentially grouped by sender
removeExtrinsic(bytesOrHash: Vec<ExtrinsicOrHash>
): Vec<Hash>
- interface:
api.rpc.author.removeExtrinsic
- jsonrpc:
author_removeExtrinsic
- summary: Remove given extrinsic from the pool and temporarily ban it to prevent reimporting
rotateKeys(): Bytes
- interface:
api.rpc.author.rotateKeys
- jsonrpc:
author_rotateKeys
- summary: Generate new session keys and returns the corresponding public keys
submitAndWatchExtrinsic(extrinsic: Extrinsic
): ExtrinsicStatus
- interface:
api.rpc.author.submitAndWatchExtrinsic
- jsonrpc:
author_submitAndWatchExtrinsic
- summary: Submit and subscribe to watch an extrinsic until unsubscribed
submitExtrinsic(extrinsic: Extrinsic
): Hash
- interface:
api.rpc.author.submitExtrinsic
- jsonrpc:
author_submitExtrinsic
- summary: Submit a fully formatted extrinsic for block inclusion
babe
epochAuthorship(): HashMap<AuthorityId, EpochAuthorship>
- interface:
api.rpc.babe.epochAuthorship
- jsonrpc:
babe_epochAuthorship
- summary: Returns data about which slots (primary or secondary) can be claimed in the current epoch with the keys in the keystore
beefy
getFinalizedHead(): H256
- interface:
api.rpc.beefy.getFinalizedHead
- jsonrpc:
beefy_getFinalizedHead
- summary: Returns hash of the latest BEEFY finalized block as seen by this client.
subscribeJustifications(): BeefySignedCommitment
- interface:
api.rpc.beefy.subscribeJustifications
- jsonrpc:
beefy_subscribeJustifications
- summary: Returns the block most recently finalized by BEEFY, alongside side its justification.
chain
getBlock(hash?: BlockHash
): SignedBlock
- interface:
api.rpc.chain.getBlock
- jsonrpc:
chain_getBlock
- summary: Get header and body of a relay chain block
getBlockHash(blockNumber?: BlockNumber
): BlockHash
- interface:
api.rpc.chain.getBlockHash
- jsonrpc:
chain_getBlockHash
- summary: Get the block hash for a specific block
getFinalizedHead(): BlockHash
- interface:
api.rpc.chain.getFinalizedHead
- jsonrpc:
chain_getFinalizedHead
- summary: Get hash of the last finalized block in the canon chain
getHeader(hash?: BlockHash
): Header
- interface:
api.rpc.chain.getHeader
- jsonrpc:
chain_getHeader
- summary: Retrieves the header for a specific block
subscribeAllHeads(): Header
- interface:
api.rpc.chain.subscribeAllHeads
- jsonrpc:
chain_subscribeAllHeads
- summary: Retrieves the newest header via subscription
subscribeFinalizedHeads(): Header
- interface:
api.rpc.chain.subscribeFinalizedHeads
- jsonrpc:
chain_subscribeFinalizedHeads
- summary: Retrieves the best finalized header via subscription
subscribeNewHeads(): Header
- interface:
api.rpc.chain.subscribeNewHeads
- jsonrpc:
chain_subscribeNewHeads
- summary: Retrieves the best header via subscription
childstate
getKeys(childKey: PrefixedStorageKey
, prefix: StorageKey
, at?: Hash
): Vec<StorageKey>
- interface:
api.rpc.childstate.getKeys
- jsonrpc:
childstate_getKeys
- summary: Returns the keys with prefix from a child storage, leave empty to get all the keys
getKeysPaged(childKey: PrefixedStorageKey
, prefix: StorageKey
, count: u32
, startKey?: StorageKey
, at?: Hash
): Vec<StorageKey>
- interface:
api.rpc.childstate.getKeysPaged
- jsonrpc:
childstate_getKeysPaged
- summary: Returns the keys with prefix from a child storage with pagination support
getStorage(childKey: PrefixedStorageKey
, key: StorageKey
, at?: Hash
): Option<StorageData>
- interface:
api.rpc.childstate.getStorage
- jsonrpc:
childstate_getStorage
- summary: Returns a child storage entry at a specific block state
getStorageEntries(childKey: PrefixedStorageKey
, keys: Vec<StorageKey>
, at?: Hash
): Vec<Option<StorageData>>
- interface:
api.rpc.childstate.getStorageEntries
- jsonrpc:
childstate_getStorageEntries
- summary: Returns child storage entries for multiple keys at a specific block state
getStorageHash(childKey: PrefixedStorageKey
, key: StorageKey
, at?: Hash
): Option<Hash>
- interface:
api.rpc.childstate.getStorageHash
- jsonrpc:
childstate_getStorageHash
- summary: Returns the hash of a child storage entry at a block state
getStorageSize(childKey: PrefixedStorageKey
, key: StorageKey
, at?: Hash
): Option<u64>
- interface:
api.rpc.childstate.getStorageSize
- jsonrpc:
childstate_getStorageSize
- summary: Returns the size of a child storage entry at a block state
contracts
call(callRequest: ContractCallRequest
, at?: BlockHash
): ContractExecResult
- interface:
api.rpc.contracts.call
- jsonrpc:
contracts_call
- summary: Executes a call to a contract
getStorage(address: AccountId
, key: H256
, at?: BlockHash
): Option<Bytes>
- interface:
api.rpc.contracts.getStorage
- jsonrpc:
contracts_getStorage
- summary: Returns the value under a specified storage key in a contract
instantiate(request: InstantiateRequest
, at?: BlockHash
): ContractInstantiateResult
- interface:
api.rpc.contracts.instantiate
- jsonrpc:
contracts_instantiate
- summary: Instantiate a new contract
rentProjection(address: AccountId
, at?: BlockHash
): Option<BlockNumber>
- interface:
api.rpc.contracts.rentProjection
- jsonrpc:
contracts_rentProjection
- summary: Returns the projected time a given contract will be able to sustain paying its rent
uploadCode(uploadRequest: CodeUploadRequest
, at?: BlockHash
): CodeUploadResult
- interface:
api.rpc.contracts.uploadCode
- jsonrpc:
contracts_upload_code
- summary: Upload new code without instantiating a contract from it
dev
getBlockStats(at: Hash
): Option<BlockStats>
- interface:
api.rpc.dev.getBlockStats
- jsonrpc:
dev_getBlockStats
- summary: Reexecute the specified
block_hash
and gather statistics while doing so
engine
createBlock(createEmpty: bool
, finalize: bool
, parentHash?: BlockHash
): CreatedBlock
- interface:
api.rpc.engine.createBlock
- jsonrpc:
engine_createBlock
- summary: Instructs the manual-seal authorship task to create a new block
finalizeBlock(hash: BlockHash
, justification?: Justification
): bool
- interface:
api.rpc.engine.finalizeBlock
- jsonrpc:
engine_finalizeBlock
- summary: Instructs the manual-seal authorship task to finalize a block
eth
accounts(): Vec<H160>
- interface:
api.rpc.eth.accounts
- jsonrpc:
eth_accounts
- summary: Returns accounts list.
blockNumber(): U256
- interface:
api.rpc.eth.blockNumber
- jsonrpc:
eth_blockNumber
- summary: Returns the blockNumber
call(request: EthCallRequest
, number?: BlockNumber
): Bytes
- interface:
api.rpc.eth.call
- jsonrpc:
eth_call
- summary: Call contract, returning the output data.
chainId(): U64
- interface:
api.rpc.eth.chainId
- jsonrpc:
eth_chainId
- summary: Returns the chain ID used for transaction signing at the current best block. None is returned if not available.
coinbase(): H160
- interface:
api.rpc.eth.coinbase
- jsonrpc:
eth_coinbase
- summary: Returns block author.
estimateGas(request: EthCallRequest
, number?: BlockNumber
): U256
- interface:
api.rpc.eth.estimateGas
- jsonrpc:
eth_estimateGas
- summary: Estimate gas needed for execution of given contract.
gasPrice(): U256
- interface:
api.rpc.eth.gasPrice
- jsonrpc:
eth_gasPrice
- summary: Returns current gas price.
getBalance(address: H160
, number?: BlockNumber
): U256
- interface:
api.rpc.eth.getBalance
- jsonrpc:
eth_getBalance
- summary: Returns balance of the given account.
getBlockByHash(hash: H256
, full: bool
): Option<EthRichBlock>
- interface:
api.rpc.eth.getBlockByHash
- jsonrpc:
eth_getBlockByHash
- summary: Returns block with given hash.
getBlockByNumber(block: BlockNumber
, full: bool
): Option<EthRichBlock>
- interface:
api.rpc.eth.getBlockByNumber
- jsonrpc:
eth_getBlockByNumber
- summary: Returns block with given number.
getBlockTransactionCountByHash(hash: H256
): U256
- interface:
api.rpc.eth.getBlockTransactionCountByHash
- jsonrpc:
eth_getBlockTransactionCountByHash
- summary: Returns the number of transactions in a block with given hash.
getBlockTransactionCountByNumber(block: BlockNumber
): U256
- interface:
api.rpc.eth.getBlockTransactionCountByNumber
- jsonrpc:
eth_getBlockTransactionCountByNumber
- summary: Returns the number of transactions in a block with given block number.
getCode(address: H160
, number?: BlockNumber
): Bytes
- interface:
api.rpc.eth.getCode
- jsonrpc:
eth_getCode
- summary: Returns the code at given address at given time (block number).
getFilterChanges(index: U256
): EthFilterChanges
- interface:
api.rpc.eth.getFilterChanges
- jsonrpc:
eth_getFilterChanges
- summary: Returns filter changes since last poll.
getFilterLogs(index: U256
): Vec<EthLog>
- interface:
api.rpc.eth.getFilterLogs
- jsonrpc:
eth_getFilterLogs
- summary: Returns all logs matching given filter (in a range 'from' - 'to').
getLogs(filter: EthFilter
): Vec<EthLog>
- interface:
api.rpc.eth.getLogs
- jsonrpc:
eth_getLogs
- summary: Returns logs matching given filter object.
getProof(address: H160
, storageKeys: Vec<H256>
, number: BlockNumber
): EthAccount
- interface:
api.rpc.eth.getProof
- jsonrpc:
eth_getProof
- summary: Returns proof for account and storage.
getStorageAt(address: H160
, index: U256
, number?: BlockNumber
): H256
- interface:
api.rpc.eth.getStorageAt
- jsonrpc:
eth_getStorageAt
- summary: Returns content of the storage at given address.
getTransactionByBlockHashAndIndex(hash: H256
, index: U256
): EthTransaction
- interface:
api.rpc.eth.getTransactionByBlockHashAndIndex
- jsonrpc:
eth_getTransactionByBlockHashAndIndex
- summary: Returns transaction at given block hash and index.
getTransactionByBlockNumberAndIndex(number: BlockNumber
, index: U256
): EthTransaction
- interface:
api.rpc.eth.getTransactionByBlockNumberAndIndex
- jsonrpc:
eth_getTransactionByBlockNumberAndIndex
- summary: Returns transaction by given block number and index.
getTransactionByHash(hash: H256
): EthTransaction
- interface:
api.rpc.eth.getTransactionByHash
- jsonrpc:
eth_getTransactionByHash
- summary: Get transaction by its hash.
getTransactionCount(hash: H256
, number?: BlockNumber
): U256
- interface:
api.rpc.eth.getTransactionCount
- jsonrpc:
eth_getTransactionCount
- summary: Returns the number of transactions sent from given address at given time (block number).
getTransactionReceipt(hash: H256
): EthReceipt
- interface:
api.rpc.eth.getTransactionReceipt
- jsonrpc:
eth_getTransactionReceipt
- summary: Returns transaction receipt by transaction hash.
getUncleByBlockHashAndIndex(hash: H256
, index: U256
): EthRichBlock
- interface:
api.rpc.eth.getUncleByBlockHashAndIndex
- jsonrpc:
eth_getUncleByBlockHashAndIndex
- summary: Returns an uncles at given block and index.
getUncleByBlockNumberAndIndex(number: BlockNumber
, index: U256
): EthRichBlock
- interface:
api.rpc.eth.getUncleByBlockNumberAndIndex
- jsonrpc:
eth_getUncleByBlockNumberAndIndex
- summary: Returns an uncles at given block and index.
getUncleCountByBlockHash(hash: H256
): U256
- interface:
api.rpc.eth.getUncleCountByBlockHash
- jsonrpc:
eth_getUncleCountByBlockHash
- summary: Returns the number of uncles in a block with given hash.
getUncleCountByBlockNumber(number: BlockNumber
): U256
- interface:
api.rpc.eth.getUncleCountByBlockNumber
- jsonrpc:
eth_getUncleCountByBlockNumber
- summary: Returns the number of uncles in a block with given block number.
getWork(): EthWork
- interface:
api.rpc.eth.getWork
- jsonrpc:
eth_getWork
- summary: Returns the hash of the current block, the seedHash, and the boundary condition to be met.
hashrate(): U256
- interface:
api.rpc.eth.hashrate
- jsonrpc:
eth_hashrate
- summary: Returns the number of hashes per second that the node is mining with.
mining(): bool
- interface:
api.rpc.eth.mining
- jsonrpc:
eth_mining
- summary: Returns true if client is actively mining new blocks.
newBlockFilter(): U256
- interface:
api.rpc.eth.newBlockFilter
- jsonrpc:
eth_newBlockFilter
- summary: Returns id of new block filter.
newFilter(filter: EthFilter
): U256
- interface:
api.rpc.eth.newFilter
- jsonrpc:
eth_newFilter
- summary: Returns id of new filter.
newPendingTransactionFilter(): U256
- interface:
api.rpc.eth.newPendingTransactionFilter
- jsonrpc:
eth_newPendingTransactionFilter
- summary: Returns id of new block filter.
protocolVersion(): u64
- interface:
api.rpc.eth.protocolVersion
- jsonrpc:
eth_protocolVersion
- summary: Returns protocol version encoded as a string (quotes are necessary).
sendRawTransaction(bytes: Bytes
): H256
- interface:
api.rpc.eth.sendRawTransaction
- jsonrpc:
eth_sendRawTransaction
- summary: Sends signed transaction, returning its hash.
sendTransaction(tx: EthTransactionRequest
): H256
- interface:
api.rpc.eth.sendTransaction
- jsonrpc:
eth_sendTransaction
- summary: Sends transaction; will block waiting for signer to return the transaction hash
submitHashrate(index: U256
, hash: H256
): bool
- interface:
api.rpc.eth.submitHashrate
- jsonrpc:
eth_submitHashrate
- summary: Used for submitting mining hashrate.
submitWork(nonce: H64
, headerHash: H256
, mixDigest: H256
): bool
- interface:
api.rpc.eth.submitWork
- jsonrpc:
eth_submitWork
- summary: Used for submitting a proof-of-work solution.
subscribe(kind: EthSubKind
, params?: EthSubParams
): Null
- interface:
api.rpc.eth.subscribe
- jsonrpc:
eth_subscribe
- summary: Subscribe to Eth subscription.
syncing(): EthSyncStatus
- interface:
api.rpc.eth.syncing
- jsonrpc:
eth_syncing
- summary: Returns an object with data about the sync status or false.
uninstallFilter(index: U256
): bool
- interface:
api.rpc.eth.uninstallFilter
- jsonrpc:
eth_uninstallFilter
- summary: Uninstalls filter.
eth/net
listening(): bool
- interface:
api.rpc.net.listening
- jsonrpc:
net_listening
- summary: Returns true if client is actively listening for network connections. Otherwise false.
peerCount(): String
- interface:
api.rpc.net.peerCount
- jsonrpc:
net_peerCount
- summary: Returns number of peers connected to node.
version(): String
- interface:
api.rpc.net.version
- jsonrpc:
net_version
- summary: Returns protocol version.
eth/web3
clientVersion(): String
- interface:
api.rpc.web3.clientVersion
- jsonrpc:
web3_clientVersion
- summary: Returns current client version.
sha3(data: Bytes
): H256
- interface:
api.rpc.web3.sha3
- jsonrpc:
web3_sha3
- summary: Returns sha3 of the given data
grandpa
proveFinality(blockNumber: BlockNumber
): Option<EncodedFinalityProofs>
- interface:
api.rpc.grandpa.proveFinality
- jsonrpc:
grandpa_proveFinality
- summary: Prove finality for the given block number, returning the Justification for the last block in the set.
roundState(): ReportedRoundStates
- interface:
api.rpc.grandpa.roundState
- jsonrpc:
grandpa_roundState
- summary: Returns the state of the current best round state as well as the ongoing background rounds
subscribeJustifications(): JustificationNotification
- interface:
api.rpc.grandpa.subscribeJustifications
- jsonrpc:
grandpa_subscribeJustifications
- summary: Subscribes to grandpa justifications
mmr
generateBatchProof(leafIndices: Vec<u64>
, at?: BlockHash
): MmrLeafProof
- interface:
api.rpc.mmr.generateBatchProof
- jsonrpc:
mmr_generateBatchProof
- summary: Generate MMR proof for the given leaf indices.
generateProof(leafIndex: u64
, at?: BlockHash
): MmrLeafBatchProof
- interface:
api.rpc.mmr.generateProof
- jsonrpc:
mmr_generateProof
- summary: Generate MMR proof for given leaf index.
offchain
localStorageGet(kind: StorageKind
, key: Bytes
): Option<Bytes>
- interface:
api.rpc.offchain.localStorageGet
- jsonrpc:
offchain_localStorageGet
- summary: Get offchain local storage under given key and prefix
localStorageSet(kind: StorageKind
, key: Bytes
, value: Bytes
): Null
- interface:
api.rpc.offchain.localStorageSet
- jsonrpc:
offchain_localStorageSet
- summary: Set offchain local storage under given key and prefix
payment
queryFeeDetails(extrinsic: Bytes
, at?: BlockHash
): FeeDetails
- interface:
api.rpc.payment.queryFeeDetails
- jsonrpc:
payment_queryFeeDetails
- summary: Query the detailed fee of a given encoded extrinsic
queryInfo(extrinsic: Bytes
, at?: BlockHash
): RuntimeDispatchInfo
- interface:
api.rpc.payment.queryInfo
- jsonrpc:
payment_queryInfo
- summary: Retrieves the fee information for an encoded extrinsic
rpc
methods(): RpcMethods
- interface:
api.rpc.rpc.methods
- jsonrpc:
rpc_methods
- summary: Retrieves the list of RPC methods that are exposed by the node
state
call(method: Text
, data: Bytes
, at?: BlockHash
): Bytes
- interface:
api.rpc.state.call
- jsonrpc:
state_call
- summary: Perform a call to a builtin on the chain
getChildKeys(childStorageKey: StorageKey
, childDefinition: StorageKey
, childType: u32
, key: StorageKey
, at?: BlockHash
): Vec<StorageKey>
- interface:
api.rpc.state.getChildKeys
- jsonrpc:
state_getChildKeys
- summary: Retrieves the keys with prefix of a specific child storage
getChildReadProof(childStorageKey: PrefixedStorageKey
, keys: Vec<StorageKey>
, at?: BlockHash
): ReadProof
- interface:
api.rpc.state.getChildReadProof
- jsonrpc:
state_getChildReadProof
- summary: Returns proof of storage for child key entries at a specific block state.
getChildStorage(childStorageKey: StorageKey
, childDefinition: StorageKey
, childType: u32
, key: StorageKey
, at?: BlockHash
): StorageData
- interface:
api.rpc.state.getChildStorage
- jsonrpc:
state_getChildStorage
- summary: Retrieves the child storage for a key
getChildStorageHash(childStorageKey: StorageKey
, childDefinition: StorageKey
, childType: u32
, key: StorageKey
, at?: BlockHash
): Hash
- interface:
api.rpc.state.getChildStorageHash
- jsonrpc:
state_getChildStorageHash
- summary: Retrieves the child storage hash
getChildStorageSize(childStorageKey: StorageKey
, childDefinition: StorageKey
, childType: u32
, key: StorageKey
, at?: BlockHash
): u64
- interface:
api.rpc.state.getChildStorageSize
- jsonrpc:
state_getChildStorageSize
- summary: Retrieves the child storage size
getKeys(key: StorageKey
, at?: BlockHash
): Vec<StorageKey>
- interface:
api.rpc.state.getKeys
- jsonrpc:
state_getKeys
- summary: Retrieves the keys with a certain prefix
getKeysPaged(key: StorageKey
, count: u32
, startKey?: StorageKey
, at?: BlockHash
): Vec<StorageKey>
- interface:
api.rpc.state.getKeysPaged
- jsonrpc:
state_getKeysPaged
- summary: Returns the keys with prefix with pagination support.
getMetadata(at?: BlockHash
): Metadata
- interface:
api.rpc.state.getMetadata
- jsonrpc:
state_getMetadata
- summary: Returns the runtime metadata
getPairs(prefix: StorageKey
, at?: BlockHash
): Vec<KeyValue>
- interface:
api.rpc.state.getPairs
- jsonrpc:
state_getPairs
- summary: Returns the keys with prefix, leave empty to get all the keys (deprecated: Use getKeysPaged)
getReadProof(keys: Vec<StorageKey>
, at?: BlockHash
): ReadProof
- interface:
api.rpc.state.getReadProof
- jsonrpc:
state_getReadProof
- summary: Returns proof of storage entries at a specific block state
getRuntimeVersion(at?: BlockHash
): RuntimeVersion
- interface:
api.rpc.state.getRuntimeVersion
- jsonrpc:
state_getRuntimeVersion
- summary: Get the runtime version
getStorage(key: StorageKey
, at?: BlockHash
): StorageData
- interface:
api.rpc.state.getStorage
- jsonrpc:
state_getStorage
- summary: Retrieves the storage for a key
getStorageHash(key: StorageKey
, at?: BlockHash
): Hash
- interface:
api.rpc.state.getStorageHash
- jsonrpc:
state_getStorageHash
- summary: Retrieves the storage hash
getStorageSize(key: StorageKey
, at?: BlockHash
): u64
- interface:
api.rpc.state.getStorageSize
- jsonrpc:
state_getStorageSize
- summary: Retrieves the storage size
queryStorage(keys: Vec<StorageKey>
, fromBlock: Hash
, toBlock?: BlockHash
): Vec<StorageChangeSet>
- interface:
api.rpc.state.queryStorage
- jsonrpc:
state_queryStorage
- summary: Query historical storage entries (by key) starting from a start block
queryStorageAt(keys: Vec<StorageKey>
, at?: BlockHash
): Vec<StorageChangeSet>
- interface:
api.rpc.state.queryStorageAt
- jsonrpc:
state_queryStorageAt
- summary: Query storage entries (by key) starting at block hash given as the second parameter
subscribeRuntimeVersion(): RuntimeVersion
- interface:
api.rpc.state.subscribeRuntimeVersion
- jsonrpc:
state_subscribeRuntimeVersion
- summary: Retrieves the runtime version via subscription
subscribeStorage(keys?: Vec<StorageKey>
): StorageChangeSet
- interface:
api.rpc.state.subscribeStorage
- jsonrpc:
state_subscribeStorage
- summary: Subscribes to storage changes for the provided keys
traceBlock(block: Hash
, targets: Option<Text>
, storageKeys: Option<Text>
, methods: Option<Text>
): TraceBlockResponse
- interface:
api.rpc.state.traceBlock
- jsonrpc:
state_traceBlock
- summary: Provides a way to trace the re-execution of a single block
trieMigrationStatus(at?: BlockHash
): MigrationStatusResult
- interface:
api.rpc.state.trieMigrationStatus
- jsonrpc:
state_trieMigrationStatus
- summary: Check current migration state
syncstate
genSyncSpec(raw: bool
): Json
- interface:
api.rpc.syncstate.genSyncSpec
- jsonrpc:
sync_state_genSyncSpec
- summary: Returns the json-serialized chainspec running the node, with a sync state.
system
accountNextIndex(accountId: AccountId
): Index
- interface:
api.rpc.system.accountNextIndex
- jsonrpc:
system_accountNextIndex
- summary: Retrieves the next accountIndex as available on the node
addLogFilter(directives: Text
): Null
- interface:
api.rpc.system.addLogFilter
- jsonrpc:
system_addLogFilter
- summary: Adds the supplied directives to the current log filter
addReservedPeer(peer: Text
): Text
- interface:
api.rpc.system.addReservedPeer
- jsonrpc:
system_addReservedPeer
- summary: Adds a reserved peer
chain(): Text
- interface:
api.rpc.system.chain
- jsonrpc:
system_chain
- summary: Retrieves the chain
chainType(): ChainType
- interface:
api.rpc.system.chainType
- jsonrpc:
system_chainType
- summary: Retrieves the chain type
dryRun(extrinsic: Bytes
, at?: BlockHash
): ApplyExtrinsicResult
- interface:
api.rpc.system.dryRun
- jsonrpc:
system_dryRun
- summary: Dry run an extrinsic at a given block
health(): Health
- interface:
api.rpc.system.health
- jsonrpc:
system_health
- summary: Return health status of the node
localListenAddresses(): Vec<Text>
- interface:
api.rpc.system.localListenAddresses
- jsonrpc:
system_localListenAddresses
- summary: The addresses include a trailing /p2p/ with the local PeerId, and are thus suitable to be passed to addReservedPeer or as a bootnode address for example
localPeerId(): Text
- interface:
api.rpc.system.localPeerId
- jsonrpc:
system_localPeerId
- summary: Returns the base58-encoded PeerId of the node
name(): Text
- interface:
api.rpc.system.name
- jsonrpc:
system_name
- summary: Retrieves the node name
networkState(): NetworkState
- interface:
api.rpc.system.networkState
- jsonrpc:
system_networkState
- summary: Returns current state of the network
nodeRoles(): Vec<NodeRole>
- interface:
api.rpc.system.nodeRoles
- jsonrpc:
system_nodeRoles
- summary: Returns the roles the node is running as
peers(): Vec<PeerInfo>
- interface:
api.rpc.system.peers
- jsonrpc:
system_peers
- summary: Returns the currently connected peers
properties(): ChainProperties
- interface:
api.rpc.system.properties
- jsonrpc:
system_properties
- summary: Get a custom set of properties as a JSON object, defined in the chain spec
removeReservedPeer(peerId: Text
): Text
- interface:
api.rpc.system.removeReservedPeer
- jsonrpc:
system_removeReservedPeer
- summary: Remove a reserved peer
reservedPeers(): Vec<Text>
- interface:
api.rpc.system.reservedPeers
- jsonrpc:
system_reservedPeers
- summary: Returns the list of reserved peers
resetLogFilter(): Null
- interface:
api.rpc.system.resetLogFilter
- jsonrpc:
system_resetLogFilter
- summary: Resets the log filter to Substrate defaults
syncState(): SyncState
- interface:
api.rpc.system.syncState
- jsonrpc:
system_syncState
- summary: Returns the state of the syncing of the node
version(): Text
- interface:
api.rpc.system.version
- jsonrpc:
system_version
- summary: Retrieves the version of the node
title: Storage
The following sections contain Storage methods are part of the default Substrate runtime. On the api, these are exposed via api.query.<module>.<method>
.
(NOTE: These were generated from a static/snapshot view of a recent Substrate master node. Some items may not be available in older nodes, or in any customized implementations.)
asset
aggregateBalance(Ticker, ScopeId
): Balance
- interface:
api.query.asset.aggregateBalance
- summary: Store aggregate balance of those identities that has the same
ScopeId
. (Ticker, ScopeId) => Balance.
assetDocuments(Ticker, DocumentId
): Document
- interface:
api.query.asset.assetDocuments
- summary: Documents attached to an Asset (ticker, doc_id) -> document
assetDocumentsIdSequence(Ticker
): DocumentId
- interface:
api.query.asset.assetDocumentsIdSequence
- summary: Per-ticker document ID counter. (ticker) -> doc_id
assetNames(Ticker
): AssetName
- interface:
api.query.asset.assetNames
- summary: Asset name of the token corresponding to the token ticker. (ticker) ->
AssetName
assetOwnershipRelations(IdentityId, Ticker
): AssetOwnershipRelation
- interface:
api.query.asset.assetOwnershipRelations
- summary: Tickers and token owned by a user (user, ticker) -> AssetOwnership
balanceOf(Ticker, IdentityId
): Balance
- interface:
api.query.asset.balanceOf
- summary: The total asset ticker balance per identity. (ticker, DID) -> Balance
balanceOfAtScope(ScopeId, IdentityId
): Balance
- interface:
api.query.asset.balanceOfAtScope
- summary: Balances get stored on the basis of the
ScopeId
. Right now it is only helpful for the UI purposes but in future it can be used to do miracles on-chain. (ScopeId, IdentityId) => Balance.
classicTickers(Ticker
): Option<ClassicTickerRegistration>
- interface:
api.query.asset.classicTickers
- summary: Ticker registration details on Polymath Classic / Ethereum.
customTypeIdSequence(): CustomAssetTypeId
-
interface:
api.query.asset.customTypeIdSequence
-
summary: The next
AssetType::Custom
ID in the sequence.Numbers in the sequence start from 1 rather than 0.
customTypes(CustomAssetTypeId
): Bytes
- interface:
api.query.asset.customTypes
- summary: Maps custom asset type ids to the registered string contents.
customTypesInverse(Bytes
): CustomAssetTypeId
- interface:
api.query.asset.customTypesInverse
- summary: Inverse map of
CustomTypes
, from registered string contents to custom asset type ids.
disableInvestorUniqueness(Ticker
): bool
-
interface:
api.query.asset.disableInvestorUniqueness
-
summary: Decides whether investor uniqueness requirement is enforced for this asset.
false
means that it is enforced.Ticker => bool.
frozen(Ticker
): bool
- interface:
api.query.asset.frozen
- summary: The set of frozen assets implemented as a membership map. ticker -> bool
fundingRound(Ticker
): FundingRoundName
- interface:
api.query.asset.fundingRound
- summary: The name of the current funding round. ticker -> funding round
identifiers(Ticker
): Vec<AssetIdentifier>
- interface:
api.query.asset.identifiers
- summary: A map of a ticker name and asset identifiers.
issuedInFundingRound((Ticker,FundingRoundName)
): Balance
- interface:
api.query.asset.issuedInFundingRound
- summary: The total balances of tokens issued in all recorded funding rounds. (ticker, funding round) -> balance
scopeIdOf(Ticker, IdentityId
): ScopeId
- interface:
api.query.asset.scopeIdOf
- summary: Tracks the ScopeId of the identity for a given ticker. (Ticker, IdentityId) => ScopeId.
storageVersion(): Version
- interface:
api.query.asset.storageVersion
- summary: Storage version.
tickerConfig(): TickerRegistrationConfig
- interface:
api.query.asset.tickerConfig
- summary: Ticker registration config. (ticker) -> TickerRegistrationConfig
tickers(Ticker
): TickerRegistration
- interface:
api.query.asset.tickers
- summary: Ticker registration details. (ticker) -> TickerRegistration
tokens(Ticker
): SecurityToken
- interface:
api.query.asset.tokens
- summary: Details of the token corresponding to the token ticker. (ticker) -> SecurityToken details [returns SecurityToken struct]
authorship
author(): Option<AccountId>
- interface:
api.query.authorship.author
- summary: Author of current block.
didSetUncles(): bool
- interface:
api.query.authorship.didSetUncles
- summary: Whether uncles were already set in this block.
uncles(): Vec<UncleEntryItem>
- interface:
api.query.authorship.uncles
- summary: Uncles
babe
authorities(): Vec<(AuthorityId,BabeAuthorityWeight)>
- interface:
api.query.babe.authorities
- summary: Current epoch authorities.
authorVrfRandomness(): MaybeRandomness
- interface:
api.query.babe.authorVrfRandomness
- summary: Temporary value (cleared at block finalization) that includes the VRF output generated at this block. This field should always be populated during block processing unless secondary plain slots are enabled (which don't contain a VRF output).
currentSlot(): Slot
- interface:
api.query.babe.currentSlot
- summary: Current slot number.
epochIndex(): u64
- interface:
api.query.babe.epochIndex
- summary: Current epoch index.
genesisSlot(): Slot
- interface:
api.query.babe.genesisSlot
- summary: The slot at which the first epoch actually started. This is 0 until the first block of the chain.
initialized(): Option<MaybeRandomness>
- interface:
api.query.babe.initialized
- summary: Temporary value (cleared at block finalization) which is
Some
if per-block initialization has already been called for current block.
lateness(): BlockNumber
-
interface:
api.query.babe.lateness
-
summary: How late the current block is compared to its parent.
This entry is populated as part of block execution and is cleaned up on block finalization. Querying this storage entry outside of block execution context should always yield zero.
nextAuthorities(): Vec<(AuthorityId,BabeAuthorityWeight)>
- interface:
api.query.babe.nextAuthorities
- summary: Next epoch authorities.
nextEpochConfig(): Option<NextConfigDescriptor>
- interface:
api.query.babe.nextEpochConfig
- summary: Next epoch configuration, if changed.
nextRandomness(): Randomness
- interface:
api.query.babe.nextRandomness
- summary: Next epoch randomness.
randomness(): Randomness
-
interface:
api.query.babe.randomness
-
summary: The epoch randomness for the current epoch.
Security
This MUST NOT be used for gambling, as it can be influenced by a malicious validator in the short term. It MAY be used in many cryptographic protocols, however, so long as one remembers that this (like everything else on-chain) it is public. For example, it can be used where a number is needed that cannot have been chosen by an adversary, for purposes such as public-coin zero-knowledge proofs.
segmentIndex(): u32
-
interface:
api.query.babe.segmentIndex
-
summary: Randomness under construction.
We make a tradeoff between storage accesses and list length. We store the under-construction randomness in segments of up to
UNDER_CONSTRUCTION_SEGMENT_LENGTH
.Once a segment reaches this length, we begin the next one. We reset all segments and return to
0
at the beginning of every epoch.
underConstruction(u32
): Vec<Randomness>
- interface:
api.query.babe.underConstruction
- summary: TWOX-NOTE:
SegmentIndex
is an increasing integer, so this is okay.
balances
locks(AccountId
): Vec<BalanceLock>
- interface:
api.query.balances.locks
- summary: Any liquidity locks on some account balances. NOTE: Should only be accessed when setting, changing and freeing a lock.
totalIssuance(): Balance
- interface:
api.query.balances.totalIssuance
- summary: The total units issued in the system.
bridge
admin(): AccountId
- interface:
api.query.bridge.admin
- summary: The admin key.
bridgeLimit(): (Balance,BlockNumber)
- interface:
api.query.bridge.bridgeLimit
- summary: The maximum number of bridged POLYX per identity within a set interval of blocks. Fields: POLYX amount and the block interval duration.
bridgeLimitExempted(IdentityId
): bool
- interface:
api.query.bridge.bridgeLimitExempted
- summary: Identities not constrained by the bridge limit.
bridgeTxDetails(AccountId, u32
): BridgeTxDetail
- interface:
api.query.bridge.bridgeTxDetails
- summary: Details of bridge transactions identified with pairs of the recipient account and the bridge transaction nonce.
controller(): AccountId
- interface:
api.query.bridge.controller
- summary: The multisig account of the bridge controller. The genesis signers accept their authorizations and are able to get their proposals delivered. The bridge creator transfers some POLY to their identity.
freezeAdmins(AccountId
): bool
- interface:
api.query.bridge.freezeAdmins
- summary: Freeze bridge admins. These accounts can only freeze the bridge.
frozen(): bool
- interface:
api.query.bridge.frozen
- summary: Whether or not the bridge operation is frozen.
polyxBridged(IdentityId
): (Balance,BlockNumber)
- interface:
api.query.bridge.polyxBridged
- summary: Amount of POLYX bridged by the identity in last block interval. Fields: the bridged amount and the last interval number.
storageVersion(): Version
- interface:
api.query.bridge.storageVersion
- summary: Storage version.
timelock(): BlockNumber
- interface:
api.query.bridge.timelock
- summary: The bridge transaction timelock period, in blocks, since the acceptance of the transaction proposal during which the admin key can freeze the transaction.
capitalDistribution
distributions(CAId
): Option<Distribution>
-
interface:
api.query.capitalDistribution.distributions
-
summary: All capital distributions, tied to their respective corporate actions (CAs).
(CAId) => Distribution
holderPaid((CAId,IdentityId)
): bool
-
interface:
api.query.capitalDistribution.holderPaid
-
summary: Has an asset holder been paid yet?
(CAId, DID) -> Was DID paid in the CAId?
storageVersion(): Version
- interface:
api.query.capitalDistribution.storageVersion
- summary: Storage version.
cddServiceProviders
activeMembers(): Vec<IdentityId>
- interface:
api.query.cddServiceProviders.activeMembers
- summary: The current "active" membership, stored as an ordered Vec.
activeMembersLimit(): u32
- interface:
api.query.cddServiceProviders.activeMembersLimit
- summary: Limit of how many "active" members there can be.
inactiveMembers(): Vec<InactiveMember>
- interface:
api.query.cddServiceProviders.inactiveMembers
- summary: The current "inactive" membership, stored as an ordered Vec.
checkpoint
balance((Ticker,CheckpointId), IdentityId
): Balance
-
interface:
api.query.checkpoint.balance
-
summary: Balance of a DID at a checkpoint.
(ticker, did, checkpoint ID) -> Balance of a DID at a checkpoint
balanceUpdates(Ticker, IdentityId
): Vec<CheckpointId>
- interface:
api.query.checkpoint.balanceUpdates
- summary: Checkpoints where a DID's balance was updated. (ticker, did) -> [checkpoint ID where user balance changed]
checkpointIdSequence(Ticker
): CheckpointId
-
interface:
api.query.checkpoint.checkpointIdSequence
-
summary: Checkpoints ID generator sequence. ID of first checkpoint is 1 instead of 0.
(ticker) -> no. of checkpoints
scheduleIdSequence(Ticker
): ScheduleId
-
interface:
api.query.checkpoint.scheduleIdSequence
-
summary: Checkpoint schedule ID sequence for tickers.
(ticker) -> schedule ID
schedulePoints(Ticker, ScheduleId
): Vec<CheckpointId>
-
interface:
api.query.checkpoint.schedulePoints
-
summary: All the checkpoints a given schedule originated.
(ticker, schedule ID) -> [checkpoint ID]
scheduleRefCount(Ticker, ScheduleId
): u32
-
interface:
api.query.checkpoint.scheduleRefCount
-
summary: How many "strong" references are there to a given
ScheduleId
?The presence of a "strong" reference, in the sense of
Rc<T>
, entails that the referenced schedule cannot be removed. Thus, as long asstrong_ref_count(schedule_id) > 0
,remove_schedule(schedule_id)
will error.(ticker, schedule ID) -> strong ref count
schedules(Ticker
): Vec<StoredSchedule>
-
interface:
api.query.checkpoint.schedules
-
summary: Checkpoint schedules for tickers.
(ticker) -> [schedule]
schedulesMaxComplexity(): u64
- interface:
api.query.checkpoint.schedulesMaxComplexity
- summary: The maximum complexity allowed for an arbitrary ticker's schedule set (i.e.
Schedules
storage item below).
storageVersion(): Version
- interface:
api.query.checkpoint.storageVersion
- summary: Storage version.
timestamps(Ticker, CheckpointId
): Moment
-
interface:
api.query.checkpoint.timestamps
-
summary: Checkpoint timestamps.
Every schedule-originated checkpoint maps its ID to its due time. Every checkpoint manually created maps its ID to the time of recording.
(ticker) -> (checkpoint ID) -> checkpoint timestamp
totalSupply(Ticker, CheckpointId
): Balance
-
interface:
api.query.checkpoint.totalSupply
-
summary: Total supply of the token at the checkpoint.
(ticker, checkpointId) -> total supply at given checkpoint
committeeMembership
activeMembers(): Vec<IdentityId>
- interface:
api.query.committeeMembership.activeMembers
- summary: The current "active" membership, stored as an ordered Vec.
activeMembersLimit(): u32
- interface:
api.query.committeeMembership.activeMembersLimit
- summary: Limit of how many "active" members there can be.
inactiveMembers(): Vec<InactiveMember>
- interface:
api.query.committeeMembership.inactiveMembers
- summary: The current "inactive" membership, stored as an ordered Vec.
complianceManager
assetCompliances(Ticker
): AssetCompliance
- interface:
api.query.complianceManager.assetCompliances
- summary: Asset compliance for a ticker (Ticker -> AssetCompliance)
storageVersion(): Version
- interface:
api.query.complianceManager.storageVersion
- summary: Storage version.
trustedClaimIssuer(Ticker
): Vec<TrustedIssuer>
- interface:
api.query.complianceManager.trustedClaimIssuer
- summary: List of trusted claim issuer Ticker -> Issuer Identity
corporateAction
cADocLink(CAId
): Vec<DocumentId>
-
interface:
api.query.corporateAction.cADocLink
-
summary: Associations from CAs to
Document
s via their IDs. (CAId => [DocumentId])The
CorporateActions
map storesTicker => LocalId => The CA
, so we can inferTicker => CAId
. Therefore, we don't need a double map.
cAIdSequence(Ticker
): LocalCAId
- interface:
api.query.corporateAction.cAIdSequence
- summary: The next per-
Ticker
CA ID in the sequence. The full ID is defined as a combination ofTicker
and a number in this sequence.
corporateActions(Ticker, LocalCAId
): Option<CorporateAction>
-
interface:
api.query.corporateAction.corporateActions
-
summary: All recorded CAs thus far. Only generic information is stored here. Specific
CAKind
s, e.g., benefits and corporate ballots, may use additional on-chain storage.(ticker => local ID => the corporate action)
defaultTargetIdentities(Ticker
): TargetIdentities
-
interface:
api.query.corporateAction.defaultTargetIdentities
-
summary: The identities targeted by default for CAs for this ticker, either to be excluded or included.
(ticker => target identities)
defaultWithholdingTax(Ticker
): Tax
-
interface:
api.query.corporateAction.defaultWithholdingTax
-
summary: The default amount of tax to withhold ("withholding tax", WT) for this ticker when distributing dividends.
To understand withholding tax, e.g., let's assume that you hold ACME shares. ACME now decides to distribute 100 SEK to Alice. Alice lives in Sweden, so Skatteverket (the Swedish tax authority) wants 30% of that. Then those 100 * 30% are withheld from Alice, and ACME will send them to Skatteverket.
(ticker => % to withhold)
details(CAId
): CADetails
- interface:
api.query.corporateAction.details
- summary: Associates details in free-form text with a CA by its ID. (CAId => CADetails)
didWithholdingTax(Ticker
): Vec<(IdentityId,Tax)>
-
interface:
api.query.corporateAction.didWithholdingTax
-
summary: The amount of tax to withhold ("withholding tax", WT) for a certain ticker x DID. If an entry exists for a certain DID, it overrides the default in
DefaultWithholdingTax
.(ticker => [(did, % to withhold)]
maxDetailsLength(): u32
-
interface:
api.query.corporateAction.maxDetailsLength
-
summary: Determines the maximum number of bytes that the free-form
details
of a CA can store.Note that this is not the number of
char
s or the number of graphemes. While this may be unnatural in terms of human understanding of a text's length, it more closely reflects actual storage costs ('a'
is cheaper to store than an emoji).
storageVersion(): Version
- interface:
api.query.corporateAction.storageVersion
- summary: Storage version.
corporateBallot
metas(CAId
): Option<BallotMeta>
-
interface:
api.query.corporateBallot.metas
-
summary: Metadata of a corporate ballot.
(CAId) => BallotMeta
motionNumChoices(CAId
): Vec<u16>
-
interface:
api.query.corporateBallot.motionNumChoices
-
summary: Stores how many choices there are in each motion.
At all times, the invariant holds that
motion_choices[idx]
is equal tometas.unwrap().motions[idx].choices.len()
. That is, this is just a cache, used to avoid fetching all the motions with their associated texts.u16
choices should be more than enough to fit real use cases.(CAId) => Number of choices in each motion.
rCV(CAId
): bool
-
interface:
api.query.corporateBallot.rCV
-
summary: Is ranked choice voting (RCV) enabled for this ballot? For an understanding of how RCV is handled, see note on
BallotVote
'sfallback
field.(CAId) => bool
results(CAId
): Vec<Balance>
-
interface:
api.query.corporateBallot.results
-
summary: Stores the total vote tally on each choice.
RCV is not accounted for, as there are too many wants to interpret the graph, and because it would not be efficient.
(CAId) => [current vote weights]
timeRanges(CAId
): Option<BallotTimeRange>
-
interface:
api.query.corporateBallot.timeRanges
-
summary: Time details of a corporate ballot associated with a CA. The timestamps denote when voting starts and stops.
(CAId) => BallotTimeRange
votes(CAId, IdentityId
): Vec<BallotVote>
-
interface:
api.query.corporateBallot.votes
-
summary: Stores each DID's votes in a given ballot. See the documentation of
BallotVote
for notes on semantics.(CAId) => (DID) => [vote weight]
User must enter 0 vote weight if they don't want to vote for a choice.
externalAgents
agentOf(IdentityId, Ticker
): ()
- interface:
api.query.externalAgents.agentOf
- summary: Maps an agent (
IdentityId
) to all allTicker
s they belong to, if any.
aGIdSequence(Ticker
): AGId
-
interface:
api.query.externalAgents.aGIdSequence
-
summary: The next per-
Ticker
AG ID in the sequence.The full ID is defined as a combination of
Ticker
and a number in this sequence, which starts from 1, rather than 0.
groupOfAgent(Ticker, IdentityId
): Option<AgentGroup>
- interface:
api.query.externalAgents.groupOfAgent
- summary: Maps agents (
IdentityId
) for aTicker
to what AG they belong to, if any.
groupPermissions(Ticker, AGId
): Option<ExtrinsicPermissions>
- interface:
api.query.externalAgents.groupPermissions
- summary: For custom AGs of a
Ticker
, maps to what permissions an agent in that AG would have.
numFullAgents(Ticker
): u32
- interface:
api.query.externalAgents.numFullAgents
- summary: Maps a
Ticker
to the number ofFull
agents for it.
grandpa
currentSetId(): SetId
- interface:
api.query.grandpa.currentSetId
- summary: The number of changes (both in terms of keys and underlying economic responsibilities) in the "set" of Grandpa validators from genesis.
nextForced(): Option<BlockNumber>
- interface:
api.query.grandpa.nextForced
- summary: next block number where we can force a change.
pendingChange(): Option<StoredPendingChange>
- interface:
api.query.grandpa.pendingChange
- summary: Pending change: (signaled at, scheduled change).
setIdSession(SetId
): Option<SessionIndex>
-
interface:
api.query.grandpa.setIdSession
-
summary: A mapping from grandpa set ID to the index of the most recent session for which its members were responsible.
TWOX-NOTE:
SetId
is not under user control.
stalled(): Option<(BlockNumber,BlockNumber)>
- interface:
api.query.grandpa.stalled
- summary:
true
if we are currently stalled.
state(): StoredState
- interface:
api.query.grandpa.state
- summary: State of the current authority set.
identity
accountKeyRefCount(AccountId
): u64
-
interface:
api.query.identity.accountKeyRefCount
-
summary: How many "strong" references to the account key.
Strong references will block a key from leaving it's identity.
Pallets using "strong" references to account keys:
- Relayer: For
user_key
andpaying_key
- Relayer: For
authorizations(Signatory, u64
): Option<Authorization>
- interface:
api.query.identity.authorizations
- summary: All authorizations that an identity/key has
authorizationsGiven(IdentityId, u64
): Signatory
- interface:
api.query.identity.authorizationsGiven
- summary: All authorizations that an identity has given. (Authorizer, auth_id -> authorized)
cddAuthForMasterKeyRotation(): bool
- interface:
api.query.identity.cddAuthForMasterKeyRotation
- summary: Obsoleted storage variable superceded by
CddAuthForPrimaryKeyRotation
. It is kept here for the purpose of storage migration.
cddAuthForPrimaryKeyRotation(): bool
- interface:
api.query.identity.cddAuthForPrimaryKeyRotation
- summary: A config flag that, if set, instructs an authorization from a CDD provider in order to change the primary key of an identity.
claims(Claim1stKey, Claim2ndKey
): IdentityClaim
- interface:
api.query.identity.claims
- summary: (Target ID, claim type) (issuer,scope) -> Associated claims
currentDid(): Option<IdentityId>
- interface:
api.query.identity.currentDid
- summary: It stores the current identity for current transaction.
currentPayer(): Option<AccountId>
- interface:
api.query.identity.currentPayer
- summary: It stores the current gas fee payer for the current transaction
didRecords(IdentityId
): DidRecord
- interface:
api.query.identity.didRecords
- summary: DID -> identity info
isDidFrozen(IdentityId
): bool
- interface:
api.query.identity.isDidFrozen
- summary: DID -> bool that indicates if secondary keys are frozen.
keyToIdentityIds(AccountId
): IdentityId
- interface:
api.query.identity.keyToIdentityIds
multiPurposeNonce(): u64
- interface:
api.query.identity.multiPurposeNonce
- summary: Nonce to ensure unique actions. starts from 1.
offChainAuthorizationNonce(IdentityId
): AuthorizationNonce
- interface:
api.query.identity.offChainAuthorizationNonce
- summary: Authorization nonce per Identity. Initially is 0.
storageVersion(): Version
- interface:
api.query.identity.storageVersion
- summary: Storage version.
imOnline
authoredBlocks(SessionIndex, ValidatorId
): u32
- interface:
api.query.imOnline.authoredBlocks
- summary: For each session index, we keep a mapping of
ValidatorId<T>
to the number of blocks authored by the given authority.
heartbeatAfter(): BlockNumber
-
interface:
api.query.imOnline.heartbeatAfter
-
summary: The block number after which it's ok to send heartbeats in current session.
At the beginning of each session we set this to a value that should fall roughly in the middle of the session duration. The idea is to first wait for the validators to produce a block in the current session, so that the heartbeat later on will not be necessary.
keys(): Vec<AuthorityId>
- interface:
api.query.imOnline.keys
- summary: The current set of keys that may issue a heartbeat.
receivedHeartbeats(SessionIndex, AuthIndex
): Option<Bytes>
- interface:
api.query.imOnline.receivedHeartbeats
- summary: For each session index, we keep a mapping of
AuthIndex
tooffchain::OpaqueNetworkState
.
indices
accounts(AccountIndex
): Option<(AccountId,BalanceOf,bool)>
- interface:
api.query.indices.accounts
- summary: The lookup from index to account.
multiSig
keyToMultiSig(AccountId
): AccountId
- interface:
api.query.multiSig.keyToMultiSig
- summary: Maps a multisig signer key to a multisig address.
multiSigNonce(): u64
- interface:
api.query.multiSig.multiSigNonce
- summary: Nonce to ensure unique MultiSig addresses are generated; starts from 1.
multiSigSigners(AccountId, Signatory
): Signatory
- interface:
api.query.multiSig.multiSigSigners
- summary: Signers of a multisig. (multisig, signer) => signer.
multiSigSignsRequired(AccountId
): u64
- interface:
api.query.multiSig.multiSigSignsRequired
- summary: Confirmations required before processing a multisig tx.
multiSigToIdentity(AccountId
): IdentityId
- interface:
api.query.multiSig.multiSigToIdentity
- summary: Maps a multisig account to its identity.
multiSigTxDone(AccountId
): u64
- interface:
api.query.multiSig.multiSigTxDone
- summary: Number of transactions proposed in a multisig. Used as tx id; starts from 0.
numberOfSigners(AccountId
): u64
- interface:
api.query.multiSig.numberOfSigners
- summary: Number of approved/accepted signers of a multisig.
proposalDetail((AccountId,u64)
): ProposalDetails
- interface:
api.query.multiSig.proposalDetail
- summary: Details of a multisig proposal
proposalIds(AccountId, Proposal
): Option<u64>
- interface:
api.query.multiSig.proposalIds
- summary: A mapping of proposals to their IDs.
proposals((AccountId,u64)
): Option<Proposal>
- interface:
api.query.multiSig.proposals
- summary: Proposals presented for voting to a multisig (multisig, proposal id) => Option<T::Proposal>.
transactionVersion(): u32
- interface:
api.query.multiSig.transactionVersion
- summary: The last transaction version, used for
on_runtime_upgrade
.
votes((AccountId,Signatory,u64)
): bool
- interface:
api.query.multiSig.votes
- summary: Individual multisig signer votes. (multi sig, signer, proposal) => vote.
offences
concurrentReportsIndex(Kind, OpaqueTimeSlot
): Vec<ReportIdOf>
- interface:
api.query.offences.concurrentReportsIndex
- summary: A vector of reports of the same kind that happened at the same time slot.
deferredOffences(): Vec<DeferredOffenceOf>
- interface:
api.query.offences.deferredOffences
- summary: Deferred reports that have been rejected by the offence handler and need to be submitted at a later time.
reports(ReportIdOf
): Option<OffenceDetails>
- interface:
api.query.offences.reports
- summary: The primary structure that holds all offence records keyed by report identifiers.
reportsByKindIndex(Kind
): Bytes
-
interface:
api.query.offences.reportsByKindIndex
-
summary: Enumerates all reports of a kind along with the time they happened.
All reports are sorted by the time of offence.
Note that the actual type of this mapping is
Vec<u8>
, this is because values of different types are not supported at the moment so we are doing the manual serialization.
pips
activePipCount(): u32
- interface:
api.query.pips.activePipCount
- summary: Total count of current pending or scheduled PIPs.
activePipLimit(): u32
- interface:
api.query.pips.activePipLimit
- summary: The maximum allowed number for
ActivePipCount
. Once reached, new PIPs cannot be proposed by community members.
committeePips(): Vec<PipId>
- interface:
api.query.pips.committeePips
- summary: All existing PIPs where the proposer is a committee. This list is a cache of all ids in
Proposals
withProposer::Committee(_)
.
defaultEnactmentPeriod(): BlockNumber
- interface:
api.query.pips.defaultEnactmentPeriod
- summary: Default enactment period that will be use after a proposal is accepted by GC.
deposits(PipId, AccountId
): DepositInfo
- interface:
api.query.pips.deposits
- summary: Those who have locked a deposit. proposal (id, proposer) -> deposit
liveQueue(): Vec<SnapshottedPip>
-
interface:
api.query.pips.liveQueue
-
summary: A live priority queue (lowest priority at index 0) of pending PIPs up to the active limit. Priority is defined by the
weight
in theSnapshottedPip
.Unlike
SnapshotQueue
, this queue is live, getting updated with each vote cast. The snapshot is therefore essentially a point-in-time clone of this queue.
maxPipSkipCount(): SkippedCount
- interface:
api.query.pips.maxPipSkipCount
- summary: Maximum times a PIP can be skipped before triggering
CannotSkipPip
inenact_snapshot_results
.
minimumProposalDeposit(): Balance
- interface:
api.query.pips.minimumProposalDeposit
- summary: The minimum amount to be used as a deposit for community PIP creation.
pendingPipExpiry(): MaybeBlock
- interface:
api.query.pips.pendingPipExpiry
- summary: How many blocks will it take, after a
Pending
PIP expires, assuming it has not transitioned to anotherProposalState
?
pipIdSequence(): PipId
- interface:
api.query.pips.pipIdSequence
- summary: Proposals so far. id can be used to keep track of PIPs off-chain.
pipSkipCount(PipId
): SkippedCount
- interface:
api.query.pips.pipSkipCount
- summary: The number of times a certain PIP has been skipped. Once a (configurable) threshhold is exceeded, a PIP cannot be skipped again.
pipToSchedule(PipId
): Option<BlockNumber>
- interface:
api.query.pips.pipToSchedule
- summary: Maps PIPs to the block at which they will be executed, if any.
proposalMetadata(PipId
): Option<PipsMetadata>
- interface:
api.query.pips.proposalMetadata
- summary: The metadata of the active proposals.
proposalResult(PipId
): VotingResult
- interface:
api.query.pips.proposalResult
- summary: PolymeshVotes on a given proposal, if it is ongoing. proposal id -> vote count
proposals(PipId
): Option<Pip>
- interface:
api.query.pips.proposals
- summary: Actual proposal for a given id, if it's current. proposal id -> proposal
proposalVotes(PipId, AccountId
): Option<Vote>
- interface:
api.query.pips.proposalVotes
- summary: Votes per Proposal and account. Used to avoid double vote issue. (proposal id, account) -> Vote
pruneHistoricalPips(): bool
- interface:
api.query.pips.pruneHistoricalPips
- summary: Determines whether historical PIP data is persisted or removed
snapshotIdSequence(): SnapshotId
- interface:
api.query.pips.snapshotIdSequence
- summary: Snapshots so far. id can be used to keep track of snapshots off-chain.
snapshotMeta(): Option<SnapshotMetadata>
- interface:
api.query.pips.snapshotMeta
- summary: The metadata of the snapshot, if there is one.
snapshotQueue(): Vec<SnapshottedPip>
-
interface:
api.query.pips.snapshotQueue
-
summary: The priority queue (lowest priority at index 0) of PIPs at the point of snapshotting. Priority is defined by the
weight
in theSnapshottedPip
.A queued PIP can be skipped. Doing so bumps the
pip_skip_count
. Once a (configurable) threshhold is exceeded, a PIP cannot be skipped again.
storageVersion(): Version
- interface:
api.query.pips.storageVersion
polymeshCommittee
expiresAfter(): MaybeBlock
- interface:
api.query.polymeshCommittee.expiresAfter
- summary: Time after which a proposal will expire.
members(): Vec<IdentityId>
- interface:
api.query.polymeshCommittee.members
- summary: The current members of the committee.
proposalCount(): u32
- interface:
api.query.polymeshCommittee.proposalCount
- summary: Proposals so far.
proposalOf(Hash
): Option<Call>
- interface:
api.query.polymeshCommittee.proposalOf
- summary: Actual proposal for a given hash.
proposals(): Vec<Hash>
- interface:
api.query.polymeshCommittee.proposals
- summary: The hashes of the active proposals.
releaseCoordinator(): Option<IdentityId>
- interface:
api.query.polymeshCommittee.releaseCoordinator
- summary: Release coordinator.
storageVersion(): Version
- interface:
api.query.polymeshCommittee.storageVersion
- summary: Storage version.
voteThreshold(): (u32,u32)
- interface:
api.query.polymeshCommittee.voteThreshold
- summary: Vote threshold for an approval.
voting(Hash
): Option<PolymeshVotes>
- interface:
api.query.polymeshCommittee.voting
- summary: PolymeshVotes on a given proposal, if it is ongoing.
portfolio
nameToNumber(IdentityId, PortfolioName
): PortfolioNumber
- interface:
api.query.portfolio.nameToNumber
- summary: Inverse map of
Portfolios
used to ensure bijectivitiy, and uniqueness of names inPortfolios
.
nextPortfolioNumber(IdentityId
): PortfolioNumber
- interface:
api.query.portfolio.nextPortfolioNumber
- summary: The next portfolio sequence number of an identity.
portfolioAssetBalances(PortfolioId, Ticker
): Balance
- interface:
api.query.portfolio.portfolioAssetBalances
- summary: The asset balances of portfolios.
portfolioAssetCount(PortfolioId
): u64
- interface:
api.query.portfolio.portfolioAssetCount
- summary: How many assets with non-zero balance this portfolio contains.
portfolioCustodian(PortfolioId
): Option<IdentityId>
- interface:
api.query.portfolio.portfolioCustodian
- summary: The custodian of a particular portfolio. None implies that the identity owner is the custodian.
portfolioLockedAssets(PortfolioId, Ticker
): Balance
- interface:
api.query.portfolio.portfolioLockedAssets
- summary: Amount of assets locked in a portfolio. These assets show up in portfolio balance but can not be transferred away.
portfolios(IdentityId, PortfolioNumber
): PortfolioName
- interface:
api.query.portfolio.portfolios
- summary: The set of existing portfolios with their names. If a certain pair of a DID and portfolio number maps to
None
then such a portfolio doesn't exist. Conversely, if a pair maps toSome(name)
then such a portfolio exists and is calledname
.
portfoliosInCustody(IdentityId, PortfolioId
): bool
- interface:
api.query.portfolio.portfoliosInCustody
- summary: Tracks all the portfolios in custody of a particular identity. Only used by the UIs. When
true
is stored as the value for a given(did, pid)
, it means thatpid
is in custody ofdid
.false
values are never explicitly stored in the map, and are instead inferred by the absence of a key.
storageVersion(): Version
- interface:
api.query.portfolio.storageVersion
- summary: Storage version.
protocolFee
baseFees(ProtocolOp
): Balance
- interface:
api.query.protocolFee.baseFees
- summary: The mapping of operation names to the base fees of those operations.
coefficient(): PosRatio
- interface:
api.query.protocolFee.coefficient
- summary: The fee coefficient as a positive rational (numerator, denominator).
randomnessCollectiveFlip
randomMaterial(): Vec<Hash>
- interface:
api.query.randomnessCollectiveFlip.randomMaterial
- summary: Series of block headers from the last 81 blocks that acts as random seed material. This is arranged as a ring buffer with
block_number % 81
being the index into theVec
of the oldest hash.
relayer
subsidies(AccountId
): Option<Subsidy>
-
interface:
api.query.relayer.subsidies
-
summary: The subsidy for a
user_key
if they are being subsidised, as a mapuser_key
=>Subsidy
.A key can only have one subsidy at a time. To change subsidisers a key needs to call
remove_paying_key
to remove the current subsidy, before they can accept a new subsidiser.
rewards
itnRewards(AccountId
): Option<ItnRewardStatus>
- interface:
api.query.rewards.itnRewards
- summary: Map of (Itn Address
AccountId
) -> (RewardItnRewardStatus
).
scheduler
agenda(BlockNumber
): Vec<Option<Scheduled>>
- interface:
api.query.scheduler.agenda
- summary: Items to be executed, indexed by the block number that they should be executed on.
lookup(Bytes
): Option<TaskAddress>
- interface:
api.query.scheduler.lookup
- summary: Lookup from identity to the block number and index of the task.
storageVersion(): Releases
-
interface:
api.query.scheduler.storageVersion
-
summary: Storage version of the pallet.
New networks start with last version.
session
currentIndex(): SessionIndex
- interface:
api.query.session.currentIndex
- summary: Current index of the session.
disabledValidators(): Vec<u32>
-
interface:
api.query.session.disabledValidators
-
summary: Indices of disabled validators.
The set is cleared when
on_session_ending
returns a new set of identities.
keyOwner((KeyTypeId,Bytes)
): Option<ValidatorId>
- interface:
api.query.session.keyOwner
- summary: The owner of a key. The key is the
KeyTypeId
+ the encoded key.
nextKeys(ValidatorId
): Option<Keys>
- interface:
api.query.session.nextKeys
- summary: The next session keys for a validator.
queuedChanged(): bool
- interface:
api.query.session.queuedChanged
- summary: True if the underlying economic identities or weighting behind the validators has changed in the queued validator set.
queuedKeys(): Vec<(ValidatorId,Keys)>
- interface:
api.query.session.queuedKeys
- summary: The queued keys for the next session. When the next session begins, these keys will be used to determine the validator's session keys.
validators(): Vec<ValidatorId>
- interface:
api.query.session.validators
- summary: The current set of validators.
settlement
affirmsReceived(InstructionId, PortfolioId
): AffirmationStatus
- interface:
api.query.settlement.affirmsReceived
- summary: Tracks affirmations received for an instruction. (instruction_id, counter_party) -> AffirmationStatus
details(VenueId
): VenueDetails
- interface:
api.query.settlement.details
- summary: Free-form text about a venue. venue_id ->
VenueDetails
Only needed for the UI.
instructionAffirmsPending(InstructionId
): u64
- interface:
api.query.settlement.instructionAffirmsPending
- summary: Number of affirmations pending before instruction is executed. instruction_id -> affirm_pending
instructionCounter(): InstructionId
- interface:
api.query.settlement.instructionCounter
- summary: Number of instructions in the system (It's one more than the actual number)
instructionDetails(InstructionId
): Instruction
- interface:
api.query.settlement.instructionDetails
- summary: Details about an instruction. instruction_id -> instruction_details
instructionLegs(InstructionId, LegId
): Leg
- interface:
api.query.settlement.instructionLegs
- summary: Legs under an instruction. (instruction_id, leg_id) -> Leg
instructionLegStatus(InstructionId, LegId
): LegStatus
- interface:
api.query.settlement.instructionLegStatus
- summary: Status of a leg under an instruction. (instruction_id, leg_id) -> LegStatus
receiptsUsed(AccountId, u64
): bool
- interface:
api.query.settlement.receiptsUsed
- summary: Tracks redemption of receipts. (signer, receipt_uid) -> receipt_used
storageVersion(): Version
- interface:
api.query.settlement.storageVersion
- summary: Storage version.
userAffirmations(PortfolioId, InstructionId
): AffirmationStatus
- interface:
api.query.settlement.userAffirmations
- summary: Helps a user track their pending instructions and affirmations (only needed for UI). (counter_party, instruction_id) -> AffirmationStatus
userVenues(IdentityId
): Vec<VenueId>
- interface:
api.query.settlement.userVenues
- summary: Array of venues created by an identity. Only needed for the UI. IdentityId -> Vec<venue_id>
venueAllowList(Ticker, VenueId
): bool
- interface:
api.query.settlement.venueAllowList
- summary: Venues that are allowed to create instructions involving a particular ticker. Only used if filtering is enabled. (ticker, venue_id) -> allowed
venueCounter(): VenueId
- interface:
api.query.settlement.venueCounter
- summary: Number of venues in the system (It's one more than the actual number)
venueFiltering(Ticker
): bool
- interface:
api.query.settlement.venueFiltering
- summary: Tracks if a token has enabled filtering venues that can create instructions involving their token. Ticker -> filtering_enabled
venueInfo(VenueId
): Option<Venue>
- interface:
api.query.settlement.venueInfo
- summary: Info about a venue. venue_id -> venue
venueInstructions(VenueId, InstructionId
): ()
-
interface:
api.query.settlement.venueInstructions
-
summary: Instructions under a venue. Only needed for the UI.
venue_id -> instruction_id -> ()
venueSigners(VenueId, AccountId
): bool
- interface:
api.query.settlement.venueSigners
- summary: Signers allowed by the venue. (venue_id, signer) -> bool
staking
activeEra(): Option<ActiveEraInfo>
-
interface:
api.query.staking.activeEra
-
summary: The active era information, it holds index and start.
The active era is the era being currently rewarded. Validator set of this era must be equal to [
SessionInterface::validators
].
bonded(AccountId
): Option<AccountId>
- interface:
api.query.staking.bonded
- summary: Map from all locked "stash" accounts to the controller account.
bondedEras(): Vec<(EraIndex,SessionIndex)>
-
interface:
api.query.staking.bondedEras
-
summary: A mapping from still-bonded eras to the first session index of that era.
Must contains information for eras for the range:
[active_era - bounding_duration; active_era]
canceledSlashPayout(): BalanceOf
- interface:
api.query.staking.canceledSlashPayout
- summary: The amount of currency given to reporters of a slash event which was canceled by extraordinary circumstances (e.g. governance).
currentEra(): Option<EraIndex>
-
interface:
api.query.staking.currentEra
-
summary: The current era index.
This is the latest planned era, depending on how the Session pallet queues the validator set, it might be active or not.
earliestUnappliedSlash(): Option<EraIndex>
- interface:
api.query.staking.earliestUnappliedSlash
- summary: The earliest era for which we have a pending, unapplied slash.
eraElectionStatus(): ElectionStatus
- interface:
api.query.staking.eraElectionStatus
- summary: Flag to control the execution of the offchain election. When
Open(_)
, we accept solutions to be submitted.
erasRewardPoints(EraIndex
): EraRewardPoints
- interface:
api.query.staking.erasRewardPoints
- summary: Rewards for the last
HISTORY_DEPTH
eras. If reward hasn't been set or has been removed then 0 reward is returned.
erasStakers(EraIndex, AccountId
): Exposure
-
interface:
api.query.staking.erasStakers
-
summary: Exposure of validator at era.
This is keyed first by the era index to allow bulk deletion and then the stash account.
Is it removed after
HISTORY_DEPTH
eras. If stakers hasn't been set or has been removed then empty exposure is returned.
erasStakersClipped(EraIndex, AccountId
): Exposure
-
interface:
api.query.staking.erasStakersClipped
-
summary: Clipped Exposure of validator at era.
This is similar to [
ErasStakers
] but number of nominators exposed is reduced to theT::MaxNominatorRewardedPerValidator
biggest stakers. (Note: the fieldtotal
andown
of the exposure remains unchanged). This is used to limit the i/o cost for the nominator payout.This is keyed fist by the era index to allow bulk deletion and then the stash account.
Is it removed after
HISTORY_DEPTH
eras. If stakers hasn't been set or has been removed then empty exposure is returned.
erasStartSessionIndex(EraIndex
): Option<SessionIndex>
-
interface:
api.query.staking.erasStartSessionIndex
-
summary: The session index at which the era start for the last
HISTORY_DEPTH
eras.Note: This tracks the starting session (i.e. session index when era start being active) for the eras in
[CurrentEra - HISTORY_DEPTH, CurrentEra]
.
erasTotalStake(EraIndex
): BalanceOf
- interface:
api.query.staking.erasTotalStake
- summary: The total amount staked for the last
HISTORY_DEPTH
eras. If total hasn't been set or has been removed then 0 stake is returned.
erasValidatorPrefs(EraIndex, AccountId
): ValidatorPrefs
-
interface:
api.query.staking.erasValidatorPrefs
-
summary: Similar to
ErasStakers
, this holds the preferences of validators.This is keyed first by the era index to allow bulk deletion and then the stash account.
Is it removed after
HISTORY_DEPTH
eras.
erasValidatorReward(EraIndex
): Option<BalanceOf>
-
interface:
api.query.staking.erasValidatorReward
-
summary: The total validator era payout for the last
HISTORY_DEPTH
eras.Eras that haven't finished yet or has been removed doesn't have reward.
forceEra(): Forcing
- interface:
api.query.staking.forceEra
- summary: Mode of era forcing.
historyDepth(): u32
-
interface:
api.query.staking.historyDepth
-
summary: Number of eras to keep in history.
Information is kept for eras in
[current_era - history_depth; current_era]
.Must be more than the number of eras delayed by session otherwise. I.e. active era must always be in history. I.e.
active_era > current_era - history_depth
must be guaranteed.
invulnerables(): Vec<AccountId>
- interface:
api.query.staking.invulnerables
- summary: Any validators that may never be slashed or forcibly kicked. It's a Vec since they're easy to initialize and the performance hit is minimal (we expect no more than four invulnerables) and restricted to testnets.
isCurrentSessionFinal(): bool
- interface:
api.query.staking.isCurrentSessionFinal
- summary: True if the current planned session is final. Note that this does not take era forcing into account.
ledger(AccountId
): Option<StakingLedger>
- interface:
api.query.staking.ledger
- summary: Map from all (unlocked) "controller" accounts to the info regarding the staking.
minimumBondThreshold(): BalanceOf
- interface:
api.query.staking.minimumBondThreshold
- summary: The minimum amount with which a validator can bond.
minimumValidatorCount(): u32
- interface:
api.query.staking.minimumValidatorCount
- summary: Minimum number of staking participants before emergency conditions are imposed.
nominators(AccountId
): Option<Nominations>
- interface:
api.query.staking.nominators
- summary: The map from nominator stash key to the set of stash keys of all validators to nominate.
nominatorSlashInEra(EraIndex, AccountId
): Option<BalanceOf>
- interface:
api.query.staking.nominatorSlashInEra
- summary: All slashing events on nominators, mapped by era to the highest slash value of the era.
payee(AccountId
): RewardDestination
- interface:
api.query.staking.payee
- summary: Where the reward payment should be made. Keyed by stash.
permissionedIdentity(IdentityId
): Option<PermissionedIdentityPrefs>
- interface:
api.query.staking.permissionedIdentity
- summary: Entities that are allowed to run operator/validator nodes.
queuedElected(): Option<ElectionResult>
- interface:
api.query.staking.queuedElected
- summary: The next validator set. At the end of an era, if this is available (potentially from the result of an offchain worker), it is immediately used. Otherwise, the on-chain election is executed.
queuedScore(): Option<ElectionScore>
- interface:
api.query.staking.queuedScore
- summary: The score of the current [
QueuedElected
].
slashingAllowedFor(): SlashingSwitch
- interface:
api.query.staking.slashingAllowedFor
slashingSpans(AccountId
): Option<SlashingSpans>
- interface:
api.query.staking.slashingSpans
- summary: Slashing spans for stash accounts.
slashRewardFraction(): Perbill
-
interface:
api.query.staking.slashRewardFraction
-
summary: The percentage of the slash that is distributed to reporters.
The rest of the slashed value is handled by the
Slash
.
snapshotNominators(): Option<Vec<AccountId>>
- interface:
api.query.staking.snapshotNominators
- summary: Snapshot of nominators at the beginning of the current election window. This should only have a value when [
EraElectionStatus
] ==ElectionStatus::Open(_)
.
snapshotValidators(): Option<Vec<AccountId>>
- interface:
api.query.staking.snapshotValidators
- summary: Snapshot of validators at the beginning of the current election window. This should only have a value when [
EraElectionStatus
] ==ElectionStatus::Open(_)
.
spanSlash((AccountId,SpanIndex)
): SpanRecord
- interface:
api.query.staking.spanSlash
- summary: Records information about the maximum slash of a stash within a slashing span, as well as how much reward has been paid out.
storageVersion(): Releases
-
interface:
api.query.staking.storageVersion
-
summary: True if network has been upgraded to this version. Storage version of the pallet.
This is set to v6.0.1 for new networks.
unappliedSlashes(EraIndex
): Vec<UnappliedSlash>
- interface:
api.query.staking.unappliedSlashes
- summary: All unapplied slashes that are queued for later.
validatorCommissionCap(): Perbill
- interface:
api.query.staking.validatorCommissionCap
- summary: Every validator has commission that should be in the range [0, Cap].
validatorCount(): u32
- interface:
api.query.staking.validatorCount
- summary: The ideal number of staking participants.
validators(AccountId
): ValidatorPrefs
- interface:
api.query.staking.validators
- summary: The map from (wannabe) validator stash key to the preferences of that validator.
validatorSlashInEra(EraIndex, AccountId
): Option<(Perbill,BalanceOf)>
- interface:
api.query.staking.validatorSlashInEra
- summary: All slashing events on validators, mapped by era to the highest slash proportion and slash value of the era.
statistics
activeTransferManagers(Ticker
): Vec<TransferManager>
- interface:
api.query.statistics.activeTransferManagers
- summary: Transfer managers currently enabled for an Asset.
exemptEntities((Ticker,TransferManager), ScopeId
): bool
- interface:
api.query.statistics.exemptEntities
- summary: Entities exempt from transfer managers. Exemptions requirements are based on TMS. TMs may require just the sender, just the receiver, both or either to be exempted. CTM requires sender to be exempted while PTM requires receiver to be exempted.
investorCountPerAsset(Ticker
): Counter
- interface:
api.query.statistics.investorCountPerAsset
- summary: Number of current investors in an asset.
sto
fundraiserCount(Ticker
): FundraiserId
- interface:
api.query.sto.fundraiserCount
- summary: Total fundraisers created for a token.
fundraiserNames(Ticker, FundraiserId
): FundraiserName
- interface:
api.query.sto.fundraiserNames
- summary: Name for the Fundraiser. Only used offchain. (ticker, fundraiser_id) -> Fundraiser name
fundraisers(Ticker, FundraiserId
): Option<Fundraiser>
- interface:
api.query.sto.fundraisers
- summary: All fundraisers that are currently running. (ticker, fundraiser_id) -> Fundraiser
substrate
These are well-known keys that are always available to the runtime implementation of any Substrate-based network.
changesTrieConfig(): u32
- interface:
api.query.substrate.changesTrieConfig
- summary: Changes trie configuration is stored under this key.
childStorageKeyPrefix(): u32
- interface:
api.query.substrate.childStorageKeyPrefix
- summary: Prefix of child storage keys.
code(): Bytes
- interface:
api.query.substrate.code
- summary: Wasm code of the runtime.
extrinsicIndex(): u32
- interface:
api.query.substrate.extrinsicIndex
- summary: Current extrinsic index (u32) is stored under this key.
heapPages(): u64
- interface:
api.query.substrate.heapPages
- summary: Number of wasm linear memory pages required for execution of the runtime.
sudo
key(): AccountId
- interface:
api.query.sudo.key
- summary: The
AccountId
of the sudo key.
system
account(AccountId
): AccountInfo
- interface:
api.query.system.account
- summary: The full account information for a particular account ID.
allExtrinsicsLen(): Option<u32>
- interface:
api.query.system.allExtrinsicsLen
- summary: Total length (in bytes) for all extrinsics put together, for the current block.
blockHash(BlockNumber
): Hash
- interface:
api.query.system.blockHash
- summary: Map of block numbers to block hashes.
blockWeight(): ConsumedWeight
- interface:
api.query.system.blockWeight
- summary: The current weight for the block.
digest(): DigestOf
- interface:
api.query.system.digest
- summary: Digest of the current block, also part of the block header.
eventCount(): EventIndex
- interface:
api.query.system.eventCount
- summary: The number of events in the
Events<T>
list.
events(): Vec<EventRecord>
- interface:
api.query.system.events
- summary: Events deposited for the current block.
eventTopics(Hash
): Vec<(BlockNumber,EventIndex)>
-
interface:
api.query.system.eventTopics
-
summary: Mapping between a topic (represented by T::Hash) and a vector of indexes of events in the
<Events<T>>
list.All topic vectors have deterministic storage locations depending on the topic. This allows light-clients to leverage the changes trie storage tracking mechanism and in case of changes fetch the list of events of interest.
The value has the type
(T::BlockNumber, EventIndex)
because if we used only just theEventIndex
then in case if the topic has the same contents on the next block no notification will be triggered thus the event might be lost.
executionPhase(): Option<Phase>
- interface:
api.query.system.executionPhase
- summary: The execution phase of the block.
extrinsicCount(): Option<u32>
- interface:
api.query.system.extrinsicCount
- summary: Total extrinsics count for the current block.
extrinsicData(u32
): Bytes
- interface:
api.query.system.extrinsicData
- summary: Extrinsics data for the current block (maps an extrinsic's index to its data).
lastRuntimeUpgrade(): Option<LastRuntimeUpgradeInfo>
- interface:
api.query.system.lastRuntimeUpgrade
- summary: Stores the
spec_version
andspec_name
of when the last runtime upgrade happened.
number(): BlockNumber
- interface:
api.query.system.number
- summary: The current block number being processed. Set by
execute_block
.
parentHash(): Hash
- interface:
api.query.system.parentHash
- summary: Hash of the previous block.
upgradedToDualRefCount(): bool
- interface:
api.query.system.upgradedToDualRefCount
- summary: True if we have upgraded so that AccountInfo contains two types of
RefCount
. False (default) if not.
upgradedToU32RefCount(): bool
- interface:
api.query.system.upgradedToU32RefCount
- summary: True if we have upgraded so that
type RefCount
isu32
. False (default) if not.
technicalCommittee
expiresAfter(): MaybeBlock
- interface:
api.query.technicalCommittee.expiresAfter
- summary: Time after which a proposal will expire.
members(): Vec<IdentityId>
- interface:
api.query.technicalCommittee.members
- summary: The current members of the committee.
proposalCount(): u32
- interface:
api.query.technicalCommittee.proposalCount
- summary: Proposals so far.
proposalOf(Hash
): Option<Call>
- interface:
api.query.technicalCommittee.proposalOf
- summary: Actual proposal for a given hash.
proposals(): Vec<Hash>
- interface:
api.query.technicalCommittee.proposals
- summary: The hashes of the active proposals.
releaseCoordinator(): Option<IdentityId>
- interface:
api.query.technicalCommittee.releaseCoordinator
- summary: Release coordinator.
storageVersion(): Version
- interface:
api.query.technicalCommittee.storageVersion
- summary: Storage version.
voteThreshold(): (u32,u32)
- interface:
api.query.technicalCommittee.voteThreshold
- summary: Vote threshold for an approval.
voting(Hash
): Option<PolymeshVotes>
- interface:
api.query.technicalCommittee.voting
- summary: PolymeshVotes on a given proposal, if it is ongoing.
technicalCommitteeMembership
activeMembers(): Vec<IdentityId>
- interface:
api.query.technicalCommitteeMembership.activeMembers
- summary: The current "active" membership, stored as an ordered Vec.
activeMembersLimit(): u32
- interface:
api.query.technicalCommitteeMembership.activeMembersLimit
- summary: Limit of how many "active" members there can be.
inactiveMembers(): Vec<InactiveMember>
- interface:
api.query.technicalCommitteeMembership.inactiveMembers
- summary: The current "inactive" membership, stored as an ordered Vec.
testUtils
timestamp
didUpdate(): bool
- interface:
api.query.timestamp.didUpdate
- summary: Did the timestamp get updated in this block?
now(): Moment
- interface:
api.query.timestamp.now
- summary: Current time for the current block.
transactionPayment
nextFeeMultiplier(): Multiplier
- interface:
api.query.transactionPayment.nextFeeMultiplier
storageVersion(): Releases
- interface:
api.query.transactionPayment.storageVersion
upgradeCommittee
expiresAfter(): MaybeBlock
- interface:
api.query.upgradeCommittee.expiresAfter
- summary: Time after which a proposal will expire.
members(): Vec<IdentityId>
- interface:
api.query.upgradeCommittee.members
- summary: The current members of the committee.
proposalCount(): u32
- interface:
api.query.upgradeCommittee.proposalCount
- summary: Proposals so far.
proposalOf(Hash
): Option<Call>
- interface:
api.query.upgradeCommittee.proposalOf
- summary: Actual proposal for a given hash.
proposals(): Vec<Hash>
- interface:
api.query.upgradeCommittee.proposals
- summary: The hashes of the active proposals.
releaseCoordinator(): Option<IdentityId>
- interface:
api.query.upgradeCommittee.releaseCoordinator
- summary: Release coordinator.
storageVersion(): Version
- interface:
api.query.upgradeCommittee.storageVersion
- summary: Storage version.
voteThreshold(): (u32,u32)
- interface:
api.query.upgradeCommittee.voteThreshold
- summary: Vote threshold for an approval.
voting(Hash
): Option<PolymeshVotes>
- interface:
api.query.upgradeCommittee.voting
- summary: PolymeshVotes on a given proposal, if it is ongoing.
upgradeCommitteeMembership
activeMembers(): Vec<IdentityId>
- interface:
api.query.upgradeCommitteeMembership.activeMembers
- summary: The current "active" membership, stored as an ordered Vec.
activeMembersLimit(): u32
- interface:
api.query.upgradeCommitteeMembership.activeMembersLimit
- summary: Limit of how many "active" members there can be.
inactiveMembers(): Vec<InactiveMember>
- interface:
api.query.upgradeCommitteeMembership.inactiveMembers
- summary: The current "inactive" membership, stored as an ordered Vec.
utility
nonces(AccountId
): AuthorizationNonce
- interface:
api.query.utility.nonces