Crowdloans¶
Calls¶
auction_failed¶
If a crowdloan
failed, get the coins back and mark the vault as ready
for distribution
Attributes¶
Name | Type |
---|---|
crowdloan | ParaId |
Python¶
call = substrate.compose_call(
'Crowdloans', 'auction_failed', {'crowdloan': 'u32'}
)
auction_succeeded¶
Mark the associated vault as Succeed
if vault is Closed
Attributes¶
Name | Type |
---|---|
crowdloan | ParaId |
Python¶
call = substrate.compose_call(
'Crowdloans', 'auction_succeeded', {'crowdloan': 'u32'}
)
claim¶
If a crowdloan
succeeded, claim the liquid derivatives of the
contributed assets
Attributes¶
Name | Type |
---|---|
crowdloan | ParaId |
lease_start | LeasePeriod |
lease_end | LeasePeriod |
Python¶
call = substrate.compose_call(
'Crowdloans', 'claim', {
'crowdloan': 'u32',
'lease_end': 'u32',
'lease_start': 'u32',
}
)
claim_for¶
If a crowdloan
succeeded, claim the liquid derivatives of the
contributed assets for others
Attributes¶
Name | Type |
---|---|
dest | <T::Lookup as StaticLookup>::Source |
crowdloan | ParaId |
lease_start | LeasePeriod |
lease_end | LeasePeriod |
Python¶
call = substrate.compose_call(
'Crowdloans', 'claim_for', {
'crowdloan': 'u32',
'dest': {
'Address20': '[u8; 20]',
'Address32': '[u8; 32]',
'Id': 'AccountId',
'Index': (),
'Raw': 'Bytes',
},
'lease_end': 'u32',
'lease_start': 'u32',
}
)
close¶
Mark the associated vault as Closed
and stop accepting contributions
Attributes¶
Name | Type |
---|---|
crowdloan | ParaId |
Python¶
call = substrate.compose_call(
'Crowdloans', 'close', {'crowdloan': 'u32'}
)
contribute¶
Contribute amount
to the vault of crowdloan
and receive some
shares from it
Attributes¶
Name | Type |
---|---|
crowdloan | ParaId |
amount | BalanceOf<T> |
referral_code | Vec<u8> |
Python¶
call = substrate.compose_call(
'Crowdloans', 'contribute', {
'amount': 'u128',
'crowdloan': 'u32',
'referral_code': 'Bytes',
}
)
create_vault¶
Create a new vault via a governance decision
crowdloan
: parachain id of the crowdloan, should be consistent with relaychainctoken
: ctoken is used for the vault, should be uniquelease_start
: lease start indexlease_end
: lease end indexcontribution_strategy
: currently, only XCM strategy is supported.cap
: the capacity limit for the vaultend_block
: the crowdloan end block for the vault
Attributes¶
Name | Type |
---|---|
crowdloan | ParaId |
ctoken | AssetIdOf<T> |
lease_start | LeasePeriod |
lease_end | LeasePeriod |
contribution_strategy | ContributionStrategy |
cap | BalanceOf<T> |
end_block | BlockNumberFor<T> |
Python¶
call = substrate.compose_call(
'Crowdloans', 'create_vault', {
'cap': 'u128',
'contribution_strategy': (
'XCM',
'XCMPROXY',
),
'crowdloan': 'u32',
'ctoken': 'u32',
'end_block': 'u32',
'lease_end': 'u32',
'lease_start': 'u32',
}
)
dissolve_vault¶
Dissolve vault
Attributes¶
Name | Type |
---|---|
crowdloan | ParaId |
lease_start | LeasePeriod |
lease_end | LeasePeriod |
Python¶
call = substrate.compose_call(
'Crowdloans', 'dissolve_vault', {
'crowdloan': 'u32',
'lease_end': 'u32',
'lease_start': 'u32',
}
)
force_claim_for¶
If a crowdloan
expired, force claim the liquid derivatives for users
who didn't claim it during succeed phase
Attributes¶
Name | Type |
---|---|
dest | <T::Lookup as StaticLookup>::Source |
crowdloan | ParaId |
lease_start | LeasePeriod |
lease_end | LeasePeriod |
Python¶
call = substrate.compose_call(
'Crowdloans', 'force_claim_for', {
'crowdloan': 'u32',
'dest': {
'Address20': '[u8; 20]',
'Address32': '[u8; 32]',
'Id': 'AccountId',
'Index': (),
'Raw': 'Bytes',
},
'lease_end': 'u32',
'lease_start': 'u32',
}
)
migrate_pending¶
Migrate pending contribution by sending xcm
Attributes¶
Name | Type |
---|---|
crowdloan | ParaId |
Python¶
call = substrate.compose_call(
'Crowdloans', 'migrate_pending', {'crowdloan': 'u32'}
)
notification_received¶
Attributes¶
Name | Type |
---|---|
query_id | QueryId |
response | Response |
Python¶
call = substrate.compose_call(
'Crowdloans', 'notification_received', {
'query_id': 'u64',
'response': {
'Assets': [
{
'fun': {
'Fungible': 'u128',
'NonFungible': {
'Array16': '[u8; 16]',
'Array32': '[u8; 32]',
'Array4': '[u8; 4]',
'Array8': '[u8; 8]',
'Index': 'u128',
'Undefined': None,
},
},
'id': {
'Abstract': '[u8; 32]',
'Concrete': {
'interior': 'scale_info::61',
'parents': 'u8',
},
},
},
],
'DispatchResult': {
'Error': 'Bytes',
'Success': None,
'TruncatedError': 'Bytes',
},
'ExecutionResult': (
None,
(
'u32',
{
'AssetNotFound': None,
'BadOrigin': None,
'Barrier': None,
'DestinationUnsupported': None,
'ExceedsMaxMessageSize': None,
'ExceedsStackLimit': None,
'ExpectationFalse': None,
'ExportError': None,
'FailedToDecode': None,
'FailedToTransactAsset': None,
'FeesNotMet': None,
'HoldingWouldOverflow': None,
'InvalidLocation': None,
'LocationCannotHold': None,
'LocationFull': None,
'LocationNotInvertible': None,
'LockError': None,
'MaxWeightInvalid': None,
'NameMismatch': None,
'NoDeal': None,
'NoPermission': None,
'NotDepositable': None,
'NotHoldingFees': None,
'NotWithdrawable': None,
'Overflow': None,
'PalletNotFound': None,
'ReanchorFailed': None,
'TooExpensive': None,
'Transport': None,
'Trap': 'u64',
'Unanchored': None,
'UnhandledXcmVersion': None,
'Unimplemented': None,
'UnknownClaim': None,
'Unroutable': None,
'UntrustedReserveLocation': None,
'UntrustedTeleportLocation': None,
'VersionIncompatible': None,
'WeightLimitReached': {
'proof_size': 'u64',
'ref_time': 'u64',
},
'WeightNotComputable': None,
},
),
),
'Null': None,
'PalletsInfo': [
{
'index': 'u32',
'major': 'u32',
'minor': 'u32',
'module_name': 'Bytes',
'name': 'Bytes',
'patch': 'u32',
},
],
'Version': 'u32',
},
}
)
open¶
Mark the associated vault as ready for real contributions on the relaychain
Attributes¶
Name | Type |
---|---|
crowdloan | ParaId |
Python¶
call = substrate.compose_call(
'Crowdloans', 'open', {'crowdloan': 'u32'}
)
redeem¶
If a crowdloan
expired, redeem the contributed assets
using ctoken
Attributes¶
Name | Type |
---|---|
crowdloan | ParaId |
lease_start | LeasePeriod |
lease_end | LeasePeriod |
amount | BalanceOf<T> |
Python¶
call = substrate.compose_call(
'Crowdloans', 'redeem', {
'amount': 'u128',
'crowdloan': 'u32',
'lease_end': 'u32',
'lease_start': 'u32',
}
)
redeem_and_lend_for¶
If a crowdloan
expired, redeem the contributed assets
and lend it to Money market
Attributes¶
Name | Type |
---|---|
dest | <T::Lookup as StaticLookup>::Source |
crowdloan | ParaId |
lease_start | LeasePeriod |
lease_end | LeasePeriod |
amount | BalanceOf<T> |
Python¶
call = substrate.compose_call(
'Crowdloans', 'redeem_and_lend_for', {
'amount': 'u128',
'crowdloan': 'u32',
'dest': {
'Address20': '[u8; 20]',
'Address32': '[u8; 32]',
'Id': 'AccountId',
'Index': (),
'Raw': 'Bytes',
},
'lease_end': 'u32',
'lease_start': 'u32',
}
)
refund¶
Refund contributions
Attributes¶
Name | Type |
---|---|
crowdloan | ParaId |
lease_start | LeasePeriod |
lease_end | LeasePeriod |
Python¶
call = substrate.compose_call(
'Crowdloans', 'refund', {
'crowdloan': 'u32',
'lease_end': 'u32',
'lease_start': 'u32',
}
)
refund_for¶
Refund contributions for single user
Once relaychain is in vrf but parachain didn't update vrf in time. Contributions received during this period should be refund to users, especially for those succeeded parachains.
Attributes¶
Name | Type |
---|---|
dest | <T::Lookup as StaticLookup>::Source |
crowdloan | ParaId |
kind | ChildStorageKind |
amount | BalanceOf<T> |
lease_start | LeasePeriod |
lease_end | LeasePeriod |
Python¶
call = substrate.compose_call(
'Crowdloans', 'refund_for', {
'amount': 'u128',
'crowdloan': 'u32',
'dest': {
'Address20': '[u8; 20]',
'Address32': '[u8; 32]',
'Id': 'AccountId',
'Index': (),
'Raw': 'Bytes',
},
'kind': (
'Pending',
'Flying',
'Contributed',
),
'lease_end': 'u32',
'lease_start': 'u32',
}
)
reopen¶
Mark the associated vault as Contributing
and continue to accept contributions
Attributes¶
Name | Type |
---|---|
crowdloan | ParaId |
Python¶
call = substrate.compose_call(
'Crowdloans', 'reopen', {'crowdloan': 'u32'}
)
set_vrf¶
Set crowdloans which entered vrf period
Attributes¶
Name | Type |
---|---|
flag | bool |
Python¶
call = substrate.compose_call(
'Crowdloans', 'set_vrf', {'flag': 'bool'}
)
slot_expired¶
If a crowdloan
succeeded and its slot expired, use call
to
claim back the funds lent to the parachain
Attributes¶
Name | Type |
---|---|
crowdloan | ParaId |
Python¶
call = substrate.compose_call(
'Crowdloans', 'slot_expired', {'crowdloan': 'u32'}
)
update_leases_bonus¶
Update crowdloans proxy address in relaychain
Attributes¶
Name | Type |
---|---|
lease_start | LeasePeriod |
lease_end | LeasePeriod |
bonus_config | BonusConfig<BalanceOf<T>> |
Python¶
call = substrate.compose_call(
'Crowdloans', 'update_leases_bonus', {
'bonus_config': {
'bonus_per_token': 'u128',
'end_time': 'u64',
'start_time': 'u64',
},
'lease_end': 'u32',
'lease_start': 'u32',
}
)
update_proxy¶
Update crowdloans proxy address in relaychain
Attributes¶
Name | Type |
---|---|
proxy_address | AccountIdOf<T> |
Python¶
call = substrate.compose_call(
'Crowdloans', 'update_proxy', {'proxy_address': 'AccountId'}
)
update_vault¶
Update an existing vault via a governance decision
Attributes¶
Name | Type |
---|---|
crowdloan | ParaId |
cap | Option<BalanceOf<T>> |
end_block | Option<BlockNumberFor<T>> |
contribution_strategy | Option<ContributionStrategy> |
Python¶
call = substrate.compose_call(
'Crowdloans', 'update_vault', {
'cap': (None, 'u128'),
'contribution_strategy': (
None,
('XCM', 'XCMPROXY'),
),
'crowdloan': 'u32',
'end_block': (None, 'u32'),
}
)
withdraw¶
If a crowdloan
failed, withdraw the contributed assets
Attributes¶
Name | Type |
---|---|
crowdloan | ParaId |
lease_start | LeasePeriod |
lease_end | LeasePeriod |
Python¶
call = substrate.compose_call(
'Crowdloans', 'withdraw', {
'crowdloan': 'u32',
'lease_end': 'u32',
'lease_start': 'u32',
}
)
withdraw_for¶
If a crowdloan
failed, withdraw the contributed assets for others
Attributes¶
Name | Type |
---|---|
dest | <T::Lookup as StaticLookup>::Source |
crowdloan | ParaId |
lease_start | LeasePeriod |
lease_end | LeasePeriod |
Python¶
call = substrate.compose_call(
'Crowdloans', 'withdraw_for', {
'crowdloan': 'u32',
'dest': {
'Address20': '[u8; 20]',
'Address32': '[u8; 32]',
'Id': 'AccountId',
'Index': (),
'Raw': 'Bytes',
},
'lease_end': 'u32',
'lease_start': 'u32',
}
)
Events¶
AllMigrated¶
All contributions migrated [para_id, vault_id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | ParaId |
u32 |
None | VaultId |
('u32', 'u32') |
AllRefunded¶
Partially Refunded [para_id, vault_id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | ParaId |
u32 |
None | VaultId |
('u32', 'u32') |
LeasesBonusUpdated¶
Update leases bonus
Attributes¶
Name | Type | Composition |
---|---|---|
None | VaultId |
('u32', 'u32') |
None | BonusConfig<BalanceOf<T>> |
{'bonus_per_token': 'u128', 'start_time': 'u64', 'end_time': 'u64'} |
NotificationReceived¶
Notification received [multi_location, query_id, res]
Attributes¶
Name | Type | Composition |
---|---|---|
None | Box<MultiLocation> |
{'parents': 'u8', 'interior': {'Here': None, 'X1': {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': {'Unit': None, 'Moniker': '[u8; 4]', 'Index': 'u32', 'Executive': None, 'Technical': None, 'Legislative': None, 'Judicial': None, 'Defense': None, 'Administration': None, 'Treasury': None}, 'part': {'Voice': None, 'Members': 'InnerStruct', 'Fraction': 'InnerStruct', 'AtLeastProportion': 'InnerStruct', 'MoreThanProportion': 'InnerStruct'}}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': {'block_number': 'u64', 'block_hash': '[u8; 32]'}, 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': {'chain_id': 'u64'}, 'BitcoinCore': None, 'BitcoinCash': None}}, 'X2': ({'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}), 'X3': ({'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}), 'X4': ({'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}), 'X5': ({'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}), 'X6': ({'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}), 'X7': ({'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}), 'X8': ({'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}}, {'Parachain': 'u32', 'AccountId32': {'network': (None, 'scale_info::65'), 'id': '[u8; 32]'}, 'AccountIndex64': {'network': (None, 'scale_info::65'), 'index': 'u64'}, 'AccountKey20': {'network': (None, 'scale_info::65'), 'key': '[u8; 20]'}, 'PalletInstance': 'u8', 'GeneralIndex': 'u128', 'GeneralKey': {'length': 'u8', 'data': '[u8; 32]'}, 'OnlyChild': None, 'Plurality': {'id': 'scale_info::68', 'part': 'scale_info::69'}, 'GlobalConsensus': {'ByGenesis': '[u8; 32]', 'ByFork': 'InnerStruct', 'Polkadot': None, 'Kusama': None, 'Westend': None, 'Rococo': None, 'Wococo': None, 'Ethereum': 'InnerStruct', 'BitcoinCore': None, 'BitcoinCash': None}})}} |
None | QueryId |
u64 |
None | Option<(u32, XcmError)> |
(None, ('u32', {'Overflow': None, 'Unimplemented': None, 'UntrustedReserveLocation': None, 'UntrustedTeleportLocation': None, 'LocationFull': None, 'LocationNotInvertible': None, 'BadOrigin': None, 'InvalidLocation': None, 'AssetNotFound': None, 'FailedToTransactAsset': None, 'NotWithdrawable': None, 'LocationCannotHold': None, 'ExceedsMaxMessageSize': None, 'DestinationUnsupported': None, 'Transport': None, 'Unroutable': None, 'UnknownClaim': None, 'FailedToDecode': None, 'MaxWeightInvalid': None, 'NotHoldingFees': None, 'TooExpensive': None, 'Trap': 'u64', 'ExpectationFalse': None, 'PalletNotFound': None, 'NameMismatch': None, 'VersionIncompatible': None, 'HoldingWouldOverflow': None, 'ExportError': None, 'ReanchorFailed': None, 'NoDeal': None, 'FeesNotMet': None, 'LockError': None, 'NoPermission': None, 'Unanchored': None, 'NotDepositable': None, 'UnhandledXcmVersion': None, 'WeightLimitReached': {'ref_time': 'u64', 'proof_size': 'u64'}, 'Barrier': None, 'WeightNotComputable': None, 'ExceedsStackLimit': None})) |
PartiallyMigrated¶
Partially contributions migrated [para_id, vault_id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | ParaId |
u32 |
None | VaultId |
('u32', 'u32') |
PartiallyRefunded¶
Partially Refunded [para_id, vault_id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | ParaId |
u32 |
None | VaultId |
('u32', 'u32') |
ProxyUpdated¶
Update proxy address [account]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AccountId |
AccountId |
UserRefunded¶
Refunded [para_id, vault_id, account, child_storage_kind, amount]
Attributes¶
Name | Type | Composition |
---|---|---|
None | ParaId |
u32 |
None | VaultId |
('u32', 'u32') |
None | T::AccountId |
AccountId |
None | ChildStorageKind |
('Pending', 'Flying', 'Contributed') |
None | BalanceOf<T> |
u128 |
VaultClaimed¶
A user claimed CToken from vault [para_id, vault_id, ctoken_id, account, amount, phase]
Attributes¶
Name | Type | Composition |
---|---|---|
None | ParaId |
u32 |
None | VaultId |
('u32', 'u32') |
None | AssetIdOf<T> |
u32 |
None | T::AccountId |
AccountId |
None | BalanceOf<T> |
u128 |
None | VaultPhase |
('Pending', 'Contributing', 'Closed', 'Failed', 'Succeeded', 'Expired') |
VaultContributed¶
Vault successfully contributed [para_id, vault_id, contributor, amount, referral_code]
Attributes¶
Name | Type | Composition |
---|---|---|
None | ParaId |
u32 |
None | VaultId |
('u32', 'u32') |
None | T::AccountId |
AccountId |
None | BalanceOf<T> |
u128 |
None | Vec<u8> |
Bytes |
VaultCreated¶
New vault was created [para_id, vault_id, ctoken_id, phase, contribution_strategy, cap, end_block, trie_index]
Attributes¶
Name | Type | Composition |
---|---|---|
None | ParaId |
u32 |
None | VaultId |
('u32', 'u32') |
None | AssetIdOf<T> |
u32 |
None | VaultPhase |
('Pending', 'Contributing', 'Closed', 'Failed', 'Succeeded', 'Expired') |
None | ContributionStrategy |
('XCM', 'XCMPROXY') |
None | BalanceOf<T> |
u128 |
None | BlockNumberFor<T> |
u32 |
None | TrieIndex |
u32 |
VaultDissolved¶
Vault has been dissolved [para_id, vault_id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | ParaId |
u32 |
None | VaultId |
('u32', 'u32') |
VaultDoContributing¶
Vault is trying to do contributing [para_id, vault_id, contributor, amount, referral_code]
Attributes¶
Name | Type | Composition |
---|---|---|
None | ParaId |
u32 |
None | VaultId |
('u32', 'u32') |
None | T::AccountId |
AccountId |
None | BalanceOf<T> |
u128 |
None | Vec<u8> |
Bytes |
VaultDoWithdrawing¶
Vault is trying to do withdrawing [para_id, vault_id, amount, target_phase]
Attributes¶
Name | Type | Composition |
---|---|---|
None | ParaId |
u32 |
None | VaultId |
('u32', 'u32') |
None | BalanceOf<T> |
u128 |
None | VaultPhase |
('Pending', 'Contributing', 'Closed', 'Failed', 'Succeeded', 'Expired') |
VaultPhaseUpdated¶
Vault was opened [para_id, vault_id, pre_phase, now_phase]
Attributes¶
Name | Type | Composition |
---|---|---|
None | ParaId |
u32 |
None | VaultId |
('u32', 'u32') |
None | VaultPhase |
('Pending', 'Contributing', 'Closed', 'Failed', 'Succeeded', 'Expired') |
None | VaultPhase |
('Pending', 'Contributing', 'Closed', 'Failed', 'Succeeded', 'Expired') |
VaultRedeemed¶
A user redeemed contributed assets using CToken [para_id, vault_id, ctoken_id, account, amount, phase]
Attributes¶
Name | Type | Composition |
---|---|---|
None | ParaId |
u32 |
None | VaultId |
('u32', 'u32') |
None | AssetIdOf<T> |
u32 |
None | T::AccountId |
AccountId |
None | BalanceOf<T> |
u128 |
None | VaultPhase |
('Pending', 'Contributing', 'Closed', 'Failed', 'Succeeded', 'Expired') |
VaultUpdated¶
Existing vault was updated [para_id, vault_id, contribution_strategy, cap, end_block]
Attributes¶
Name | Type | Composition |
---|---|---|
None | ParaId |
u32 |
None | VaultId |
('u32', 'u32') |
None | ContributionStrategy |
('XCM', 'XCMPROXY') |
None | BalanceOf<T> |
u128 |
None | BlockNumberFor<T> |
u32 |
VaultWithdrew¶
A user withdrew contributed assets from vault [para_id, vault_id, account, amount, phase]
Attributes¶
Name | Type | Composition |
---|---|---|
None | ParaId |
u32 |
None | VaultId |
('u32', 'u32') |
None | T::AccountId |
AccountId |
None | BalanceOf<T> |
u128 |
None | VaultPhase |
('Pending', 'Contributing', 'Closed', 'Failed', 'Succeeded', 'Expired') |
VrfUpdated¶
Vrfs updated [vrf_flag]
Attributes¶
Name | Type | Composition |
---|---|---|
None | bool |
bool |
Storage functions¶
CTokensRegistry¶
Python¶
result = substrate.query(
'Crowdloans', 'CTokensRegistry', ['u32', 'u32']
)
Return value¶
'u32'
IsVrf¶
Python¶
result = substrate.query(
'Crowdloans', 'IsVrf', []
)
Return value¶
'bool'
LeasesBonus¶
Python¶
result = substrate.query(
'Crowdloans', 'LeasesBonus', ['u32', 'u32']
)
Return value¶
{'bonus_per_token': 'u128', 'end_time': 'u64', 'start_time': 'u64'}
LeasesRegistry¶
Python¶
result = substrate.query(
'Crowdloans', 'LeasesRegistry', ['u32']
)
Return value¶
('u32', 'u32')
NextTrieIndex¶
Python¶
result = substrate.query(
'Crowdloans', 'NextTrieIndex', []
)
Return value¶
'u32'
ProxyAddress¶
Python¶
result = substrate.query(
'Crowdloans', 'ProxyAddress', []
)
Return value¶
'AccountId'
StorageVersion¶
Storage version of the pallet.
Python¶
result = substrate.query(
'Crowdloans', 'StorageVersion', []
)
Return value¶
('V0_0_0', 'V1_0_0', 'V2_0_0')
Vaults¶
Python¶
result = substrate.query(
'Crowdloans', 'Vaults', ['u32', 'u32', 'u32']
)
Return value¶
{
'cap': 'u128',
'contributed': 'u128',
'contribution_strategy': ('XCM', 'XCMPROXY'),
'ctoken': 'u32',
'end_block': 'u32',
'flying': 'u128',
'lease_end': 'u32',
'lease_start': 'u32',
'pending': 'u128',
'phase': (
'Pending',
'Contributing',
'Closed',
'Failed',
'Succeeded',
'Expired',
),
'trie_index': 'u32',
}
XcmRequests¶
Python¶
result = substrate.query(
'Crowdloans', 'XcmRequests', ['u64']
)
Return value¶
{
'Contribute': {
'amount': 'u128',
'crowdloan': 'u32',
'referral_code': 'Bytes',
'vault_id': ('u32', 'u32'),
'who': 'AccountId',
},
'Withdraw': {
'amount': 'u128',
'crowdloan': 'u32',
'target_phase': (
'Pending',
'Contributing',
'Closed',
'Failed',
'Succeeded',
'Expired',
),
'vault_id': ('u32', 'u32'),
},
}
Constants¶
GetNativeCurrencyId¶
The asset id for native currency.
Value¶
0
Python¶
constant = substrate.get_constant('Crowdloans', 'GetNativeCurrencyId')
LeaseOffset¶
LeaseOffset from relaychain
Value¶
0
Python¶
constant = substrate.get_constant('Crowdloans', 'LeaseOffset')
LeasePerYear¶
LeaseOffset from relaychain
Value¶
8
Python¶
constant = substrate.get_constant('Crowdloans', 'LeasePerYear')
LeasePeriod¶
LeasePeriod from relaychain
Value¶
604800
Python¶
constant = substrate.get_constant('Crowdloans', 'LeasePeriod')
MigrateKeysLimit¶
Maximum keys to be migrated in one extrinsic
Value¶
5
Python¶
constant = substrate.get_constant('Crowdloans', 'MigrateKeysLimit')
MinContribution¶
Minimum contribute amount
Value¶
100000000000
Python¶
constant = substrate.get_constant('Crowdloans', 'MinContribution')
PalletId¶
Pallet account for collecting contributions
Value¶
'0x6372776c6f616e73'
Python¶
constant = substrate.get_constant('Crowdloans', 'PalletId')
RelayCurrency¶
Relay currency
Value¶
100
Python¶
constant = substrate.get_constant('Crowdloans', 'RelayCurrency')
RemoveKeysLimit¶
Value¶
1000
Python¶
constant = substrate.get_constant('Crowdloans', 'RemoveKeysLimit')
SelfParaId¶
Returns the parachain ID we are running with.
Value¶
2085
Python¶
constant = substrate.get_constant('Crowdloans', 'SelfParaId')
Errors¶
CTokenDoesNotExist¶
CToken does not exist
CapExceeded¶
Attempted contribution violates contribution cap
CrowdloanAlreadyExists¶
Crowdloan ParaId already exists
EmptyProxyAddress¶
Proxy address is empty
EndBlockExceeded¶
Current relay block is greater than vault end block
IncorrectVaultPhase¶
Vault is not in correct phase
InsufficientBalance¶
Balance is not enough
InsufficientContribution¶
Contribution is not enough
InvalidCToken¶
CToken for provided (leaseStart, leaseEnd) is different with what has been created previously
InvalidCap¶
Capacity cannot be zero value
InvalidParams¶
Invalid params input
LastPeriodBeforeFirstPeriod¶
Last lease period must be greater than first lease period.
NoContributions¶
There are no contributions stored in contributed childstorage
NotReadyToDissolve¶
Vault is not ready to be dissolved
VaultAlreadyExists¶
Vault already exists
VaultDoesNotExist¶
Vault does not exist
VaultNotEnded¶
Vault for provided ParaId not ended
VrfDelayInProgress¶
No contributions allowed during the VRF delay
WrongBonusConfig¶
BonusConfig is wrong