polymesh-api 3.12.1

Polymesh Rust API
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
metasp_corecrypto,AccountId32 [u8; 32] 0frame_system,AccountInfoIndex,AccountDatanonceIndex$consumers RefCount$providers RefCount,sufficients RefCountdata,AccountData<pallet_balances,AccountDataBalancefreeBalance reservedBalance,misc_frozenBalance(fee_frozenBalance4frame_support dispatch@PerDispatchClassT normal T,operational T$mandatory T (sp_weights$weight_v2Weight ref_time$u64(proof_size$u64$((,<primitive_typesH256 [u8; 32]04(sp_runtimegenericdigestDigestlogs8<Vec<DigestItem>8<<(sp_runtimegenericdigest(DigestItem(PreRuntime@DConsensusEngineId0Vec<u8>$Consensus@DConsensusEngineId0Vec<u8>Seal@DConsensusEngineId0Vec<u8>Other0Vec<u8>dRuntimeEnvironmentUpdated@DHH0frame_system,EventRecordELT,phase�PhaseeventLEtopics�Vec<T>L`polymesh_runtime_developruntime0RuntimeEvent�SystemPpframe_system::Event<Runtime>Indicestxpallet_indices::Event<Runtime> Balancesx|pallet_balances::Event<Runtime>HTransactionPayment��pallet_transaction_payment::Event<Runtime> Identity�|pallet_identity::Event<Runtime>LCddServiceProviders=�pallet_group::Event<Runtime, pallet_group::Instance2>DPolymeshCommitteeE�pallet_committee::Event<Runtime, pallet_committee::Instance1>	LCommitteeMembershipU�pallet_group::Event<Runtime, pallet_group::Instance1>
HTechnicalCommitteeY�pallet_committee::Event<Runtime, pallet_committee::Instance3>pTechnicalCommitteeMembership]�pallet_group::Event<Runtime, pallet_group::Instance3>@UpgradeCommitteea�pallet_committee::Event<Runtime, pallet_committee::Instance4>
hUpgradeCommitteeMembershipe�pallet_group::Event<Runtime, pallet_group::Instance4> MultiSigi|pallet_multisig::Event<Runtime>(Validatorsq�pallet_validators::Event<Runtime>Staking}xpallet_staking::Event<Runtime> Offences�Xpallet_offences::EventSession�Tpallet_session::EventGrandpa�Tpallet_grandpa::Event ImOnline��pallet_im_online::Event<Runtime>Sudo�lpallet_sudo::Event<Runtime>Asset�ppallet_asset::Event<Runtime>LCapitalDistributiony�pallet_capital_distribution::Event<Runtime>(Checkpoint��pallet_checkpoint::Event<Runtime>DComplianceManager��pallet_compliance_manager::Event<Runtime><CorporateAction��pallet_corporate_actions::Event<Runtime><CorporateBallot�pallet_corporate_ballot::Event<Runtime>PipsIlpallet_pips::Event<Runtime>!$Portfolio��pallet_portfolio::Event<Runtime>",ProtocolFee��pallet_protocol_fee::Event<Runtime>#$Scheduler��pallet_scheduler::Event<Runtime>$(Settlement��pallet_settlement::Event<Runtime>%(Statistics��pallet_statistics::Event<Runtime>&Sto-hpallet_sto::Event<Runtime>' TreasuryM|pallet_treasury::Event<Runtime>(UtilityQxpallet_utility::Event<Runtime>)BaseUHpallet_base::Event*8ExternalAgents]�pallet_external_agents::Event<Runtime>+Relayeraxpallet_relayer::Event<Runtime>,$Contractse�pallet_contracts::Event<Runtime>.DPolymeshContractsi�polymesh_contracts::Event<Runtime>/ Preimagey|pallet_preimage::Event<Runtime>0Nft}hpallet_nft::Event<Runtime>1hElectionProviderMultiPhase��pallet_election_provider_multi_phase::Event<Runtime>2P0frame_systempalletEventT@ExtrinsicSuccess4dispatch_infoT0DispatchInfo�An extrinsic completed successfully.<ExtrinsicFailed8dispatch_error`4DispatchError4dispatch_infoT0DispatchInfoPAn extrinsic failed.,CodeUpdatedP`:code` was updated.(NewAccountaccount0T::AccountIdhA new account was created.4KilledAccountaccount0T::AccountIdXAn account was reaped. Remarkedsender0T::AccountIdhash,T::HashpOn on-chain remark happened.pEvent for the System pallet.T4frame_support dispatch0DispatchInfoweight WeightclassX4DispatchClass pays_fee\PaysX4frame_support dispatch4DispatchClassNormal,Operational$Mandatory\4frame_support dispatchPaysYesNo`(sp_runtime4DispatchError4Other0CannotLookup$BadOriginModuled,ModuleErrorDConsumerRemaining,NoProviders@TooManyConsumersTokenh(TokenError(Arithmeticl<ArithmeticError4TransactionalpHTransactionalError	$Exhausted
(Corruption,Unavailabled(sp_runtime,ModuleErrorindexu8error@�[u8; MAX_MODULE_ERROR_ENCODED_SIZE]h(sp_runtime(TokenErrorNoFunds WouldDie0BelowMinimum0CannotCreate0UnknownAssetFrozen,Unsupportedl4sp_arithmetic<ArithmeticError$Underflow Overflow8DivisionByZerop(sp_runtimeHTransactionalError0LimitReachedNoLayert8pallet_indicespalletEventT4IndexAssignedwho0T::AccountIdindex<T::AccountIndextA account index was assigned.(IndexFreedindex<T::AccountIndex�A account index has been freed up (unassigned).,IndexFrozenindex<T::AccountIndexwho0T::AccountId�A account index has been frozen to its current account ID.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			x<pallet_balancespalletEventTI,Endowedaccount0T::AccountId0free_balance(T::Balance�An account was created with some free balance. DustLostaccount0T::AccountIdamount(T::Balance=An account was removed whose balance was non-zero but below ExistentialDeposit,xresulting in an outright loss. Transferfrom0T::AccountIdto0T::AccountIdamount(T::BalanceLTransfer succeeded.(BalanceSetwho0T::AccountIdfree(T::Balance reserved(T::BalancehA balance was set by root. Reservedwho0T::AccountIdamount(T::Balance�Some balance was reserved (moved from free to reserved).(Unreservedwho0T::AccountIdamount(T::Balance�Some balance was unreserved (moved from reserved to free).HReserveRepatriatedfrom0T::AccountIdto0T::AccountIdamount(T::BalanceHdestination_status|StatusMSome balance was moved from the reserve of the first account to the second account.�Final argument indicates the destination balance type.Depositwho0T::AccountIdamount(T::Balance�Some amount was deposited (e.g. for transaction fees). Withdrawwho0T::AccountIdamount(T::BalanceSome amount was withdrawn from the account (e.g. for transaction fees).Slashedwho0T::AccountIdamount(T::Balance	Some amount was removed from the account (e.g. for misbehavior).0TransferMemofrom0T::AccountIdto0T::AccountIdamount(T::Balancememo�<Option<T::Memo>
tTransfer with memo succeeded.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			|4frame_supporttraitstokensmisc4BalanceStatusFree Reserved�OptionT�NoneSome��Lpolymesh_primitivesMemo [u8; 32]�hpallet_transaction_paymentpalletEventTHTransactionFeePaidwho0T::AccountId(actual_fee0BalanceOf<T>tip0BalanceOf<T>YA transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,\has been paid by `who`.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�<pallet_identitypalletEventTT(DidCreated�(IdentityId0T::AccountId�|Vec<SecondaryKey<T::AccountId>>DIdentity created.�(DID, primary key, secondary keys)HSecondaryKeysAdded�(IdentityId�|Vec<SecondaryKey<T::AccountId>>�Secondary keys added to identity.<(DID, new keys)PSecondaryKeysRemoved�(IdentityId�DVec<T::AccountId>�Secondary keys removed from identity.�(DID, the keys that got removed)`SecondaryKeyLeftIdentity�(IdentityId0T::AccountId�A secondary key left their identity.P(DID, secondary key)xSecondaryKeyPermissionsUpdated�(IdentityId0T::AccountId�,Permissions�,Permissions�Secondary key permissions updated.
(DID, updated secondary key, previous permissions, new permissions)DPrimaryKeyUpdated�(IdentityId0T::AccountId0T::AccountId�Primary key of identity changed.�(DID, old primary key account ID, new ID)(ClaimAdded�(IdentityId�4IdentityClaim`Claim added to identity.0(DID, claim)0ClaimRevoked�(IdentityId�4IdentityClaimpClaim revoked from identity.0(DID, claim)HAssetDidRegistered�(IdentityIdTickerpAsset's identity registered.L(Asset DID, ticker)HAuthorizationAdded�(IdentityId%HOption<IdentityId>)POption<T::AccountId>(u64-|AuthorizationData<T::AccountId>DOption<T::Moment>	`New authorization added.1(authorised_by, target_did, target_key, auth_id, authorization_data, expiry)PAuthorizationRevoked%HOption<IdentityId>)POption<T::AccountId>(u64
�Authorization revoked by the authorizer.�(authorized_identity, authorized_key, auth_id)TAuthorizationRejected%HOption<IdentityId>)POption<T::AccountId>(u64�Authorization rejected by the user who was authorized.�(authorized_identity, authorized_key, auth_id)TAuthorizationConsumed%HOption<IdentityId>)POption<T::AccountId>(u64\Authorization consumed.�(authorized_identity, authorized_key, auth_id)xAuthorizationRetryLimitReached%HOption<IdentityId>)POption<T::AccountId>(u64
�Accepting Authorization retry limit reached.�(authorized_identity, authorized_key, auth_id)�CddRequirementForPrimaryKeyUpdated9bool�CDD requirement for updating primary key changed.D(new_requirement)PCddClaimsInvalidated�(IdentityId($T::MomentACDD claims generated by `IdentityId` (a CDD Provider) have been invalidated from$`Moment`.�(CDD provider DID, disable from date)LSecondaryKeysFrozen�(IdentityId�All Secondary keys of the identity ID are frozen.(DID)TSecondaryKeysUnfrozen�(IdentityId�All Secondary keys of the identity ID are unfrozen.(DID)PCustomClaimTypeAdded�(IdentityIdDCustomClaimTypeId0Vec<u8>�A new CustomClaimType was added.<(DID, id, Type)<ChildDidCreated�(IdentityId�(IdentityId0T::AccountId\Child identity created.�(Parent DID, Child DID, primary key)@ChildDidUnlinked�(IdentityId�(IdentityId�(IdentityId�Child identity unlinked from parent identity.�(Caller DID, Parent DID, Child DID)�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�Lpolymesh_primitives,identity_id(IdentityId8[u8; UUID_LEN]���Lpolymesh_primitives4secondary_key0SecondaryKey$AccountIdkey$AccountId,permissions�,Permissions�Lpolymesh_primitives4secondary_key,Permissionsasset�@AssetPermissions$extrinsic�PExtrinsicPermissions$portfolio�PPortfolioPermissions�Lpolymesh_primitivessubsetDSubsetRestrictionA�WholeThese�,BTreeSet<A>Except�,BTreeSet<A>�Lpolymesh_primitivesassetAssetId� [u8; 16]�� BTreeSetT�����Lpolymesh_primitives4secondary_keyPExtrinsicPermissionsWholeThese��BTreeMap<PalletName, PalletPermissions>Except��BTreeMap<PalletName, PalletPermissions>� BTreeMapK�V���Lpolymesh_primitives(PalletName�String��Lpolymesh_primitives4secondary_keyDPalletPermissions(extrinsics�8ExtrinsicNames�Lpolymesh_primitivessubsetDSubsetRestrictionA�WholeThese�,BTreeSet<A>Except�,BTreeSet<A>�Lpolymesh_primitives4ExtrinsicName�String� BTreeSetT����������Lpolymesh_primitivessubsetDSubsetRestrictionA�WholeThese�,BTreeSet<A>Except�,BTreeSet<A>�Lpolymesh_primitives,identity_id,PortfolioIddid�(IdentityIdkind�4PortfolioKind�Lpolymesh_primitives,identity_id4PortfolioKindDefaultUser�<PortfolioNumber�Lpolymesh_primitives,identity_id<PortfolioNumber(u64� BTreeSetT������Lpolymesh_primitives8identity_claim4IdentityClaim0claim_issuer�(IdentityId4issuance_date(Moment@last_update_date(Momentexpiry8Option<Moment>claimClaimOptionT(NoneSome(Lpolymesh_primitives8identity_claimClaim((Accredited	Scope$Affiliate	Scope$BuyLockup	Scope(SellLockup	ScopePCustomerDueDiligence
CddId@KnowYourCustomer	Scope0Jurisdiction,CountryCode	Scope Exempted	ScopeBlocked	ScopeCustomDCustomClaimTypeId4Option<Scope>		Lpolymesh_primitives8identity_claimScope Identity�(IdentityIdAsset�AssetIdCustom0Vec<u8>
Lpolymesh_primitivescdd_idCddId [u8; 32]Lpolymesh_primitives0jurisdiction,CountryCode�AFAXALDZASADAOAIAQAG	AR
AMAWAU
ATAZBSBHBDBBBYBEBZBJBMBTBOBABWBVBRVGIO BN!BG"BF#BI$KH%CM&CA'CV(KY)CF*TD+CL,CN-HK.MO/CX0CC1CO2KM3CG4CD5CK6CR7CI8HR9CU:CY;CZ<DK=DJ>DM?DO@ECAEGBSVCGQDEREEEFETGFKHFOIFJJFIKFRLGFMPFNTFOGAPGMQGERDESGHTGIUGRVGLWGDXGPYGUZGT[GG\GN]GW^GY_HT`HMaVAbHNcHUdISeINfIDgIRhIQiIEjIMkILlITmJMnJPoJEpJOqKZrKEsKItKPuKRvKWwKGxLAyLVzLB{LS|LR}LY~LILT�LU�MK�MG�MW�MY�MV�ML�MT�MH�MQ�MR�MU�YT�MX�FM�MD�MC�MN�ME�MS�MA�MZ�MM�NA�NR�NP�NL�AN�NC�NZ�NI�NE�NG�NU�NF�MP�NO�OM�PK�PW�PS�PA�PG�PY�PE�PH�PN�PL�PT�PR�QA�RE�RO�RU�RW�BL�SH�KN�LC�MF�PM�VC�WS�SM�ST�SA�SN�RS�SC�SL�SG�SK�SI�SB�SO�ZA�GS�SS�ES�LK�SD�SR�SJ�SZ�SE�CH�SY�TW�TJ�TZ�TH�TL�TG�TK�TO�TT�TN�TR�TM�TC�TV�UG�UA�AE�GB�US�UM�UY�UZ�VU�VE�VN�VI�WF�EH�YE�ZM�ZW�BQ�CW�SX�Lpolymesh_primitives8identity_claimDCustomClaimTypeIdu32OptionT	NoneSome	Lpolymesh_primitivestickerTicker!@[u8; TICKER_LEN]!%OptionT�NoneSome�)OptionTNoneSome-Lpolymesh_primitives4authorizationDAuthorizationData$AccountId(`AttestPrimaryKeyRotation�(IdentityId@RotatePrimaryKey8TransferTickerTickerDAddMultiSigSigner$AccountIdXTransferAssetOwnership�AssetId0JoinIdentity�,Permissions@PortfolioCustody�,PortfolioId,BecomeAgent�AssetId1(AgentGroupLAddRelayerPayingKey$AccountId$AccountIdBalancelRotatePrimaryKeyToSecondary�,Permissions	1Lpolymesh_primitivesagent(AgentGroupFullCustom5AGId(ExceptMeta4PolymeshV1CAA4PolymeshV1PIA5Lpolymesh_primitivesagentAGIdu329=0pallet_grouppalletEventTI,MemberAdded�(IdentityId�(IdentityId�The given member was added; see the transaction for who.lcaller DID, New member DID.4MemberRemoved�(IdentityId�(IdentityId�The given member was removed; see the transaction for who.�caller DID, member DID that get removed.4MemberRevoked�(IdentityId�(IdentityId�The given member has been revoked at specific time-stamp.�caller DID, member DID that get revoked.8MembersSwapped�(IdentityId�(IdentityId�(IdentityId�Two members were swapped; see the transaction for who.�caller DID, Removed DID, New add DID.0MembersReset�(IdentityIdA<Vec<IdentityId>The membership was reset; see the transaction for who the new set is.�caller DID, List of new members.HActiveLimitChanged�(IdentityId,MemberCount,MemberCount-The limit of how many active members there can be concurrently was changed.DummyUPhantom member, never used.  This can be removed now.  FRAME v2 doesn't require this.4TODO: remove.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			A�E@pallet_committeepalletEventTI( Proposed�(IdentityId4ProposalIndex,�<T as frame_system::Config>::Hash�A motion (given hash) has been proposed (by given account) with a threshold (given `MemberCount`).�Parameters: caller DID, proposal index, proposal hash.Voted�(IdentityId4ProposalIndex,�<T as frame_system::Config>::Hash9bool,MemberCount,MemberCount,MemberCountA motion (given hash) has been voted on by given account, leavingIa 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.4VoteRetracted�(IdentityId4ProposalIndex,�<T as frame_system::Config>::Hash9bool�A vote on a motion (given hash) has been retracted.caller DID, ProposalIndex, Proposal hash, vote that was retracted(FinalVotes%HOption<IdentityId>4ProposalIndex,�<T as frame_system::Config>::HashA<Vec<IdentityId>A<Vec<IdentityId>�Final votes on a motion (given hash)�caller DID, ProposalIndex, Proposal hash, yes voters, no voter Approved%HOption<IdentityId>,�<T as frame_system::Config>::Hash,MemberCount,MemberCount,MemberCount	A motion was approved by the required threshold with the followingAtally (yes votes, no votes and total seats given respectively as `MemberCount`).MParameters: caller DID, proposal hash, yay vote count, nay vote count, total seats. Rejected%HOption<IdentityId>,�<T as frame_system::Config>::Hash,MemberCount,MemberCount,MemberCount	A motion was rejected by the required threshold with the followingAtally (yes votes, no votes and total seats given respectively as `MemberCount`).MParameters: caller DID, proposal hash, yay vote count, nay vote count, total seats. Executed%HOption<IdentityId>,�<T as frame_system::Config>::HashI8DispatchResult9A motion was executed; `DispatchResult` is `Ok(())` if returned without error.
Parameters: caller DID, proposal hash, result of proposal dispatch.dReleaseCoordinatorUpdated%HOption<IdentityId>�Release coordinator has been updated.�Parameters: DID of the release coordinator.LExpiresAfterUpdated�(IdentityIdQ�MaybeBlock<<T as frame_system::Config>::BlockNumber>�Proposal expiry time has been updated.�Parameters: caller DID, new expiry time (if any).PVoteThresholdUpdated�(IdentityIdu32u32	�Voting threshold has been updated�Parameters: caller DID, numerator, denominator�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			IResultTME`OkMErr`MQLpolymesh_primitives(MaybeBlock,BlockNumberSome,BlockNumberNoneU0pallet_grouppalletEventTI,MemberAdded�(IdentityId�(IdentityId�The given member was added; see the transaction for who.lcaller DID, New member DID.4MemberRemoved�(IdentityId�(IdentityId�The given member was removed; see the transaction for who.�caller DID, member DID that get removed.4MemberRevoked�(IdentityId�(IdentityId�The given member has been revoked at specific time-stamp.�caller DID, member DID that get revoked.8MembersSwapped�(IdentityId�(IdentityId�(IdentityId�Two members were swapped; see the transaction for who.�caller DID, Removed DID, New add DID.0MembersReset�(IdentityIdA<Vec<IdentityId>The membership was reset; see the transaction for who the new set is.�caller DID, List of new members.HActiveLimitChanged�(IdentityId,MemberCount,MemberCount-The limit of how many active members there can be concurrently was changed.DummyUPhantom member, never used.  This can be removed now.  FRAME v2 doesn't require this.4TODO: remove.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			Y@pallet_committeepalletEventTI( Proposed�(IdentityId4ProposalIndex,�<T as frame_system::Config>::Hash�A motion (given hash) has been proposed (by given account) with a threshold (given `MemberCount`).�Parameters: caller DID, proposal index, proposal hash.Voted�(IdentityId4ProposalIndex,�<T as frame_system::Config>::Hash9bool,MemberCount,MemberCount,MemberCountA motion (given hash) has been voted on by given account, leavingIa 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.4VoteRetracted�(IdentityId4ProposalIndex,�<T as frame_system::Config>::Hash9bool�A vote on a motion (given hash) has been retracted.caller DID, ProposalIndex, Proposal hash, vote that was retracted(FinalVotes%HOption<IdentityId>4ProposalIndex,�<T as frame_system::Config>::HashA<Vec<IdentityId>A<Vec<IdentityId>�Final votes on a motion (given hash)�caller DID, ProposalIndex, Proposal hash, yes voters, no voter Approved%HOption<IdentityId>,�<T as frame_system::Config>::Hash,MemberCount,MemberCount,MemberCount	A motion was approved by the required threshold with the followingAtally (yes votes, no votes and total seats given respectively as `MemberCount`).MParameters: caller DID, proposal hash, yay vote count, nay vote count, total seats. Rejected%HOption<IdentityId>,�<T as frame_system::Config>::Hash,MemberCount,MemberCount,MemberCount	A motion was rejected by the required threshold with the followingAtally (yes votes, no votes and total seats given respectively as `MemberCount`).MParameters: caller DID, proposal hash, yay vote count, nay vote count, total seats. Executed%HOption<IdentityId>,�<T as frame_system::Config>::HashI8DispatchResult9A motion was executed; `DispatchResult` is `Ok(())` if returned without error.
Parameters: caller DID, proposal hash, result of proposal dispatch.dReleaseCoordinatorUpdated%HOption<IdentityId>�Release coordinator has been updated.�Parameters: DID of the release coordinator.LExpiresAfterUpdated�(IdentityIdQ�MaybeBlock<<T as frame_system::Config>::BlockNumber>�Proposal expiry time has been updated.�Parameters: caller DID, new expiry time (if any).PVoteThresholdUpdated�(IdentityIdu32u32	�Voting threshold has been updated�Parameters: caller DID, numerator, denominator�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			]0pallet_grouppalletEventTI,MemberAdded�(IdentityId�(IdentityId�The given member was added; see the transaction for who.lcaller DID, New member DID.4MemberRemoved�(IdentityId�(IdentityId�The given member was removed; see the transaction for who.�caller DID, member DID that get removed.4MemberRevoked�(IdentityId�(IdentityId�The given member has been revoked at specific time-stamp.�caller DID, member DID that get revoked.8MembersSwapped�(IdentityId�(IdentityId�(IdentityId�Two members were swapped; see the transaction for who.�caller DID, Removed DID, New add DID.0MembersReset�(IdentityIdA<Vec<IdentityId>The membership was reset; see the transaction for who the new set is.�caller DID, List of new members.HActiveLimitChanged�(IdentityId,MemberCount,MemberCount-The limit of how many active members there can be concurrently was changed.DummyUPhantom member, never used.  This can be removed now.  FRAME v2 doesn't require this.4TODO: remove.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			a@pallet_committeepalletEventTI( Proposed�(IdentityId4ProposalIndex,�<T as frame_system::Config>::Hash�A motion (given hash) has been proposed (by given account) with a threshold (given `MemberCount`).�Parameters: caller DID, proposal index, proposal hash.Voted�(IdentityId4ProposalIndex,�<T as frame_system::Config>::Hash9bool,MemberCount,MemberCount,MemberCountA motion (given hash) has been voted on by given account, leavingIa 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.4VoteRetracted�(IdentityId4ProposalIndex,�<T as frame_system::Config>::Hash9bool�A vote on a motion (given hash) has been retracted.caller DID, ProposalIndex, Proposal hash, vote that was retracted(FinalVotes%HOption<IdentityId>4ProposalIndex,�<T as frame_system::Config>::HashA<Vec<IdentityId>A<Vec<IdentityId>�Final votes on a motion (given hash)�caller DID, ProposalIndex, Proposal hash, yes voters, no voter Approved%HOption<IdentityId>,�<T as frame_system::Config>::Hash,MemberCount,MemberCount,MemberCount	A motion was approved by the required threshold with the followingAtally (yes votes, no votes and total seats given respectively as `MemberCount`).MParameters: caller DID, proposal hash, yay vote count, nay vote count, total seats. Rejected%HOption<IdentityId>,�<T as frame_system::Config>::Hash,MemberCount,MemberCount,MemberCount	A motion was rejected by the required threshold with the followingAtally (yes votes, no votes and total seats given respectively as `MemberCount`).MParameters: caller DID, proposal hash, yay vote count, nay vote count, total seats. Executed%HOption<IdentityId>,�<T as frame_system::Config>::HashI8DispatchResult9A motion was executed; `DispatchResult` is `Ok(())` if returned without error.
Parameters: caller DID, proposal hash, result of proposal dispatch.dReleaseCoordinatorUpdated%HOption<IdentityId>�Release coordinator has been updated.�Parameters: DID of the release coordinator.LExpiresAfterUpdated�(IdentityIdQ�MaybeBlock<<T as frame_system::Config>::BlockNumber>�Proposal expiry time has been updated.�Parameters: caller DID, new expiry time (if any).PVoteThresholdUpdated�(IdentityIdu32u32	�Voting threshold has been updated�Parameters: caller DID, numerator, denominator�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			e0pallet_grouppalletEventTI,MemberAdded�(IdentityId�(IdentityId�The given member was added; see the transaction for who.lcaller DID, New member DID.4MemberRemoved�(IdentityId�(IdentityId�The given member was removed; see the transaction for who.�caller DID, member DID that get removed.4MemberRevoked�(IdentityId�(IdentityId�The given member has been revoked at specific time-stamp.�caller DID, member DID that get revoked.8MembersSwapped�(IdentityId�(IdentityId�(IdentityId�Two members were swapped; see the transaction for who.�caller DID, Removed DID, New add DID.0MembersReset�(IdentityIdA<Vec<IdentityId>The membership was reset; see the transaction for who the new set is.�caller DID, List of new members.HActiveLimitChanged�(IdentityId,MemberCount,MemberCount-The limit of how many active members there can be concurrently was changed.DummyUPhantom member, never used.  This can be removed now.  FRAME v2 doesn't require this.4TODO: remove.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			i<pallet_multisigpalletEventT8<MultiSigCreated(caller_did�(IdentityId multisig0T::AccountIdcaller0T::AccountIdsignersm�BoundedVec<T::AccountId, T::MaxSigners>4sigs_required(u64pA Multisig has been created.4ProposalAdded(caller_did%HOption<IdentityId> multisig0T::AccountId,proposal_id(u64�A Multisig proposal has been created.@ProposalExecuted(caller_did%HOption<IdentityId> multisig0T::AccountId,proposal_id(u64resultI8DispatchResult�A Multisig proposal has been executed.LMultiSigSignerAdded(caller_did�(IdentityId multisig0T::AccountIdsigner0T::AccountId�A new signer has been added to a Multisig.dMultiSigSignersAuthorized(caller_did�(IdentityId multisig0T::AccountIdsignersm�BoundedVec<T::AccountId, T::MaxSigners>�New keys have been authorized to be signers on a Multisig.XMultiSigSignersRemoved(caller_did�(IdentityId multisig0T::AccountIdsignersm�BoundedVec<T::AccountId, T::MaxSigners>�Signers have been removed from a Multisig.xMultiSigSignersRequiredChanged(caller_did%HOption<IdentityId> multisig0T::AccountId4sigs_required(u64�A Multisig has changed its required number of approvals.PProposalApprovalVote(caller_did%HOption<IdentityId> multisig0T::AccountIdsigner0T::AccountId,proposal_id(u64�A signer has voted to approve a Multisig proposal.TProposalRejectionVote(caller_did%HOption<IdentityId> multisig0T::AccountIdsigner0T::AccountId,proposal_id(u64�A signer has voted to reject a Multisig proposal.@ProposalApproved(caller_did%HOption<IdentityId> multisig0T::AccountId,proposal_id(u64	�A Multisig proposal has been approved.@ProposalRejected(caller_did%HOption<IdentityId> multisig0T::AccountId,proposal_id(u64
�A Multisig proposal has been rejected.HMultiSigAddedAdmin(caller_did�(IdentityId multisig0T::AccountId$admin_did�(IdentityId�A Multisig has added an admin DID.PMultiSigRemovedAdmin(caller_did�(IdentityId multisig0T::AccountId$admin_did�(IdentityId�A Multisig has removed it's admin DID.`MultiSigRemovedPayingDid(caller_did�(IdentityId multisig0T::AccountId(paying_did�(IdentityId
�A Multisig has removed it's paying DID.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			mLbounded_collections,bounded_vec(BoundedVecTS�Vec<T>qDpallet_validatorspalletEventT$NominatedHnominator_identity�(IdentityIdstash0T::AccountIdtargets�DVec<T::AccountId>�User has updated their nominations.dPermissionedIdentityAdded\governance_councill_did�(IdentityIdLvalidators_identity�(IdentityId�An identity has issued a candidacy for becoming a validator.lPermissionedIdentityRemoved\governance_councill_did�(IdentityIdLvalidators_identity�(IdentityId
An identity has been removed from the permissioned identities pool.TInvalidatedNominators\governance_councill_did�(IdentityIdlgovernance_councill_account�(IdentityIdHexpired_nominators�DVec<T::AccountId>Remove the nominators from the valid nominators when there CDD expired.dSlashingAllowedForChanged<slashing_switchu8SlashingSwitch�Slashing allowed has been updated.�RewardPaymentSchedulingInterrupted(account_id0T::AccountIdera EraIndexerror`4DispatchErrorxReward scheduling interrupted.PCommissionCapUpdated\governance_councill_did�(IdentityIdHold_commission_capyPerbillHnew_commission_capyPerbill�Commission cap has been updated.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			uDpallet_validatorstypes8SlashingSwitch$ValidatorTValidatorAndNominatorNoney4sp_arithmetic(per_thingsPerbillu32}8pallet_stakingpalletpalletEventT<EraPaid$era_index EraIndex@validator_payout0BalanceOf<T>$remainder0BalanceOf<T>UThe era payout has been set; the first balance is the validator-payout; the second is�the remainder from the maximum amount of reward. Rewardedstash0T::AccountIdamount0BalanceOf<T>�The nominator has been rewarded by this amount.Slashedstaker0T::AccountIdamount0BalanceOf<T>A staker (validator or nominator) has been slashed by the given amount.4SlashReported$validator0T::AccountId fractionyPerbill$slash_era EraIndexYA slash for the given validator, for the given percentage of their stake, at the givenTera as been reported.hOldSlashingReportDiscarded4session_index0SessionIndexAn old slashing report from a prior era was discarded because it couldDnot be processed.8StakersElected�A new set of stakers was elected.Bondedstash0T::AccountIdamount0BalanceOf<T>�An account has bonded this amount. \[stash, amount\]MNOTE: 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. Unbondedstash0T::AccountIdamount0BalanceOf<T>�An account has unbonded this amount.$Withdrawnstash0T::AccountIdamount0BalanceOf<T>YAn account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`dfrom the unlocking queue.Kicked$nominator0T::AccountIdstash0T::AccountId	�A nominator has been kicked from a validator.TStakingElectionFailed
�The election failed. No new era is planned.Chilledstash0T::AccountId!An account has stopped participating as either a validator or nominator.4PayoutStarted$era_index EraIndex<validator_stash0T::AccountId�The stakers' rewards are getting paid.DValidatorPrefsSetstash0T::AccountIdprefs�8ValidatorPrefs
�A validator has set their preferences. ForceEramode�ForcingtA new force era mode was set.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�8pallet_staking8ValidatorPrefs(commission�Perbillblocked9bool�y�8pallet_stakingForcing(NotForcing ForceNew$ForceNone,ForceAlways�<pallet_offencespalletEventOffencekind�Kind timeslot08OpaqueTimeSlotQThere is an offence reported of the given `kind` happened at the `session_index` and5(kind-specific) time slot. This event is not deposited for duplicate slashes.L\[kind, timeslot\].0Events type.�8pallet_sessionpalletEvent(NewSession4session_index0SessionIndex9New session has happened. Note that the argument is the session index, not the�block number as the type might suggest.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�8pallet_grandpapalletEvent8NewAuthorities4authority_set�4AuthorityList�New authority set has been applied.Paused�Current authority set has been paused.Resumed�Current authority set has been resumed.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			����(�Psp_consensus_grandpaappPublic�<ed25519::Public�sp_coreed25519Public [u8; 32]�@pallet_im_onlinepalletEventTDHeartbeatReceived0authority_id�8T::AuthorityId�A new heartbeat was received from `AuthorityId`.AllGood�At the end of the session, no offence was committed.,SomeOfflineoffline�lVec<IdentificationTuple<T>>)At the end of the session, at least one validator was found to be offline.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�@pallet_im_onlinesr25519,app_sr25519Public�<sr25519::Public�sp_coresr25519Public [u8; 32]�����8pallet_staking Exposure$AccountIdBalancetotal�Balanceown�Balanceothers��Vec<IndividualExposure<AccountId, Balance>>����8pallet_stakingHIndividualExposure$AccountIdBalancewho$AccountIdvalue�Balance�,pallet_sudopalletEventTSudid,sudo_resultI8DispatchResult�A sudo just took place. \[result\](KeyChanged(old_sudoer)POption<T::AccountId>9The \[sudoer\] just switched identity; the old key is supplied if one existed.(SudoAsDone,sudo_resultI8DispatchResult�A sudo just took place. \[result\]�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�0pallet_assetpalletEventT�0AssetCreated �(IdentityId�AssetId9bool�$AssetType�(IdentityId�$AssetName�PVec<AssetIdentifier>�`Option<FundingRoundName>�Event for creation of the asset.�caller DID/ owner DID, AssetId, divisibility, asset type, beneficiary DID, asset name, identifiers, funding roundHIdentifiersUpdated�(IdentityId�AssetId�PVec<AssetIdentifier>�Event emitted when any token identifiers are updated.caller DID, AssetId, a vector of (identifier type, identifier value)LDivisibilityChanged�(IdentityId�AssetId9bool�Event for change in divisibility.�caller DID, AssetId, divisibility@TickerRegistered�(IdentityIdTickerDOption<T::Moment>|Emit when ticker is registered.�caller DID / ticker owner did, ticker, ticker owner, expiryDTickerTransferred�(IdentityIdTicker�(IdentityId�Emit when ticker is transferred.�caller DID / ticker transferred to DID, ticker, fromdAssetOwnershipTransferred�(IdentityId�AssetId�(IdentityId�Emit when token ownership is transferred.�caller DID / token ownership transferred to DID, AssetId, from,AssetFrozen�(IdentityId�AssetId�An event emitted when an asset is frozen.|Parameter: caller DID, AssetId.4AssetUnfrozen�(IdentityId�AssetId�An event emitted when an asset is unfrozen.|Parameter: caller DID, AssetId.0AssetRenamed�(IdentityId�AssetId�$AssetName�An event emitted when a token is renamed.�Parameters: caller DID, AssetId, new token name.<FundingRoundSet�(IdentityId�AssetId�@FundingRoundName	An event carrying the name of the current funding round of an asset.�Parameters: caller DID, AssetId, funding round name.4DocumentAdded�(IdentityId�AssetId�(DocumentId Document
�A new document attached to an asset<DocumentRemoved�(IdentityId�AssetId�(DocumentId�A document removed from an assetHControllerTransfer�(IdentityId�AssetId�,PortfolioIdBalance�Event for when a forced transfer takes place.=caller DID/ controller DID, ExtensionRemoved, Portfolio of token holder, value.TCustomAssetTypeExists�(IdentityId�DCustomAssetTypeId0Vec<u8>
�A custom asset type already exists on-chain.1caller DID, the ID of the custom asset type, the string contents registered.dCustomAssetTypeRegistered�(IdentityId�DCustomAssetTypeId0Vec<u8>�A custom asset type was registered on-chain.1caller DID, the ID of the custom asset type, the string contents registered.TSetAssetMetadataValue�(IdentityId�AssetId-HAssetMetadataValue1�Option<AssetMetadataValueDetail<T::Moment>>dSet asset metadata value.�(Caller DID, AssetId, metadata value, optional value details)pSetAssetMetadataValueDetails�(IdentityId�AssetId5�AssetMetadataValueDetail<T::Moment>�Set asset metadata value details (expire, lock status).�(Caller DID, AssetId, value details)xRegisterAssetMetadataLocalType�(IdentityId�AssetId=DAssetMetadataNameATAssetMetadataLocalKeyEDAssetMetadataSpec�Register asset metadata local type.	(Caller DID, AssetId, Local type name, Local type key, type specs)|RegisterAssetMetadataGlobalType=DAssetMetadataName]XAssetMetadataGlobalKeyEDAssetMetadataSpec�Register asset metadata global type.�(Global type name, Global type key, type specs)@AssetTypeChanged�(IdentityId�AssetId�$AssetType�An event emitted when the type of an asset changed.�Parameters: caller DID, AssetId, new token type.\LocalMetadataKeyDeleted�(IdentityId�AssetIdATAssetMetadataLocalKey�An event emitted when a local metadata key has been removed.�Parameters: caller AssetId, Local type namePMetadataValueDeleted�(IdentityId�AssetIda@AssetMetadataKey�An event emitted when a local metadata value has been removed.�Parameters: caller AssetId, Local type nameLAssetBalanceUpdated�(IdentityId�AssetIdBalanceeLOption<PortfolioId>eLOption<PortfolioId>iTPortfolioUpdateReason�Emitted when Tokens were issued, redeemed or transferred.5Contains the [`IdentityId`] of the receiver/issuer/redeemer, the [`AssetId`] for the token, the balance that was issued/transferred/redeemed,�the [`PortfolioId`] of the source, the [`PortfolioId`] of the destination and the [`PortfolioUpdateReason`].dAssetAffirmationExemption�AssetIdmAn asset has been added to the list of pre aprroved receivement (valid for all identities).�Parameters: [`AssetId`] of the pre approved asset.|RemoveAssetAffirmationExemption�AssetId}An asset has been removed from the list of pre aprroved receivement (valid for all identities).�Parameters: [`AssetId`] of the asset.@PreApprovedAsset�(IdentityId�AssetIdAn identity has added an asset to the list of pre aprroved receivement.1Parameters: [`IdentityId`] of caller, [`AssetId`] of the pre approved asset.XRemovePreApprovedAsset�(IdentityId�AssetId%An identity has removed an asset to the list of pre aprroved receivement.�Parameters: [`IdentityId`] of caller, [`AssetId`] of the asset.LAssetMediatorsAdded�(IdentityId�AssetIduPBTreeSet<IdentityId>�An identity has added mandatory mediators to an asset.�Parameters: [`IdentityId`] of caller, [`AssetId`] of the asset, the identity of all mediators added.TAssetMediatorsRemoved�(IdentityId�AssetIduPBTreeSet<IdentityId>�An identity has removed mediators from an asset.�Parameters: [`IdentityId`] of caller, [`AssetId`] of the asset, the identity of all mediators removed.LTickerLinkedToAsset�(IdentityIdTicker�AssetId�An identity has linked a ticker to an asset.�Parameters: [`IdentityId`] of caller, [`Ticker`] of the asset, the asset identifier [`AssetId`].\TickerUnlinkedFromAsset�(IdentityIdTicker�AssetId�An identity has unlinked a ticker from an asset.qParameters: [`IdentityId`] of caller, unlinked [`Ticker`], the asset identifier [`AssetId`].dGlobalMetadataSpecUpdated=DAssetMetadataNameEDAssetMetadataSpec�Asset Global Metadata Spec has been Updated.eParameters: [`AssetMetadataName`] of the metadata, [`AssetMetadataSpec`] of the metadata.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�Lpolymesh_primitivesasset$AssetType00EquityCommon<EquityPreferred$Commodity,FixedIncomeREITFundTRevenueShareAgreementDStructuredProduct(DerivativeCustom�DCustomAssetTypeId	(StableCoin
,NonFungible�<NonFungibleType�Lpolymesh_primitivesassetDCustomAssetTypeIdu32�Lpolymesh_primitivesasset<NonFungibleType(Derivative,FixedIncomeInvoiceCustom�DCustomAssetTypeId�Lpolymesh_primitivesasset$AssetName0Vec<u8>���Lpolymesh_primitives@asset_identifier<AssetIdentifierCUSIP�[u8; 9]CINS�[u8; 9]ISIN! [u8; 12]LEI� [u8; 20]FIGI! [u8; 12]�	��OptionT�NoneSome��Lpolymesh_primitivesasset@FundingRoundName0Vec<u8>�Lpolymesh_primitives document(DocumentIdu32Lpolymesh_primitives document Documenturi,DocumentUri0content_hash	0DocumentHashname!0DocumentName doc_type%POption<DocumentType>,filing_date8Option<Moment>Lpolymesh_primitives document,DocumentUri0Vec<u8>	Lpolymesh_primitives4document_hash0DocumentHash$NoneH512
 [u8; 64]H384 [u8; 48]H320 [u8; 40]H256 [u8; 32]H224 [u8; 28]H192 [u8; 24]H160� [u8; 20]H128� [u8; 16]
@0(!Lpolymesh_primitives document0DocumentName0Vec<u8>%OptionT)NoneSome))Lpolymesh_primitives document0DocumentType0Vec<u8>-Lpolymesh_primitives8asset_metadataHAssetMetadataValue0Vec<u8>1OptionT5NoneSome55Lpolymesh_primitives8asset_metadata`AssetMetadataValueDetailMoment(expire8Option<Moment>,lock_status9|AssetMetadataLockStatus<Moment>9Lpolymesh_primitives8asset_metadata\AssetMetadataLockStatusMoment( UnlockedLocked,LockedUntil(Moment=Lpolymesh_primitives8asset_metadataDAssetMetadataName0Vec<u8>ALpolymesh_primitives8asset_metadataTAssetMetadataLocalKey(u64ELpolymesh_primitives8asset_metadataDAssetMetadataSpecurlI,Option<Url>,descriptionQ�Option<AssetMetadataDescription> type_defY<Option<Vec<u8>>IOptionTMNoneSomeMMLpolymesh_primitivesUrl0Vec<u8>QOptionTUNoneSomeUULpolymesh_primitives8asset_metadata`AssetMetadataDescription0Vec<u8>YOptionT0NoneSome0]Lpolymesh_primitives8asset_metadataXAssetMetadataGlobalKey(u64aLpolymesh_primitives8asset_metadata@AssetMetadataKeyGlobal]XAssetMetadataGlobalKeyLocalATAssetMetadataLocalKeyeOptionT�NoneSome�iLpolymesh_primitives$portfolioTPortfolioUpdateReasonIssuedHfunding_round_name�`Option<FundingRoundName> Redeemed,Transferred8instruction_idmTOption<InstructionId>@instruction_memo�0Option<Memo>HControllerTransfermOptionTqNoneSomeqqLpolymesh_primitives(settlement4InstructionId(u64u BTreeSetT�Ay`pallet_corporate_actions0distributionpalletEventTCreated} EventDid�CAId�0Distribution�A capital distribution, with details included,1was created by the DID (permissioned agent) for the CA identified by `CAId`.�(Agent DID, CA's ID, distribution details)8BenefitClaimed} EventDid} EventDid�CAId�0DistributionBalance�TaxQA 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 %)$Reclaimed} EventDid�CAIdBalance�Stats from `push_benefit` was emitted.(Agent DID, CA's ID, max requested DIDs, processed DIDs, failed DIDs)Removed} EventDid�CAId�A capital distribution was removed.P(Agent DID, CA's ID)�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			}Lpolymesh_primitives(event_only$EventOnlyT��T�`pallet_corporate_actionsCAId asset_id�AssetId local_id�$LocalCAId�`pallet_corporate_actions$LocalCAIdu32�`pallet_corporate_actions0distribution0Distribution from�,PortfolioId currency�AssetId$per_shareBalanceamountBalance$remainingBalance$reclaimed9bool(payment_at(Moment(expires_at8Option<Moment>�4sp_arithmetic(per_thingsPermillu32�0pallet_asset(checkpointpalletEventTDCheckpointCreated%HOption<IdentityId>�AssetId�0CheckpointIdppolymesh_primitives::Balance(MomentdA checkpoint was created.!(caller DID, AssetId, checkpoint ID, total supply, checkpoint timestamp)�MaximumSchedulesComplexityChanged�(IdentityId(u64%The maximum complexity for an arbitrary asset's schedule set was changed.d(GC DID, the new maximum)<ScheduleCreated�(IdentityId�AssetId�(ScheduleId�LScheduleCheckpoints�A checkpoint schedule was created.�(caller DID, AssetId, schedule id, schedule)<ScheduleRemoved�(IdentityId�AssetId�(ScheduleId�LScheduleCheckpoints�A checkpoint schedule was removed.�(caller DID, AssetId, schedule id, schedule)�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�Lpolymesh_primitivesasset0CheckpointId(u64�dpolymesh_common_utilitiestraits(checkpoint(ScheduleId(u64�dpolymesh_common_utilitiestraits(checkpointLScheduleCheckpointspending�@BTreeSet<Moment>� BTreeSetT(��(�dpallet_compliance_managerpalletEventT$pComplianceRequirementCreated�(IdentityId�AssetId�TComplianceRequirement�Emitted when new compliance requirement is created.�(caller DID, AssetId, ComplianceRequirement).pComplianceRequirementRemoved�(IdentityId�AssetIdu32�Emitted when a compliance requirement is removed.�(caller DID, AssetId, requirement_id).\AssetComplianceReplaced�(IdentityId�AssetId�hVec<ComplianceRequirement>�Emitted when an asset compliance is replaced.�Parameters: caller DID, AssetId, new asset compliance.PAssetComplianceReset�(IdentityId�AssetId�Emitted when an asset compliance of a asset_id is reset.X(caller DID, AssetId).XAssetComplianceResumed�(IdentityId�AssetId	Emitted when an asset compliance for a given asset_id gets resume.X(caller DID, AssetId).TAssetCompliancePaused�(IdentityId�AssetId	Emitted when an asset compliance for a given asset_id gets paused.X(caller DID, AssetId).pComplianceRequirementChanged�(IdentityId�AssetId�TComplianceRequirement�Emitted when compliance requirement get modified/change.�(caller DID, AssetId, ComplianceRequirement).xTrustedDefaultClaimIssuerAdded�(IdentityId�AssetId�4TrustedIssuerEmitted when default claim issuer list for a given asset_id gets added.�(caller DID, AssetId, Added TrustedIssuer).�TrustedDefaultClaimIssuerRemoved�(IdentityId�AssetId�(IdentityId!Emitted when default claim issuer list for a given asset_id get removed.�(caller DID, AssetId, Removed TrustedIssuer).�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�Lpolymesh_primitivesHcompliance_managerTComplianceRequirementDsender_conditions�8Vec<Condition>Lreceiver_conditions�8Vec<Condition>idu32���Lpolymesh_primitives$condition$Condition8condition_type�4ConditionTypeissuers�HVec<TrustedIssuer>�Lpolymesh_primitives$condition4ConditionType$IsPresentClaim IsAbsentClaimIsAnyOf�(Vec<Claim> IsNoneOf�(Vec<Claim>(IsIdentity�8TargetIdentity��Lpolymesh_primitives$condition8TargetIdentity4ExternalAgent Specific�(IdentityId���Lpolymesh_primitives$condition4TrustedIssuerissuer�(IdentityId,trusted_for�(TrustedFor�Lpolymesh_primitives$condition(TrustedForAny Specific�8Vec<ClaimType>���Lpolymesh_primitives8identity_claim$ClaimType((Accredited$Affiliate$BuyLockup(SellLockupPCustomerDueDiligence@KnowYourCustomer0Jurisdiction ExemptedBlockedCustomDCustomClaimTypeId	���`pallet_corporate_actionspalletEventT \MaxDetailsLengthChanged�(IdentityIdu32�The maximum length of `details` in bytes was changed.P(GC DID, new length)xDefaultTargetIdentitiesChanged�(IdentityId�AssetId�@TargetIdentities�The set of default `TargetIdentities` for the asset changed.�(Agent DID, AssetId, New TargetIdentities)pDefaultWithholdingTaxChanged�(IdentityId�AssetId�Tax�The default withholding tax for the asset changed.x(Agent DID, AssetId, New Tax).`DidWithholdingTaxChanged�(IdentityId�AssetId�(IdentityId�,Option<Tax>�The withholding tax specific to a DID for the asset changed.�(Agent DID, AssetId, Taxed DID, New Tax).,CAInitiated} EventDid�CAId�<CorporateAction	$CADetailsLA CA was initiated.�(Agent DID, CA id, the CA, the CA details)4CALinkedToDoc�(IdentityId�CAId
<Vec<DocumentId>�A CA was linked to a set of docs.�(Agent DID, CA Id, List of doc identifiers)$CARemoved} EventDid�CAIdDA CA was removed.H(Agent DID, CA Id)DRecordDateChanged} EventDid�CAId�<CorporateActionlA CA's record date changed.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�`pallet_corporate_actions@TargetIdentities(identitiesA<Vec<IdentityId>$treatment�<TargetTreatment�`pallet_corporate_actions<TargetTreatmentIncludeExclude�OptionT�NoneSome��`pallet_corporate_actions<CorporateActionkind�CAKind$decl_date(Moment,record_date�HOption<RecordDate>targets�@TargetIdentities\default_withholding_tax�Tax<withholding_taxXVec<(IdentityId, Tax)>�`pallet_corporate_actionsCAKindHPredictableBenefitPUnpredictableBenefit0IssuerNotice8ReorganizationOther�OptionT�NoneSome��`pallet_corporate_actions(RecordDatedate(Moment(checkpoint�0CACheckpoint�`pallet_corporate_actions0CACheckpoint$Scheduled�(ScheduleId(u64 Existing�0CheckpointId��	`pallet_corporate_actions$CADetails0Vec<u8>
�`pallet_corporate_actionsballotpalletEventTCreated�(IdentityId�CAId<BallotTimeRange(BallotMeta9bool|A corporate ballot was created.(Agent DID, CA's ID, Voting start/end, Ballot metadata, RCV enabled?) VoteCast�(IdentityId�CAId9<Vec<BallotVote>�A vote was cast in a corporate ballot.`(voter DID, CAId, Votes)0RangeChanged�(IdentityId�CAId<BallotTimeRange�A corporate ballot changed its start/end date range.�(Agent DID, CA's ID, Voting start/end),MetaChanged�(IdentityId�CAId(BallotMeta�A corporate ballot changed its metadata.�(Agent DID, CA's ID, New metadata)(RCVChanged�(IdentityId�CAId9bool�A corporate ballot changed its RCV support.�(Agent DID, CA's ID, New support)Removed} EventDid�CAId|A corporate ballot was removed.P(Agent DID, CA's ID)�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			`pallet_corporate_actionsballot<BallotTimeRangestart(Momentend(Moment`pallet_corporate_actionsballot(BallotMetatitle,BallotTitlemotions!,Vec<Motion>`pallet_corporate_actionsballot,BallotTitle0Vec<u8>!%%`pallet_corporate_actionsballotMotiontitle),MotionTitle$info_link-8MotionInfoLinkchoices1@Vec<ChoiceTitle>)`pallet_corporate_actionsballot,MotionTitle0Vec<u8>-`pallet_corporate_actionsballot8MotionInfoLink0Vec<u8>155`pallet_corporate_actionsballot,ChoiceTitle0Vec<u8>9==`pallet_corporate_actionsballot(BallotVotepowerBalance fallbackA,Option<u16>AOptionTENoneSomeEEI,pallet_pipspalletEventTPPHistoricalPipsPruned�(IdentityId9bool9bool�Historical PIPs Pruning has been set.,Parameters:�- `IdentityId`: The DID of the caller.�- `bool`: The old value of the pruning setting.�- `bool`: The new value of the pruning setting.<ProposalCreated �(IdentityIdMXProposer<T::AccountId>UPipIdBalanceI,Option<Url>YXOption<PipDescription>QhMaybeBlock<T::BlockNumber>a0ProposalData,�A PIP was created with a specified `Balance` stake.,Parameters:�- `IdentityId`: The DID of the caller.�- `Proposer<T::AccountId>`: The proposer of the PIP.t- `PipId`: The ID of the PIP.�- `Balance`: The deposit amount.�- `Option<Url>`: The URL for proposal discussion.�- `Option<PipDescription>`: The description of the proposal.- `MaybeBlock<T::BlockNumber>`: The expiry time of the proposal.�- `ProposalData`: The data of the proposal.PProposalStateUpdated�(IdentityIdUPipIde4ProposalState�The state of a proposal was updated.,Parameters:�- `IdentityId`: The DID of the caller.t- `PipId`: The ID of the PIP.�- `ProposalState`: The new state of the proposal.Voted�(IdentityId0T::AccountIdUPipId9boolBalance |An account voted on a proposal.,Parameters:�- `IdentityId`: The DID of the caller.�- `T::AccountId`: The account that voted.t- `PipId`: The ID of the PIP.�- `bool`: The vote (true for aye, false for nay).�- `Balance`: The deposit amount of the vote.$PipClosed�(IdentityIdUPipId9boolDA PIP was closed.,Parameters:�- `IdentityId`: The DID of the caller.t- `PipId`: The ID of the PIP.�- `bool`: Indicates whether the data was pruned.HExecutionScheduled�(IdentityIdUPipId8T::BlockNumber�The execution of a PIP was scheduled.,Parameters:�- `IdentityId`: The DID of the caller.t- `PipId`: The ID of the PIP.E- `T::BlockNumber`: The block number at which the PIP is scheduled for execution.tDefaultEnactmentPeriodChanged�(IdentityId8T::BlockNumber8T::BlockNumber�The default enactment period was changed.,Parameters:�- `IdentityId`: The DID of the caller.�- `T::BlockNumber`: The old enactment period.�- `T::BlockNumber`: The new enactment period.tMinimumProposalDepositChanged�(IdentityIdBalanceBalance�The minimum deposit amount for proposals was changed.,Parameters:�- `IdentityId`: The DID of the caller.�- `Balance`: The old deposit amount.�- `Balance`: The new deposit amount.\PendingPipExpiryChanged�(IdentityIdQhMaybeBlock<T::BlockNumber>QhMaybeBlock<T::BlockNumber>�The expiry time for pending PIPs was changed.,Parameters:�- `IdentityId`: The DID of the caller.�- `MaybeBlock<T::BlockNumber>`: The old expiry time.�- `MaybeBlock<T::BlockNumber>`: The new expiry time.XMaxPipSkipCountChanged�(IdentityId0SkippedCount0SkippedCount	�The maximum number of times a PIP can be skipped was changed.,Parameters:�- `IdentityId`: The DID of the caller.�- `SkippedCount`: The old skip count.�- `SkippedCount`: The new skip count.TActivePipLimitChanged�(IdentityIdu32u32
�The maximum number of active PIPs was changed.,Parameters:�- `IdentityId`: The DID of the caller.�- `u32`: The old active PIP limit.�- `u32`: The new active PIP limit.8ProposalRefund�(IdentityIdUPipIdBalance`A proposal was refunded.,Parameters:�- `IdentityId`: The DID of the caller.t- `PipId`: The ID of the PIP.�- `Balance`: The total amount refunded.<SnapshotCleared�(IdentityIdi(SnapshotIddThe snapshot was cleared.,Parameters:�- `IdentityId`: The DID of the caller.�- `SnapshotId`: The ID of the snapshot.4SnapshotTaken�(IdentityIdi(SnapshotIdmLVec<SnapshottedPip>
dA new snapshot was taken.,Parameters:�- `IdentityId`: The DID of the caller.�- `SnapshotId`: The ID of the snapshot.�- `Vec<SnapshottedPip>`: The list of PIPs in the snapshot.(PipSkipped�(IdentityIdUPipId0SkippedCount�A PIP in the snapshot queue was skipped.,Parameters:�- `IdentityId`: The DID of the caller.t- `PipId`: The ID of the PIP.�- `SkippedCount`: The new skip count.XSnapshotResultsEnacted�(IdentityIdyHOption<SnapshotId>}hVec<(PipId, SkippedCount)>�(Vec<PipId>�(Vec<PipId> �Results were enacted for some PIPs in the snapshot queue.,Parameters:�- `IdentityId`: The DID of the caller.�- `Option<SnapshotId>`: The ID of the snapshot, if any.Q- `Vec<(PipId, SkippedCount)>`: The list of skipped PIPs with their new skip counts.�- `Vec<PipId>`: The list of rejected PIPs.�- `Vec<PipId>`: The list of approved PIPs.dExecutionSchedulingFailed�(IdentityIdUPipId8T::BlockNumber
Scheduling of the PIP for execution failed in the scheduler pallet.,Parameters:�- `IdentityId`: The DID of the caller.t- `PipId`: The ID of the PIP.I- `T::BlockNumber`: The block number at which the PIP was scheduled for execution.<ExpiryScheduled�(IdentityIdUPipId8T::BlockNumber�The PIP has been scheduled for expiry.,Parameters:�- `IdentityId`: The DID of the caller.t- `PipId`: The ID of the PIP.9- `T::BlockNumber`: The block number at which the PIP is scheduled for expiry.XExpirySchedulingFailed�(IdentityIdUPipId8T::BlockNumberScheduling of the PIP for expiry failed in the scheduler pallet.,Parameters:�- `IdentityId`: The DID of the caller.t- `PipId`: The ID of the PIP.=- `T::BlockNumber`: The block number at which the PIP was scheduled for expiry.dExecutionCancellingFailedUPipId�Cancelling the PIP execution failed in the scheduler pallet.,Parameters:t- `PipId`: The ID of the PIP.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			M,pallet_pipstypes Proposer$AccountId$Community$AccountId$CommitteeQ$CommitteeQ,pallet_pipstypes$Committee$TechnicalUpgradeU,pallet_pipstypesPipIdu32YOptionT]NoneSome]],pallet_pipstypes8PipDescription0Vec<u8>a,pallet_pipstypes0ProposalDataHash,H256 Proposal0Vec<u8>e,pallet_pipstypes4ProposalStatePending Rejected$ScheduledFailed ExecutedExpiredi,pallet_pipstypes(SnapshotIdu32mqq,pallet_pipstypes8SnapshottedPipidUPipIdweightu<(bool, Balance)u9yOptionTiNoneSomei}��U�U�@pallet_portfoliopalletEventT(@PortfolioCreated�(IdentityId�<PortfolioNumber�4PortfolioName�The portfolio has been successfully created.0# Parameters0* origin DIDH* portfolio number@* portfolio name@PortfolioDeleted�(IdentityId�<PortfolioNumber�The portfolio has been successfully removed.0# Parameters0* origin DIDH* portfolio number@PortfolioRenamed�(IdentityId�<PortfolioNumber�4PortfolioName�The portfolio identified with `num` has been renamed to `name`.0# Parameters0* origin DIDH* portfolio number@* portfolio name8UserPortfolios�(IdentityId��Vec<(PortfolioNumber, PortfolioName)>�All non-default portfolio numbers and names of a DID.0# Parameters0* origin DIDt* vector of number-name pairsdPortfolioCustodianChanged�(IdentityId�,PortfolioId�(IdentityId�Custody of a portfolio has been given to a different identity0# Parameters0* origin DID8* portfolio idd* portfolio custodian didlFundsMovedBetweenPortfolios�(IdentityId�,PortfolioId�,PortfolioId�<FundDescription�0Option<Memo> �Funds have moved between portfolios0# Parameters4* Origin DID.L* Source portfolio.`* Destination portfolio.�* The type of fund that was moved.t* Optional memo for the move.PPreApprovedPortfolio�(IdentityId�,PortfolioId�AssetId�A portfolio has pre approved the receivement of an asset.0# Parameters|* [`IdentityId`] of the caller.!* [`PortfolioId`] that will receive assets without explicit affirmation.)* [`AssetId`] of the asset that has been exempt from explicit affirmation.hRevokePreApprovedPortfolio�(IdentityId�,PortfolioId�AssetId�A portfolio has removed the approval of an asset.0# Parameters|* [`IdentityId`] of the caller.�* [`PortfolioId`] that had its pre approval revoked.�* [`AssetId`] of the asset that had its pre approval revoked.|AllowIdentityToCreatePortfolios�(IdentityId�(IdentityId�Allow another identity to create portfolios.0# Parameters|* [`IdentityId`] of the caller.�* [`IdentityId`] allowed to create portfolios.�RevokeCreatePortfoliosPermission�(IdentityId�(IdentityId	�Revoke another identities permission to create portfolios.0# Parameters|* [`IdentityId`] of the caller.�* [`IdentityId`] permissions to create portfolios is revoked.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�Lpolymesh_primitives,identity_id4PortfolioName0Vec<u8>�����Lpolymesh_primitives$portfolio<FundDescription Fungible asset_id�AssetIdamountBalance,NonFungible�NFTs�Lpolymesh_primitivesnftNFTs asset_id�AssetIdids�(Vec<NFTId>���Lpolymesh_primitivesnftNFTId(u64�Lpallet_protocol_feepalletEventTFeeSet�(IdentityIdBalance�The protocol fee of an operation.8CoefficientSet�(IdentityId� PosRatioPThe fee coefficient.(FeeCharged0T::AccountIdBalance0Fee charged.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�Lpolymesh_primitives PosRatiou32u32�@pallet_schedulerpalletEventT$Scheduledwhen8T::BlockNumberindexu32PScheduled some task. Canceledwhen8T::BlockNumberindexu32LCanceled some task.(Dispatchedtask�lTaskAddress<T::BlockNumber>id�@Option<TaskName>resultI8DispatchResultTDispatched some task.<CallUnavailabletask�lTaskAddress<T::BlockNumber>id�@Option<TaskName>)The call for the provided hash was not found so the task has been aborted.8PeriodicFailedtask�lTaskAddress<T::BlockNumber>id�@Option<TaskName>=The given task was unable to be renewed since the agenda is full at that block.TPermanentlyOverweighttask�lTaskAddress<T::BlockNumber>id�@Option<TaskName>�The given task can never be executed since it is overweight.0Events type.��OptionTNoneSome�Dpallet_settlementpalletEventT`0VenueCreated�(IdentityId�VenueId�0VenueDetails�$VenueType�A new venue has been created (did, venue_id, details, type)LVenueDetailsUpdated�(IdentityId�VenueId�0VenueDetailsAn existing venue's details has been updated (did, venue_id, details)@VenueTypeUpdated�(IdentityId�VenueId�$VenueType�An existing venue's type has been updated (did, venue_id, type)LInstructionAffirmed�(IdentityId�,PortfolioIdq4InstructionIdAn instruction has been affirmed (did, portfolio, instruction_id)PAffirmationWithdrawn�(IdentityId�,PortfolioIdq4InstructionId	An affirmation has been withdrawn (did, portfolio, instruction_id)LInstructionRejected�(IdentityIdq4InstructionId�An instruction has been rejected (did, instruction_id)8ReceiptClaimed�(IdentityIdq4InstructionId�LegId(u640T::AccountId�\Option<ReceiptMetadata>}A receipt has been claimed (did, instruction_id, leg_id, receipt_uid, signer, receipt metadata)8VenueFiltering�(IdentityId�AssetId9boolmVenue filtering has been enabled or disabled for an asset (did, AssetId, filtering_enabled)4VenuesAllowed�(IdentityId�AssetId�0Vec<VenueId>�Venues added to allow list (did, AssetId, vec<venue_id>)4VenuesBlocked�(IdentityId�AssetId�0Vec<VenueId>	�Venues added to block list (did, AssetId, vec<venue_id>)HLegFailedExecution�(IdentityIdq4InstructionId�LegId
�Execution of a leg failed (did, instruction_id, leg_id)LInstructionExecuted�(IdentityIdq4InstructionId�Instruction executed successfully(did, instruction_id)DVenueUnauthorized�(IdentityId�AssetId�VenueIdVenue not part of the token's allow list (did, AssetId, venue_id)@SchedulingFailedq4InstructionId`4DispatchError
�Scheduling of instruction fails.XInstructionRescheduled�(IdentityIdq4InstructionIdlInstruction is rescheduled.p(caller DID, instruction_id)LVenueSignersUpdated�(IdentityId�VenueId�DVec<T::AccountId>9boolIAn existing venue's signers has been updated (did, venue_id, signers, update_type)hSettlementManuallyExecuted�(IdentityIdq4InstructionId�Settlement manually executed (did, id)HInstructionCreated �(IdentityId�<Option<VenueId>q4InstructionId�xSettlementType<T::BlockNumber>DOption<T::Moment>DOption<T::Moment>� Vec<Leg>�0Option<Memo>�A new instruction has been createdQ(did, venue_id, instruction_id, settlement_type, trade_date, value_date, legs, memo)hFailedToExecuteInstructionq4InstructionId`4DispatchErrorxFailed to execute instruction.�InstructionAutomaticallyAffirmed�(IdentityId�,PortfolioIdq4InstructionId�An instruction has been automatically affirmed.�Parameters: [`IdentityId`] of the caller, [`PortfolioId`] of the receiver, and [`InstructionId`] of the instruction.lMediatorAffirmationReceived�(IdentityIdq4InstructionIdDOption<T::Moment>�An instruction has affirmed by a mediator.QParameters: [`IdentityId`] of the mediator and [`InstructionId`] of the instruction.pMediatorAffirmationWithdrawn�(IdentityIdq4InstructionId�An instruction affirmation has been withdrawn by a mediator.QParameters: [`IdentityId`] of the mediator and [`InstructionId`] of the instruction.PInstructionMediatorsq4InstructionIduPBTreeSet<IdentityId>�An instruction with mediators has been created.eParameters: [`InstructionId`] of the instruction and the [`IdentityId`] of all mediators.DInstructionLocked�(IdentityIdq4InstructionId�An instruction has been sucessfully locked for execution,Parameters:�- `IdentityId`: The [`IdentityId`] of the caller.�- `InstructionId`: The [`InstructionId`] of the instruction.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�Lpolymesh_primitives(settlementVenueId(u64�Lpolymesh_primitives(settlement0VenueDetails0Vec<u8>�Lpolymesh_primitives(settlement$VenueTypeOther0DistributionSto Exchange�Lpolymesh_primitives(settlementLegId(u64�OptionT�NoneSome��Lpolymesh_primitives(settlement<ReceiptMetadata [u8; 32]���OptionT�NoneSome��Lpolymesh_primitives(settlement8SettlementType,BlockNumberLSettleOnAffirmation4SettleOnBlock,BlockNumber0SettleManual,BlockNumber<SettleAfterLock���Lpolymesh_primitives(settlementLeg Fungiblesender�,PortfolioId receiver�,PortfolioId asset_id�AssetIdamountBalance,NonFungiblesender�,PortfolioId receiver�,PortfolioIdnfts�NFTs OffChain<sender_identity�(IdentityIdDreceiver_identity�(IdentityIdtickerTickeramountBalance�Dpallet_statisticspalletEventT8StatTypesAdded�(IdentityId�AssetId�4Vec<StatType>hStat types added to asset.�(Caller DID, AssetId, Stat types)@StatTypesRemoved�(IdentityId�AssetId�4Vec<StatType>xStat types removed from asset.�(Caller DID, AssetId, Stat types)DAssetStatsUpdated�(IdentityId�AssetId� StatType<Vec<StatUpdate>PAsset stats updated.�(Caller DID, AssetId, Stat type, Updates)hSetAssetTransferCompliance�(IdentityId�AssetIdXVec<TransferCondition>�Set Transfer compliance rules for asset.�(Caller DID, AssetId, Transfer conditions)�TransferConditionExemptionsAdded�(IdentityId%hTransferConditionExemptKeyA<Vec<IdentityId>Add `IdentityId`s exempt for transfer conditions matching exempt key.�(Caller DID, Exempt key, Entities)�TransferConditionExemptionsRemoved�(IdentityId%hTransferConditionExemptKeyA<Vec<IdentityId>!Remove `IdentityId`s exempt for transfer conditions matching exempt key.�(Caller DID, Exempt key, Entities)�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			���Lpolymesh_primitives(statistics StatType8operation_type�(StatOpType0claim_issuer�|Option<(ClaimType, IdentityId)>�Lpolymesh_primitives(statistics(StatOpTypeCountBalance�OptionTNoneSome��		Lpolymesh_primitives(statistics(StatUpdatekey2
(Stat2ndKeyvalue0Option<u128>
Lpolymesh_primitives(statistics(Stat2ndKey,NoClaimStatClaim$StatClaimLpolymesh_primitives(statistics$StatClaim(Accredited9bool$Affiliate9bool0JurisdictionLOption<CountryCode>OptionTNoneSomeOptionTNoneSome!!Lpolymesh_primitivesLtransfer_complianceDTransferCondition@MaxInvestorCount(u64PMaxInvestorOwnership�(Percentage(ClaimCount$StatClaim�(IdentityId(u64,Option<u64>8ClaimOwnership$StatClaim�(IdentityId�(Percentage�(Percentage%Lpolymesh_primitivesLtransfer_compliancehTransferConditionExemptKey asset_id�AssetIdop�(StatOpType(claim_type)DOption<ClaimType>)OptionT�NoneSome�-(pallet_stopalletEventTDFundraiserCreated$agent_did�(IdentityId�Identity of the external agent who created the fundraiser.8offering_asset�AssetId�Asset being offered for sale in the fundraiser.4raising_asset�AssetId�Asset being accepted as payment in the fundraiser.4fundraiser_id10FundraiserId�Unique identifier for the fundraiser.<fundraiser_name58FundraiserName�Human-readable name of the fundraiser.(fundraiser9TFundraiser<T::Moment>�Complete fundraiser configuration.�A new fundraiser has been created.Y[agent_did, offering_asset, raising_asset, fundraiser_id, fundraiser_name, fundraiser] Invested0investor_did�(IdentityIddIdentity of the investor.8offering_asset�AssetIdXAsset being purchased.4fundraiser_id10FundraiserId�Fundraiser that was invested in.4funding_assetI0FundingAsset�Type of funding used (on-chain or off-chain).<offering_amountBalance�Amount of offering asset purchased.0raise_amountBalancexAmount of raising asset spent.�An investor successfully invested in the fundraiser.m[investor_did, offering_asset, fundraiser_id, funding_asset, offering_amount, raise_amount]@FundraiserFrozen$agent_did�(IdentityId�Identity of the external agent who froze the fundraiser.8offering_asset�AssetId�Asset associated with the fundraiser.4fundraiser_id10FundraiserIdlFundraiser that was frozen.�A fundraiser has been frozen, preventing new investments.�[agent_did, offering_asset, fundraiser_id]HFundraiserUnfrozen$agent_did�(IdentityId�Identity of the external agent who unfroze the fundraiser.8offering_asset�AssetId�Asset associated with the fundraiser.4fundraiser_id10FundraiserIdtFundraiser that was unfrozen.�A fundraiser has been unfrozen, allowing new investments.�[agent_did, offering_asset, fundraiser_id]`FundraiserWindowModified$agent_did} EventDid�Identity of the external agent who modified the window.8offering_asset�AssetId�Asset associated with the fundraiser.4fundraiser_id10FundraiserId�Fundraiser whose window was modified.$old_start($T::MomentPPrevious start time.old_endDOption<T::Moment>lPrevious end time (if any).$new_start($T::Moment<New start time.new_endDOption<T::Moment>XNew end time (if any).�A fundraiser's time window has been modified.I[agent_did, offering_asset, fundraiser_id, old_start, old_end, new_start, new_end]@FundraiserClosed$agent_did�(IdentityId�Identity of the external agent who closed the fundraiser.8offering_asset�AssetId�Asset associated with the fundraiser.4fundraiser_id10FundraiserIdlFundraiser that was closed.�A fundraiser has been permanently closed.�[agent_did, offering_asset, fundraiser_id]�FundraiserOffchainFundingEnabled$agent_did�(IdentityId�Identity of the external agent who enabled off-chain funding.8offering_asset�AssetId�Asset associated with the fundraiser.4fundraiser_id10FundraiserId�Fundraiser for which off-chain funding was enabled.tickerTicker�Ticker symbol of the off-chain asset.�Off-chain funding has been enabled for a fundraiser.�[agent_did, offering_asset, fundraiser_id, ticker]�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			1Lpolymesh_primitivessto0FundraiserId(u645(pallet_sto8FundraiserName0Vec<u8>9(pallet_sto(FundraiserMoment(,creator�(IdentityIdHoffering_portfolio�,PortfolioId8offering_asset�AssetIdDraising_portfolio�,PortfolioId4raising_asset�AssetIdtiers=LVec<FundraiserTier> venue_id�VenueIdstart(Momentend8Option<Moment>statusE@FundraiserStatusHminimum_investmentBalance=AA(pallet_sto8FundraiserTiertotalBalancepriceBalance$remainingBalanceE(pallet_sto@FundraiserStatusLiveFrozenClosed,ClosedEarlyI(pallet_sto0FundingAssetOnChain�AssetId OffChainTickerM<pallet_treasurypalletEventTPTreasuryDisbursement�(IdentityId�(IdentityId0T::AccountId0BalanceOf<T>�Disbursement to a target Identity.(treasury identity, target identity, target primary key, amount)hTreasuryDisbursementFailed�(IdentityId�(IdentityId0T::AccountId0BalanceOf<T>�Disbursement to a target Identity failed.(treasury identity, target identity, target primary key, amount)TTreasuryReimbursement�(IdentityId0BalanceOf<T>\Treasury reimbursement.d(source identity, amount)�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			Q8pallet_utilitypalletEventT@BatchInterruptedindexu32error`4DispatchErrorUBatch of dispatches did not complete fully. Index of first failing dispatch given, asHwell as the error.8BatchCompleted�Batch of dispatches completed fully with no error.`BatchCompletedWithErrors�Batch of dispatches completed but has errors.4ItemCompletedA single item within a Batch of dispatches has completed with no error.(ItemFailederror`4DispatchErrorA single item within a Batch of dispatches has completed with error.0DispatchedAsresultI8DispatchResultXA call was dispatched.$RelayedTx(caller_did�(IdentityIdtarget0T::AccountIdresultI8DispatchResultPRelayed transaction.@POLYMESH: event.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			U,pallet_basepalletEvent<UnexpectedErrorYTOption<DispatchError>�An unexpected error happened that should be investigated.`TODO: Unused, remove it.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			YOptionT`NoneSome`]Xpallet_external_agentspalletEventT0GroupCreated} EventDid�AssetId5AGId�PExtrinsicPermissionslAn Agent Group was created.�(Caller DID, AG's AssetId, AG's ID, AG's permissions)\GroupPermissionsUpdated} EventDid�AssetId5AGId�PExtrinsicPermissions�An Agent Group's permissions was updated.�(Caller DID, AG's AssetId, AG's ID, AG's new permissions)(AgentAdded} EventDid�AssetId1(AgentGroupLAn agent was added.�(Caller/Agent DID, Agent's AssetId, Agent's group)0AgentRemoved} EventDid�AssetId�(IdentityIdTAn agent was removed.�(Caller DID, Agent's AssetId, Agent's DID)0GroupChanged} EventDid�AssetId�(IdentityId1(AgentGrouptAn agent's group was changed.(Caller DID, Agent's AssetId, Agent's DID, The new group of the agent)�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			a8pallet_relayerpalletEventTLAuthorizedPayingKey} EventDid0T::AccountId0T::AccountIdBalance(u64�Authorization given for `paying_key` to `user_key`.(Caller DID, User Key, Paying Key, Initial POLYX limit, Auth ID)DAcceptedPayingKey} EventDid0T::AccountId0T::AccountIdPAccepted paying key.�(Caller DID, User Key, Paying Key)@RemovedPayingKey} EventDid0T::AccountId0T::AccountIdLRemoved paying key.�(Caller DID, User Key, Paying Key)DUpdatedPolyxLimit} EventDid0T::AccountId0T::AccountIdBalanceBalancePUpdated polyx limit.(Caller DID, User Key, Paying Key, POLYX limit, old remaining POLYX)�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			e@pallet_contractspalletEventT 0Instantiated deployer0T::AccountId contract0T::AccountId�Contract deployed by address at the specified address.(Terminated contract0T::AccountId�The contract that was terminated.,beneficiary0T::AccountId�The account that received the contracts remaining balancehContract has been removed.# Note=The only way for a contract to be removed and emitting this event is by callingD`seal_terminate`.(CodeStored$code_hash,T::Hash�Code with the specified hash has been stored.<ContractEmitted contract0T::AccountId�The contract that emitted the event.data0Vec<u8>5Data supplied by the contract. Metadata generated during contract compilation\is needed to decode it.�A custom event emitted by the contract.,CodeRemoved$code_hash,T::Hash�A code with the specified hash was removed.LContractCodeUpdated contract0T::AccountId�The contract that has been updated.4new_code_hash,T::Hash�New code hash that was set for the contract.4old_code_hash,T::Hash�Previous code hash of the contract.xA contract's code was updated.Calledcaller0T::AccountId�The account that called the `contract`. contract0T::AccountIdtThe contract that was called.A contract was called either by a plain account or another contract.# Note1Please keep in mind that like all events this is only emitted for successful)calls. This is because on failure all storage changes including events are0rolled back.8DelegateCalled contract0T::AccountId!The contract that performed the delegate call and hence in whose contextpthe `code_hash` is executed.$code_hash,,CodeHash<T>�The code hash that was delegate called.�A contract delegate called a code hash.# Note1Please keep in mind that like all events this is only emitted for successful)calls. This is because on failure all storage changes including events are0rolled back.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			iHpolymesh_contractspalletEventT8ApiHashUpdatedmApiq0ChainVersion,,CodeHash<T>�Emitted when a contract starts supporting a new API upgrade.!Contains the [`Api`], [`ChainVersion`], and the bytes for the code hash.4SCRuntimeCall0T::AccountIdu,ExtrinsicId�Emitted when a contract calls into the runtime.)Contains the account id set by the contract owner and the [`ExtrinsicId`].�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			mHpolymesh_contractsApidesc@[u8; 4]majoru32qHpolymesh_contracts0ChainVersion0spec_versionu32(tx_versionu32uHpolymesh_contracts<chain_extension,ExtrinsicIdu8u8y<pallet_preimagepalletEventTNotedhash,T::HashhA preimage has been noted.$Requestedhash,T::HashxA preimage has been requested.Clearedhash,T::HashlA preimage has ben cleared.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			}(pallet_nftpalletEventTPNftCollectionCreated�(IdentityId�AssetId�<NFTCollectionId�Emitted when a new nft collection is created.LNFTPortfolioUpdated�(IdentityId�NFTseLOption<PortfolioId>eLOption<PortfolioId>iTPortfolioUpdateReason�Emitted when NFTs were issued, redeemed or transferred.Contains the [`IdentityId`] of the receiver/issuer/redeemer, the [`NFTs`], the [`PortfolioId`] of the source, the [`PortfolioId`]�of the destination and the [`PortfolioUpdateReason`].�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�Lpolymesh_primitivesnft<NFTCollectionId(u64��pallet_election_provider_multi_phasepalletEventT8SolutionStoredcompute�<ElectionComputeorigin)POption<T::AccountId>0prev_ejected9bool�A solution was stored with the given compute.QThe `origin` indicates the origin of the solution. If `origin` is `Some(AccountId)`,Uthe stored solution was submited in the signed phase by a miner with the `AccountId`.%Otherwise, the solution was stored either during the unsigned phase or byM`T::ForceOrigin`. The `bool` is `true` when a previous solution was ejected to makeHroom for this one.DElectionFinalizedcompute�<ElectionComputescore�4ElectionScoreThe election has been finalized, with the given computation and score.8ElectionFailedLAn election failed.Not much can be said about which computes failed in the process. Rewardedaccount�<T as frame_system::Config>::AccountIdvalue0BalanceOf<T>%An account has been rewarded for their signed submission being finalized.Slashedaccount�<T as frame_system::Config>::AccountIdvalue0BalanceOf<T>!An account has been slashed for submitting an invalid signed submission.DPhaseTransitionedfrom�TPhase<T::BlockNumber>to�TPhase<T::BlockNumber>roundu32�There was a phase transition in a given round.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			��pallet_election_provider_multi_phase<ElectionComputeOnChainSigned Unsigned Fallback$Emergency�Dsp_npos_elections4ElectionScore4minimal_stake<ExtendedBalance$sum_stake<ExtendedBalanceDsum_stake_squared<ExtendedBalance��pallet_election_provider_multi_phasePhaseBnOffSigned Unsigned�((bool, Bn)$Emergency�9�0frame_systemPhase8ApplyExtrinsicu320Finalization8Initialization�,���0frame_systemXLastRuntimeUpgradeInfo0spec_version�Lcodec::Compact<u32>$spec_name�dsp_runtime::RuntimeString��0frame_systempalletCallT remarkremark0Vec<u8>hMake some on-chain remark.4## Complexity - `O(1)`8set_heap_pagespages(u64�Set the number of pages in the WebAssembly environment's heap. set_codecode0Vec<u8>dSet the new runtime code.4## Complexity1- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`\set_code_without_checkscode0Vec<u8>Set the new runtime code without doing any checks of the given `code`.4## Complexity�- `O(C)` where `C` length of `code`,set_storageitems�4Vec<KeyValue>hSet some items of storage.0kill_storagekeys� Vec<Key>tKill some items from storage.,kill_prefixprefix0Keysubkeysu32Kill all storage items with a key that starts with the given prefix.9**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.Dremark_with_eventremark0Vec<u8>�Make some on-chain remark and emit event.%Contains one variant per dispatchable that can be called by an extrinsic.���00�0�0frame_systemlimits0BlockWeights(base_block Weight$max_block Weight$per_class��PerDispatchClass<WeightsPerClass>�4frame_support dispatch@PerDispatchClassT�normal�T,operational�T$mandatory�T�0frame_systemlimits<WeightsPerClass8base_extrinsic Weight4max_extrinsic�8Option<Weight>$max_total�8Option<Weight> reserved�8Option<Weight>�OptionT NoneSome �0frame_systemlimits,BlockLengthmax�TPerDispatchClass<u32>�4frame_support dispatch@PerDispatchClassTnormalT,operationalT$mandatoryT�(sp_weights<RuntimeDbWeightread(u64write(u64�(sp_version8RuntimeVersion $spec_name�4RuntimeString$impl_name�4RuntimeStringDauthoring_versionu320spec_versionu320impl_versionu32apis�ApisVecLtransaction_versionu324state_versionu8�CowT��������0frame_systempalletErrorT<InvalidSpecNameThe name of specification does not match between the current runtimePand the new runtime.hSpecVersionNeedsToIncreaseAThe specification version is not allowed to decrease between the current runtimePand the new runtime.tFailedToExtractRuntimeVersion�Failed to extract the runtime version from the new runtime.	Either calling `Core_version` or decoding `RuntimeVersion` failed.LNonDefaultComposite�Suicide called when the account has non-default composite data.<NonZeroRefCount5There is a non-zero reference count preventing the account from being purged.0CallFiltered�The origin filter prevent the call to be dispatched.lError for the System pallet�Lbounded_collections@weak_bounded_vec8WeakBoundedVecT�S�Vec<T>��(�Dsp_consensus_babeappPublic�<sr25519::Public��Hsp_consensus_slotsSlot(u64Dsp_consensus_babedigestsPNextConfigDescriptorV1c	((u64, u64)4allowed_slots
0AllowedSlots	((
Dsp_consensus_babe0AllowedSlots0PrimarySlotstPrimaryAndSecondaryPlainSlotslPrimaryAndSecondaryVRFSlotsLbounded_collections,bounded_vec(BoundedVecTSVec<T>OptionTNoneSomeDsp_consensus_babedigests$PreDigestPrimary!@PrimaryPreDigest8SecondaryPlain%\SecondaryPlainPreDigest0SecondaryVRF)TSecondaryVRFPreDigest!Dsp_consensus_babedigests@PrimaryPreDigest<authority_indexTsuper::AuthorityIndexslotSlot(vrf_output$VRFOutput$vrf_proof
 VRFProof%Dsp_consensus_babedigests\SecondaryPlainPreDigest<authority_indexTsuper::AuthorityIndexslotSlot)Dsp_consensus_babedigestsTSecondaryVRFPreDigest<authority_indexTsuper::AuthorityIndexslotSlot(vrf_output$VRFOutput$vrf_proof
 VRFProof-Dsp_consensus_babeXBabeEpochConfigurationc	((u64, u64)4allowed_slots
0AllowedSlots1Lbounded_collections,bounded_vec(BoundedVecT5S9Vec<T>5(95=,pallet_babepalletCallTLreport_equivocationHequivocation_proofA�Box<EquivocationProof<T::Header>><key_owner_proofM@T::KeyOwnerProof	Report authority equivocation/misbehavior. This method will verifythe equivocation proof and validate the given key ownership proof
against the extracted offender. If both are valid, the offence will0be reported.preport_equivocation_unsignedHequivocation_proofA�Box<EquivocationProof<T::Header>><key_owner_proofM@T::KeyOwnerProof 	Report authority equivocation/misbehavior. This method will verifythe equivocation proof and validate the given key ownership proof
against the extracted offender. If both are valid, the offence will0be reported.
This extrinsic must be called unsigned and it is expected that onlyblock authors will call it (validated in `ValidateUnsigned`), as suchif the block author is defined it will be defined as the equivocation$reporter.Hplan_config_changeconfigPNextConfigDescriptor]Plan an epoch config change. The epoch config change is recorded and will be enacted onQthe next call to `enact_epoch_change`. The config will be activated one epoch after.YMultiple calls to this method will replace any existing planned config change that hadTnot been enacted yet.%Contains one variant per dispatchable that can be called by an extrinsic.AHsp_consensus_slotsDEquivocationProofHeaderEId� offender�IdslotSlot0first_headerEHeader4second_headerEHeaderE(sp_runtimegenericheaderHeaderNumberHashI,parent_hash,0Hash::Outputnumber�Number(state_root,0Hash::Output<extrinsics_root,0Hash::Outputdigest4DigestI(sp_runtimetraits,BlakeTwo256M(sp_session<MembershipProofsession0SessionIndex(trie_nodes�0Vec<Vec<u8>><validator_count8ValidatorCountQ,pallet_babepalletErrorT`InvalidEquivocationProof1An equivocation proof provided as part of an equivocation report is invalid.`InvalidKeyOwnershipProof1A key ownership proof provided as part of an equivocation report is invalid.XDuplicateOffenceReportA given equivocation report is valid but already previously reported.PInvalidConfiguration�Submitted configuration is invalid.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			U@pallet_timestamppalletCallTsetnow$$T::Moment<TSet the current time.UThis 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.AThe timestamp should be greater than the previous one by the amount specified by@`MinimumPeriod`.�The dispatch origin for this call must be `Inherent`.4## Complexity1- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)a- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in@  `on_finalize`)�- 1 event handler `on_timestamp_set`. Must be `O(1)`.%Contains one variant per dispatchable that can be called by an extrinsic.Y9]8pallet_indicespalletCallTclaimindex<T::AccountIndex0�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.4## Complexity$- `O(1)`. transfernewaPAccountIdLookupOf<T>index<T::AccountIndex0]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.4## Complexity$- `O(1)`.freeindex<T::AccountIndex0�Free up an index owned by the sender.]Payment: Any previous deposit placed for the index is unreserved in the sender account.UThe 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.4## Complexity$- `O(1)`.8force_transfernewaPAccountIdLookupOf<T>index<T::AccountIndexfreeze9bool4UForce 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.A- `freeze`: if set to `true`, will freeze the index so it cannot be transferred.�Emits `IndexAssigned` if successful.4## Complexity$- `O(1)`.freezeindex<T::AccountIndex0AFreeze an index so it will always point to the sender account. This consumes the deposit.YThe dispatch origin for this call must be _Signed_ and the signing account must have alnon-frozen account `index`.�- `index`: the index to be frozen in place.�Emits `IndexFrozen` if successful.4## Complexity$- `O(1)`.%Contains one variant per dispatchable that can be called by an extrinsic.a(sp_runtime0multiaddress0MultiAddress$AccountId0AccountIndexId$AccountIdIndex�0AccountIndexRaw0Vec<u8>$Address32 [u8; 32]$Address20� [u8; 20]e8pallet_indicespalletErrorT,NotAssigned�The index was not already assigned. NotOwner�The index is assigned to another account.InUsepThe index was not available.,NotTransfer�The source and destination accounts are identical.$Permanent�The index is permanent and may not be freed/changed.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			iLbounded_collections@weak_bounded_vec8WeakBoundedVecTmSuVec<T>m<pallet_balances,BalanceLockBalanceid�8LockIdentifieramountBalancereasonsqReasonsq<pallet_balancesReasonsFeeMiscAllumyLbounded_collections,bounded_vec(BoundedVecT}S�Vec<T>}<pallet_balances,ReserveDataDReserveIdentifier�Balanceid�DReserveIdentifieramountBalance�}�<pallet_balancespalletCallTI transferdestaPAccountIdLookupOf<T>value�(T::BalanceX�Transfer some liquid free balance to another account.`transfer` will set the `FreeBalance` of the sender and receiver.If the sender's account is below the existential deposit as a result�of the transfer, the account will be reaped.The dispatch origin for this call must be `Signed` by the transactor.4## Complexitya- Dependent on arguments but not critical, given proper implementations for input config�  types. See related functions below.1- It contains a limited number of reads and writes internally and no complex8  computation.HRelated functions:M  - `ensure_can_withdraw` is always called internally but has a bounded complexity.)  - Transferring balances to accounts that did not exist before will cause�    `T::OnNewAccount::on_new_account` to be called.]  - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.]  - `transfer_keep_alive` works the same way as `transfer`, but has an additional check�    that the transfer will not kill the origin account.,set_balancewhoaPAccountIdLookupOf<T> new_free�(T::Balance0new_reserved�(T::Balance �Set the balances of a given account.This will alter `FreeBalance` and `ReservedBalance` in storage. it will1also alter the total issuance of the system (`TotalIssuance`) appropriately.If the new free or reserved balance is below the existential deposit,�it will reset the account nonce (`frame_system::AccountNonce`).�The dispatch origin for this call is `root`.8force_transfersourceaPAccountIdLookupOf<T>destaPAccountIdLookupOf<T>value�(T::BalanceMExactly as `transfer`, except the origin must be root and the source account may be(specified.4## ComplexityM- Same as transfer, but additional read and write because the source account is not|  assumed to be in the overlay.Ltransfer_keep_alivedestaPAccountIdLookupOf<T>value�(T::BalanceMSame as the [`transfer`] call, but with a check that the transfer will not kill the<origin account.�99% of the time you want [`transfer`] instead.�[`transfer`]: struct.Pallet.html#method.transfer0transfer_alldestaPAccountIdLookupOf<T>(keep_alive9bool@Transfer the entire transferable balance from the caller account.YNOTE: This function only attempts to transfer _transferable_ balances. This means thataany locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be]transferred by this function. To ensure that this function results in a killed account,Eyou might need to prepare the account by removing any reference counters, storage@deposits, etc...�The dispatch origin of this call must be Signed.�- `dest`: The recipient of the transfer.Y- `keep_alive`: A boolean to determine if the `transfer_all` operation should send allM  of the funds the account has, causing the sender account to be killed (false), orY  transfer everything except at least the existential deposit, which will guarantee to�  keep the sender account alive (true). ## Complexity9- O(1). Just like transfer, but reading the user's transferable balance first.<force_unreservewhoaPAccountIdLookupOf<T>amount(T::Balance�Unreserve some balance from a user by force.lCan only be called by ROOT.Htransfer_with_memodestaPAccountIdLookupOf<T>value�(T::Balancememo�<Option<T::Memo>(X�Transfer some liquid free balance to another account.`transfer` will set the `FreeBalance` of the sender and receiver.If the sender's account is below the existential deposit as a result�of the transfer, the account will be reaped.The dispatch origin for this call must be `Signed` by the transactor.4## Complexitya- Dependent on arguments but not critical, given proper implementations for input config�  types. See related functions below.1- It contains a limited number of reads and writes internally and no complex8  computation.HRelated functions:M  - `ensure_can_withdraw` is always called internally but has a bounded complexity.)  - Transferring balances to accounts that did not exist before will cause�    `T::OnNewAccount::on_new_account` to be called.]  - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.]  - `transfer_keep_alive` works the same way as `transfer`, but has an additional check�    that the transfer will not kill the origin account.%Contains one variant per dispatchable that can be called by an extrinsic.�<pallet_balancespalletErrorTI,8VestingBalance�Vesting balance too high to send valueTLiquidityRestrictions�Account liquidity restrictions prevent withdrawalLInsufficientBalancexBalance too low to send value.HExistentialDeposit�Value too low to create account due to existential deposit$KeepAlive�Transfer/payment would kill account\ExistingVestingSchedule�A vesting schedule already exists for this account,DeadAccount�Beneficiary account must pre-exist<TooManyReserves�Number of named reserves exceed MaxReservesXLockIdentifierNotFounddLock Identifier not Found Overflow	@Balance Overflow@MaxLocksExceeded
HMax Locks Exceeded�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�4sp_arithmetic,fixed_point$FixedU128u128�hpallet_transaction_payment Releases$V1AncientV2�hpallet_transaction_paymentpalletCallT@set_disable_feesvalue9bool%Contains one variant per dispatchable that can be called by an extrinsic.���(sp_weightsXWeightToFeeCoefficientBalance4coeff_integerBalance(coeff_fracyPerbill negative9booldegreeu8�Lpolymesh_primitives identity$DidRecord$AccountId,primary_key)DOption<AccountId>����<pallet_identitytypes,Claim1stKeytarget�(IdentityId(claim_type�$ClaimType�<pallet_identitytypes,Claim2ndKeyissuer�(IdentityIdscope4Option<Scope>�Lpolymesh_primitives4secondary_key$KeyRecord$AccountId(PrimaryKey�(IdentityId0SecondaryKey�(IdentityIdDMultiSigSignerKey$AccountId����(�Lpolymesh_primitives4secondary_key$Signatory$AccountId Identity�(IdentityIdAccount$AccountId�Lpolymesh_primitives4authorization4Authorization$AccountIdMoment(Hauthorization_data-pAuthorizationData<AccountId>4authorized_by�(IdentityIdexpiry8Option<Moment>auth_id(u64countu32��(�<pallet_identityVersionu8����<pallet_identitypalletCallT`@cdd_register_did8target_account0T::AccountId8secondary_keys�|Vec<SecondaryKey<T::AccountId>> �Register `target_account` with a new Identity.$# FailureE- `origin` has to be a active CDD provider. Inactive CDD providers cannot add newclaims.]- `target_account` (primary key of the new Identity) can be linked to just one and only4one identity.�- External secondary keys can be linked to just one identity.Tinvalidate_cdd_claimscdd�(IdentityId0disable_from($T::MomentexpiryDOption<T::Moment>!Invalidates any claim generated by `cdd` from `disable_from` timestamps.�You can also define an expiration time,mwhich will invalidate all claims generated by that `cdd` and remove it as CDD member group.Haccept_primary_key@rotation_auth_id(u64Poptional_cdd_auth_id,Option<u64>4eCall this with the new primary key. By invoking this method, caller accepts authorizationeto 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, ordunlinked 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�change_cdd_requirement_for_mk_rotation4auth_required9bool5Set if CDD authorization is required for updating primary key of an identity.xCallable via root (governance),# Arguments�* `auth_required` CDD Authorization required or notPjoin_identity_as_keyauth_id(u64�Join an identity as a secondary key.Tleave_identity_as_key�Leave the secondary key's identity.$add_claimtarget�(IdentityIdclaimClaimexpiryDOption<T::Moment>�Adds a new claim record or edits an existing one.�Only called by did_issuer's secondary key.0revoke_claimtarget�(IdentityIdclaimClaim�Marks the specified claim as revoked.Tfreeze_secondary_keys�It disables all secondary keys at `did` identity. # Errors\unfreeze_secondary_keys	�Re-enables all secondary keys of the caller's identity.Dadd_authorizationtarget�\Signatory<T::AccountId>data-|AuthorizationData<T::AccountId>expiryDOption<T::Moment>
XAdds an authorization.Premove_authorizationtarget�\Signatory<T::AccountId>auth_id(u64@auth_issuer_pays9booldRemoves an authorization.}`_auth_issuer_pays` determines whether the issuer of the authorisation pays the transaction fee@gc_add_cdd_claimtarget�(IdentityIdEAssuming this is executed by the GC voting majority, adds a new cdd claim record.Lgc_revoke_cdd_claimtarget�(IdentityId
iAssuming this is executed by the GC voting majority, removes an existing cdd claim record.Trevoke_claim_by_indextarget�(IdentityId(claim_type�$ClaimTypescope4Option<Scope>�Revokes a specific claim using its [Claim Unique Index](/pallet_identity/index.html#claim-unique-index) composed by `target`,h`claim_type`, and `scope`.Please note that `origin` must be the issuer of the target claim.|rotate_primary_key_to_secondaryauth_id(u64Poptional_cdd_auth_id,Option<u64>8eCall this with the new primary key. By invoking this method, caller accepts authorizationeto 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, ordunlinked to any identity.aDiffers 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�add_secondary_keys_with_authorization<additional_keys��Vec<SecondaryKeyWithAuth<T::AccountId>>(expires_at($T::Moment4�Adds secondary keys to target identity `id`.9Keys are directly added to identity because each of them has an authorization.0# Arguments:	    - `origin` which must be the primary key of the identity `id`.�    - `id` to which new secondary keys will be added.�    - `additional_keys` which includes secondary keys,	       coupled with authorization data, to add to target identity. # Errors�    - Can only called by primary key owner.�    - Keys should be able to linked to any identity.tset_secondary_key_permissionskey0T::AccountIdperms�,Permissions�Sets permissions for an specific `target_key` key.5Only the primary key of an identity is able to set secondary key permissions.Tremove_secondary_keys8keys_to_remove�DVec<T::AccountId>�Removes specified secondary keys of a DID if present. # Errors�The extrinsic can only called by primary key owner.hregister_custom_claim_typety0Vec<u8>lRegister custom claim type. # ErrorsI* `CustomClaimTypeAlreadyExists` The type that is being registered already exists.�* `CounterOverflow` CustomClaimTypeId has overflowed.�* `TooLong` The type being registered is too lang.dcdd_register_did_with_cdd8target_account0T::AccountId8secondary_keys�|Vec<SecondaryKey<T::AccountId>>expiryDOption<T::Moment> YRegister `target_account` with a new Identity and issue a CDD claim with a blank CddId$# FailureE- `origin` has to be a active CDD provider. Inactive CDD providers cannot add newclaims.]- `target_account` (primary key of the new Identity) can be linked to just one and only4one identity.�- External secondary keys can be linked to just one identity.Tcreate_child_identity4secondary_key0T::AccountId0Create a child identity and make the `secondary_key` it's primary key.�Only the primary key can create child identities.,# Argumentse- `secondary_key` the secondary key that will become the primary key of the new identity. # Errors- `KeyNotAllowed` only the primary key can create a new identity.M- `NotASigner` the `secondary_key` is not a secondary key of the caller's identity.m- `AccountKeyIsBeingUsed` the `secondary_key` can't be unlinked from it's current identity.�- `IsChildIdentity` the caller's identity is already a child identity and can't create child identities.\create_child_identities(child_keys��Vec<CreateChildIdentityWithAuth<T::AccountId>>(expires_at($T::Moment<hCreate a child identities.%The new primary key for each child identity will need to sign (off-chain)Dan authorization.�Only the primary key can create child identities.,# ArgumentsI- `child_keys` the keys that will become primary keys of their own child identity. # Errors- `KeyNotAllowed` only the primary key can create a new identity.
- `AlreadyLinked` one of the keys is already linked to an identity.�- `DuplicateKey` one of the keys is included multiple times.�- `IsChildIdentity` the caller's identity is already a child identity and can't create child identities.Tunlink_child_identity$child_did�(IdentityId,�Unlink a child identity from it's parent identity.EOnly the primary key of the parent or child identities can unlink the identities.,# Arguments- `child_did` the child identity to unlink from its parent identity. # Errors�- `KeyNotAllowed` only the primary key of either the parent or child identity can unlink the identities.5- `NoParentIdentity` the identity `child_did` doesn't have a parent identity.Y- `NotParentOrChildIdentity` the caller's identity isn't the parent or child identity.%Contains one variant per dispatchable that can be called by an extrinsic.���dpolymesh_common_utilitiestraits identityPSecondaryKeyWithAuth$AccountId4secondary_key�\SecondaryKey<AccountId>8auth_signature�H512�<primitive_typesH512
 [u8; 64]���dpolymesh_common_utilitiestraits identitylCreateChildIdentityWithAuth$AccountIdkey$AccountId8auth_signature�H512�<pallet_identitypalletErrorT�4AlreadyLinked�One secondary or primary key can only belong to one DID<MissingIdentityxCaller is missing an identity.0Unauthorized�Signatory is not pre authorized by the identityDInvalidAccountKey�Account Id cannot be extracted from signer\UnAuthorizedCddProvider�Only CDD service providers are allowed.tInvalidAuthorizationFromOwner�An invalid authorization from the owner.�InvalidAuthorizationFromCddProvider�An invalid authorization from the CDD provider.dNotCddProviderAttestation�Attestation was not by a CDD service provider.pAuthorizationsNotForSameDids�Authorizations are not for the same DID.LDidMustAlreadyExist	lThe DID must already exist.PAuthorizationExpired
�The offchain authorization has expired.8TargetHasNoCdd�The target DID has no valid CDD.lAuthorizationHasBeenRevoked�Authorization has been explicitly revoked.tInvalidAuthorizationSignature
�An invalid authorization signature.4KeyNotAllowed�This key is not allowed to execute a given operation.4NotPrimaryKeyaOnly the primary key is allowed to revoke an Identity Signatory off-chain authorization.<DidDoesNotExist\The DID does not exist.@DidAlreadyExists\The DID already exists.xSecondaryKeysContainPrimaryKey�The secondary keys contain the primary key.DFailedToChargeFee�Couldn't charge fee for the transaction.(NotASigner�Signer is not a secondary key of the provided identitylCannotDecodeSignerAccountIdCannot convert a `T::AccountId` to `AnySignature::Signer::AccountId`.TAccountKeyIsBeingUsed�The account key is being used, it can't be unlinked.HCustomScopeTooLonglA custom scope is too long.�It can at most be `32` characters long.pCustomClaimTypeAlreadyExists�The custom claim type trying to be registered already exists.lCustomClaimTypeDoesNotExist�The custom claim type does not exist.DClaimDoesNotExistTClaim does not exist.<IsChildIdentityQIdentity is already a child of an other identity, can't create grand-child identity.@NoParentIdentity�The Identity doesn't have a parent identity.`NotParentOrChildIdentity�The caller is not the parent or child identity.0DuplicateKey�The same key was included multiple times.tExceptNotAllowedForExtrinsics�Cannot use Except when specifying extrinsic permissions.hExceededNumberOfGivenAuths �Maximum number of given authorizations was exceeded.PBadAuthorizationType!mThe extrinsic expected a different `AuthorizationType` than what the `data.auth_type()` is.PInvalidAuthorization"Auth identified by an `auth_id` for a given `target` does not exist.The `target` might be wrong or the `auth_id` was never created at all.lUnauthorizedCallerFrozenDid#TFrozen secondary key.|UnauthorizedCallerDidMissingCdd$|The DID is missing a CDD claim.�UnauthorizedCallerMissingPermissions%�The key does not have permissions to execute the extrinsic.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			���Lpolymesh_primitivestraitsgroup8InactiveMemberMoment(id�(IdentityId8deactivated_at(Momentexpiry8Option<Moment>�0pallet_grouppalletCallTI`set_active_members_limitlimit,MemberCount5Change this group's limit for how many concurrent active members they may be.,# Arguments
* `limit` - the number of active members there may be concurrently.8disable_memberwho�(IdentityIdexpiryDOption<T::Moment>atDOption<T::Moment>@�Disables a member at specific moment.APlease note that if member is already revoked (a "valid member"), its revocationltime-stamp will be updated.MAny 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 anygenerated claim issued before `at` would be considered as a valid one.QIf you want to invalidate any generated claim, you should use `Self::remove_member`.,# Arguments|* `at` - Revocation time-stamp.�* `who` - Target member of the group.U* `expiry` - Time-stamp when `who` is removed from CDD. As soon as it is expired, theQgenerated claims will be "invalid" as `who` is not considered a member of the group.(add_memberwho�(IdentityId9Adds a member `who` to the group. May only be called from `AddOrigin` or root.,# Arguments�* `origin` - Origin representing `AddOrigin` or root�* `who` - IdentityId to be added to the group.4remove_memberwho�(IdentityId(QRemoves a member `who` from the set. May only be called from `RemoveOrigin` or root.AAny claim previously generated by this member is not valid as a group claim. ForYinstance, if a CDD member group generated a claim for a target identity and then it isaremoved, that claim will be invalid.  In case you want to keep the validity of generated�claims, you have to use `Self::disable_member` function,# Arguments�* `origin` - Origin representing `RemoveOrigin` or root�* `who` - IdentityId to be removed from the group.,swap_memberremove�(IdentityIdadd�(IdentityId �Swaps out one member `remove` for another member `add`.�May only be called from `SwapOrigin` or root.,# Arguments�* `origin` - Origin representing `SwapOrigin` or root�* `remove` - IdentityId to be removed from the group.�* `add` - IdentityId to be added in place of `remove`.4reset_membersmembersA<Vec<IdentityId>)Changes the membership to a new set, disregarding the existing membership.�May only be called from `ResetOrigin` or root.,# Arguments�* `origin` - Origin representing `ResetOrigin` or root�* `members` - New set of identitiesLabdicate_membership(MAllows the calling member to *unilaterally quit* without this being subject to a GCvote.,# Arguments�* `origin` - Member of committee who wants to quit.# Error�* Only primary key can abdicate.�* Last member of a group cannot abdicate.%Contains one variant per dispatchable that can be called by an extrinsic.�0pallet_grouppalletErrorTITOnlyPrimaryKeyAllowed�Only primary key of the identity is allowed.<DuplicateMember|Group member was added already.0NoSuchMember�Can't remove a member that doesn't exist.PLastMemberCannotQuit�Last member of the committee can not quit.hActiveMembersLimitExceeded]The limit for the number of concurrent active members for this group has been exceeded.hActiveMembersLimitOverflowActive member limit was greater than maximum committee members limit.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�`polymesh_runtime_developruntime,RuntimeCall�System��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<System, Runtime>Babe=�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Babe, Runtime>$TimestampU�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Timestamp, Runtime>Indices]�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Indices, Runtime> Balances��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Balances, Runtime>HTransactionPayment��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<TransactionPayment, Runtime> Identity��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Identity, Runtime>LCddServiceProviders��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<CddServiceProviders, Runtime>DPolymeshCommittee�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<PolymeshCommittee, Runtime>	LCommitteeMembership�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<CommitteeMembership, Runtime>
HTechnicalCommittee	�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<TechnicalCommittee, Runtime>pTechnicalCommitteeMembership
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<TechnicalCommitteeMembership, Runtime>@UpgradeCommittee�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<UpgradeCommittee, Runtime>
hUpgradeCommitteeMembership�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<UpgradeCommitteeMembership, Runtime> MultiSig�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<MultiSig, Runtime>(Validators!�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Validators, Runtime>Staking)�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Staking, Runtime>SessionM�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Session, Runtime>GrandpaY�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Grandpa, Runtime> ImOnline��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<ImOnline, Runtime>Sudo��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Sudo, Runtime>Asset��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Asset, Runtime>LCapitalDistribution��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<CapitalDistribution, Runtime>(Checkpoint��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Checkpoint, Runtime>DComplianceManager��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<ComplianceManager, Runtime><CorporateAction��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<CorporateAction, Runtime><CorporateBallot��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<CorporateBallot, Runtime>Pips��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Pips, Runtime>!$Portfolio��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Portfolio, Runtime>",ProtocolFee��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<ProtocolFee, Runtime>#$Scheduler�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Scheduler, Runtime>$(Settlement
�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Settlement, Runtime>%(Statistics=�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Statistics, Runtime>&StoM�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Sto, Runtime>' Treasurya�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Treasury, Runtime>(Utilitym�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Utility, Runtime>)Base��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Base, Runtime>*8ExternalAgents��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<ExternalAgents, Runtime>+Relayer��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Relayer, Runtime>,$Contracts��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Contracts, Runtime>.DPolymeshContracts��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<PolymeshContracts, Runtime>/ Preimage��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Preimage, Runtime>0Nft��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Nft, Runtime>1hElectionProviderMultiPhase��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<ElectionProviderMultiPhase, Runtime>2@pallet_committeepalletCallTIHset_vote_thresholdnu32du32�Change the vote threshold the determines the winning proposal.UFor 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.\set_release_coordinatorid�(IdentityId�Changes the release coordinator.,# Arguments�* `id` - The DID of the new release coordinator. # Errors%* `NotAMember`, If the new coordinator `id` is not part of the committee.Dset_expires_afterexpiryQhMaybeBlock<T::BlockNumber>�Changes the time after which a proposal expires.,# Arguments�* `expiry` - The new expiry time.<vote_or_proposeapprove9boolcall�|Box<<T as Config<I>>::Proposal>DProposes to the committee that `call` should be executed in its name.]Alternatively, if the hash of `call` has already been recorded, i.e., already proposed,then this call counts as a vote, i.e., as if `vote_by_hash` was called. # Weight-The weight of this dispatchable is that of `call` as well as the complexityxfor recording the vote itself.,# Arguments�* `approve` - is this an approving vote?a  If the proposal doesn't exist, passing `false` will result in error `FirstVoteReject`.�* `call` - the call to propose for execution. # Errors-* `FirstVoteReject`, if `call` hasn't been proposed and `approve == false`.	* `NotAMember`, if the `origin` is not a member of this committee.vote proposal,T::Hashindex4ProposalIndexapprove9bool(�Votes `approve`ingly (or not, if `false`)�on an existing `proposal` given by its hash, `index`.,# Arguments�* `proposal` - A hash of the proposal to be voted on.|* `index` - The proposal index.-* `approve` - If `true` than this is a `for` vote, and `against` otherwise. # Errors	* `NotAMember`, if the `origin` is not a member of this committee.%Contains one variant per dispatchable that can be called by an extrinsic.0pallet_grouppalletCallTI`set_active_members_limitlimit,MemberCount5Change this group's limit for how many concurrent active members they may be.,# Arguments
* `limit` - the number of active members there may be concurrently.8disable_memberwho�(IdentityIdexpiryDOption<T::Moment>atDOption<T::Moment>@�Disables a member at specific moment.APlease note that if member is already revoked (a "valid member"), its revocationltime-stamp will be updated.MAny 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 anygenerated claim issued before `at` would be considered as a valid one.QIf you want to invalidate any generated claim, you should use `Self::remove_member`.,# Arguments|* `at` - Revocation time-stamp.�* `who` - Target member of the group.U* `expiry` - Time-stamp when `who` is removed from CDD. As soon as it is expired, theQgenerated claims will be "invalid" as `who` is not considered a member of the group.(add_memberwho�(IdentityId9Adds a member `who` to the group. May only be called from `AddOrigin` or root.,# Arguments�* `origin` - Origin representing `AddOrigin` or root�* `who` - IdentityId to be added to the group.4remove_memberwho�(IdentityId(QRemoves a member `who` from the set. May only be called from `RemoveOrigin` or root.AAny claim previously generated by this member is not valid as a group claim. ForYinstance, if a CDD member group generated a claim for a target identity and then it isaremoved, that claim will be invalid.  In case you want to keep the validity of generated�claims, you have to use `Self::disable_member` function,# Arguments�* `origin` - Origin representing `RemoveOrigin` or root�* `who` - IdentityId to be removed from the group.,swap_memberremove�(IdentityIdadd�(IdentityId �Swaps out one member `remove` for another member `add`.�May only be called from `SwapOrigin` or root.,# Arguments�* `origin` - Origin representing `SwapOrigin` or root�* `remove` - IdentityId to be removed from the group.�* `add` - IdentityId to be added in place of `remove`.4reset_membersmembersA<Vec<IdentityId>)Changes the membership to a new set, disregarding the existing membership.�May only be called from `ResetOrigin` or root.,# Arguments�* `origin` - Origin representing `ResetOrigin` or root�* `members` - New set of identitiesLabdicate_membership(MAllows the calling member to *unilaterally quit* without this being subject to a GCvote.,# Arguments�* `origin` - Member of committee who wants to quit.# Error�* Only primary key can abdicate.�* Last member of a group cannot abdicate.%Contains one variant per dispatchable that can be called by an extrinsic.	@pallet_committeepalletCallTIHset_vote_thresholdnu32du32�Change the vote threshold the determines the winning proposal.UFor 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.\set_release_coordinatorid�(IdentityId�Changes the release coordinator.,# Arguments�* `id` - The DID of the new release coordinator. # Errors%* `NotAMember`, If the new coordinator `id` is not part of the committee.Dset_expires_afterexpiryQhMaybeBlock<T::BlockNumber>�Changes the time after which a proposal expires.,# Arguments�* `expiry` - The new expiry time.<vote_or_proposeapprove9boolcall�|Box<<T as Config<I>>::Proposal>DProposes to the committee that `call` should be executed in its name.]Alternatively, if the hash of `call` has already been recorded, i.e., already proposed,then this call counts as a vote, i.e., as if `vote_by_hash` was called. # Weight-The weight of this dispatchable is that of `call` as well as the complexityxfor recording the vote itself.,# Arguments�* `approve` - is this an approving vote?a  If the proposal doesn't exist, passing `false` will result in error `FirstVoteReject`.�* `call` - the call to propose for execution. # Errors-* `FirstVoteReject`, if `call` hasn't been proposed and `approve == false`.	* `NotAMember`, if the `origin` is not a member of this committee.vote proposal,T::Hashindex4ProposalIndexapprove9bool(�Votes `approve`ingly (or not, if `false`)�on an existing `proposal` given by its hash, `index`.,# Arguments�* `proposal` - A hash of the proposal to be voted on.|* `index` - The proposal index.-* `approve` - If `true` than this is a `for` vote, and `against` otherwise. # Errors	* `NotAMember`, if the `origin` is not a member of this committee.%Contains one variant per dispatchable that can be called by an extrinsic.
0pallet_grouppalletCallTI`set_active_members_limitlimit,MemberCount5Change this group's limit for how many concurrent active members they may be.,# Arguments
* `limit` - the number of active members there may be concurrently.8disable_memberwho�(IdentityIdexpiryDOption<T::Moment>atDOption<T::Moment>@�Disables a member at specific moment.APlease note that if member is already revoked (a "valid member"), its revocationltime-stamp will be updated.MAny 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 anygenerated claim issued before `at` would be considered as a valid one.QIf you want to invalidate any generated claim, you should use `Self::remove_member`.,# Arguments|* `at` - Revocation time-stamp.�* `who` - Target member of the group.U* `expiry` - Time-stamp when `who` is removed from CDD. As soon as it is expired, theQgenerated claims will be "invalid" as `who` is not considered a member of the group.(add_memberwho�(IdentityId9Adds a member `who` to the group. May only be called from `AddOrigin` or root.,# Arguments�* `origin` - Origin representing `AddOrigin` or root�* `who` - IdentityId to be added to the group.4remove_memberwho�(IdentityId(QRemoves a member `who` from the set. May only be called from `RemoveOrigin` or root.AAny claim previously generated by this member is not valid as a group claim. ForYinstance, if a CDD member group generated a claim for a target identity and then it isaremoved, that claim will be invalid.  In case you want to keep the validity of generated�claims, you have to use `Self::disable_member` function,# Arguments�* `origin` - Origin representing `RemoveOrigin` or root�* `who` - IdentityId to be removed from the group.,swap_memberremove�(IdentityIdadd�(IdentityId �Swaps out one member `remove` for another member `add`.�May only be called from `SwapOrigin` or root.,# Arguments�* `origin` - Origin representing `SwapOrigin` or root�* `remove` - IdentityId to be removed from the group.�* `add` - IdentityId to be added in place of `remove`.4reset_membersmembersA<Vec<IdentityId>)Changes the membership to a new set, disregarding the existing membership.�May only be called from `ResetOrigin` or root.,# Arguments�* `origin` - Origin representing `ResetOrigin` or root�* `members` - New set of identitiesLabdicate_membership(MAllows the calling member to *unilaterally quit* without this being subject to a GCvote.,# Arguments�* `origin` - Member of committee who wants to quit.# Error�* Only primary key can abdicate.�* Last member of a group cannot abdicate.%Contains one variant per dispatchable that can be called by an extrinsic.@pallet_committeepalletCallTIHset_vote_thresholdnu32du32�Change the vote threshold the determines the winning proposal.UFor 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.\set_release_coordinatorid�(IdentityId�Changes the release coordinator.,# Arguments�* `id` - The DID of the new release coordinator. # Errors%* `NotAMember`, If the new coordinator `id` is not part of the committee.Dset_expires_afterexpiryQhMaybeBlock<T::BlockNumber>�Changes the time after which a proposal expires.,# Arguments�* `expiry` - The new expiry time.<vote_or_proposeapprove9boolcall�|Box<<T as Config<I>>::Proposal>DProposes to the committee that `call` should be executed in its name.]Alternatively, if the hash of `call` has already been recorded, i.e., already proposed,then this call counts as a vote, i.e., as if `vote_by_hash` was called. # Weight-The weight of this dispatchable is that of `call` as well as the complexityxfor recording the vote itself.,# Arguments�* `approve` - is this an approving vote?a  If the proposal doesn't exist, passing `false` will result in error `FirstVoteReject`.�* `call` - the call to propose for execution. # Errors-* `FirstVoteReject`, if `call` hasn't been proposed and `approve == false`.	* `NotAMember`, if the `origin` is not a member of this committee.vote proposal,T::Hashindex4ProposalIndexapprove9bool(�Votes `approve`ingly (or not, if `false`)�on an existing `proposal` given by its hash, `index`.,# Arguments�* `proposal` - A hash of the proposal to be voted on.|* `index` - The proposal index.-* `approve` - If `true` than this is a `for` vote, and `against` otherwise. # Errors	* `NotAMember`, if the `origin` is not a member of this committee.%Contains one variant per dispatchable that can be called by an extrinsic.0pallet_grouppalletCallTI`set_active_members_limitlimit,MemberCount5Change this group's limit for how many concurrent active members they may be.,# Arguments
* `limit` - the number of active members there may be concurrently.8disable_memberwho�(IdentityIdexpiryDOption<T::Moment>atDOption<T::Moment>@�Disables a member at specific moment.APlease note that if member is already revoked (a "valid member"), its revocationltime-stamp will be updated.MAny 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 anygenerated claim issued before `at` would be considered as a valid one.QIf you want to invalidate any generated claim, you should use `Self::remove_member`.,# Arguments|* `at` - Revocation time-stamp.�* `who` - Target member of the group.U* `expiry` - Time-stamp when `who` is removed from CDD. As soon as it is expired, theQgenerated claims will be "invalid" as `who` is not considered a member of the group.(add_memberwho�(IdentityId9Adds a member `who` to the group. May only be called from `AddOrigin` or root.,# Arguments�* `origin` - Origin representing `AddOrigin` or root�* `who` - IdentityId to be added to the group.4remove_memberwho�(IdentityId(QRemoves a member `who` from the set. May only be called from `RemoveOrigin` or root.AAny claim previously generated by this member is not valid as a group claim. ForYinstance, if a CDD member group generated a claim for a target identity and then it isaremoved, that claim will be invalid.  In case you want to keep the validity of generated�claims, you have to use `Self::disable_member` function,# Arguments�* `origin` - Origin representing `RemoveOrigin` or root�* `who` - IdentityId to be removed from the group.,swap_memberremove�(IdentityIdadd�(IdentityId �Swaps out one member `remove` for another member `add`.�May only be called from `SwapOrigin` or root.,# Arguments�* `origin` - Origin representing `SwapOrigin` or root�* `remove` - IdentityId to be removed from the group.�* `add` - IdentityId to be added in place of `remove`.4reset_membersmembersA<Vec<IdentityId>)Changes the membership to a new set, disregarding the existing membership.�May only be called from `ResetOrigin` or root.,# Arguments�* `origin` - Origin representing `ResetOrigin` or root�* `members` - New set of identitiesLabdicate_membership(MAllows the calling member to *unilaterally quit* without this being subject to a GCvote.,# Arguments�* `origin` - Member of committee who wants to quit.# Error�* Only primary key can abdicate.�* Last member of a group cannot abdicate.%Contains one variant per dispatchable that can be called by an extrinsic.<pallet_multisigpalletCallTH<create_multisigsignersm�BoundedVec<T::AccountId, T::MaxSigners>4sigs_required(u64,permissionsLOption<Permissions>HCreates 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.�* `permissions` - optional custom permissions.  Only the primary key can provide custom permissions.<create_proposal multisig0T::AccountId proposal�pBox<<T as Config>::Proposal>expiryDOption<T::Moment> lCreates a multisig proposal,# Arguments�* `multisig` - MultiSig address.�* `proposal` - Proposal to be voted on.�* `expiry` - Optional proposal expiry time.1If this is 1 out of `m` multisig, the proposal will be immediately executed.approve multisig0T::AccountId,proposal_id(u64(max_weight�8Option<Weight> 1Approves a multisig proposal using the caller's secondary key (`AccountId`).,# Arguments�* `multisig` - MultiSig address.�* `proposal_id` - Proposal id to approve.�* `max_weight` - The maximum weight to execute the proposal.If quorum is reached, the proposal will be immediately executed.reject multisig0T::AccountId,proposal_id(u64-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.Xaccept_multisig_signerauth_id(u64)Accepts a multisig signer authorization given to signer's key (AccountId).,# Arguments�* `auth_id` - Auth id of the authorization.Padd_multisig_signerssignersm�BoundedVec<T::AccountId, T::MaxSigners>)Adds signers to the multisig.  This must be called by the multisig itself.,# Argumentst* `signers` - Signers to add.\remove_multisig_signerssignersm�BoundedVec<T::AccountId, T::MaxSigners>=Removes signers from the multisig.  This must be called by the multisig itself.,# Arguments�* `signers` - Signers to remove.xadd_multisig_signers_via_admin multisig0T::AccountIdsignersm�BoundedVec<T::AccountId, T::MaxSigners>AAdds a signer to the multisig.  This must be called by the admin identity of the$multisig.,# Arguments�* `multisig` - Address of the multi sigt* `signers` - Signers to add.�remove_multisig_signers_via_admin multisig0T::AccountIdsignersm�BoundedVec<T::AccountId, T::MaxSigners>�Removes a signer from the multisig.�This must be called by the admin identity of the multisig.,# Arguments�* `multisig` - Address of the multisig.�* `signers` - Signers to remove.Pchange_sigs_required4sigs_required(u64	QChanges the number of signatures required by a multisig.  This must be called by the@multisig itself.,# Arguments�* `sigs_required` - New number of required signatures.xchange_sigs_required_via_admin multisig0T::AccountIdLsignatures_required(u64
�Changes the number of signatures required by a multisig.  This must be called by the admin of the multisig.,# ArgumentsY* `multisig` - The account identifier ([`AccountId`]) for the multi signature account.�* `signatures_required` - The number of required signatures.$add_admin$admin_did�(IdentityIdMAdd an admin identity to the multisig.  This must be called by the multisig itself.Xremove_admin_via_admin multisig0T::AccountId�Removes the admin identity from the `multisig`.  This must be called by the admin of the multisig.0remove_payer
uRemoves the paying identity from the `multisig`.  This must be called by the multisig itself.Xremove_payer_via_payer multisig0T::AccountId�Removes the paying identity from the `multisig`.  This must be called by the paying identity of the multisig.Tapprove_join_identity multisig0T::AccountIdauth_id(u64�Approves a multisig join identity proposal.,# Arguments�* `multisig` - MultiSig address.�* `auth_id` - The join identity authorization to approve.9If quorum is reached, the join identity proposal will be immediately executed.4join_identityauth_id(u64�Accept a JoinIdentity authorization for this multisig.  This must be called by the multisig itself.0remove_adminqRemoves the admin identity from the `multisig`.  This must be called by the multisig itself.%Contains one variant per dispatchable that can be called by an extrinsic.OptionT�NoneSome�!Dpallet_validatorspalletCallT hadd_permissioned_validator identity�(IdentityId8intended_count%,Option<u32>�Adds a permissioned identity and sets its preferences.�The dispatch origin must be Root.tremove_permissioned_validator identity�(IdentityId�Remove an identity from the pool of (wannabe) validator identities. Effects are known in the next session.�The dispatch origin must be Root.,# Arguments�* origin Required origin for removing a potential validator.�* identity Validator's IdentityId.xvalidate_cdd_expiry_nominatorstargets�DVec<T::AccountId>�Validate the nominators CDD expiry time.YIf an account from a given set of address is nominating then check the CDD expiry timeMof it and if it is expired then the account should be unbonded and removed from theLnominating process.`payout_stakers_by_system<validator_stash0T::AccountIdera EraIndexlchange_slashing_allowed_for<slashing_switchu8SlashingSwitchmSwitch slashing status on the basis of given `slashing_switch`. Can only be called by root.�update_permissioned_validator_intended_count identity�(IdentityIdHnew_intended_countu32%Sets the intended count to `new_intended_count` for the given `identity`.Tchill_from_governance identity�(IdentityId(stash_keys�DVec<T::AccountId>�Governance council forcefully chills a validator. Effects will be felt at the beginning of the next era.Hset_commission_capnew_capyPerbill!Changes commission rate which applies to all validators. Only Governance�committee is allowed to change this value.,# Arguments�* `new_cap` the new commission cap.%Contains one variant per dispatchable that can be called by an extrinsic.%OptionTNoneSome)8pallet_stakingpalletpalletCallThbond(controlleraPAccountIdLookupOf<T>value�0BalanceOf<T>payee-|RewardDestination<T::AccountId><aTake 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 the `minimum_balance` specified by `T::Currency`.!The dispatch origin for this call must be _Signed_ by the stash account.<Emits `Bonded`.4## Complexity�- Independent of the arguments. Moderate complexity.- O(1).d- Three extra DB entries.MNOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned=unless the `origin` falls below _existential deposit_ and gets removed as dust.(bond_extra8max_additional�0BalanceOf<T>8aAdd some extra amount that have appeared in the stash `free_balance` into the balance up0for staking.QThe dispatch origin for this call must be _Signed_ by the stash, not the controller.MUse this if there are additional funds in your stash account that you wish to bond.UUnlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose�any limitation on the amount that can be added.<Emits `Bonded`.4## Complexity�- Independent of the arguments. Insignificant complexity.- O(1).unbondvalue�0BalanceOf<T>LQSchedule 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.QThe dispatch origin for this call must be _Signed_ by the controller, not the stash.EOnce the unlock period is done, you can call `withdraw_unbonded` to actually move�the funds out of management ready for transfer.1No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)Acan co-exists at the same time. If there are no unlocking chunks slots availableE[`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible).9If a user encounters the `InsufficientBond` error when calling this extrinsic,they should call `chill` first in order to free up their bonded funds.DEmits `Unbonded`.�See also [`Call::withdraw_unbonded`].Dwithdraw_unbondedHnum_slashing_spansu328)Remove any unlocked chunks from the `unlocking` queue from our management.1This essentially frees up that balance to be used by the stash account to doHwhatever it wants.The dispatch origin for this call must be _Signed_ by the controller.HEmits `Withdrawn`.hSee also [`Call::unbond`].4## Complexity�O(S) where S is the number of slashing spans to remove	NOTE: Weight annotation is the kill scenario, we refund otherwise. validateprefs�8ValidatorPrefs�Declare the desire to validate for the origin controller.�Effects will be felt at the beginning of the next era.QThe dispatch origin for this call must be _Signed_ by the controller, not the stash. nominatetargets1dVec<AccountIdLookupOf<T>>(
Declare the desire to nominate `targets` for the origin controller.�Effects will be felt at the beginning of the next era.QThe dispatch origin for this call must be _Signed_ by the controller, not the stash.4## Complexity-- The transaction's complexity is proportional to the size of `targets` (N)which is capped at CompactAssignments::LIMIT (T::MaxNominations).�- Both the reads and writes follow a similar pattern.chill(�Declare no desire to either validate or nominate.�Effects will be felt at the beginning of the next era.QThe dispatch origin for this call must be _Signed_ by the controller, not the stash.4## Complexity�- Independent of the arguments. Insignificant complexity.P- Contains one read.�- Writes are limited to the `origin` account key.$set_payeepayee-|RewardDestination<T::AccountId>0�(Re-)set the payment target for a controller.QEffects will be felt instantly (as soon as this function is completed successfully).QThe dispatch origin for this call must be _Signed_ by the controller, not the stash.4## Complexity- O(1)�- Independent of the arguments. Insignificant complexity.�- Contains a limited number of reads.�- Writes are limited to the `origin` account key.$---------8set_controller(controlleraPAccountIdLookupOf<T>,�(Re-)set the controller of a stash.QEffects will be felt instantly (as soon as this function is completed successfully).QThe dispatch origin for this call must be _Signed_ by the stash, not the controller.4## ComplexityO(1)�- Independent of the arguments. Insignificant complexity.�- Contains a limited number of reads.�- Writes are limited to the `origin` account key.Lset_validator_countnew�u32	�Sets the ideal number of validators.�The dispatch origin must be Root.4## ComplexityO(1)`increase_validator_count(additional�u32
�Increments the ideal number of validators upto maximum of�`ElectionProviderBase::MaxWinners`.�The dispatch origin must be Root.4## Complexity�Same as [`Self::set_validator_count`].Tscale_validator_countfactor5Percent
Scale up the ideal number of validators by a factor upto maximum of�`ElectionProviderBase::MaxWinners`.�The dispatch origin must be Root.4## Complexity�Same as [`Self::set_validator_count`].4force_no_eras4�Force there to be no new eras indefinitely.�The dispatch origin must be Root.$# WarningThe election process starts multiple blocks before the end of the era.9Thus the election process may be ongoing when this is called. In this case the�election will continue until the next era is triggered.4## Complexity<- No arguments.8- Weight: O(1)4force_new_era
8IForce 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.$# WarningThe election process starts multiple blocks before the end of the era.IIf this is called just before a new era is triggered, the election process may not�have enough blocks to get a result.4## Complexity<- No arguments.8- Weight: O(1)Dset_invulnerables4invulnerables�DVec<T::AccountId>�Set the validators who cannot be slashed (if any).�The dispatch origin must be Root.4force_unstakestash0T::AccountIdHnum_slashing_spansu32	Force a current staker to become completely unstaked, immediately.�The dispatch origin must be Root.Pforce_new_era_always$Force there to be a new era at the end of sessions indefinitely.�The dispatch origin must be Root.$# WarningThe election process starts multiple blocks before the end of the era.IIf this is called just before a new era is triggered, the election process may not�have enough blocks to get a result.Tcancel_deferred_slashera EraIndex4slash_indices9 Vec<u32>�Cancel enactment of a deferred slash.�Can be called by the `T::AdminOrigin`.Parameters: era and indices of the slashes for that era to kill.8payout_stakers<validator_stash0T::AccountIdera EraIndex,
Pay out all the stakers behind a single validator for a single era.I- `validator_stash` is the stash account of the validator. Their nominators, up to%  `T::MaxNominatorRewardedPerValidator`, will also receive their rewards.1- `era` may be any era between `[current_era - history_depth; current_era]`.UThe origin of this call must be _Signed_. Any account can call this function, even iftit is not one of the stakers.4## Complexity�- At most O(MaxNominatorRewardedPerValidator).rebondvalue�0BalanceOf<T>�Rebond a portion of the stash scheduled to be unlocked.�The dispatch origin must be signed by the controller.4## Complexity�- Time complexity: O(L), where L is unlocking chunks�- Bounded by `MaxUnlockingChunks`.(reap_stashstash0T::AccountIdHnum_slashing_spansu320]Remove all data structures concerning a staker/stash once it is at a state where it canbe considered `dust` in the staking system. The requirements are:1. the `total_balance` of the stash is below existential deposit.2. or, the `ledger.total` of the stash is below existential deposit.UThe former can happen in cases like a slash; the latter when a fully unbonded account	is still receiving staking rewards in `RewardDestination::Staked`.1It can be called by anyone, as long as `stash` meets the above requirements.�Refunds the transaction fees upon successful execution.kickwho1dVec<AccountIdLookupOf<T>>,�Remove the given nominations from the calling validator.�Effects will be felt at the beginning of the next era.QThe dispatch origin for this call must be _Signed_ by the controller, not the stash.M- `who`: A list of nominator stash accounts who are nominating this validator which�  should no longer be nominating this validator.UNote: Making this call only makes sense if you first set the validator preferences toxblock any further nominations.Lset_staking_configsHmin_nominator_bond=XConfigOp<BalanceOf<T>>Hmin_validator_bond=XConfigOp<BalanceOf<T>>Lmax_nominator_countA4ConfigOp<u32>Lmax_validator_countA4ConfigOp<u32><chill_thresholdEDConfigOp<Percent>8min_commissionIDConfigOp<Perbill>D�Update the various staking configurations .%* `min_nominator_bond`: The minimum active bond needed to be a nominator.%* `min_validator_bond`: The minimum active bond needed to be a validator.U* `max_nominator_count`: The max number of users who can be a nominator at once. When�  set to `None`, no limit is enforced.U* `max_validator_count`: The max number of users who can be a validator at once. When�  set to `None`, no limit is enforced.Y* `chill_threshold`: The ratio of `max_nominator_count` or `max_validator_count` which  should be filled in order for the `chill_other` transaction to work.a* `min_commission`: The minimum amount of commission that each validators must maintain.U  This is checked only upon calling `validate`. Existing validators are not affected.�RuntimeOrigin must be Root to call this function.5NOTE: Existing nominators and validators will not be affected by this update.to kick people under the new limits, `chill_other` should be called.,chill_other(controller0T::AccountIdhADeclare a `controller` to stop participating as either a validator or nominator.�Effects will be felt at the beginning of the next era.AThe dispatch origin for this call must be _Signed_, but can be called by anyone.YIf the caller is the same as the controller being targeted, then no further checks are�enforced, and this function behaves just like `chill`.]If the caller is different than the controller being targeted, the following conditions0must be met:* `controller` must belong to a nominator who has become non-decodable,Or:=* A `ChillThreshold` must be set and checked which defines how close to the maxU  nominators or validators we must reach before users can start chilling one-another.Y* A `MaxNominatorCount` and `MaxValidatorCount` must be set which is used to determine�  how close we are to the threshold.]* A `MinNominatorBond` and `MinValidatorBond` must be set and checked, which determinesQ  if this is a person that should be chilled because they have not met the threshold@  bond required.UThis can be helpful if bond requirements are updated, and we need to remove old users�who do not satisfy these requirements.hforce_apply_min_commission<validator_stash0T::AccountIdEForce a validator to have at least the minimum commission. This will not affect aavalidator who already has a commission greater than or equal to the minimum. Any account8can call this.Hset_min_commissionnewyPerbill%Sets the minimum amount of commission that each validators must maintain.YThis call has lower privilege requirements than `set_staking_config` and can be called�by the `T::AdminOrigin`. Root can always call this.%Contains one variant per dispatchable that can be called by an extrinsic.-8pallet_stakingDRewardDestination$AccountIdStakedStash(ControllerAccount$AccountIdNone1a54sp_arithmetic(per_thingsPercentu89=8pallet_stakingpalletpallet ConfigOpTNoopSetTRemoveA8pallet_stakingpalletpallet ConfigOpTNoopSetTRemoveE8pallet_stakingpalletpallet ConfigOpT5NoopSet5TRemoveI8pallet_stakingpalletpallet ConfigOpTyNoopSetyTRemoveM8pallet_sessionpalletCallT set_keyskeysQT::Keysproof0Vec<u8>$�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.4## ComplexityY- `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is   fixed.(purge_keys0�Removes any session key(s) of the function caller.�This doesn't take effect until the next session.UThe dispatch origin of this function must be Signed and the account must be either be]convertible to a validator ID using the chain's typical addressing system (this usuallyQmeans being a controller account) or directly convertible into a validator ID (which�usually means being a stash account).4## Complexity=- `O(1)` in number of key types. Actual cost depends on the number of length of�  `T::Keys::key_ids()` which is fixed.%Contains one variant per dispatchable that can be called by an extrinsic.Q`polymesh_runtime_developruntime,SessionKeysgrandpa��<Grandpa as $crate::BoundToRuntimeAppPublic>::Publicbabe��<Babe as $crate::BoundToRuntimeAppPublic>::Public$im_online��<ImOnline as $crate::BoundToRuntimeAppPublic>::PublicLauthority_discoveryU�<AuthorityDiscovery as $crate::BoundToRuntimeAppPublic>::PublicUXsp_authority_discoveryappPublic�<sr25519::PublicY8pallet_grandpapalletCallTLreport_equivocationHequivocation_proof]�Box<EquivocationProof<T::Hash, T::BlockNumber>><key_owner_proofM@T::KeyOwnerProof	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 offenceDwill be reported.preport_equivocation_unsignedHequivocation_proof]�Box<EquivocationProof<T::Hash, T::BlockNumber>><key_owner_proofM@T::KeyOwnerProof$	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 offenceDwill be reported.
This extrinsic must be called unsigned and it is expected that onlyblock authors will call it (validated in `ValidateUnsigned`), as suchif the block author is defined it will be defined as the equivocation$reporter.0note_stalleddelay8T::BlockNumberlbest_finalized_block_number8T::BlockNumber0=Note that the current authority set of the GRANDPA finality gadget has stalled.aThis will trigger a forced authority set change at the beginning of the next session, toabe enacted `delay` blocks after that. The `delay` should be high enough to safely assumeIthat the block signalling the forced change will not be re-orged e.g. 1000 blocks.]The block production rate (which may be slowed down because of finality lagging) shouldQbe taken into account when choosing the `delay`. The GRANDPA voters based on the newUauthority will start voting on top of `best_finalized_block_number` for new finalizedMblocks. `best_finalized_block_number` should be the highest of the latest finalized�block of all validators of the new authority set.XOnly callable by root.%Contains one variant per dispatchable that can be called by an extrinsic.]Psp_consensus_grandpaDEquivocationProofH,Nset_id(SetId0equivocationaHEquivocation<H, N>aPsp_consensus_grandpa0EquivocationH,NPrevotee9grandpa::Equivocation<AuthorityId, grandpa::Prevote<H, N>,
AuthoritySignature>$PrecommityAgrandpa::Equivocation<AuthorityId, grandpa::Precommit<H, N>,
AuthoritySignature>e@finality_grandpa0EquivocationId�ViSm0round_number(u64 identity�Idfirstu(V, S)secondu(V, S)i@finality_grandpaPrevoteH,N,target_hash,H4target_numberNmPsp_consensus_grandpaapp$SignatureqHed25519::Signatureqsp_coreed25519$Signature
 [u8; 64]uimy@finality_grandpa0EquivocationId�V}Sm0round_number(u64 identity�Idfirst�(V, S)second�(V, S)}@finality_grandpa$PrecommitH,N,target_hash,H4target_numberN�}m�@pallet_im_onlinepalletCallT$heartbeat$heartbeat�dHeartbeat<T::BlockNumber>$signature��<T::AuthorityId as RuntimeAppPublic>::Signature8## Complexity:Y- `O(K + E)` where K is length of `Keys` (heartbeat.validators_len) and E is length of�  `heartbeat.network_state.external_address`�  - `O(K)`: decoding of length `K`�  - `O(E)`: decoding/encoding of length `E`%Contains one variant per dispatchable that can be called by an extrinsic.�@pallet_im_online$Heartbeat,BlockNumber0block_number,BlockNumber4network_state�HOpaqueNetworkState4session_index0SessionIndex<authority_index$AuthIndex8validators_lenu32�sp_core offchainHOpaqueNetworkStatepeer_id�0OpaquePeerIdHexternal_addresses�PVec<OpaqueMultiaddr>�sp_core0OpaquePeerId0Vec<u8>���sp_core offchain<OpaqueMultiaddr0Vec<u8>�@pallet_im_onlinesr25519,app_sr25519$Signature�Hsr25519::Signature�sp_coresr25519$Signature
 [u8; 64]�,pallet_sudopalletCallTsudocall�|Box<<T as Config>::RuntimeCall>5Authenticates the sudo key and dispatches a function call with `Root` origin.�The dispatch origin for this call must be _Signed_.4## Complexity- O(1).Tsudo_unchecked_weightcall�|Box<<T as Config>::RuntimeCall>weight Weight 5Authenticates 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_.4## Complexity- O(1).set_keynewaPAccountIdLookupOf<T>]Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudokey.�The dispatch origin for this call must be _Signed_.4## Complexity- O(1).sudo_aswhoaPAccountIdLookupOf<T>call�|Box<<T as Config>::RuntimeCall>MAuthenticates the sudo key and dispatches a function call with `Signed` origin from@a given account.�The dispatch origin for this call must be _Signed_.4## Complexity- O(1).%Contains one variant per dispatchable that can be called by an extrinsic.�0pallet_assetpalletCallT�Xregister_unique_tickertickerTicker@!Registers a unique ticker or extends the validity of an existing ticker.MThis function allows the caller to register a new ticker or extend the registrationAof an existing ticker. The ticker validity does not carry forward when renewing.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `ticker` - The ticker to register. # Events* `TickerRegistered` - When a ticker is successfully registered. # Errors	* `TickerAlreadyRegistered` - If the ticker is already registered.1* `TickerTooLong` - If the ticker length exceeds the maximum allowed length.* `InvalidTickerCharacter` - If the ticker contains invalid characters.Xaccept_ticker_transferauth_id(u64<hAccepts a ticker transfer.-Consumes the authorization `auth_id` (see `pallet_identity::consume_auth`).%NB: To reject the transfer, call remove auth function in identity module.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.* `auth_id` - Authorization ID of ticker transfer authorization. # Events	* `TickerTransferred` - When a ticker is successfully transferred. # Errors%* `TickerRegistrationNotFound` - If the ticker registration is not found.E* `TickerIsAlreadyLinkedToAnAsset` - If the ticker is already linked to an asset.|accept_asset_ownership_transferauth_id(u64<�Accepts an asset ownership transfer.-Consumes the authorization `auth_id` (see `pallet_identity::consume_auth`).%NB: To reject the transfer, call remove auth function in identity module.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.5* `auth_id` - Authorization ID of the asset ownership transfer authorization. # EventsM* `AssetOwnershipTransferred` - When a asset ownership is successfully transferred. # Errors%* `TickerRegistrationNotFound` - If the ticker registration is not found.E* `TickerIsAlreadyLinkedToAnAsset` - If the ticker is already linked to an asset.0create_asset(asset_name�$AssetName$divisible9bool(asset_type�$AssetTypeDasset_identifiers�PVec<AssetIdentifier>Hfunding_round_name�`Option<FundingRoundName>LPCreates a new asset.=The total supply will initially be zero. To mint tokens, use [`Pallet::issue`].,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_name` - The [`AssetName`] of the new asset.q* `divisible` - Sets [`AssetDetails::divisible`], where `true` means the asset is divisible.�* `asset_type` - The [`AssetType`] of the new asset.�* `asset_identifiers` - A vector of [`AssetIdentifier`].9* `funding_round_name` - The name of the funding round ([`FundingRoundName`]). # Events�* `AssetCreated` - When a new asset is successfully created. # Errors}* `MaxLengthOfAssetNameExceeded` - If the asset name length exceeds the maximum allowed length.* `InvalidCustomAssetTypeId` - If the custom asset type ID is invalid.%* `InvalidAssetIdentifier` - If any of the asset identifiers are invalid.freeze asset_id�AssetIdD�Freezes transfers of a given asset.�This function allows the asset issuer or an external agent to freeze transfers of a given asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The asset to freeze.4# Permissions* Asset # Events�* `AssetFrozen` - When an asset is successfully frozen. # Errors�* `NoSuchAsset` - If the asset does not exist.�* `AlreadyFrozen` - If the asset is already frozen. unfreeze asset_id�AssetIdD�Unfreezes transfers of a given asset.�This function allows the asset issuer or an external agent to unfreeze transfers of a given asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The asset to unfreeze.4# Permissions* Asset # Events�* `AssetUnfrozen` - When an asset is successfully unfrozen. # Errors�* `NoSuchAsset` - If the asset does not exist.�* `NotFrozen` - If the asset is not frozen.0rename_asset asset_id�AssetId(asset_name�$AssetNameH�Updates the [`AssetName`] associated to an asset.iThis function allows the asset issuer or an external agent to update the name of an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.1* `asset_name` - The new [`AssetName`] that will be associated to the asset.4# Permissions* Asset # Events�* `AssetRenamed` - When an asset is successfully renamed. # Errors}* `MaxLengthOfAssetNameExceeded` - If the asset name length exceeds the maximum allowed length.�* `NoSuchAsset` - If the asset does not exist.issue asset_id�AssetIdamountBalance8portfolio_kind�4PortfolioKindTYIssue (i.e mint) new tokens to the caller, which must be an authorized external agent.�This function allows the asset issuer or an external agent to mint new tokens for a given asset.,# Arguments%* `origin`: A signer that has permissions to act as an agent of `ticker`.�* `asset_id`: the [`AssetId`] associated to the asset.�* `amount`: The amount of tokens that will be issued.}* `portfolio_kind`: The [`PortfolioKind`] of the portfolio that will receive the minted tokens.4# Permissions* Asset,* Portfolio # Events%* `AssetBalanceUpdated` - When the asset balance is successfully updated. # Errors* `UnexpectedNonFungibleToken` - If the asset is a non-fungible token.m* `InvalidGranularity` - If the amount to issue does not meet the granularity requirements.A* `TotalSupplyOverflow` - If the total supply exceeds the maximum allowed limit.redeem asset_id�AssetIdvalueBalance8portfolio_kind�4PortfolioKindT�Redeems (i.e burns) existing tokens by reducing the balance of the caller's portfolio and the total supply of the asset.}This function allows the asset issuer or an external agent to redeem tokens from a given asset.,# Arguments9* `origin`: is a signer that has permissions to act as an agent of `asset_id`.�* `asset_id`: the [`AssetId`] associated to the asset.�* `value`: amount of tokens to redeem.5* `portfolio_kind`: the [`PortfolioKind`] that will have its balance reduced.4# Permissions* Asset,* Portfolio # Events%* `AssetBalanceUpdated` - When the asset balance is successfully updated. # Errors* `UnexpectedNonFungibleToken` - If the asset is a non-fungible token.m* `InvalidGranularity` - If the value to redeem does not meet the granularity requirements.A* `TotalSupplyOverflow` - If the total supply exceeds the maximum allowed limit.8make_divisible asset_id�AssetId	H}If the asset associated to `asset_id` is indivisible, sets [`AssetDetails::divisible`] to true.�This function allows the asset issuer or an external agent to make an indivisible asset divisible.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.4# Permissions* Asset # EventsQ* `DivisibilityChanged` - When the divisibility of an asset is successfully changed. # Errors�* `NoSuchAsset` - If the asset does not exist.* `UnexpectedNonFungibleToken` - If the asset is a non-fungible token.�* `AssetAlreadyDivisible` - If the asset is already divisible.4add_documentsdocs�4Vec<Document> asset_id�AssetId
D�Add documents for a given asset.aThis function allows the asset issuer or an external agent to add documents to an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.�* `docs` - Documents to be attached to the asset.4# Permissions* Asset # Events* `DocumentAdded` - When a document is successfully added to an asset. # Errors�* `CounterOverflow` - If the document ID counter overflows.@remove_documentsdocs_id
<Vec<DocumentId> asset_id�AssetId8�Remove documents for a given asset.uThis function allows the asset issuer or an external agent to remove documents from an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.E* `docs_id` - A vector of all [`DocumentId`] that will be removed from the asset.4# Permissions* Asset # Events1* `DocumentRemoved` - When a document is successfully removed from an asset.Dset_funding_round asset_id�AssetIdHfunding_round_name�@FundingRoundNameD�Sets the name of the current funding round.�This function allows the asset issuer or an external agent to set the name of the current funding round for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.=* `funding_round_name` - The [`FundingRoundName`] of the current funding round.4# Permissions* Asset # Events* `FundingRoundSet` - When the funding round name is successfully set. # Errors�* `FundingRoundNameMaxLengthExceeded` - If the funding round name length exceeds the maximum allowed length.Hupdate_identifiers asset_id�AssetIdDasset_identifiers�PVec<AssetIdentifier>
D�Updates the asset identifiers associated to the asset.�This function allows the asset issuer or an external agent to update the asset identifiers for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.u* `asset_identifiers` - A vector of [`AssetIdentifier`] that will be associated to the asset.4# Permissions* Asset # Events5* `IdentifiersUpdated` - When the asset identifiers are successfully updated. # Errors%* `InvalidAssetIdentifier` - If any of the asset identifiers are invalid.Lcontroller_transfer asset_id�AssetIdvalueBalance8from_portfolio�,PortfolioIdTQForces a transfer of tokens from `from_portfolio` to the caller's default portfolio.�This function allows the asset issuer or an external agent to force a transfer of tokens from one portfolio to another.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.�* `value` - The [`Balance`] of tokens that will be transferred.1* `from_portfolio` - The [`PortfolioId`] that will have its balance reduced.4# Permissions* Asset,* Portfolio # Events	* `ControllerTransfer` - When tokens are successfully transferred. # Errors* `UnexpectedNonFungibleToken` - If the asset is a non-fungible token.y* `InvalidGranularity` - If the amount to transfer does not meet the granularity requirements.A* `TotalSupplyOverflow` - If the total supply exceeds the maximum allowed limit.hregister_custom_asset_typety0Vec<u8>0xRegisters a custom asset type.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `ty` - Contains the string representation of the asset type. # Eventsa* `CustomAssetTypeRegistered` - When a new custom asset type is successfully registered.a* `CustomAssetTypeAlreadyRegistered` - When the custom asset type is already registered. # ErrorsE* `TooLong` - If the custom asset type length exceeds the maximum allowed length.tcreate_asset_with_custom_type(asset_name�$AssetName$divisible9boolDcustom_asset_type0Vec<u8>Dasset_identifiers�PVec<AssetIdentifier>Hfunding_round_name�`Option<FundingRoundName>X�Creates a new asset with a new custom asset type.=The total supply will initially be zero. To mint tokens, use [`Pallet::issue`].,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_name` - The [`AssetName`] of the new asset.q* `divisible` - Sets [`AssetDetails::divisible`], where `true` means the asset is divisible.�* `custom_asset_type` - The custom asset type of the asset.�* `asset_identifiers` - A vector of [`AssetIdentifier`].9* `funding_round_name` - The name of the funding round ([`FundingRoundName`]). # Events�* `AssetCreated` - When a new asset is successfully created.a* `CustomAssetTypeRegistered` - When a new custom asset type is successfully registered.a* `CustomAssetTypeAlreadyRegistered` - When the custom asset type is already registered. # Errors}* `MaxLengthOfAssetNameExceeded` - If the asset name length exceeds the maximum allowed length.* `InvalidCustomAssetTypeId` - If the custom asset type ID is invalid.%* `InvalidAssetIdentifier` - If any of the asset identifiers are invalid.E* `TooLong` - If the custom asset type length exceeds the maximum allowed length.Hset_asset_metadata asset_id�AssetIdkeya@AssetMetadataKeyvalue-HAssetMetadataValuedetail1�Option<AssetMetadataValueDetail<T::Moment>>TdSet asset metadata value.aThis function allows the asset issuer or an external agent to set metadata for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.�* `key` - The [`AssetMetadataKey`] associated to the asset.* `value` - The [`AssetMetadataValue`] of the given metadata key.)* `details` - Optional [`AssetMetadataValueDetail`] (expire, lock status).4# Permissions* Asset # Events9* `SetAssetMetadataValue` - When the asset metadata value is successfully set. # Errors�* `AssetMetadataKeyIsMissing` - If the metadata key is missing.* `AssetMetadataValueIsLocked` - If the metadata value is locked.�* `AssetMetadataValueMaxLengthExceeded` - If the metadata value length exceeds the maximum allowed length.hset_asset_metadata_details asset_id�AssetIdkeya@AssetMetadataKeydetail5�AssetMetadataValueDetail<T::Moment>P�Set asset metadata value details (expire, lock status).�This function allows the asset issuer or an external agent to set metadata details for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.�* `key` - The [`AssetMetadataKey`] associated to the asset.�* `details` - The [`AssetMetadataValueDetail`] (expire, lock status) that will be associated to the asset.4# Permissions* Asset # Eventsy* `SetAssetMetadataValueDetails` - When the asset metadata value details are successfully set. # Errors�* `AssetMetadataKeyIsMissing` - If the metadata key is missing.* `AssetMetadataValueIsLocked` - If the metadata value is locked.�* `AssetMetadataValueIsEmpty` - If the metadata value is empty.�register_and_set_local_asset_metadata asset_id�AssetIdname=DAssetMetadataNamespecEDAssetMetadataSpecvalue-HAssetMetadataValuedetail1�Option<AssetMetadataValueDetail<T::Moment>>\�Registers and set local asset metadata.�This function allows the asset issuer or an external agent to register and set local metadata for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.�* `name` - The [`AssetMetadataName`].* `spec` - The asset metadata specifications ([`AssetMetadataSpec`]).* `value` - The [`AssetMetadataValue`] of the given metadata key.)* `details` - Optional [`AssetMetadataValueDetail`] (expire, lock status).4# Permissions* Asset # Events�* `RegisterAssetMetadataLocalType` - When the local asset metadata type is successfully registered.9* `SetAssetMetadataValue` - When the asset metadata value is successfully set. # ErrorsI* `AssetMetadataLocalKeyAlreadyExists` - If the local metadata key already exists.* `AssetMetadataValueIsLocked` - If the metadata value is locked.�* `AssetMetadataValueMaxLengthExceeded` - If the metadata value length exceeds the maximum allowed length.�register_asset_metadata_local_type asset_id�AssetIdname=DAssetMetadataNamespecEDAssetMetadataSpecP�Registers asset metadata local type.�This function allows the asset issuer or an external agent to register a local metadata type for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.�* `name` - The [`AssetMetadataName`].* `spec` - The asset metadata specifications ([`AssetMetadataSpec`]).4# Permissions* Asset # Events�* `RegisterAssetMetadataLocalType` - When the local asset metadata type is successfully registered. # ErrorsI* `AssetMetadataLocalKeyAlreadyExists` - If the local metadata key already exists.�* `AssetMetadataNameMaxLengthExceeded` - If the metadata name length exceeds the maximum allowed length.�* `AssetMetadataTypeDefMaxLengthExceeded` - If the metadata type definition length exceeds the maximum allowed length.�register_asset_metadata_global_typename=DAssetMetadataNamespecEDAssetMetadataSpec@�Registers asset metadata global type.!This function allows the root origin to register a global metadata type.,# Argumentst* `origin` - The root origin.�* `name` - The [`AssetMetadataName`].* `spec` - The asset metadata specifications ([`AssetMetadataSpec`]). # Events�* `RegisterAssetMetadataGlobalType` - When the global asset metadata type is successfully registered. # ErrorsQ* `AssetMetadataGlobalKeyAlreadyExists` - If the global metadata key already exists.�* `AssetMetadataNameMaxLengthExceeded` - If the metadata name length exceeds the maximum allowed length.�* `AssetMetadataTypeDefMaxLengthExceeded` - If the metadata type definition length exceeds the maximum allowed length.Dupdate_asset_type asset_id�AssetId(asset_type�$AssetTypeLtUpdates the type of an asset.iThis function allows the asset issuer or an external agent to update the type of an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.�* `asset_type` - The new [`AssetType`] of the asset.4# Permissions* Asset # Events
* `AssetTypeChanged` - When the asset type is successfully changed. # Errors�* `NoSuchAsset` - If the asset does not exist.* `InvalidCustomAssetTypeId` - If the custom asset type ID is invalid.�* `IncompatibleAssetTypeUpdate` - If the new asset type is incompatible with the existing asset type.dremove_local_metadata_key asset_id�AssetId$local_keyATAssetMetadataLocalKeyL�Removes the asset metadata key and value of a local key.�This function allows the asset issuer or an external agent to remove a local metadata key and its value for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.* `asset_id` - The [`AssetId`] associated to the local metadata key.
* `local_key` - The [`AssetMetadataLocalKey`] that will be removed.4# Permissions* Asset # EventsI* `LocalMetadataKeyDeleted` - When the local metadata key is successfully deleted. # Errors* `AssetMetadataKeyIsMissing` - If the local metadata key is missing.* `AssetMetadataValueIsLocked` - If the metadata value is locked.y* `AssetMetadataKeyBelongsToNFTCollection` - If the metadata key belongs to an NFT collection.Tremove_metadata_value asset_id�AssetId0metadata_keya@AssetMetadataKeyH�Removes the asset metadata value of a metadata key.�This function allows the asset issuer or an external agent to remove a metadata value for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the metadata key.5* `metadata_key` - The [`AssetMetadataKey`] that will have its value deleted.4# Permissions* Asset # Events-* `MetadataValueDeleted` - When the metadata value is successfully deleted. # Errors�* `AssetMetadataKeyIsMissing` - If the metadata key is missing.* `AssetMetadataValueIsLocked` - If the metadata value is locked.`exempt_asset_affirmation asset_id�AssetId(�Pre-approves the receivement of the asset for all identities.�This function allows the root origin to pre-approve the receivement of an asset for all identities.,# Argumentst* `origin` - The root origin.* `asset_id` - The [`AssetId`] that will be exempt from affirmation. # Eventse* `AssetAffirmationExemption` - When the asset is successfully exempted from affirmation.�remove_asset_affirmation_exemption asset_id�AssetId(�Removes the pre-approval of the asset for all identities.}This function allows the root origin to remove the pre-approval of an asset for all identities.,# Argumentst* `origin` - The root origin.* `asset_id` - The [`AssetId`] that will have its exemption removed. # Events�* `RemoveAssetAffirmationExemption` - When the asset's affirmation exemption is successfully removed.Dpre_approve_asset asset_id�AssetId,�Pre-approves the receivement of an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.* `asset_id` - The [`AssetId`] that will be exempt from affirmation.4# Permissions* Asset # EventsM* `PreApprovedAsset` - When the asset is successfully pre-approved for receivement.dremove_asset_pre_approval asset_id�AssetId,�Removes the pre-approval of an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.* `asset_id` - The [`AssetId`] that will have its exemption removed.4# Permissions* Asset # EventsM* `RemovePreApprovedAsset` - When the asset's pre-approval is successfully removed.\add_mandatory_mediators asset_id�AssetId$mediators��BoundedBTreeSet<IdentityId, T::MaxAssetMediators>D�Sets all identities in the `mediators` set as mandatory mediators for any instruction transferring `asset_id`.�This function allows the asset issuer or an external agent to add mandatory mediators for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.1* `asset_id` - The [`AssetId`] of the asset that will require the mediators.q* `mediators` - A set of [`IdentityId`] of all the mandatory mediators for the given ticker.4# Permissions* Asset # Events9* `AssetMediatorsAdded` - When the mandatory mediators are successfully added. # Errors�* `NumberOfAssetMediatorsExceeded` - If the number of mandatory mediators exceeds the maximum allowed limit.hremove_mandatory_mediators asset_id�AssetId$mediators��BoundedBTreeSet<IdentityId, T::MaxAssetMediators>8�Removes all identities in the `mediators` set from the mandatory mediators list for the given `asset_id`.�This function allows the asset issuer or an external agent to remove mandatory mediators for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.5* `asset_id` - The [`AssetId`] of the asset that will have mediators removed.�* `mediators` - A set of [`IdentityId`] of all the mediators that will be removed from the mandatory mediators list.4# Permissions* Asset # EventsI* `AssetMediatorsRemoved` - When the mandatory mediators are successfully removed.\link_ticker_to_asset_idtickerTicker asset_id�AssetIdT�Establishes a connection between a ticker and an AssetId.aThis function allows the asset issuer or an external agent to link a ticker to an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.!* `ticker` - The [`Ticker`] that will be linked to the given `asset_id`.	* `asset_id` - The [`AssetId`] that will be connected to `ticker`.4# Permissions* Asset # Events9* `TickerLinkedToAsset` - When the ticker is successfully linked to the asset. # ErrorsA* `TickerNotRegisteredToCaller` - If the ticker is not registered to the caller.* `TickerRegistrationExpired` - If the ticker registration has expired.%* `TickerRegistrationNotFound` - If the ticker registration is not found.E* `TickerIsAlreadyLinkedToAnAsset` - If the ticker is already linked to an asset.=* `AssetIsAlreadyLinkedToATicker` - If the asset is already linked to a ticker.lunlink_ticker_from_asset_idtickerTicker asset_id�AssetId L�Removes the link between a ticker and an asset.qThis function allows the asset issuer or an external agent to unlink a ticker from an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.1* `ticker` - The [`Ticker`] that will be unlinked from the given `asset_id`.
* `asset_id` - The [`AssetId`] that will be unlinked from `ticker`.4# Permissions* Asset # EventsY* `TickerUnlinkedFromAsset` - When the ticker is successfully unlinked from the asset. # ErrorsA* `TickerNotRegisteredToCaller` - If the ticker is not registered to the caller.%* `TickerRegistrationNotFound` - If the ticker registration is not found.-* `TickerIsNotLinkedToTheAsset` - If the ticker is not linked to the asset.lupdate_global_metadata_specLasset_metadata_name=DAssetMetadataNameLasset_metadata_specEDAssetMetadataSpec!8�Updates the global metadata specification.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.a* `asset_metadata_name` - The [`AssetMetadataName`] associated with the global metadata.�* `asset_metadata_spec` - The new [`AssetMetadataSpec`] that will be associated with the global metadata. # Events}* `GlobalMetadataSpecUpdated` - When the global metadata specification is successfully updated. # Errors�* `BadOrigin` - If the origin is not authorized.m* `TooLong` - If the metadata url or description length exceeds the maximum allowed length.�* `AssetMetadataTypeDefMaxLengthExceeded` - If the metadata type definition length exceeds the maximum allowed length.%Contains one variant per dispatchable that can be called by an extrinsic.��Lbounded_collectionsDbounded_btree_set<BoundedBTreeSetT�Su,BTreeSet<T>�`pallet_corporate_actions0distributionpalletCallT(distributeca_id�CAId$portfolio�\Option<PortfolioNumber> currency�AssetId$per_shareBalanceamountBalance(payment_at(Moment(expires_at8Option<Moment>�%Start and attach a capital distribution, to the CA identified by `ca_id`,ewith `amount` funds in `currency` withdrawn from `portfolio` belonging to `origin`'s DID.)The distribution will commence at `payment_at` and expire at `expires_at`,�if provided, or if `None`, then there's no expiry.%The funds will be locked in `portfolio` from when `distribute` is called.5When there's no expiry, some funds may be locked indefinitely in `portfolio`,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 from `portfolio`.MHowever, if we imagine that users `Alice` and `Bob` both are entitled to 1.5 units,Qand only receive `1` units each, then `0.5 + 0.5 = 1` units are left in `portfolio`,lwhich is now transferrable.0## ArgumentsM- `origin` is a signer that has permissions to act as an agent of `ca_id.asset_id`.- `ca_id` identifies the CA to start a capital distribution for.Y- `portfolio` specifies the portfolio number of the agent to distribute `amount` from.�- `currency` to withdraw and distribute from the `portfolio`.�- `per_share` amount of `currency` to withdraw and distribute.%   Specified as a per-million, i.e. `1 / 10^6`th of one `currency` token.�- `amount` of `currency` 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 by `origin`. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `ExpiryBeforePayment` if `expires_at.unwrap() <= payment_at`.�- `NoSuchCA` if `ca_id` does not identify an existing CA.�- `NoRecordDate` if CA has no record date.�- `RecordDateAfterStart` if CA's record date > payment_at.1- `UnauthorizedCustodian` if the caller is not the custodian of `portfolio`.U- `InsufficientPortfolioBalance` if `portfolio` has less than `amount` of `currency`.- `InsufficientBalance` if the protocol fee couldn't be charged.E- `CANotBenefit` if the CA is not of kind PredictableBenefit/UnpredictableBenefit�- `DistributionAmountIsZero` if the `amount` is zero.�- `DistributionPerShareIsZero` if the `per_share` is zero.4# Permissions* Asset,* Portfolioclaimca_id�CAId\Claim a benefit of the capital distribution attached to `ca_id`.�Taxes are withheld as specified by the CA.YPost-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.9Moreover, before post-tax earnings, in indivisible currencies are transferred,�they are rounded down to a whole unit.0## ArgumentsE- `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` if `origin`'s DID has already received its benefit.- `NoSuchDistribution` if there's no capital distribution for `ca_id`.�- `CannotClaimBeforeStart` if `now < payment_at`.�- `CannotClaimAfterExpiry` if `now > expiry_at.unwrap()`.�- `NoSuchCA` if `ca_id` does not identify an existing CA.�- `NotTargetedByCA` if the CA does not target `origin`'s DID.5- `BalanceAmountProductOverflowed` if `ba = balance * amount` would overflow.5- `BalanceAmountProductSupplyDivisionFailed` if `ba * supply` would overflow.!- Other errors can occur if the compliance manager rejects the transfer.0push_benefitca_id�CAIdholder�(IdentityId`�Push benefit of an ongoing distribution to the given `holder`.�Taxes are withheld as specified by the CA.YPost-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.9Moreover, before post-tax earnings, in indivisible currencies are transferred,�they are rounded down to a whole unit.0## ArgumentsM- `origin` is a signer that has permissions to act as an agent of `ca_id.asset_id`.9- `ca_id` identifies the CA with a capital distributions to push benefits for.|- `holder` to push benefits to. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.- `NoSuchDistribution` if there's no capital distribution for `ca_id`.�- `CannotClaimBeforeStart` if `now < payment_at`.�- `CannotClaimAfterExpiry` if `now > expiry_at.unwrap()`.�- `NoSuchCA` if `ca_id` does not identify an existing CA.�- `NotTargetedByCA` if the CA does not target `holder`.5- `BalanceAmountProductOverflowed` if `ba = balance * amount` would overflow.5- `BalanceAmountProductSupplyDivisionFailed` if `ba * supply` would overflow.!- Other errors can occur if the compliance manager rejects the transfer.reclaimca_id�CAId,�Assuming a distribution has expired,�unlock the remaining amount in the distributor portfolio.0## ArgumentsE- `origin` which must be the creator of the capital distribution tied to `ca_id`.- `ca_id` identifies the CA with a capital distribution to reclaim for. # Errors- `NoSuchDistribution` if there's no capital distribution for `ca_id`.-- `AlreadyReclaimed` if this function has already been called successfully.�- `NotExpired` if `now < expiry`.Lremove_distributionca_id�CAId,�Removes a distribution that hasn't started yet,�unlocking the full amount in the distributor portfolio.0## ArgumentsM- `origin` is a signer that has permissions to act as an agent of `ca_id.asset_id`.I- `ca_id` identifies the CA with a not-yet-started capital distribution to remove. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.- `NoSuchDistribution` if there's no capital distribution for `ca_id`.�- `DistributionStarted` if `payment_at <= now`.%Contains one variant per dispatchable that can be called by an extrinsic.�OptionT�NoneSome��0pallet_asset(checkpointpalletCallTDcreate_checkpoint asset_id�AssetId$�Creates a single checkpoint at the current time.,# Arguments5- `origin` is a signer that has permissions to act as an agent of `asset_id`.�- `asset_id` to create the checkpoint for. # Errors]- `UnauthorizedAgent` if the DID of `origin` isn't a permissioned agent for `asset_id`.
- `CounterOverflow` if the total checkpoint counter would overflow.pset_schedules_max_complexity8max_complexity(u64$aSets the max complexity of a schedule set for an arbitrary asset_id 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").,# Argumentsx- `origin` is the root origin.- `max_complexity` allowed for an arbitrary asset's schedule set.<create_schedule asset_id�AssetId schedule�LScheduleCheckpointsD�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 of `asset_id`.�- `asset_id` to create the schedule for.�- `schedule` that will generate checkpoints. # Errors]- `UnauthorizedAgent` if the DID of `origin` isn't a permissioned agent for `asset_id`.!- `InsufficientAccountBalance` if the protocol fee could not be charged.M- `CounterOverflow` if the schedule ID or total checkpoint counters would overflow.4# Permissions* Asset<remove_schedule asset_id�AssetIdid�(ScheduleId8�Removes the checkpoint schedule of an asset identified by `id`.,# Arguments)- `origin` is a signer that has permissions to act as owner of `asset_id`.�- `asset_id` to remove the schedule from.	- `id` of the schedule, when it was created by `created_schedule`. # Errors]- `UnauthorizedAgent` if the DID of `origin` isn't a permissioned agent for `asset_id`.I- `NoCheckpointSchedule` if `id` does not identify a schedule for this `asset_id`.�- `ScheduleNotRemovable` if `id` exists but is not removable.4# Permissions* Asset%Contains one variant per dispatchable that can be called by an extrinsic.�dpallet_compliance_managerpalletCallT$hadd_compliance_requirement asset_id�AssetIdDsender_conditions�8Vec<Condition>Lreceiver_conditions�8Vec<Condition>,�Adds a compliance requirement to an asset given by `asset_id`.iIf there are duplicate ClaimTypes for a particular trusted issuer, duplicates are removed.,# Arguments)* origin - Signer of the dispatchable. It should be the owner of the asset�* asset_id - Symbol of the asset�* sender_conditions - Sender transfer conditions.�* receiver_conditions - Receiver transfer conditions.4# Permissions* Assettremove_compliance_requirement asset_id�AssetIdidu32$�Removes a compliance requirement from an asset's compliance.,# Arguments)* origin - Signer of the dispatchable. It should be the owner of the asset�* asset_id - Symbol of the asset�* id - Compliance requirement id which is need to be removed4# Permissions* Asset`replace_asset_compliance asset_id�AssetId@asset_compliance�hVec<ComplianceRequirement><�Replaces an asset's compliance with a new compliance.�Compliance requirements will be sorted (ascending by id) before�replacing the current requirements.,# Arguments�* `asset_id` - the asset asset_id,�* `asset_compliance - the new asset compliance. # Errors�* `Unauthorized` if `origin` is not the owner of the asset_id.�* `DuplicateAssetCompliance` if `asset_compliance` contains multiple entries with the same `requirement_id`.4# Permissions* AssetXreset_asset_compliance asset_id�AssetId tRemoves an asset's compliance,# Arguments)* origin - Signer of the dispatchable. It should be the owner of the asset�* asset_id - Symbol of the asset4# Permissions* AssetXpause_asset_compliance asset_id�AssetId Pauses the verification of conditions for `asset_id` during transfers.,# Arguments)* origin - Signer of the dispatchable. It should be the owner of the asset�* asset_id - Symbol of the asset4# Permissions* Asset\resume_asset_compliance asset_id�AssetId Resumes the verification of conditions for `asset_id` during transfers.,# Arguments)* origin - Signer of the dispatchable. It should be the owner of the asset�* asset_id - Symbol of the asset4# Permissions* Asset�add_default_trusted_claim_issuer asset_id�AssetIdissuer�4TrustedIssuer$�Adds another default trusted claim issuer at the asset level.,# Arguments-* origin - Signer of the dispatchable. It should be the owner of the asset.�* asset_id - Symbol of the asset.�* issuer - IdentityId of the trusted claim issuer.4# Permissions* Asset�remove_default_trusted_claim_issuer asset_id�AssetIdissuer�(IdentityId$qRemoves the given `issuer` from the set of default trusted claim issuers at the asset level.,# Arguments-* origin - Signer of the dispatchable. It should be the owner of the asset.�* asset_id - Symbol of the asset.�* issuer - IdentityId of the trusted claim issuer.4# Permissions* Assettchange_compliance_requirement asset_id�AssetIdnew_req�TComplianceRequirement$�Modify an existing compliance requirement of a given asset.,# Arguments-* origin - Signer of the dispatchable. It should be the owner of the asset.�* asset_id - Symbol of the asset.�* new_req - Compliance requirement.4# Permissions* Asset%Contains one variant per dispatchable that can be called by an extrinsic.�`pallet_corporate_actionspalletCallT(Xset_max_details_lengthlengthu32�Set the max `length` of `details` in terms of bytes.tMay only be called via a PIP.Lset_default_targets asset_id�AssetIdtargets�@TargetIdentities4�Set the default CA `TargetIdentities` to `targets`.0## ArgumentsM- `origin` which must be an external agent of `asset_id` with relevant permissions.�- `asset_id` for which the default identities are changing.�- `targets` the default target identities for a CA.$## Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.1- `TooManyTargetIds` if `targets.identities.len() > T::MaxTargetIds::get()`.4# Permissions* Assetlset_default_withholding_tax asset_id�AssetIdtax�Tax0ESet the default withholding tax for all DIDs and CAs relevant to this `asset_id`.0## ArgumentsM- `origin` which must be an external agent of `asset_id` with relevant permissions.�- `asset_id` that the withholding tax will apply to.- `tax` that should be withheld when distributing dividends, etc.$## Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.4# Permissions* Asset\set_did_withholding_tax asset_id�AssetId$taxed_did�(IdentityIdtax�,Option<Tax>@�Set the withholding tax of `asset_id` for `taxed_did` to `tax`.�If `Some(tax)`, this overrides the default withholding tax of `asset_id` to `tax` for `taxed_did`.�Otherwise, if `None`, the default withholding tax will be used.0## ArgumentsM- `origin` which must be an external agent of `asset_id` with relevant permissions.�- `asset_id` 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` if `origin` is not agent-permissioned for `asset_id`.�- `TooManyDidTaxes` if `Some(tax)` and adding the override would go over the limit `MaxDidWhts`.4# Permissions* Assetdinitiate_corporate_action  asset_id�AssetIdkind�CAKind$decl_date(Moment,record_date�XOption<RecordDateSpec>details	$CADetailstargets�`Option<TargetIdentities>\default_withholding_tax�,Option<Tax><withholding_tax�xOption<Vec<(IdentityId, Tax)>>xQInitiates a CA for `asset_id` of `kind` with `details` and other provided arguments.0## ArgumentsM- `origin` which must be an external agent of `asset_id` with relevant permissions.�- `asset_id` 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.a   If provided, this results in a scheduled balance snapshot ("checkpoint") at the date.M- `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.I   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.i   Overrides, if provided, the default at the asset level (`set_default_withholding_tax`).!- `withholding_tax`, if any, provides per-DID withholding tax overrides.Y   Overrides, if provided, the default at the asset level (`set_did_withholding_tax`). # Errors- `DetailsTooLong` if `details.len()` goes beyond `max_details_length`.-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.q- `CounterOverflow` in the unlikely event that so many CAs were created for this `asset_id`,�  that integer overflow would have occured if instead allowed.u- `TooManyDidTaxes` if `withholding_tax.unwrap().len()` would go over the limit `MaxDidWhts`.- `DuplicateDidTax` if a DID is included more than once in `wt`.U- `TooManyTargetIds` if `targets.unwrap().identities.len() > T::MaxTargetIds::get()`.- `DeclDateInFuture` if the declaration date is not in the past.Q- When `record_date.is_some()`, other errors due to checkpoint scheduling may occur.4# Permissions* Asset,link_ca_docid�CAIddocs
<Vec<DocumentId>H�Link the given CA `id` to the given `docs`.�Any previous links for the CA are removed in favor of `docs`.UThe workflow here is to add the documents and initiating the CA in any order desired.�Once both exist, they can now be linked together.0## ArgumentsY- `origin` which must be an external agent of `id.asset_id` with relevant permissions.�- `id` of the CA to associate with `docs`.�- `docs` to associate with the CA with `id`. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `NoSuchCA` if `id` does not identify an existing CA.- `NoSuchDoc` if any of `docs` does not identify an existing document.4# Permissions* Asset$remove_caca_id�CAIdH�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.0## Argumentse- `origin` which must be an external agent of `ca_id.asset_id` with relevant permissions.x- `ca_id` of the CA to remove. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `NoSuchCA` if `id` does not identify an existing CA.4# Permissions* AssetHchange_record_dateca_id�CAId,record_date�XOption<RecordDateSpec><�Changes the record date of the CA identified by `ca_id`.0## Argumentse- `origin` which must be an external agent of `ca_id.asset_id` with relevant permissions.t- `ca_id` of the CA to alter.�- `record_date`, if any, to calculate the impact of the CA.a   If provided, this results in a scheduled balance snapshot ("checkpoint") at the date. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `NoSuchCA` if `id` does not identify an existing CA.Q- When `record_date.is_some()`, other errors due to checkpoint scheduling may occur.4# Permissions* Asset�initiate_corporate_action_and_distributeca_args�lInitiateCorporateActionArgs$portfolio�\Option<PortfolioNumber> currency�AssetId$per_shareBalanceamountBalance(payment_at(Moment(expires_at8Option<Moment>Utility extrinsic to batch `initiate_corporate_action` and `distribute`�initiate_corporate_action_and_ballotca_args�lInitiateCorporateActionArgsDballot_time_range<BallotTimeRange,ballot_meta(BallotMetarcv9bool	%Contains one variant per dispatchable that can be called by an extrinsic.�OptionT�NoneSome��`pallet_corporate_actions8RecordDateSpec$Scheduled(Moment@ExistingSchedule�(ScheduleId Existing�0CheckpointId�OptionT�NoneSome��OptionTNoneSome�`pallet_corporate_actionslInitiateCorporateActionArgs  asset_id�AssetIdkind�CAKind$decl_date(Moment,record_date�XOption<RecordDateSpec>details	$CADetailstargets�`Option<TargetIdentities>\default_withholding_tax�,Option<Tax><withholding_tax�xOption<Vec<(IdentityId, Tax)>>�`pallet_corporate_actionsballotpalletCallT4attach_ballotca_id�CAIdrange<BallotTimeRangemeta(BallotMetarcv9boolh�Attach a corporate ballot to the CA identified by `ca_id`.�The ballot will admit votes within `range`.�The ballot's metadata is provided by `meta`,which includes the ballot title, the motions, their choices, etc.xSee the `BallotMeta` for more.0## ArgumentsM- `origin` is a signer that has permissions to act as an agent of `ca_id.asset_id`.�- `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` if `origin` is not agent-permissioned for `asset_id`.�- `NoSuchCA` if `ca_id` does not identify an existing CA.�- `CANotNotice` if the CA is not of the `IssuerNotice` kind.�- `StartAfterEnd` if `range.start > range.end`.)- `NowAfterEnd` if `now > range.end` where `now` is the current timestamp.�- `NoRecordDate` if CA has no record date.Y- `RecordDateAfterStart` if `date > range.start` where `date` is the CA's record date.�- `AlreadyExists` if there's a ballot already.1- `NumberOfChoicesOverflow` if the total choice in `meta` overflows `usize`.	- `TooLong` if any of the embedded strings in `meta` are too long.- `InsufficientBalance` if the protocol fee couldn't be charged.voteca_id�CAIdvotes9<Vec<BallotVote>DCast `votes` in the ballot attached to the CA identified by `ca_id`.0## 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.U   The full voting power of `origin`'s DID may be used for each motion in the ballot. # Errors�- `NoSuchBallot` if `ca_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 match `votes.len()`.�- `NoSuchCA` if `ca_id` does not identify an existing CA.�- `NotTargetedByCA` if the CA does not target `origin`'s DID.!- `InsufficientVotes` if the voting power used for any motion in `votes`�   exceeds `origin`'s DID's voting power.(change_endca_id�CAIdend(Moment0Amend the end date of the ballot of the CA identified by `ca_id`.0## ArgumentsM- `origin` is a signer that has permissions to act as an agent of `ca_id.asset_id`.�- `ca_id` identifies the attached ballot's CA.�- `end` specifies the new end date of the ballot. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `NoSuchBallot` if `ca_id` does not identify a ballot.1- `VotingAlreadyStarted` if `start >= now`, where `now` is the current time.�- `StartAfterEnd` if `start > end`.,change_metaca_id�CAIdmeta(BallotMeta4aAmend the metadata (title, motions, etc.) of the ballot of the CA identified by `ca_id`.0## ArgumentsM- `origin` is a signer that has permissions to act as an agent of `ca_id.asset_id`.�- `ca_id` identifies the attached ballot's CA.�- `meta` specifies the new metadata. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `NoSuchBallot` if `ca_id` does not identify a ballot.1- `VotingAlreadyStarted` if `start >= now`, where `now` is the current time.1- `NumberOfChoicesOverflow` if the total choice in `meta` overflows `usize`.	- `TooLong` if any of the embedded strings in `meta` are too long.(change_rcvca_id�CAIdrcv9bool,Amend RCV support for the ballot of the CA identified by `ca_id`.0## ArgumentsM- `origin` is a signer that has permissions to act as an agent of `ca_id.asset_id`.�- `ca_id` identifies the attached ballot's CA.�- `rcv` specifies if RCV is to be supported or not. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `NoSuchBallot` if `ca_id` does not identify a ballot.1- `VotingAlreadyStarted` if `start >= now`, where `now` is the current time.4remove_ballotca_id�CAId(�Remove the ballot of the CA identified by `ca_id`.0## ArgumentsM- `origin` is a signer that has permissions to act as an agent of `ca_id.asset_id`.�- `ca_id` identifies the attached ballot's CA. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `NoSuchBallot` if `ca_id` does not identify a ballot.1- `VotingAlreadyStarted` if `start >= now`, where `now` is the current time.%Contains one variant per dispatchable that can be called by an extrinsic.�,pallet_pipspalletCallTDdset_prune_historical_pipsprune9bool,�Sets the pruning setting for historical PIPs. This function can only be called by the root origin.,# Arguments�* `origin` - The origin of the call, which must be the root.�* `prune` - A boolean flag indicating whether completed PIPs should be pruned (`true`) or retained (`false`). # Events�* `HistoricalPipsPruned` - Emitted when the pruning setting is changed, containing the old and new values. # Errors�* `BadOrigin` - If the call is not made by the root origin.`set_min_proposal_depositdepositBalance,�Changes the minimum proposal deposit amount required to start a proposal. This function can only be called by the root origin.,# Arguments�* `origin` - The origin of the call, which must be the root.
* `deposit` - The new minimum deposit required to start a proposal. # Events�* `MinimumProposalDepositChanged` - Emitted when the minimum proposal deposit is changed, containing the old and new values. # Errors�* `BadOrigin` - If the call is not made by the root origin.pset_default_enactment_period duration8T::BlockNumber,iChanges the default enactment period. This function can only be called by the root origin.,# Arguments�* `origin` - The origin of the call, which must be the root.�* `period` - The new default enactment period. # Events�* `DefaultEnactmentPeriodChanged` - Emitted when the default enactment period is changed, containing the old and new values. # Errors�* `BadOrigin` - If the call is not made by the root origin.Xset_pending_pip_expiryexpiryQhMaybeBlock<T::BlockNumber>,�Sets the expiry duration (in blocks) for pending PIPs. This function can only be called by the root origin.,# Arguments�* `origin` - The origin of the call, which must be the root.Q* `expiry` - The new expiry duration for pending PIPs. If `None`, PIPs never expire. # Events�* `PendingPipExpiryChanged` - Emitted when the pending PIP expiry duration is changed, containing the old and new values. # Errors�* `BadOrigin` - If the call is not made by the root origin.Xset_max_pip_skip_countmax0SkippedCount,�Sets the maximum number of times a PIP can be skipped. This function can only be called by the root origin.,# Arguments�* `origin` - The origin of the call, which must be the root.�* `max` - The new maximum skip count for PIPs. # Events�* `MaxPipSkipCountChanged` - Emitted when the maximum PIP skip count is changed, containing the old and new values. # Errors�* `BadOrigin` - If the call is not made by the root origin.Pset_active_pip_limitlimitu32,�Sets the limit on the number of active PIPs. This function can only be called by the root origin.,# Arguments�* `origin` - The origin of the call, which must be the root.�* `limit` - The new limit on the number of active PIPs. # Events�* `ActivePipLimitChanged` - Emitted when the active PIP limit is changed, containing the old and new values. # Errors�* `BadOrigin` - If the call is not made by the root origin.propose proposal�@Box<T::Proposal>depositBalanceurlI,Option<Url>,descriptionYXOption<PipDescription><)Proposes a new PIP by submitting a dispatchable which changes the network.,# Arguments�* `origin` - The origin of the call.�* `proposal` - The dispatchable call.�* `deposit` - The deposit amount for the proposal.�* `url` - A link to a website for proposal discussion.�* `description` - A short description of the proposal. # EventsP* `ProposalCreated`. # Errors=* `IncorrectDeposit` - If the deposit amount is less than the required minimum.%* `TooManyActivePips` - If the number of active PIPs exceeds the maximum.voteidUPipId(aye_or_nay9booldepositBalance\�Casts a vote either in favor or against a PIP with `id`.IThe "conviction" or strength of the vote is given by `deposit`, which is reserved.�Note that `vote` is *not* additive.�That is, `vote(id, true, 50)` followed by `vote(id, true, 40)`Iwill first reserve `50` and then refund `50 - 10`, ending up with `40` in deposit.%To add atop of existing votes, you'll need `existing_deposit + addition`.,# Arguments�* `origin` - The origin of the call.�* `id` - The proposal ID to vote on.Y* `aye_or_nay` - A boolean representing a vote in favor (`true`) or against (`false`).u* `deposit` - The "conviction" or strength of the vote, represented by the amount of deposit. # Events�* `Voted` - Emitted when a vote is successfully cast. # Errors* `NoSuchProposal` - If the `id` does not reference a valid PIP.�* `NotFromCommunity` - If the proposal was made by a committee.	* `IncorrectProposalState` - If the PIP is not in a pending state.9* `InsufficientDeposit` - If the `origin` cannot reserve the required deposit.=* `IncorrectDeposit` - If the deposit amount is less than the required minimum.happrove_committee_proposalidUPipId@�Approves the pending committee PIP given by the `id`.AThis function can only be called by a Governance Committee (GC) voting majority.,# Arguments!* `origin` - The origin of the call, which must be a GC voting majority.�* `id` - The proposal ID of the PIP to be approved. # Errors* `BadOrigin` - If the call is not made by a GC voting majority.
* `NoSuchProposal` - If the PIP with the given `id` does not exist.* `IncorrectProposalState` - If the proposal is not in a pending state.* `NotByCommittee` - If the proposal was not made by a committee.# NotesThis function schedules the PIP for execution if all checks pass.<reject_proposalidUPipId	HQRejects the PIP given by the `id`. Bonded funds will be refunded, assuming it hasn'tlbeen cancelled or executed.AThis function can only be called by a Governance Committee (GC) voting majority.,# Arguments!* `origin` - The origin of the call, which must be a GC voting majority.�* `id` - The proposal ID of the PIP to be rejected. # Errors* `BadOrigin` - If the call is not made by a GC voting majority.
* `NoSuchProposal` - If the PIP with the given `id` does not exist.* `IncorrectProposalState` - If the proposal was cancelled or executed.# NotesAThis function will unschedule the PIP if it was scheduled for execution and willIunsnapshot the PIP if it was part of a snapshot. It will also handle the rejection�of the proposal and refund any bonded funds.8prune_proposalidUPipId
<�Prunes the PIP given by the `id`. The PIP must not be active.!This function is intended for storage garbage collection purposes and can only be called by a Governance Committee (GC) voting majority.,# Arguments!* `origin` - The origin of the call, which must be a GC voting majority.�* `id` - The proposal ID of the PIP to be pruned. # Errors* `BadOrigin` - If the call is not made by a GC voting majority.
* `NoSuchProposal` - If the PIP with the given `id` does not exist.�* `IncorrectProposalState` - If the proposal is active.# NotesUThis function will remove the PIP from storage and refund any remaining bonded funds.Preschedule_executionidUPipIduntil%XOption<T::BlockNumber>4�Updates the execution schedule of the PIP given by `id`.�This function can only be called by the release coordinator.,# Arguments-* `origin` - The origin of the call, which must be the release coordinator.�* `id` - The proposal ID of the PIP to be rescheduled.M* `until` - An optional future block number where the enactment period will finish.   If `None`, the enactment period will finish in the next block. # Errorsm* `RescheduleNotByReleaseCoordinator` - If the call is not made by the release coordinator.%* `IncorrectProposalState` - If the proposal is not in a scheduled state.}* `InvalidFutureBlockNumber` - If the provided block number is not a valid future block number.8clear_snapshot0�Clears the snapshot and emits the event `SnapshotCleared`.This function can only be called by a Governance Committee (GC) member.,# Arguments�* `origin` - The origin of the call, which must be a GC member. # Events�* `SnapshotCleared` - Emitted when the snapshot is successfully cleared, containing the ID of the cleared snapshot. # Errors* `NotACommitteeMember` - If the call is not made by a GC member. snapshot
4Takes a new snapshot of the current list of active and pending PIPs.)The PIPs are then sorted into a priority queue based on each PIP's weight.This function can only be called by a Governance Committee (GC) member.,# Arguments�* `origin` - The origin of the call, which must be a GC member. # Events�* `SnapshotTaken` - Emitted when a snapshot is successfully taken, containing the ID of the snapshot and the queue of PIPs. # Errors* `NotACommitteeMember` - If the call is not made by a GC member.Xenact_snapshot_resultsresults�pVec<(PipId, SnapshotResult)>h�Enacts the results for the PIPs in the snapshot queue.)The snapshot will be available for further enactments until it is cleared.�The `results` parameter is a list of `(id, result)` tuples where `result` is applied to the PIP with the given `id`.INote that the snapshot priority queue is encoded with the *lowest priority first*.}For example, `results = [(id, Approve)]` will approve `SnapshotQueue[SnapshotQueue.len() - 1]`.,# Arguments!* `origin` - The origin of the call, which must be a GC voting majority.
* `results` - A vector of tuples where each tuple contains a PIP ID and a `SnapshotResult` (either `Approve`, `Reject`, or `Skip`). # EventsE* `SnapshotResultsEnacted` - Emitted when the snapshot results are successfully enacted, containing the ID of the snapshot and the actions taken. # Errors* `BadOrigin` - If the call is not made by a GC voting majority.-* `CannotSkipPip` - If a given PIP has already been skipped too many times.�* `SnapshotResultTooLarge` - If the length of `results` is greater than the length of the snapshot queue.�* `SnapshotIdMismatch` - If there is a mismatch between the PIP IDs in `results` and the snapshot queue.# NotesLThis function will:�- Update the skip counts for PIPs that are skipped.!- Reject PIPs that are marked for rejection and refund any bonded funds.1- Approve PIPs that are marked for approval and schedule them for execution.Texecute_scheduled_pipidUPipId4�Executes a scheduled PIP (Polymesh Improvement Proposal).,# Arguments�* `origin` - The origin of the call, which must be the root.�* `id` - The unique identifier of the PIP to be executed. # Errors�* `BadOrigin` - If the call is not made by the root origin.# NotesLThis function will:�- Remove the PIP from the scheduling queue.�- Execute the proposal associated with the PIP.Pexpire_scheduled_pipdid�(IdentityIdidUPipId<�Expires a scheduled PIP (Polymesh Improvement Proposal).,# Arguments�* `origin` - The origin of the call, which must be the root.	* `did` - The identity ID of the entity initiating the expiration.�* `id` - The unique identifier of the PIP to be expired. # Errors�* `BadOrigin` - If the call is not made by the root origin.# NotesLThis function will:�- Check if the PIP is in a pending state.�- Unsnapshot the PIP if it was part of a snapshot.�- Prune the PIP data if it is in an expired state.%Contains one variant per dispatchable that can be called by an extrinsic.���U��,pallet_pipstypes8SnapshotResultApproveRejectSkip�@pallet_portfoliopalletCallT,@create_portfolioname�4PortfolioName�Creates a portfolio with the given `name`.@delete_portfolionum�<PortfolioNumber 5Deletes a user portfolio. A portfolio can be deleted only if it has no funds. # Errors* `PortfolioDoesNotExist` if `num` doesn't reference a valid portfolio.�* `PortfolioNotEmpty` if the portfolio still holds any asset4# Permissions,* Portfolio@rename_portfolionum�<PortfolioNumberto_name�4PortfolioName�Renames a non-default portfolio. # Errors* `PortfolioDoesNotExist` if `num` doesn't reference a valid portfolio.4# Permissions,* PortfolioXquit_portfolio_custodypid�,PortfolioId �When called by the custodian of `portfolio_id`,Iallows returning the custody of the portfolio to the portfolio owner unilaterally. # Errors]* `UnauthorizedCustodian` if the caller is not the current custodian of `portfolio_id`.4# Permissions,* Portfolio`accept_portfolio_custodyauth_id(u64Pmove_portfolio_fundsfrom�,PortfolioIdto�,PortfolioIdfunds�$Vec<Fund>H�Moves fungigle an non-fungible tokens 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. # Errorsi* `PortfolioDoesNotExist` if one or both of the portfolios reference an invalid portfolio.Q* `destination_is_same_portfolio` if both sender and receiver portfolio are the same�* `DifferentIdentityPortfolios` if the sender and receiver portfolios belong to different identitiesI* `UnauthorizedCustodian` if the caller is not the custodian of the from portfolioA* `InsufficientPortfolioBalance` if the sender does not have enough free balanceI* `NoDuplicateAssetsAllowed` the same asset can't be repeated in the items vector.U* `InvalidTransferNFTNotOwned` if the caller is trying to move an NFT he doesn't own.1* `InvalidTransferNFTIsLocked` if the caller is trying to move a locked NFT.4# Permissions,* PortfolioTpre_approve_portfolio asset_id�AssetId0portfolio_id�,PortfolioId$�Pre-approves the receivement of an asset to a portfolio.,# Arguments�* `origin` - the secondary key of the sender.* `asset_id` - the [`AssetId`] that will be exempt from affirmation.]* `portfolio_id` - the [`PortfolioId`] that can receive `asset_id` without affirmation.4# Permissions,* Portfoliotremove_portfolio_pre_approval asset_id�AssetId0portfolio_id�,PortfolioId$�Removes the pre approval of an asset to a portfolio.,# Arguments�* `origin` - the secondary key of the sender.* `asset_id` - the [`AssetId`] that will be exempt from affirmation.]* `portfolio_id` - the [`PortfolioId`] that can receive `asset_id` without affirmation.4# Permissions,* Portfolio�allow_identity_to_create_portfolios@trusted_identity�(IdentityId�Adds an identity that will be allowed to create and take custody of a portfolio under the caller's identity.,# Arguments�* `trusted_identity` - the [`IdentityId`] that will be allowed to call `create_custody_portfolio`.�revoke_create_portfolios_permission identity�(IdentityId	�Removes permission of an identity to create and take custody of a portfolio under the caller's identity.,# Arguments�* `identity` - the [`IdentityId`] that will have the permissions to call `create_custody_portfolio` revoked.`create_custody_portfolioHportfolio_owner_id�(IdentityId8portfolio_name�4PortfolioName
�Creates a portfolio under the `portfolio_owner_id` identity and transfers its custody to the caller's identity.,# Arguments1* `portfolio_owner_id` - the [`IdentityId`] that will own the new portfolio.* `portfolio_name` - the [`PortfolioName`] of the new portfolio.%Contains one variant per dispatchable that can be called by an extrinsic.���Lpolymesh_primitives$portfolioFund,description�<FundDescriptionmemo�0Option<Memo>�Lpallet_protocol_feepalletCallTHchange_coefficient,coefficient� PosRatio�Changes the fee coefficient for the root origin. # Errors�* `BadOrigin` - Only root allowed.<change_base_feeop(ProtocolOp base_feeBalance�Changes the a base fee for the root origin. # Errors�* `BadOrigin` - Only root allowed.%Contains one variant per dispatchable that can be called by an extrinsic.dpolymesh_common_utilities0protocol_fee(ProtocolOp@LAssetRegisterTicker(AssetIssueDAssetAddDocuments@AssetCreateAsset`CheckpointCreateSchedule�ComplianceManagerAddComplianceRequirementXIdentityCddRegisterDid@IdentityAddClaim�IdentityAddSecondaryKeysWithAuthorization,PipsPropose	@ContractsPutCode
lCorporateBallotAttachBallottCapitalDistributionDistributeLNFTCreateCollection
NFTMintlIdentityCreateChildIdentity@pallet_schedulerpalletCallT schedulewhen8T::BlockNumber8maybe_periodic	�Option<schedule::Period<T::BlockNumber>> priorityHschedule::Prioritycall�|Box<<T as Config>::RuntimeCall>pAnonymously schedule a task.cancelwhen8T::BlockNumberindexu32�Cancel an anonymously scheduled task.8schedule_namedid TaskNamewhen8T::BlockNumber8maybe_periodic	�Option<schedule::Period<T::BlockNumber>> priorityHschedule::Prioritycall�|Box<<T as Config>::RuntimeCall>XSchedule a named task.0cancel_namedid TaskNamexCancel a named scheduled task.8schedule_afterafter8T::BlockNumber8maybe_periodic	�Option<schedule::Period<T::BlockNumber>> priorityHschedule::Prioritycall�|Box<<T as Config>::RuntimeCall>�Anonymously schedule a task after a delay.Pschedule_named_afterid TaskNameafter8T::BlockNumber8maybe_periodic	�Option<schedule::Period<T::BlockNumber>> priorityHschedule::Prioritycall�|Box<<T as Config>::RuntimeCall>�Schedule a named task after a delay.%Contains one variant per dispatchable that can be called by an extrinsic.	OptionT�NoneSome�
Dpallet_settlementpalletCallTd0create_venuedetails�0VenueDetailssigners�DVec<T::AccountId>typ�$VenueTypeXRegisters 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 createdPupdate_venue_detailsid�VenueIddetails�0VenueDetails\Edit a venue's details.�* `id` specifies the ID of the venue to edit.�* `details` specifies the updated venue details.Dupdate_venue_typeid�VenueIdtyp�$VenueTypePEdit a venue's type.�* `id` specifies the ID of the venue to edit.�* `type` specifies the new type of the venue.Paffirm_with_receiptsidq4InstructionId<receipt_details�Vec<ReceiptDetails<T::AccountId, T::OffChainSignature>>(portfolios%�BoundedBTreeSet<PortfolioId, T::MaxNumberOfPortfolios>$�Affirms an instruction using receipts for offchain transfers.,# Arguments* `id` - the [`InstructionId`] of the instruction being affirmed.�* `receipt_details` - a vector of [`ReceiptDetails`], which contain the details about the offchain transfer.�* `portfolios` - a vector of [`PortfolioId`] under the caller's control and intended for affirmation.4# Permissions,* PortfolioLset_venue_filtering asset_id�AssetIdenabled9bool �Enables or disabled venue filtering for a token.,# Arguments�* `asset_id` - AssetId of the token in question.* `enabled` - Boolean that decides if the filtering should be enabled.4# Permissions* Asset0allow_venues asset_id�AssetIdvenues�0Vec<VenueId>
Allows additional venues to create instructions involving an asset.�* `asset_id` - AssetId of the token in question.}* `venues` - Array of venues that are allowed to create instructions for the token in question.4# Permissions* Asset<disallow_venues asset_id�AssetIdvenues�0Vec<VenueId>iRevokes permission given to venues for creating instructions involving a particular asset.�* `asset_id` - AssetId of the token in question.�* `venues` - Array of venues that are no longer allowed to create instructions for the token in question.4# Permissions* AssetPupdate_venue_signersid�VenueIdsigners�DVec<T::AccountId>,add_signers9bool\Edit a venue's signers.�* `id` specifies the ID of the venue to edit.�* `signers` specifies the signers to add/remove.�* `add_signers` specifies the update type add/remove of venue where add is true and remove is false.hexecute_manual_instructionidq4InstructionId$portfolioeLOption<PortfolioId>Hfungible_transfersu328nfts_transfersu32Hoffchain_transfersu320weight_limit�8Option<Weight>4�Manually executes an instruction.,# Arguments* `id`: The [`InstructionId`] of the instruction to be executed.�* `portfolio`:  One of the caller's [`PortfolioId`] which is also a counter patry in the instruction.aIf None, the caller must be the venue creator or a counter party in a [`Leg::OffChain`].* `fungible_transfers`: The number of fungible legs in the instruction.1* `nfts_transfers`: The number of nfts being transferred in the instruction.* `offchain_transfers`: The number of offchain legs in the instruction.�* `weight_limit`: An optional maximum [`Weight`] value to be charged for executing the instruction.qIf the `weight_limit` is less than the required amount, the instruction will fail execution.MNote: calling the rpc method `get_execute_instruction_info` returns an instance of [`ExecuteInstructionInfo`], which contains the count parameters.<add_instruction venue_id�<Option<VenueId><settlement_type�xSettlementType<T::BlockNumber>(trade_dateDOption<T::Moment>(value_dateDOption<T::Moment>legs� Vec<Leg>@instruction_memo�0Option<Memo>	$\Adds a new instruction.,# ArgumentsA* `venue_id`: The optional [`VenueId`] of the venue this instruction belongs to.y* `settlement_type`: The [`SettlementType`] specifying when the instruction should be settled.M* `trade_date`: Optional date from which people can interact with this instruction.m* `value_date`: Optional date after which the instruction should be settled (not enforced).�* `legs`: A vector of all [`Leg`] included in this instruction.�* `memo`: An optional [`Memo`] field for this instruction.hadd_and_affirm_instruction venue_id�<Option<VenueId><settlement_type�xSettlementType<T::BlockNumber>(trade_dateDOption<T::Moment>(value_dateDOption<T::Moment>legs� Vec<Leg>(portfolios%�BoundedBTreeSet<PortfolioId, T::MaxNumberOfPortfolios>@instruction_memo�0Option<Memo>
4�Adds and affirms a new instruction.,# Arguments* `venue_id`: The [`VenueId`] of the venue this instruction belongs to.y* `settlement_type`: The [`SettlementType`] specifying when the instruction should be settled.M* `trade_date`: Optional date from which people can interact with this instruction.m* `value_date`: Optional date after which the instruction should be settled (not enforced).�* `legs`: A vector of all [`Leg`] included in this instruction.�* `portfolios`: A vector of [`PortfolioId`] under the caller's control and intended for affirmation.�* `memo`: An optional [`Memo`] field for this instruction.4# Permissions,* PortfolioHaffirm_instructionidq4InstructionId(portfolios%�BoundedBTreeSet<PortfolioId, T::MaxNumberOfPortfolios> �Provide affirmation to an existing instruction.,# Arguments* `id` - the [`InstructionId`] of the instruction being affirmed.�* `portfolios` - a vector of [`PortfolioId`] under the caller's control and intended for affirmation.4# Permissions,* PortfolioPwithdraw_affirmationidq4InstructionId(portfolios%�BoundedBTreeSet<PortfolioId, T::MaxNumberOfPortfolios> �Withdraw an affirmation for a given instruction.,# ArgumentsM* `id` - the [`InstructionId`] of the instruction getting an affirmation withdrawn.�* `portfolios` - a vector of [`PortfolioId`] under the caller's control and intended for affirmation withdrawal.4# Permissions,* PortfolioHreject_instructionidq4InstructionId$portfolio�,PortfolioId
 �Rejects an existing instruction.,# Arguments* `id` - the [`InstructionId`] of the instruction being rejected.a* `portfolio` - the [`PortfolioId`] that belongs to the instruction and is rejecting it.4# Permissions,* Portfoliotexecute_scheduled_instructionidq4InstructionId0weight_limit Weight�Root callable extrinsic, used as an internal call to execute a scheduled settlement instruction.|affirm_with_receipts_with_countidq4InstructionId<receipt_details�Vec<ReceiptDetails<T::AccountId, T::OffChainSignature>>(portfolios%�BoundedBTreeSet<PortfolioId, T::MaxNumberOfPortfolios>@number_of_assets)`Option<AffirmationCount>0�Affirms an instruction using receipts for offchain transfers.,# Arguments* `id` - the [`InstructionId`] of the instruction being affirmed.�* `receipt_details` - a vector of [`ReceiptDetails`], which contain the details about the offchain transfer.�* `portfolios` - a vector of [`PortfolioId`] under the caller's control and intended for affirmation.* `number_of_assets` - an optional [`AffirmationCount`] that will be used for a precise fee estimation before executing the extrinsic.�Note: calling the rpc method `get_affirmation_count` returns an instance of [`AffirmationCount`].4# Permissions,* Portfoliotaffirm_instruction_with_countidq4InstructionId(portfolios%�BoundedBTreeSet<PortfolioId, T::MaxNumberOfPortfolios>@number_of_assets)`Option<AffirmationCount>,�Provide affirmation to an existing instruction.,# Arguments* `id` - the [`InstructionId`] of the instruction being affirmed.�* `portfolios` - a vector of [`PortfolioId`] under the caller's control and intended for affirmation.* `number_of_assets` - an optional [`AffirmationCount`] that will be used for a precise fee estimation before executing the extrinsic.�Note: calling the rpc method `get_affirmation_count` returns an instance of [`AffirmationCount`].4# Permissions,* Portfoliotreject_instruction_with_countidq4InstructionId$portfolio�,PortfolioId@number_of_assets5HOption<AssetCount>,�Rejects an existing instruction.,# Arguments* `id` - the [`InstructionId`] of the instruction being rejected.a* `portfolio` - the [`PortfolioId`] that belongs to the instruction and is rejecting it.* `number_of_assets` - an optional [`AssetCount`] that will be used for a precise fee estimation before executing the extrinsic.5Note: calling the rpc method `get_execute_instruction_info` returns an instance of [`ExecuteInstructionInfo`], which contain the asset count.4# Permissions,* Portfolio|withdraw_affirmation_with_countidq4InstructionId(portfolios%�BoundedBTreeSet<PortfolioId, T::MaxNumberOfPortfolios>@number_of_assets)`Option<AffirmationCount>,�Withdraw an affirmation for a given instruction.,# ArgumentsM* `id` - the [`InstructionId`] of the instruction getting an affirmation withdrawn.�* `portfolios` - a vector of [`PortfolioId`] under the caller's control and intended for affirmation withdrawal.* `number_of_assets` - an optional [`AffirmationCount`] that will be used for a precise fee estimation before executing the extrinsic.�Note: calling the rpc method `get_affirmation_count` returns an instance of [`AffirmationCount`].4# Permissions,* Portfolioxadd_instruction_with_mediators venue_id�<Option<VenueId><settlement_type�xSettlementType<T::BlockNumber>(trade_dateDOption<T::Moment>(value_dateDOption<T::Moment>legs� Vec<Leg>@instruction_memo�0Option<Memo>$mediators9�BoundedBTreeSet<IdentityId, T::MaxInstructionMediators>(�Adds a new instruction with mediators.,# Arguments* `venue_id`: The [`VenueId`] of the venue this instruction belongs to.y* `settlement_type`: The [`SettlementType`] specifying when the instruction should be settled.M* `trade_date`: Optional date from which people can interact with this instruction.m* `value_date`: Optional date after which the instruction should be settled (not enforced).�* `legs`: A vector of all [`Leg`] included in this instruction.* `instruction_memo`: An optional [`Memo`] field for this instruction.i* `mediators`: A set of [`IdentityId`] of all the mandatory mediators for the instruction.tadd_and_affirm_with_mediators  venue_id�<Option<VenueId><settlement_type�xSettlementType<T::BlockNumber>(trade_dateDOption<T::Moment>(value_dateDOption<T::Moment>legs� Vec<Leg>(portfolios%�BoundedBTreeSet<PortfolioId, T::MaxNumberOfPortfolios>@instruction_memo�0Option<Memo>$mediators9�BoundedBTreeSet<IdentityId, T::MaxInstructionMediators>8�Adds and affirms a new instruction with mediators.,# Arguments* `venue_id`: The [`VenueId`] of the venue this instruction belongs to.y* `settlement_type`: The [`SettlementType`] specifying when the instruction should be settled.M* `trade_date`: Optional date from which people can interact with this instruction.m* `value_date`: Optional date after which the instruction should be settled (not enforced).�* `legs`: A vector of all [`Leg`] included in this instruction.�* `portfolios`: A vector of [`PortfolioId`] under the caller's control and intended for affirmation.* `instruction_memo`: An optional [`Memo`] field for this instruction.i* `mediators`: A set of [`IdentityId`] of all the mandatory mediators for the instruction.4# Permissions,* Portfolioxaffirm_instruction_as_mediator8instruction_idq4InstructionIdexpiryDOption<T::Moment>�Affirms the instruction as a mediator - should only be called by mediators, otherwise it will fail.,# Arguments�* `origin`: The secondary key of the sender.A* `instruction_id`: The [`InstructionId`] that will be affirmed by the mediator.�* `expiry`: An Optional value for defining when the affirmation will expire (None means it will always be valid).�withdraw_affirmation_as_mediator8instruction_idq4InstructionId�Removes the mediator's affirmation for the instruction - should only be called by mediators, otherwise it will fail.,# Arguments�* `origin`: The secondary key of the sender.E* `instruction_id`: The [`InstructionId`] that will have the affirmation removed.xreject_instruction_as_mediator8instruction_idq4InstructionId@number_of_assets5HOption<AssetCount>uRejects an existing instruction - should only be called by mediators, otherwise it will fail.,# Arguments5* `instruction_id` - the [`InstructionId`] of the instruction being rejected.* `number_of_assets` - an optional [`AssetCount`] that will be used for a precise fee estimation before executing the extrinsic.5Note: calling the rpc method `get_execute_instruction_info` returns an instance of [`ExecuteInstructionInfo`], which contain the asset count.@lock_instructioninst_idq4InstructionId0weight_limit Weight<]Moves the instruction status to `LockedForExecution`. This function must be called by aUmediator of the instruction and will only suceed if the following conditions are met:�- All affirmations have been received.�- Instruction is pending or has failed at least one time.�- All mediator's affirmations are still valid.�- All assets are in the allowed venue list.- All senders have the right amount of assets being transferred.- All senders and receivers are compliant and have valid CDD claims.�- All assets' statistics are still valid.t- There are no frozen assets.,# Arguments�* `origin` - The origin of the call, specifying the caller.* `inst_id` - The [`InstructionId`] of the instruction to be locked.a* `weight_limit` - A maximum [`Weight`] value to be charged for locking the instruction.%Contains one variant per dispatchable that can be called by an extrinsic.Lpolymesh_primitives(settlement8ReceiptDetails$AccountIdDOffChainSignatureuid(u648instruction_idq4InstructionIdleg_id�LegIdsigner$AccountId$signatureDOffChainSignature metadata�\Option<ReceiptMetadata>(sp_runtime8MultiSignatureEd25519qHed25519::SignatureSr25519�Hsr25519::SignatureEcdsa@ecdsa::Signaturesp_coreecdsa$Signature! [u8; 65]!A%Lbounded_collectionsDbounded_btree_set<BoundedBTreeSetT�S�,BTreeSet<T>)OptionT-NoneSome--Lpolymesh_primitives(settlement@AffirmationCountHsender_asset_count1(AssetCountPreceiver_asset_count1(AssetCount8offchain_countu321Lpolymesh_primitives(settlement(AssetCount fungibleu320non_fungibleu32$off_chainu325OptionT1NoneSome19Lbounded_collectionsDbounded_btree_set<BoundedBTreeSetT�Su,BTreeSet<T>=Dpallet_statisticspalletCallTXset_active_asset_stats asset_id�AssetId(stat_typesAHBTreeSet<StatType><�Set the active asset stat_types.,# Arguments1- `origin` - a signer that has permissions to act as an agent of `asset_id`.�- `asset_id` - the [`AssetId`] to change the active stats on.	- `stat_types` - the new stat types to replace any existing types. # Errors)- `StatTypeLimitReached` - too many stat types enabled for the `asset_id`.�- `CannotRemoveStatTypeInUse` - can not remove a stat type that is in use by transfer conditions.-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.4# Permissions- Agent- Asset`batch_update_asset_stats asset_id�AssetId$stat_type� StatTypevaluesEPBTreeSet<StatUpdate><�Allow a trusted issuer to init/resync asset/company stats.,# Arguments1- `origin` - a signer that has permissions to act as an agent of `asset_id`.�- `asset_id` - the [`AssetId`] to change the active stats on.�- `stat_type` - stat type to update.�- `values` - Updated values for `stat_type`. # Errors- `StatTypeMissing` - `stat_type` is not enabled for the `asset_id`.-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.4# Permissions- Agent- Assettset_asset_transfer_compliance asset_id�AssetIdLtransfer_conditionsIlBTreeSet<TransferCondition><�Set asset transfer compliance rules.,# Arguments1- `origin` - a signer that has permissions to act as an agent of `asset_id`.�- `asset_id` - the [`AssetId`] to change the active stats on.a- `transfer_conditions` - the new transfer condition to replace any existing conditions. # Errorsa- `TransferConditionLimitReached` - too many transfer condititon enabled for `asset_id`.�- `StatTypeMissing` - a transfer condition requires a stat type that is not enabled for the `asset_id`.-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.4# Permissions- Agent- AssetLset_entities_exempt$is_exempt9bool(exempt_key%hTransferConditionExemptKey entitiesuPBTreeSet<IdentityId>8Set/unset entities exempt from an asset's transfer compliance rules.,# ArgumentsQ- `origin` - a signer that has permissions to act as an agent of `exempt_key.asset`.�- `is_exempt` - enable/disable exemption for `entities`.- `exempt_key` - the asset and stat type to exempt the `entities` from.�- `entities` - the entities to set/unset the exemption for. # Errors!- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset`.4# Permissions- Agent- Asset%Contains one variant per dispatchable that can be called by an extrinsic.A BTreeSetT��E BTreeSetT	I BTreeSetT!M(pallet_stopalletCallTDcreate_fundraiser(Hoffering_portfolio�,PortfolioId8offering_asset�AssetIdDraising_portfolio�,PortfolioId4raising_asset�AssetIdtiersQ8Vec<PriceTier> venue_id�VenueIdstartDOption<T::Moment>endDOption<T::Moment>Hminimum_investmentBalance<fundraiser_name58FundraiserNamep�Create a new fundraiser for a security token offering.9This function creates a tiered pricing fundraiser where investors can purchase-tokens at different price points. The fundraiser uses Polymesh's settlement�infrastructure to ensure compliant and secure token transfers.0# Parameters=* `offering_portfolio` - Portfolio containing the tokens being offered for sale�* `offering_asset` - Asset ID of the security token being sold* `raising_portfolio` - Portfolio that will receive the raised funds-* `raising_asset` - Asset ID of the payment token (e.g., POLYX, stablecoin)e* `tiers` - Vector of price tiers (1-10 tiers), each with total amount and price per unit9* `venue_id` - STO venue ID for handling settlements (must be owned by caller)%* `start` - Optional start time; if `None`, fundraiser begins immediately* `end` - Optional end time; if `None`, fundraiser runs indefinitelyI* `minimum_investment` - Minimum amount of `raising_asset` required per investment%* `fundraiser_name` - Human-readable name for UI display (length limited)X# Permissions RequiredM* **Asset Agent**: Caller must be an authorized external agent for `offering_asset`�* **Portfolio Custody**: Caller must have custody of both `offering_portfolio` and `raising_portfolio`a* **Venue Ownership**: The specified `venue_id` must be an STO venue owned by the caller # Errors)* `InvalidVenue` - Venue doesn't exist, wrong type, or not owned by callerU* `InvalidPriceTiers` - Invalid tier configuration (0 tiers, >10 tiers, zero amounts)�* `InvalidOfferingWindow` - Start time is after end time�* `Overflow` - Total offering amount calculation overflowedinvest8offering_asset�AssetId4fundraiser_id10FundraiserIdPinvestment_portfolio�,PortfolioIdfundingY�FundingMethod<T::AccountId, T::OffChainSignature><purchase_amountBalance$max_price<Option<Balance>|�Invest in a fundraiser using on-chain or off-chain funding.1This function allows investors to purchase tokens from an active fundraiser.-The investment is processed through multiple price tiers in order, starting)with the lowest-priced tier. The purchase creates a settlement instructionthat transfers tokens and payment between the appropriate portfolios.0# Parameters
* `offering_asset` - Asset ID of the security token being purchased* `fundraiser_id` - Unique identifier of the fundraiser to invest in5* `investment_portfolio` - Portfolio where purchased tokens will be depositedA* `funding` - Payment method: either `OnChain(portfolio_id)` for on-chain assetsM  or `OffChain(receipt_details)` for off-chain receipts with signature verification
* `purchase_amount` - Number of `offering_asset` tokens to purchaseA* `max_price` - Optional maximum price per token; if specified, investment fails�  if the blended price across tiers exceeds this limitX# Permissions Required-* **Portfolio Custody**: Caller must have custody of `investment_portfolio`1* **Funding Portfolio**: If using on-chain funding, caller must have custody�  of the funding portfolio specified in the `FundingMethod` # Errors�* `FundraiserNotFound` - Specified fundraiser doesn't exist�* `FundraiserNotLive` - Fundraiser is frozen or closed)* `FundraiserExpired` - Current time is outside fundraiser's active window9* `InsufficientTokensRemaining` - Not enough tokens available across all tiers5* `InvestmentAmountTooLow` - Total cost is below minimum investment threshold-* `MaxPriceExceeded` - Blended price exceeds investor's maximum price limitE* `OffchainFundingNotAllowed` - Off-chain funding not enabled for this fundraiser* `InvalidSignature` - Off-chain receipt signature verification failedDfreeze_fundraiser8offering_asset�AssetId4fundraiser_id10FundraiserIdH�Temporarily freeze a fundraiser to prevent new investments.%When a fundraiser is frozen, it cannot accept new investments but remainsotherwise intact. This is useful for pausing activity while resolvingissues or during maintenance periods. The fundraiser can be unfrozen�later to resume normal operations.0# Parameters* `offering_asset` - Asset ID associated with the fundraiser to freeze* `fundraiser_id` - Unique identifier of the fundraiser to freezeX# Permissions RequiredM* **Asset Agent**: Caller must be an authorized external agent for `offering_asset` # Errors�* `FundraiserNotFound` - Specified fundraiser doesn't exist* `FundraiserClosed` - Fundraiser has already been permanently closed* `Unauthorized` - Caller lacks required asset agent permissionsLunfreeze_fundraiser8offering_asset�AssetId4fundraiser_id10FundraiserIdD�Resume a frozen fundraiser to allow new investments.This function unfreezes a previously frozen fundraiser, returning it to
the Live status where it can accept new investments. The fundraiser�must not be permanently closed for this operation to succeed.0# Parameters!* `offering_asset` - Asset ID associated with the fundraiser to unfreeze
* `fundraiser_id` - Unique identifier of the fundraiser to unfreezeX# Permissions RequiredM* **Asset Agent**: Caller must be an authorized external agent for `offering_asset` # Errors�* `FundraiserNotFound` - Specified fundraiser doesn't existQ* `FundraiserClosed` - Fundraiser has been permanently closed and cannot be unfrozen* `Unauthorized` - Caller lacks required asset agent permissions`modify_fundraiser_window8offering_asset�AssetId4fundraiser_id10FundraiserIdstart($T::MomentendDOption<T::Moment>X
Modify the time window when a fundraiser is active for investments.!This function allows authorized agents to update the start and end timesof an active fundraiser. This can be useful for extending fundraisingperiods, adjusting launch timing, or responding to market conditions.
The fundraiser must not be permanently closed to modify its window.0# Parameters* `offering_asset` - Asset ID associated with the fundraiser to modify* `fundraiser_id` - Unique identifier of the fundraiser to modify1* `start` - New start time for the fundraiser (can be in the past or future)1* `end` - New optional end time; if `None`, the fundraiser runs indefinitelyX# Permissions RequiredM* **Asset Agent**: Caller must be an authorized external agent for `offering_asset` # Errors�* `FundraiserNotFound` - Specified fundraiser doesn't exist�* `FundraiserClosed` - Fundraiser has been permanently closedM* `FundraiserExpired` - Fundraiser has already expired (past its original end time)* `InvalidOfferingWindow` - New start time is after new end time* `Unauthorized` - Caller lacks required asset agent permissionsstop8offering_asset�AssetId4fundraiser_id10FundraiserIdL�Permanently stop a fundraiser and unlock remaining tokens.This function permanently closes a fundraiser, preventing any furtherinvestments. Any remaining tokens that haven't been sold are unlocked	and returned to the offering portfolio. Once stopped, a fundraiserPcannot be restarted.0# Parameters* `offering_asset` - Asset ID associated with the fundraiser to stop�* `fundraiser_id` - Unique identifier of the fundraiser to stopX# Permissions RequiredM* **Asset Agent**: Caller must be an authorized external agent for `offering_asset`�  OR be the original creator of the fundraiser # Errors�* `FundraiserNotFound` - Specified fundraiser doesn't exist* `FundraiserClosed` - Fundraiser has already been permanently closed�* `Unauthorized` - Caller lacks required permissions\enable_offchain_funding8offering_asset�AssetId4fundraiser_id10FundraiserIdtickerTickerP�Enable off-chain funding support for a fundraiser.This function allows a fundraiser to accept off-chain payments throughcryptographically signed receipts. Once enabled, investors can use the
`invest` function with `FundingMethod::OffChain` to provide payment�receipts instead of on-chain portfolio transfers.0# Parameters�* `offering_asset` - Asset ID associated with the fundraiser]* `fundraiser_id` - Unique identifier of the fundraiser to enable off-chain funding forI* `ticker` - Ticker symbol of the off-chain asset that will be accepted as paymentX# Permissions RequiredM* **Asset Agent**: Caller must be an authorized external agent for `offering_asset`�  OR be the original creator of the fundraiser # Errors�* `FundraiserNotFound` - Specified fundraiser doesn't exist�* `FundraiserClosed` - Fundraiser has been permanently closed�* `Unauthorized` - Caller lacks required permissions%Contains one variant per dispatchable that can be called by an extrinsic.QUU(pallet_sto$PriceTiertotalBalancepriceBalanceY(pallet_sto4FundingMethod$AccountIdDOffChainSignatureOnChain�,PortfolioId OffChain]�FundraiserReceiptDetails<AccountId, OffChainSignature>]Lpolymesh_primitivessto`FundraiserReceiptDetails$AccountIdDOffChainSignatureuid(u64signer$AccountId$signatureDOffChainSignature metadata�\Option<ReceiptMetadata>a<pallet_treasurypalletCallT0disbursement4beneficiariesexVec<Beneficiary<BalanceOf<T>>>QIt transfers balances from treasury to each of beneficiaries and the specific amountDfor each of them.# Error�* `BadOrigin`: Only root can execute transaction.]* `InsufficientBalance`: If treasury balances is not enough to cover all beneficiaries.%* `InvalidIdentity`: If one of the beneficiaries has an invalid identity.4reimbursementamount0BalanceOf<T>It transfers the specific `amount` from `origin` account into treasury.IOnly accounts which are associated to an identity can make a donation to treasury.%Contains one variant per dispatchable that can be called by an extrinsic.eiiLpolymesh_primitives,BeneficiaryBalanceid�(IdentityIdamountBalancem8pallet_utilitypalletCallTbatchcallsq|Vec<<T as Config>::RuntimeCall>H|Send a batch of dispatch calls.�May be called from any origin except `None`.]- `calls`: The calls to be dispatched from the same origin. The number of call must not9  exceed the constant: `batched_calls_limit` (available in constant metadata).UIf origin is root then the calls are dispatched without checking origin filter. (This�includes bypassing `frame_system::Config::BaseCallFilter`).4## Complexity�- O(C) where C is the number of calls to be batched.UThis will return `Ok` in all circumstances. To determine the success of the batch, an1event is deposited. If a call failed and the batch was interrupted, then theU`BatchInterrupted` event is deposited, along with the number of successful calls madeMand the error of the failed call. If all were successful, then the `BatchCompleted`Levent is deposited. relay_txtarget0T::AccountId$signaturePT::OffChainSignaturecallu�UniqueCall<<T as Config>::RuntimeCall>4�Relay a call for a target from an originQRelaying in this context refers to the ability of origin to make a call on behalf oftarget.hFees are charged to origin0# Parameters�- `target`: Account to be relayed�- `signature`: Signature from target authorizing the relay�- `call`: Call to be relayed on behalf of target@POLYMESH: added.$batch_allcallsq|Vec<<T as Config>::RuntimeCall>4�Send a batch of dispatch calls and atomically execute them.!The whole transaction will rollback and fail if any of the calls failed.�May be called from any origin except `None`.]- `calls`: The calls to be dispatched from the same origin. The number of call must not9  exceed the constant: `batched_calls_limit` (available in constant metadata).UIf origin is root then the calls are dispatched without checking origin filter. (This�includes bypassing `frame_system::Config::BaseCallFilter`).4## Complexity�- O(C) where C is the number of calls to be batched.,dispatch_as$as_originyTBox<T::PalletsOrigin>call�|Box<<T as Config>::RuntimeCall>�Dispatches a function call with a provided origin.�The dispatch origin for this call must be _Root_.4## Complexity- O(1).,force_batchcallsq|Vec<<T as Config>::RuntimeCall>4|Send a batch of dispatch calls.�Unlike `batch`, it allows errors and won't interrupt.�May be called from any origin except `None`.]- `calls`: The calls to be dispatched from the same origin. The number of call must not9  exceed the constant: `batched_calls_limit` (available in constant metadata).MIf origin is root then the calls are dispatch without checking origin filter. (This�includes bypassing `frame_system::Config::BaseCallFilter`).4## Complexity�- O(C) where C is the number of calls to be batched.,with_weightcall�|Box<<T as Config>::RuntimeCall>weight Weight�Dispatch a function call with a specified weight.-This function does not check the weight of the call, and instead allows the�Root origin to specify the weight of the call.�The dispatch origin for this call must be _Root_.4as_derivativeindexEu16call�|Box<<T as Config>::RuntimeCall>	�Send a call through an indexed pseudonym of the sender.UFilter from origin are passed along. The call will be dispatched with an origin which�use the same filter as the origin of this call.�The dispatch origin for this call must be _Signed_.%Contains one variant per dispatchable that can be called by an extrinsic.q�u8pallet_utility(UniqueCallC�nonce(HAuthorizationNoncecall�Box<C>y`polymesh_runtime_developruntime0OriginCallersystem}tframe_system::Origin<Runtime>DPolymeshCommittee��pallet_committee::Origin<Runtime, pallet_committee::Instance1>	HTechnicalCommittee��pallet_committee::Origin<Runtime, pallet_committee::Instance3>@UpgradeCommittee��pallet_committee::Origin<Runtime, pallet_committee::Instance4>
Void�self::sp_api_hidden_includes_construct_runtime::hidden_include::Void}4frame_support dispatch$RawOrigin$AccountIdRootSigned$AccountIdNone�@pallet_committeepallet$RawOrigin$AccountIdI Endorsed�@pallet_committeepallet$RawOrigin$AccountIdI Endorsed�@pallet_committeepallet$RawOrigin$AccountIdI Endorsed�sp_coreVoid�,pallet_basepalletCallT%Contains one variant per dispatchable that can be called by an extrinsic.�Xpallet_external_agentspalletCallT 0create_group asset_id�AssetIdperms�PExtrinsicPermissionsH�Creates a custom agent group (AG) for the given `asset_id`.�The AG will have the permissions as given by `perms`.)This new AG is then assigned `id = AGIdSequence::get() + 1` as its `AGId`,Awhich you can use as `AgentGroup::Custom(id)` when adding agents for `asset_id`.,# Arguments�- `assetID` the [`AssetId] to add the custom group for.�- `perms` that the new AG will have. # Errors9- `UnauthorizedAgent` if `origin` was not authorized as an agent to call this.!- `TooLong` if `perms` had some string or list length that was too long.%- `CounterOverflow` if `AGIdSequence::get() + 1` would exceed `u32::MAX`.4# Permissions* Asset* AgentTset_group_permissions asset_id�AssetIdid5AGIdperms�PExtrinsicPermissions<YUpdates the permissions of the custom AG identified by `id`, for the given `asset_id`.,# Arguments�- `assetID` the [`AssetId] the custom AG belongs to.�- `id` for the custom AG within `asset_id`.�- `perms` to update the custom AG to. # Errors9- `UnauthorizedAgent` if `origin` was not authorized as an agent to call this.!- `TooLong` if `perms` had some string or list length that was too long.�- `NoSuchAG` if `id` does not identify a custom AG.4# Permissions* Asset* Agent0remove_agent asset_id�AssetIdagent�(IdentityId8�Remove the given `agent` from `asset_id`.,# Arguments�- `assetID` the [`AssetId] that has the `agent` to remove.�- `agent` of `asset_id` to remove. # Errors9- `UnauthorizedAgent` if `origin` was not authorized as an agent to call this.�- `NotAnAgent` if `agent` is not an agent of `asset_id`.�- `RemovingLastFullAgent` if `agent` is the last full one.4# Permissions* Asset* Agent abdicate asset_id�AssetId,�Abdicate agentship for `asset_id`.,# Arguments�- `assetID` the [`AssetId] of which the caller is an agent. # Errors�- `NotAnAgent` if the caller is not an agent of `asset_id`.�- `RemovingLastFullAgent` if the caller is the last full agent.4# Permissions* Asset0change_group asset_id�AssetIdagent�(IdentityIdgroup1(AgentGroup@�Change the agent group that `agent` belongs to in `asset_id`.,# Arguments�- `assetID` the [`AssetId] that has the `agent`.�- `agent` of `asset_id` to change the group for.�- `group` that `agent` will belong to in `asset_id`. # Errors9- `UnauthorizedAgent` if `origin` was not authorized as an agent to call this.�- `NoSuchAG` if `id` does not identify a custom AG.�- `NotAnAgent` if `agent` is not an agent of `asset_id`.-- `RemovingLastFullAgent` if `agent` was a `Full` one and is being demoted.4# Permissions* Asset* AgentLaccept_become_agentauth_id(u64@Accept an authorization by an agent "Alice" who issued `auth_id`�to also become an agent of the asset Alice specified.,# Arguments�- `auth_id` identifying the authorization to accept. # ErrorsE- `Error::InvalidAuthorization` if `auth_id` does not exist for the given caller.5- `Error::AuthorizationExpired` if `auth_id` is for an auth that has expired.M- `Error::BadAuthorizationType` if `auth_id` was not for a `BecomeAgent` 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 asset.4# Permissions* Agentdcreate_group_and_add_auth asset_id�AssetIdperms�PExtrinsicPermissionstarget�(IdentityIdexpiryDOption<T::Moment>�Utility extrinsic to batch `create_group` and  `add_auth`.4# Permissions* Asset* Agentxcreate_and_change_custom_group asset_id�AssetIdperms�PExtrinsicPermissionsagent�(IdentityIdUUtility extrinsic to batch `create_group` and  `change_group` for custom groups only.4# Permissions* Asset* Agent%Contains one variant per dispatchable that can be called by an extrinsic.�8pallet_relayerpalletCallT8set_paying_key user_key0T::AccountId,polyx_limitBalance �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. # Errors1- `UnauthorizedCaller` if `origin` is not authorized to call this extrinsic.Daccept_paying_keyauth_id(u648�Accepts a `paying_key` authorization.,# Arguments�- `auth_id` the authorization id to accept a `paying_key`. # ErrorsE- `Error::InvalidAuthorization` if `auth_id` does not exist for the given caller.-- `Error::AuthorizationExpired` if `auth_id` the authorization has expired.m- `Error::BadAuthorizationType` if `auth_id` was not a `AddRelayerPayingKey` authorization.�- `NotAuthorizedForUserKey` if `origin` is not authorized to accept the authorization for the `user_key`.�- `NotAuthorizedForPayingKey` if the authorization was created an identity different from the `paying_key`'s identity.1- `UserKeyCddMissing` if the `user_key` is not attached to a CDD'd identity.A- `PayingKeyCddMissing` if the `paying_key` is not attached to a CDD'd identity.1- `UnauthorizedCaller` if `origin` is not authorized to call this extrinsic.Dremove_paying_key user_key0T::AccountId(paying_key0T::AccountId,�Removes the `paying_key` from a `user_key`.,# Arguments�- `user_key` the user key to remove the subsidy from.	- `paying_key` the paying key that was subsidising the `user_key`. # Errors�- `NotAuthorizedForUserKey` if `origin` is not authorized to remove the subsidy for the `user_key`.�- `NoPayingKey` if the `user_key` doesn't have a `paying_key`.1- `NotPayingKey` if the `paying_key` doesn't match the current `paying_key`.1- `UnauthorizedCaller` if `origin` is not authorized to call this extrinsic.Hupdate_polyx_limit user_key0T::AccountId,polyx_limitBalance(�Updates the available POLYX for a `user_key`.,# Arguments- `user_key` the user key of the subsidy to update the available POLYX.5- `polyx_limit` the amount of POLYX available for subsidising the `user_key`. # Errors�- `NoPayingKey` if the `user_key` doesn't have a `paying_key`.- `NotPayingKey` if `origin` doesn't match the current `paying_key`.1- `UnauthorizedCaller` if `origin` is not authorized to call this extrinsic.Pincrease_polyx_limit user_key0T::AccountIdamountBalance,�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 of `user_key`. # Errors�- `NoPayingKey` if the `user_key` doesn't have a `paying_key`.- `NotPayingKey` if `origin` doesn't match the current `paying_key`.1- `UnauthorizedCaller` if `origin` is not authorized to call this extrinsic.=- `Overlow` if the subsidy's remaining POLYX would have overflowed `u128::MAX`.Pdecrease_polyx_limit user_key0T::AccountIdamountBalance,�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 of `user_key`. # Errors�- `NoPayingKey` if the `user_key` doesn't have a `paying_key`.- `NotPayingKey` if `origin` doesn't match the current `paying_key`.1- `UnauthorizedCaller` if `origin` is not authorized to call this extrinsic.	- `Overlow` if the subsidy has less then `amount` POLYX remaining.%Contains one variant per dispatchable that can be called by an extrinsic.�@pallet_contractspalletCallT$<call_old_weightdestaPAccountIdLookupOf<T>value�0BalanceOf<T>$gas_limit�$OldWeightTstorage_deposit_limit��Option<<BalanceOf<T> as codec::HasCompact>::Type>data0Vec<u8>Deprecated version if [`Self::call`] for use in an in-storage `Call`.�instantiate_with_code_old_weightvalue�0BalanceOf<T>$gas_limit�$OldWeightTstorage_deposit_limit��Option<<BalanceOf<T> as codec::HasCompact>::Type>code0Vec<u8>data0Vec<u8>salt0Vec<u8>YDeprecated version if [`Self::instantiate_with_code`] for use in an in-storage `Call`.Xinstantiate_old_weightvalue�0BalanceOf<T>$gas_limit�$OldWeightTstorage_deposit_limit��Option<<BalanceOf<T> as codec::HasCompact>::Type>$code_hash,,CodeHash<T>data0Vec<u8>salt0Vec<u8>1Deprecated version if [`Self::instantiate`] for use in an in-storage `Call`.,upload_codecode0Vec<u8>Tstorage_deposit_limit��Option<<BalanceOf<T> as codec::HasCompact>::Type>,determinism�,DeterminismP�Upload new `code` without instantiating a contract from it.!If the code does not already exist a deposit is reserved from the callerEand unreserved only when [`Self::remove_code`] is called. The size of the reserve�depends on the instrumented size of the the supplied `code`.1If the code already exists in storage it will still return `Ok` and upgrades�the in storage version to the current�[`InstructionWeights::version`](InstructionWeights).U- `determinism`: If this is set to any other value but [`Determinism::Deterministic`]E  then the only way to use this code is to delegate call into it from an offchain�  execution. Set to [`Determinism::Deterministic`] if in doubt.# NoteYAnyone can instantiate a contract from any uploaded code and thus prevent its removal.ATo avoid this situation a constructor could employ access control so that it can9only be instantiated by permissioned entities. The same is true when uploading�through [`Self::instantiate_with_code`].,remove_code$code_hash,,CodeHash<T>5Remove the code stored under `code_hash` and refund the deposit to its owner.EA code can only be removed by its original uploader (its owner) and only if it isdnot used by any contract. set_codedestaPAccountIdLookupOf<T>$code_hash,,CodeHash<T>(	Privileged function that changes the code of an existing contract.EThis takes care of updating refcounts and all other necessary operations. Returns�an error if either the `code_hash` or `dest` do not exist.# Note1This does **not** change the address of the contract in question. This means=that the contract address is no longer derived from its code hash after callingHthis dispatchable.calldestaPAccountIdLookupOf<T>value�0BalanceOf<T>$gas_limit WeightTstorage_deposit_limit��Option<<BalanceOf<T> as codec::HasCompact>::Type>data0Vec<u8>@Makes a call to an account, optionally transferring some balance.0# Parameters�* `dest`: Address of the contract to call.�* `value`: The balance to transfer from the `origin` to `dest`.* `gas_limit`: The gas limit enforced when executing the constructor.U* `storage_deposit_limit`: The maximum amount of balance that can be charged from the�  caller to pay for the storage consumed.�* `data`: The input data to pass to the contract.%* If the account is a smart-contract account, the associated code will be�executed and any value will be transferred.* If the account is a regular account, any value will be transferred.E* If no account exists and the call value is not less than `existential_deposit`,a regular account will be created and any value will be transferred.Tinstantiate_with_codevalue�0BalanceOf<T>$gas_limit WeightTstorage_deposit_limit��Option<<BalanceOf<T> as codec::HasCompact>::Type>code0Vec<u8>data0Vec<u8>salt0Vec<u8>h1Instantiates a new contract from the supplied `code` optionally transferring4some balance.!This dispatchable has the same effect as calling [`Self::upload_code`] +=[`Self::instantiate`]. Bundling them together provides efficiency gains. Please�also check the documentation of [`Self::upload_code`].0# ParametersM* `value`: The balance to transfer from the `origin` to the newly created contract.* `gas_limit`: The gas limit enforced when executing the constructor.U* `storage_deposit_limit`: The maximum amount of balance that can be charged/reserved�  from the caller to pay for the storage consumed.�* `code`: The contract code to deploy in raw bytes.�* `data`: The input data to pass to the contract constructor.1* `salt`: Used for the address derivation. See [`Pallet::contract_address`].�Instantiation is executed as follows:Y- The supplied `code` is instrumented, deployed, and a `code_hash` is created for that  code.Y- If the `code_hash` already exists on the chain the underlying `code` will be shared.I- The destination address is computed based on the sender, code_hash and the salt.- The smart-contract account is created at the computed address.�- The `value` is transferred to the new account.A- The `deploy` function is executed in the context of the newly-created account.,instantiatevalue�0BalanceOf<T>$gas_limit WeightTstorage_deposit_limit��Option<<BalanceOf<T> as codec::HasCompact>::Type>$code_hash,,CodeHash<T>data0Vec<u8>salt0Vec<u8>�Instantiates a contract from a previously deployed wasm binary.5This function is identical to [`Self::instantiate_with_code`] but without theIcode deployment step. Instead, the `code_hash` of an on-chain deployed wasm binaryDmust be supplied.%Contains one variant per dispatchable that can be called by an extrinsic.���(sp_weights$OldWeight(u64�OptionT�NoneSome��@pallet_contractswasm,Determinism4DeterministicHAllowIndeterminism�Hpolymesh_contractspalletCallTlinstantiate_with_code_perms$endowmentBalance$gas_limit WeightTstorage_deposit_limit<Option<Balance>code0Vec<u8>data0Vec<u8>salt0Vec<u8>perms�,Permissions`-Instantiates a smart contract defining it with the given `code` and `salt`.�The contract will be attached as a secondary key,�with `perms` as its permissions, to `origin`'s identity.�The contract is transferred `endowment` amount of POLYX.�This is distinct from the `gas_limit`,which controls how much gas the deployment code may at most consume.,# Arguments�- `endowment` amount of POLYX to transfer to the contract.U- `gas_limit` for how much gas the `deploy` code in the contract may at most consume.Q- `storage_deposit_limit` The maximum amount of balance that can be charged/reserved�  from the caller to pay for the storage consumed.�- `code` with the WASM binary defining the smart contract.�- `data` The input data to pass to the contract constructor.�- `salt` used for contract address derivation.!   By varying this, the same `code` can be used under the same identity.�- `perms` that the new secondary key will have. # Errorse- All the errors in `pallet_contracts::Call::instantiate_with_code` can also happen here.�- CDD/Permissions are checked, unlike in `pallet_contracts`.!- Errors that arise when adding a new secondary key can also occur here.linstantiate_with_hash_perms$endowmentBalance$gas_limit WeightTstorage_deposit_limit<Option<Balance>$code_hash,,CodeHash<T>data0Vec<u8>salt0Vec<u8>perms�,Permissionsl9Instantiates a smart contract defining using the given `code_hash` and `salt`.|Unlike `instantiate_with_code`,ithis assumes that at least one contract with the same WASM code has already been uploaded.�The contract will be attached as a secondary key,�with `perms` as its permissions, to `origin`'s identity.�The contract is transferred `endowment` amount of POLYX.�This is distinct from the `gas_limit`,which controls how much gas the deployment code may at most consume.,# Arguments�- `endowment` amount of POLYX to transfer to the contract.U- `gas_limit` for how much gas the `deploy` code in the contract may at most consume.Q- `storage_deposit_limit` The maximum amount of balance that can be charged/reserved�  from the caller to pay for the storage consumed.�- `code_hash` of an already uploaded WASM binary.�- `data` The input data to pass to the contract constructor.�- `salt` used for contract address derivation.!   By varying this, the same `code` can be used under the same identity.�- `perms` that the new secondary key will have. # Errors=- All the errors in `pallet_contracts::Call::instantiate` can also happen here.�- CDD/Permissions are checked, unlike in `pallet_contracts`.!- Errors that arise when adding a new secondary key can also occur here.tupdate_call_runtime_whitelistupdates�`Vec<(ExtrinsicId, bool)>tUpdate CallRuntime whitelist.,# Arguments # Errors�instantiate_with_code_as_primary_key$endowmentBalance$gas_limit WeightTstorage_deposit_limit<Option<Balance>code0Vec<u8>data0Vec<u8>salt0Vec<u8>0-Instantiates a smart contract defining it with the given `code` and `salt`.}The contract will be attached as a primary key of a newly created child identity of the caller.,# Arguments�- `endowment`: Amount of POLYX to transfer to the contract.Y- `gas_limit`: For how much gas the `deploy` code in the contract may at most consume.- `storage_deposit_limit`: The maximum amount of balance that can be charged/reserved from the caller to pay for the storage consumed.�- `code`: The WASM binary defining the smart contract.�- `data`: The input data to pass to the contract constructor.�- `salt`: Used for contract address derivation. By varying this, the same `code` can be used under the same identity.�instantiate_with_hash_as_primary_key$endowmentBalance$gas_limit WeightTstorage_deposit_limit<Option<Balance>$code_hash,,CodeHash<T>data0Vec<u8>salt0Vec<u8>89Instantiates a smart contract defining using the given `code_hash` and `salt`.�Unlike `instantiate_with_code`, this assumes that at least one contract with the same WASM code has already been uploaded.}The contract will be attached as a primary key of a newly created child identity of the caller.,# Arguments�- `endowment`: amount of POLYX to transfer to the contract.Y- `gas_limit`: for how much gas the `deploy` code in the contract may at most consume.- `storage_deposit_limit`: The maximum amount of balance that can be charged/reserved from the caller to pay for the storage consumed.�- `code_hash`: of an already uploaded WASM binary.�- `data`: The input data to pass to the contract constructor.�- `salt`: used for contract address derivation. By varying this, the same `code` can be used under the same identity.,upgrade_apiapimApi0next_upgrade�8NextUpgrade<T>%Contains one variant per dispatchable that can be called by an extrinsic.���u9�Hpolymesh_contracts,NextUpgradeT4chain_versionq0ChainVersion api_hash�8ApiCodeHash<T>�Hpolymesh_contracts,ApiCodeHashThash,,CodeHash<T>�<pallet_preimagepalletCallT4note_preimagebytes0Vec<u8>tRegister a preimage on-chain.UIf the preimage was previously requested, no fees or deposits are taken for providingUthe preimage. Otherwise, a deposit is taken proportional to the size of the preimage.<unnote_preimagehash,T::Hash�Clear an unrequested preimage from the runtime storage.�If `len` is provided, then it will be a much cheaper operation.- `hash`: The hash of the preimage to be removed from the store.�- `len`: The length of the preimage of `hash`.@request_preimagehash,T::HashARequest a preimage be uploaded to the chain without paying any fees or deposits.UIf the preimage requests has already been provided on-chain, we unreserve any deposit9a user may have paid, and take the control of the preimage out of their hands.Hunrequest_preimagehash,T::Hash�Clear a previously made request for a preimage.-NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`.%Contains one variant per dispatchable that can be called by an extrinsic.�(pallet_nftpalletCallTTcreate_nft_collection asset_id�<Option<AssetId> nft_type�\Option<NonFungibleType><collection_keys�DNFTCollectionKeysDtCretes a new `NFTCollection`.,# Arguments�* `origin` - contains the secondary key of the caller (i.e. who signed the transaction to execute this function).�* `asset_id` - optional [`AssetId`] associated to the new collection. `None` will create a new asset.�* `nft_type` - in case the asset hasn't been created yet, one will be created with the given type.y* `collection_keys` - all mandatory metadata keys that the tokens in the collection must have.$## Errorsq- `CollectionAlredyRegistered` - if the asset_id is already associated to an NFT collection.	- `InvalidAssetType` - if the associated asset is not of type NFT.�- `MaxNumberOfKeysExceeded` - if the number of metadata keys for the collection is greater than the maximum allowed.�- `UnregisteredMetadataKey` - if any of the metadata keys needed for the collection has not been registered.E- `DuplicateMetadataKey` - if a duplicate metadata keys has been passed as input.4# Permissions* Asset$issue_nft asset_id�AssetId\nft_metadata_attributes�dVec<NFTMetadataAttribute>8portfolio_kind�4PortfolioKindDpIssues an NFT to the caller.,# Arguments=* `origin` - is a signer that has permissions to act as an agent of `asset_id`.�* `asset_id` - the [`AssetId`] of the NFT collection.E* `nft_metadata_attributes` - all mandatory metadata keys and values for the NFT.- `portfolio_kind` - the portfolio that will receive the minted nft.$## Errors�- `CollectionNotFound` - if the collection associated to the given asset_id has not been created.�- `InvalidMetadataAttribute` - if the number of attributes is not equal to the number set in the collection or attempting to set a value for a key not definied in the collection.E- `DuplicateMetadataKey` - if a duplicate metadata keys has been passed as input.4# Permissions* Asset,* Portfolio(redeem_nft asset_id�AssetIdnft_id�NFTId8portfolio_kind�4PortfolioKind8number_of_keys�(Option<u8><�Redeems the given NFT from the caller's portfolio.,# Arguments=* `origin` - is a signer that has permissions to act as an agent of `asset_id`.�* `asset_id` - the [`AssetId`] of the NFT collection.�* `nft_id` - the id of the NFT to be burned.�* `portfolio_kind` - the portfolio that contains the nft.$## Errors�- `CollectionNotFound` - if the collection associated to the given asset_id has not been created.
- `NFTNotFound` - if the given NFT does not exist in the portfolio.4# Permissions* Asset,* PortfolioLcontroller_transfernfts�NFTs@source_portfolio�,PortfolioIdXcallers_portfolio_kind�4PortfolioKind,5Forces the transfer of NFTs from a given portfolio to the caller's portfolio.,# Arguments=* `origin` - is a signer that has permissions to act as an agent of `asset_id`.�* `nft_id` - the [`NFTId`] of the NFT to be transferred.!* `source_portfolio` - the [`PortfolioId`] that currently holds the NFT.5* `callers_portfolio_kind` - the [`PortfolioKind`] of the caller's portfolio.4# Permissions* Asset,* Portfolio%Contains one variant per dispatchable that can be called by an extrinsic.�OptionT�NoneSome��OptionT�NoneSome��Lpolymesh_primitivesnftDNFTCollectionKeys�TVec<AssetMetadataKey>�a���Lpolymesh_primitivesnftPNFTMetadataAttributekeya@AssetMetadataKeyvalue-HAssetMetadataValue�OptionTNoneSome��pallet_election_provider_multi_phasepalletCallT<submit_unsigned0raw_solution��Box<RawSolution<SolutionOf<T::MinerConfig>>>witness�XSolutionOrSnapshotSize8�Submit a solution for the unsigned phase.�The dispatch origin fo this call must be __none__.=This submission is checked on the fly. Moreover, this unsigned solution is onlyUvalidated when submitted to the pool from the **local** node. Effectively, this means]that only active validators can submit this transaction when authoring a block (similar@to an inherent).YTo prevent any incorrect solution (and thus wasted time/weight), this transaction willMpanic if the solution submitted by the validator is invalid in any way, effectively�putting their authoring reward at risk.�No deposit or reward is associated with this submission.lset_minimum_untrusted_score@maybe_next_score�TOption<ElectionScore>�Set a new value for `MinimumUntrustedScore`.�Dispatch origin must be aligned with `T::ForceOrigin`.�This check can be turned off by setting the value to `None`.tset_emergency_election_result supports�XSupports<T::AccountId> YSet a solution in the queue, to be handed out to the client of this pallet in the next�call to `ElectionProvider::elect`.EThis can only be set by `T::ForceOrigin`, and only when the phase is `Emergency`.aThe solution is not checked for any feasibility and is assumed to be trustworthy, as anyQfeasibility check itself can in principle cause the election process to fail (due tohmemory/weight constrains).submit0raw_solution��Box<RawSolution<SolutionOf<T::MinerConfig>>>$�Submit a solution for the signed phase.�The dispatch origin fo this call must be __signed__.]The solution is potentially queued, based on the claimed score and processed at the endPof the signed phase.]A deposit is reserved and recorded for the solution. Based on the outcome, the solutionmight be rewarded, slashed, or get all or a part of the deposit back.Lgovernance_fallback@maybe_max_voters%,Option<u32>Dmaybe_max_targets%,Option<u32>�Trigger the governance fallback.IThis can only be called when [`Phase::Emergency`] is enabled, as an alternative to�calling [`Call::set_emergency_election_result`].%Contains one variant per dispatchable that can be called by an extrinsic.��pallet_election_provider_multi_phase,RawSolutionS� solution�Sscore�4ElectionScoreroundu32�\polymesh_runtime_common8NposSolution16@votes1�votes2votes3votes4!votes5-votes69votes7Evotes8Qvotes9]votes10ivotes11uvotes12�votes13�votes14�votes15�votes16�������E�	�	�

4sp_arithmetic(per_thingsPerU16Eu16��	!%%�)�)	-11�5�5	9==�A�A	EII�M�M	QUU�Y�Y	]aa�e�e	imm�q�q		uyy�}�}
	�������	�������	�������
	�������	�������	��pallet_election_provider_multi_phaseXSolutionOrSnapshotSizevoters�u32targets�u32�OptionT�NoneSome������Dsp_npos_electionsSupport$AccountIdtotal<ExtendedBalancevoters��Vec<(AccountId, ExtendedBalance)>����@pallet_committeepallet4PolymeshVotes,BlockNumberindex4ProposalIndexayesA<Vec<IdentityId>naysA<Vec<IdentityId>expiryQ\MaybeBlock<BlockNumber>�@pallet_committeepalletErrorTI$4DuplicateVote�Duplicate votes are not allowed.(NotAMember�A DID isn't part of the committee.�The DID may either be a caller or some other context.8NoSuchProposalDNo such proposal.<ProposalExpired�Proposal exists, but it has expired.DDuplicateProposalLDuplicate proposal.TMismatchedVotingIndex`Mismatched voting index.DInvalidProportion�Proportion must be a rational number.<FirstVoteReject�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*.TProposalsLimitReached�Maximum number of proposals has been reached.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�0pallet_grouppalletErrorTITOnlyPrimaryKeyAllowed�Only primary key of the identity is allowed.<DuplicateMember|Group member was added already.0NoSuchMember�Can't remove a member that doesn't exist.PLastMemberCannotQuit�Last member of the committee can not quit.hActiveMembersLimitExceeded]The limit for the number of concurrent active members for this group has been exceeded.hActiveMembersLimitOverflowActive member limit was greater than maximum committee members limit.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�@pallet_committeepalletErrorTI$4DuplicateVote�Duplicate votes are not allowed.(NotAMember�A DID isn't part of the committee.�The DID may either be a caller or some other context.8NoSuchProposalDNo such proposal.<ProposalExpired�Proposal exists, but it has expired.DDuplicateProposalLDuplicate proposal.TMismatchedVotingIndex`Mismatched voting index.DInvalidProportion�Proportion must be a rational number.<FirstVoteReject�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*.TProposalsLimitReached�Maximum number of proposals has been reached.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�0pallet_grouppalletErrorTITOnlyPrimaryKeyAllowed�Only primary key of the identity is allowed.<DuplicateMember|Group member was added already.0NoSuchMember�Can't remove a member that doesn't exist.PLastMemberCannotQuit�Last member of the committee can not quit.hActiveMembersLimitExceeded]The limit for the number of concurrent active members for this group has been exceeded.hActiveMembersLimitOverflowActive member limit was greater than maximum committee members limit.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�@pallet_committeepalletErrorTI$4DuplicateVote�Duplicate votes are not allowed.(NotAMember�A DID isn't part of the committee.�The DID may either be a caller or some other context.8NoSuchProposalDNo such proposal.<ProposalExpired�Proposal exists, but it has expired.DDuplicateProposalLDuplicate proposal.TMismatchedVotingIndex`Mismatched voting index.DInvalidProportion�Proportion must be a rational number.<FirstVoteReject�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*.TProposalsLimitReached�Maximum number of proposals has been reached.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�0pallet_grouppalletErrorTITOnlyPrimaryKeyAllowed�Only primary key of the identity is allowed.<DuplicateMember|Group member was added already.0NoSuchMember�Can't remove a member that doesn't exist.PLastMemberCannotQuit�Last member of the committee can not quit.hActiveMembersLimitExceeded]The limit for the number of concurrent active members for this group has been exceeded.hActiveMembersLimitOverflowActive member limit was greater than maximum committee members limit.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			��(��	Lpolymesh_primitives multisigDProposalVoteCount$approvals(u64(rejections(u64	Lpolymesh_primitives multisig4ProposalStateMoment(Activeuntil8Option<Moment>LExecutionSuccessful<ExecutionFailed Rejected		<pallet_multisigVersionu8
	<pallet_multisigpalletErrorTh<ProposalMissingpThe proposal does not exist.4DecodingErrorDMultisig address.TRequiredSignersIsZero�Required number of signers must be greater then zero.(NotASigner4Not a signer.8NoSuchMultisigDNo such multisig.@NotEnoughSigners5Not enough signers.  The number of signers has to be greater then or equal to�the required number of signers to approve proposals.4NonceOverflowDA nonce overflow.0AlreadyVoted8Already voted.8AlreadyASignerDAlready a signer.@IdentityNotAdmin	�Identity provided is not the multisig's admin.@IdentityNotPayer
�Identity provided is not the multisig's payer.@ChangeNotAllowed%Changing multisig parameters not allowed since multisig is a primary key.tSignerAlreadyLinkedToMultisigSigner is an account key that is already associated with a multisig.tSignerAlreadyLinkedToIdentity
Signer is an account key that is already associated with an identity.DNestingNotAllowed�A multisig can't be a signer of another multisig.\ProposalAlreadyRejectedtProposal was rejected earlier<ProposalExpiredPProposal has expired\ProposalAlreadyExecutedtProposal was executed earlier<MaxWeightTooLow�Max weight not enough to execute proposal.\MultisigMissingIdentity�Multisig is not attached to an identity8TooManySigners�Tried to add/remove too many signers.,NoPayingDid�Multisig doesn't have a paying DID.DInvalidExpiryDatetExpiry must be in the future.LInvalidatedProposal�The proposal has been invalidated after a multisg update.4AdminNotFoundXMultisig has no admin.PBadAuthorizationTypemThe extrinsic expected a different `AuthorizationType` than what the `data.auth_type()` is.\Multisig module errors.	Dpallet_validatorstypesdPermissionedIdentityPrefs8intended_countu324running_countu32	Dpallet_validatorspalletErrorT(dStashIdentityDoesNotExist�Validator or nominator stash identity does not exist.pStashIdentityNotPermissioned�Validator's stash identity is not permissioned.TStashIdentityNotCDDed�Nominator stash has not gone through CDD.tIdentityIsAlreadyPermissioned�Permissioned validator already exists.PIdentityIsMissingCDD�Identity has not gone throught CDD.�IntendedCountIsExceedingConsensusLimit5When the intended number of validators to run is >= 2/3 of `validator_count`.@IdentityNotFound�Identity was not found in the permissioned identity pool.DValidatorNotFound�No validator was found for the given key.DCommissionTooHigh�Validator commiission is above maximum.LCommissionUnchanged	�New commission must be different from previous commission.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
				8pallet_staking4StakingLedgerTstash0T::AccountIdtotal�0BalanceOf<T>active�0BalanceOf<T>$unlocking	�BoundedVec<UnlockChunk<BalanceOf<T>>, T::MaxUnlockingChunks><claimed_rewards)	�BoundedVec<EraIndex, T::HistoryDepth>	Lbounded_collections,bounded_vec(BoundedVecT!	S%	Vec<T>!	8pallet_staking,UnlockChunkBalancevalue�Balanceera� EraIndex%	!	)	Lbounded_collections,bounded_vec(BoundedVecTS9Vec<T>-	8pallet_staking,NominationsTtargets1	�BoundedVec<T::AccountId, T::MaxNominations>0submitted_in EraIndex(suppressed9bool1	Lbounded_collections,bounded_vec(BoundedVecTS�Vec<T>5	8pallet_staking4ActiveEraInfoindex EraIndexstart,Option<u64>9	=	8pallet_staking<EraRewardPoints$AccountIdtotal,RewardPoint(individualA	�BTreeMap<AccountId, RewardPoint>A	 BTreeMapKVE	E	I	I	M	Q	Q	8pallet_staking8UnappliedSlash$AccountIdBalance$validator$AccountIdownBalanceothers�dVec<(AccountId, Balance)>$reporters�8Vec<AccountId>payoutBalanceU	yY	8pallet_staking slashing4SlashingSpans(span_index$SpanIndex(last_start EraIndexHlast_nonzero_slash EraIndexprior94Vec<EraIndex>]	8pallet_staking slashing(SpanRecordBalanceslashedBalance paid_outBalancea	e	e	9i	8pallet_stakingpalletpalletErrorTd4NotControllerdNot a controller account. NotStashPNot a stash account.4AlreadyBonded`Stash is already bonded.4AlreadyPairedtController is already paired.0EmptyTargets`Targets cannot be empty.8DuplicateIndex@Duplicate index.DInvalidSlashIndex�Slash record index out of bounds.@InsufficientBondYCannot have a validator or nominator role, with value less than the minimum defined by=governance (see `MinValidatorBond` and `MinNominatorBond`). If unbonding is theintention, `chill` first to remove one's role as validator/nominator.0NoMoreChunks�Can not schedule more unlock chunks.4NoUnlockChunk	�Can not rebond without unlocking chunks.0FundedTarget
�Attempting to target a stash that still has funds.HInvalidEraToRewardXInvalid era to reward.hInvalidNumberOfNominationsxInvalid number of nominations.HNotSortedAndUnique
�Items are not sorted and unique.8AlreadyClaimed	Rewards for this era have already been claimed for this validator.TIncorrectHistoryDepth�Incorrect previous history depth input provided.XIncorrectSlashingSpans�Incorrect number of slashing spans provided. BadState9Internal state has become somehow corrupted and the operation cannot continue.8TooManyTargets�Too many nomination targets supplied.$BadTarget=A nomination target was supplied that was blocked or otherwise not a validator.@CannotChillOtherUThe user has enough bond and thus cannot be chilled forcefully by an external person.DTooManyNominatorsMThere are too many nominators in the system. Governance needs to adjust the staking�settings to keep things safe for the runtime.DTooManyValidatorsUThere are too many validator candidates in the system. Governance needs to adjust the�staking settings to keep things safe for the runtime.@CommissionTooLow�Commission is too low. Must be at least `MinCommission`.,BoundNotMetXSome bound is not met.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			m	(sp_stakingoffence8OffenceDetails Reporter Offender� offender� Offender$reporters�4Vec<Reporter>q	�0u	y	y	Q}	�	0�	sp_corecrypto$KeyTypeId@[u8; 4]�	8pallet_sessionpalletErrorT0InvalidProof`Invalid ownership proof.\NoAssociatedValidatorId�No associated validator ID for account.4DuplicatedKeydRegistered duplicate key.NoKeys�No keys are associated with this account.$NoAccountKey setting account is not live, so it's impossible to associate keys.tError for the session pallet.�	8pallet_grandpa,StoredStateNLive0PendingPause0scheduled_atNdelayNPaused4PendingResume0scheduled_atNdelayN�	8pallet_grandpaLStoredPendingChangeNLimit0scheduled_atNdelayN@next_authorities�	lBoundedAuthorityList<Limit>forced%$Option<N>�	Lbounded_collections@weak_bounded_vec8WeakBoundedVecT�S�Vec<T>�	8pallet_grandpapalletErrorT,PauseFailedAttempt to signal GRANDPA pause when the authority set isn't live�(either paused or already pending pause).0ResumeFailedAttempt to signal GRANDPA resume when the authority set isn't paused�(either live or already pending resume).4ChangePending�Attempt to signal GRANDPA change with one already pending.TooSoon�Cannot signal forced change so soon after last.`InvalidKeyOwnershipProof1A key ownership proof provided as part of an equivocation report is invalid.`InvalidEquivocationProof1An equivocation proof provided as part of an equivocation report is invalid.XDuplicateOffenceReportA given equivocation report is valid but already previously reported.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�	Lbounded_collections@weak_bounded_vec8WeakBoundedVecT�S�	Vec<T>�	��	4frame_supporttraitsmisc4WrapperOpaqueT�	��	T�	@pallet_im_onlinedBoundedOpaqueNetworkStateLPeerIdEncodingLimitXMultiAddrEncodingLimit8AddressesLimitpeer_id�	�WeakBoundedVec<u8, PeerIdEncodingLimit>Hexternal_addresses�	)WeakBoundedVec<WeakBoundedVec<u8, MultiAddrEncodingLimit>,
AddressesLimit>�	Lbounded_collections@weak_bounded_vec8WeakBoundedVecTS0Vec<T>�	Lbounded_collections@weak_bounded_vec8WeakBoundedVecT�	S�	Vec<T>�	�	�	@pallet_im_onlinepalletErrorT(InvalidKey`Non existent public key.LDuplicatedHeartbeatTDuplicated heartbeat.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�	Lbounded_collections,bounded_vec(BoundedVecT,S�Vec<T>�	,pallet_sudopalletErrorT,RequireSudo|Sender must be the Sudo accountdError for the Sudo pallet�	0pallet_assettypesHTickerRegistrationT(owner�(IdentityIdexpiry$Option<T>�	0pallet_assettypes`TickerRegistrationConfigT(Dmax_ticker_lengthu8Lregistration_length$Option<T>�	0pallet_assettypes0AssetDetails0total_supplyBalance$owner_did�(IdentityId$divisible9bool(asset_type�$AssetType�	���	���	���	�a�	�=�	�A�	���	��	0pallet_assetVersionu8�	0pallet_assetpalletErrorT�0UnauthorizedlThe user is not authorized.LAssetAlreadyCreated�The token has already been created.4TickerTooLong�The ticker length is over the limit.TTickerNotAlphanumeric�The ticker has non-alphanumeric parts.\TickerAlreadyRegistered�The ticker is already registered to someone else.TTotalSupplyAboveLimit�The total supply is above the limit.,NoSuchAsset�No token associated to the given asset ID.4AlreadyFrozenpThe token is already frozen.(NotAnOwner�Not an owner of the token on Ethereum.<BalanceOverflow	�An overflow while calculating the balance.LTotalSupplyOverflow
�An overflow while calculating the total supply.HInvalidGranularity\An invalid granularity.$NotFrozendThe asset must be frozen.<InvalidTransfer
�Transfer validation check failed.LInsufficientBalance�The sender balance is not sufficient.TAssetAlreadyDivisible|The token is already divisible.`InvalidEthereumSignature�An invalid Ethereum `EcdsaSignature`.dTickerRegistrationExpired�Registration of ticker has expired.PSenderSameAsReceiver�Transfers to self are not allowed$NoSuchDoc�The given Document does not exist.pMaxLengthOfAssetNameExceeded�Maximum length of asset name has been exceeded.�FundingRoundNameMaxLengthExceeded�Maximum length of the funding round name has been exceeded.XInvalidAssetIdentifier�Some `AssetIdentifier` was invalid.�InvestorUniquenessClaimNotAllowed�Investor Uniqueness claims are not allowed for this asset.`InvalidCustomAssetTypeIdpInvalid `CustomAssetTypeId`.�AssetMetadataNameMaxLengthExceededMaximum length of the asset metadata type name has been exceeded.�AssetMetadataValueMaxLengthExceeded�Maximum length of the asset metadata value has been exceeded.�AssetMetadataTypeDefMaxLengthExceededMaximum length of the asset metadata type definition has been exceeded.dAssetMetadataKeyIsMissingxAsset Metadata key is missing.hAssetMetadataValueIsLocked|Asset Metadata value is locked.�AssetMetadataLocalKeyAlreadyExists�Asset Metadata Local type already exists for asset.�AssetMetadataGlobalKeyAlreadyExists�Asset Metadata Global type already exists.\TickerFirstByteNotValid �Tickers should start with at least one valid byte.hUnexpectedNonFungibleToken!!Attempt to call an extrinsic that is only permitted for fungible tokens.lIncompatibleAssetTypeUpdate"}Attempt to update the type of a non fungible token to a fungible token or the other way around.�AssetMetadataKeyBelongsToNFTCollection#�Attempt to delete a key that is needed for an NFT collection.dAssetMetadataValueIsEmpty$�Attempt to lock a metadata value that is empty.xNumberOfAssetMediatorsExceeded%�Number of asset mediators would exceed the maximum allowed.XInvalidTickerCharacter&Invalid ticker character - valid set: A`..`Z` `0`..`9` `_` `-` `.` `/`.hInvalidTransferFrozenAsset'�Failed to transfer the asset - asset is frozen.�InvalidTransferComplianceFailure(�Failed to transfer an NFT - compliance failed.�InvalidTransferInvalidReceiverCDD)�Failed to transfer the asset - receiver cdd is not valid.|InvalidTransferInvalidSenderCDD*�Failed to transfer the asset - sender cdd is not valid.hTickerRegistrationNotFound+�The ticker registration associated to the ticker was not found.xTickerIsAlreadyLinkedToAnAsset,�The given ticker is already linked to an asset.XAssetIdGenerationError-�An unexpected error when generating a new asset ID.lTickerNotRegisteredToCaller.�The ticker doesn't belong to the caller.tAssetIsAlreadyLinkedToATicker/�The given asset is already linked to a ticker.lTickerIsNotLinkedToTheAsset0�The given ticker is not linked to the given asset.PBadAuthorizationType1mThe extrinsic expected a different `AuthorizationType` than what the `data.auth_type()` is.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�	���	`pallet_corporate_actions0distributionVersionu8�	`pallet_corporate_actions0distributionpalletErrorT<0CANotBenefit�A capital distribution was made for a non-benefit CA.4AlreadyExists�A distribution already exists for this CA.LExpiryBeforePayment)A distributions provided expiry date was strictly before its payment date.!In other words, everything to distribute would immediately be forfeited.DHolderAlreadyPaid�The token holder has already been paid their benefit.HNoSuchDistribution�A capital distribution doesn't exist for this CA.XCannotClaimBeforeStartaDistribution allotment cannot be claimed as the current time is before start-of-payment.XCannotClaimAfterExpiryiDistribution's expiry has passed. DID cannot claim anymore and has forfeited the benefits.�BalancePerShareProductOverflowed)Multiplication of the balance with the per share payout amount overflowed.XNotDistributionCreator�DID is not the one who created the distribution.@AlreadyReclaimed	�DID who created the distribution already did reclaim.(NotExpired
�Distribution had not expired yet, or there's no expiry date.LDistributionStartedA distribution has been activated, as `payment_at <= now` holds.lInsufficientRemainingAmount-A distribution has insufficient remaining amount of currency to distribute.`DistributionAmountIsZero
�Distribution `amount` cannot be zero.hDistributionPerShareIsZero�Distribution `per_share` cannot be zero.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			
��

�	
�
dpolymesh_common_utilitiestraits(checkpoint<NextCheckpointsnext_at(Moment4total_pending(u64$schedules
pBTreeMap<ScheduleId, Moment>
 BTreeMapK�V(



�(
��!
0pallet_asset(checkpointVersionu8%
0pallet_asset(checkpointpalletErrorT8NoSuchSchedule�A checkpoint schedule does not exist for the asset.PScheduleNotRemovableA checkpoint schedule is not removable as `ref_count(schedule_id) > 0`.hSchedulesOverMaxComplexity%The new schedule would put the asset over the maximum complexity allowed.<ScheduleIsEmpty|Can't create an empty schedule.@ScheduleFinished�The schedule has no more checkpoints.tScheduleHasExpiredCheckpoints�The schedule has expired checkpoints.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			)
Lpolymesh_primitivesHcompliance_manager<AssetCompliancepaused9bool0requirements�hVec<ComplianceRequirement>-
dpallet_compliance_managerVersionu81
dpallet_compliance_managerpalletErrorT0Unauthorized\User is not authorized.,DidNotExist8Did not exist.xInvalidComplianceRequirementId�Compliance requirement id doesn't exist.�IncorrectOperationOnTrustedIssuer�Issuer exist but trying to add it again.|DuplicateComplianceRequirements�There are duplicate compliance requirements.|ComplianceRequirementTooComplexThe worst case scenario of the compliance requirement is too complex.LWeightLimitExceededThe maximum weight limit for executing the function was exceeded.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			5
��9
`pallet_corporate_actionsVersionu8=
`pallet_corporate_actionspalletErrorT,8DetailsTooLong�The `details` of a CA exceeded the max allowed length.<DuplicateDidTax!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.<TooManyDidTaxes�Too many withholding tax overrides were specified.@TooManyTargetIds�Too many identities in `TargetIdentities` were specified.HNoSuchCheckpointIdOn CA creation, a checkpoint ID was provided which doesn't exist. NoSuchCA�A CA with the given `CAId` did not exist.0NoRecordDate�The CA did not have a record date.PRecordDateAfterStart�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.\DeclDateAfterRecordDate�A CA's declaration date was strictly after its record date.@DeclDateInFuture	�A CA's declaration date occurs in the future.<NotTargetedByCA
lCA does not target the DID.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			A
EE
I
`pallet_corporate_actionsballotVersionu8M
`pallet_corporate_actionsballotpalletErrorT8,CANotNotice�A corporate ballot was made for a non `IssuerNotice` CA.4AlreadyExists�A corporate ballot already exists for this CA.0NoSuchBallot�A corporate ballot doesn't exist for this CA.4StartAfterEndA corporate ballot's start time was strictly after the ballot's end.,NowAfterEnd
A corporate ballot's end time was strictly before the current time.\NumberOfChoicesOverflow9If some motion in a corporate ballot has more choices than would fit in `u16`.PVotingAlreadyStartedVoting started already. Amending a ballot is no longer possible.@VotingNotStartedhVoting hasn't started yet.HVotingAlreadyEndedTVoting ended already.8WrongVoteCount	Provided list of balances does not match the total number of choices.DInsufficientVotes
=Voting power used by a DID on a motion exceeds that which is available to them.DNoSuchRCVFallback�The RCV fallback of some choice does not exist.0RCVSelfCycle�The RCV fallback points to the origin choice.4RCVNotAllowed
�RCV is not allowed for this ballot.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			Q
Hpallet_permissionspalletErrorTHUnauthorizedCaller�The caller is not authorized to call the current extrinsic.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			U
,pallet_pipstypes0PipsMetadata,BlockNumberidUPipIdurlI,Option<Url>,descriptionYXOption<PipDescription>(created_at,BlockNumberLtransaction_versionu32expiryQ\MaybeBlock<BlockNumber>Y
U]
,pallet_pipstypes,DepositInfo$AccountIdowner$AccountIdamountBalancea
,pallet_pipstypesPip Proposal�$AccountIdidUPipId proposal� Proposal proposerMLProposer<AccountId>e
,pallet_pipstypes0VotingResult(ayes_countu32(ayes_stakeBalance(nays_countu32(nays_stakeBalancei
,pallet_pipstypesVote9boolBalancem
,pallet_pipstypes@SnapshotMetadata,BlockNumber$AccountId(created_at,BlockNumbermade_by$AccountIdidi(SnapshotIdq
,pallet_pipsVersionu8u
,pallet_pipspalletErrorTL�RescheduleNotByReleaseCoordinator1Only the GC release coordinator is allowed to reschedule proposal execution.@NotFromCommunity�The given dispatchable call is not valid for this proposal.�The proposal must be from the community, but isn't.8NotByCommittee�The given dispatchable call is not valid for this proposal.�The proposal must be from a committee, but isn't.DTooManyActivePips1The current number of active (pending or scheduled) PIPs exceeds the maximum�and the proposal is not by a committee.@IncorrectDeposit�Proposer specifies an incorrect deposit amount.LInsufficientDeposit�Proposer cannot afford to lock the minimum deposit.8NoSuchProposalpThe proposal does not exist.LNotACommitteeMember�The caller is not a member of the governance committee.`InvalidFutureBlockNumberThe specified block number is less than the current block number.TNumberOfVotesExceeded	�The number of votes exceeds the allowed limit.hStakeAmountOfVotesExceeded
�The stake amount of a vote exceeds the allowed limit.XMissingCurrentIdentitylThe current DID is missing.XIncorrectProposalStateThe proposal is not in the correct state for the requested operation.4CannotSkipPip
�When enacting snapshot results, an unskippable PIP was skipped.XSnapshotResultTooLargeTried to enact results for the snapshot queue overflowing its length.HSnapshotIdMismatchiTried to enact result for PIP with an ID different from that at the position in the queue.pScheduledProposalDoesntExist�Execution of a scheduled proposal failed because it is missing.lProposalNotInScheduledState�A proposal that is not in a scheduled state cannot be executed.0InvalidPipIdInvalid PIP ID. Pip id was not expected to be in the live queue.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			y
��}
���
��
���
�
�
���
@pallet_portfoliopalletVersionu8�
@pallet_portfoliopalletErrorTTTPortfolioDoesNotExistpThe portfolio doesn't exist.pInsufficientPortfolioBalance�Insufficient balance for a transaction.hDestinationIsSamePortfolio�The source and destination portfolios should be different.dPortfolioNameAlreadyInUse1The portfolio couldn't be renamed because the chosen name is already in use.�SecondaryKeyNotAuthorizedForPortfolio�The secondary key is not authorized to access the portfolio(s).TUnauthorizedCustodian�The porfolio's custody is with someone other than the caller.`InsufficientTokensLocked�Can not unlock more tokens than what are lockedDPortfolioNotEmpty�The portfolio still has some asset balance leftlDifferentIdentityPortfolios�The portfolios belong to different identities`NoDuplicateAssetsAllowed	�Duplicate asset among the items.XNFTNotFoundInPortfolio
�The NFT does not exist in the portfolio.@NFTAlreadyLockedhThe NFT is already locked.0NFTNotLockedxThe NFT has never been locked.hInvalidTransferNFTNotOwned
�Only owned NFTs can be moved between portfolios.hInvalidTransferNFTIsLocked�Locked NFTs can not be moved between portfolios.4EmptyTransfer�Trying to move an amount of zero assets.\MissingOwnersPermission9The caller doesn't have permission to create portfolios on the owner's behalf.�InvalidTransferSenderIdMatchesReceiverId�The sender identity can't be the same as the receiver identity.XSelfAdditionNotAllowed�Adding itself as an AllowedCustodian is not permitted.PBadAuthorizationTypemThe extrinsic expected a different `AuthorizationType` than what the `data.auth_type()` is.�DefaultPortfoliosCannotHaveCustodians�Default portfolios cannot have custodians.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�
Lpallet_protocol_feepalletErrorThInsufficientAccountBalance�Insufficient account balance to pay the fee.LUnHandledImbalances�Not able to handled the imbalanceshInsufficientSubsidyBalance�Insufficient subsidy balance to pay the fee.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�
Lbounded_collections,bounded_vec(BoundedVecT�
S�
Vec<T>�
OptionT�
NoneSome�
�
@pallet_scheduler$ScheduledNameCall�
,BlockNumber4PalletsOriginy$AccountId maybe_id�0Option<Name> priorityHschedule::Prioritycall�
Call8maybe_periodic	�Option<schedule::Period<BlockNumber>>originy4PalletsOrigin�
4frame_supporttraits$preimagesBoundedT�Legacyhash,HashInline�
4BoundedInlineLookuphash,Hashlenu32�
Lbounded_collections,bounded_vec(BoundedVecTS0Vec<T>�
�
�
@pallet_schedulerpalletErrorT@FailedToScheduledFailed to schedule a call NotFound|Cannot find the scheduled call.\TargetBlockNumberInPast�Given target block number is in the past.HRescheduleNoChange�Reschedule failed because it does not change scheduled time.Named�Attempt to use a non-named function on a named task.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�
Lpolymesh_primitives(settlementVenuecreator�(IdentityId(venue_type�$VenueType�
�q�
��
���
Lpolymesh_primitives(settlement,InstructionMoment(,BlockNumber8instruction_idq4InstructionId venue_id�<Option<VenueId><settlement_type�lSettlementType<BlockNumber>(created_at8Option<Moment>(trade_date8Option<Moment>(value_date8Option<Moment>�
q��
Lpolymesh_primitives(settlement$LegStatus$AccountId@PendingTokenLock@ExecutionPendingPExecutionToBeSkipped$AccountId(u64�
q��
Lpolymesh_primitives(settlementDAffirmationStatusUnknownPending Affirmed�
�q�
���
Lpolymesh_primitives(settlementDInstructionStatus,BlockNumberUnknownPendingFailedSuccess,BlockNumber Rejected,BlockNumberHLockedForExecution�
q��
Lpolymesh_primitives(settlementdMediatorAffirmationStatusT(UnknownPending Affirmedexpiry$Option<T>�
Dpallet_settlementpalletVersionu8�
Dpallet_settlementpalletErrorT�0InvalidVenueTVenue does not exist.0Unauthorized�Sender does not have required permissions.XInstructionNotAffirmed�Instruction has not been affirmed.HUnauthorizedSigner�Signer is not authorized by the venue.TReceiptAlreadyClaimedTReceipt already used.DUnauthorizedVenue�Venue does not have required permissions.\InstructionDatesInvalidtInstruction has invalid datespInstructionSettleBlockPassed�Instruction's target settle block reached.@InvalidSignaturexOffchain signature is invalid.HSameSenderReceiver	�Sender and receiver are the same.DSettleOnPastBlock
aThe provided settlement block number is in the past and cannot be used by the scheduler.lUnexpectedAffirmationStatusEThe current instruction affirmation status does not support the requested action.@FailedToSchedule�Scheduling of an instruction fails.HUnknownInstruction
tInstruction status is unknownLSignerAlreadyExists�Signer is already added to venue.HSignerDoesNotExisttSigner is not added to venue.(ZeroAmount�Instruction leg amount can't be zero.�InstructionSettleBlockNotReached�Instruction settlement block has not yet been reached.DCallerIsNotAParty�The caller is not a party of this instruction.\MaxNumberOfNFTsExceededThe number of nfts being transferred in the instruction was exceeded.�NumberOfTransferredNFTsUnderestimated�The given number of nfts being transferred was underestimated.`ReceiptForInvalidLegType�Off-chain receipts can only be used for off-chain leg type.LWeightLimitExceededThe maximum weight limit for executing the function was exceeded.�MaxNumberOfFungibleAssetsExceeded�The maximum number of fungible assets was exceeded.�MaxNumberOfOffChainAssetsExceeded�The maximum number of off-chain assets was exceeded.�NumberOfFungibleTransfersUnderestimated�The given number of fungible transfers was underestimated.\UnexpectedOFFChainAsset�AssetId could not be found on chain.dOffChainAssetCantBeLocked�Off-Chain assets cannot be locked.�NumberOfOffChainTransfersUnderestimated�The given number of off-chain transfers was underestimated.,LegNotFound�No leg with the given id was foundpInputWeightIsLessThanMinimum�The input weight is less than the minimum required.lMaxNumberOfReceiptsExceeded�The maximum number of receipts was exceeded.�NotAllAffirmationsHaveBeenReceived �There are parties who have not affirmed the instruction.�InvalidInstructionStatusForExecution!�Only [`InstructionStatus::Pending`] or [`InstructionStatus::Failed`] instructions can be executed.�FailedToReleaseLockOrTransferAssets"The instruction failed to release asset locks or transfer the assets.LDuplicateReceiptUid#�No duplicate uid are allowed for different receipts.tReceiptInstructionIdMissmatch$The instruction id in all receipts must match the extrinsic parameter.dMultipleReceiptsForOneLeg%�Multiple receipts for the same leg are not allowed.LUnexpectedLegStatus&pAn invalid has been reached.pNumberOfVenueSignersExceeded'�The maximum number of venue signers was exceeded.PCallerIsNotAMediator(�The caller is not a mediator in the instruction.DInvalidExpiryDate)�The mediator's expiry date must be in the future.hMediatorAffirmationExpired*�The expiry date for the mediator's affirmation has passed.pOffChainAssetsMustHaveAVenue+�Offchain assets must have a venue.`UnexpectedSettlementType,lUnexpected settlement type.�InvalidInstructionStatusForRejection-�[`InstructionStatus::Unknow`] can't be rejected.TLockTimestampNotFound.�All locked instructions must register a lock timestamp.pExceededMaximumLockingPeriod/�The instruction has been locked for too much time.�FailedAssetTransferringConditions0�Not all conditions for transferring the asset have been met.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�
Lbounded_collectionsDbounded_btree_set<BoundedBTreeSetT�SA,BTreeSet<T>�

Lpolymesh_primitives(statistics(Stat1stKey asset_id�AssetId$stat_type� StatTypeLpolymesh_primitivesLtransfer_compliance\AssetTransferComplianceSpaused9bool0requirements	�BoundedBTreeSet<TransferCondition, S>	Lbounded_collectionsDbounded_btree_set<BoundedBTreeSetT!SI,BTreeSet<T>
%�Dpallet_statisticsVersionu8Dpallet_statisticspalletErrorT�InvalidTransferStatisticsFailure�Invalid transfer [`TransferCondition`] not respected.<StatTypeMissing`StatType is not enabled.�StatTypeNeededByTransferCondition�StatType is needed by TransferCondition.dCannotRemoveStatTypeInUse�A Stattype is in use and can't be removed.PStatTypeLimitReached�The limit of StatTypes allowed for an asset has been reached.tTransferConditionLimitReachedThe limit of TransferConditions allowed for an asset has been reached.LWeightLimitExceededThe maximum weight limit for executing the function was exceeded.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�1(pallet_stoVersionu8!(pallet_stopalletErrorT80UnauthorizedSender does not have required permissions for the requested operation. Overflow�An arithmetic operation resulted in overflow or underflow.lInsufficientTokensRemaining9The fundraiser does not have enough tokens remaining to fulfil the investment.HFundraiserNotFound�The specified fundraiser does not exist for the given asset.DFundraiserNotLiveThe fundraiser is not in a live state (either frozen or stopped).@FundraiserClosed�The fundraiser has been permanently closed or stopped.DFundraiserExpiredAttempting to interact with a fundraiser after its end time has passed.0InvalidVenue5The provided venue is invalid (does not exist, wrong type, or wrong creator).DInvalidPriceTiersMOne or more price tiers have invalid parameters (zero total, too many tiers, etc.).TInvalidOfferingWindow	9The fundraiser time window has invalid parameters (start time after end time).@MaxPriceExceeded
MThe calculated price per token exceeds the maximum price specified by the investor.XInvestmentAmountTooLowQThe investment amount is below the minimum investment threshold for this fundraiser.@InvalidSignatureThe off-chain receipt signature is invalid or could not be verified.dOffchainFundingNotAllowed
�Off-chain funding has not been enabled for this fundraiser.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			%<pallet_treasurypalletErrorTLInsufficientBalancexProposer's balance is too low.<InvalidIdentity�Invalid identity for disbursement.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			)8pallet_utilitypalletErrorT0TooManyCalls\Too many calls batched.@InvalidSignaturetOffchain signature is invalid8POLYMESH error@TargetCddMissing�Target does not have a valid CDD8POLYMESH error0InvalidNoncehProvided nonce was invalidIf the provided nonce < current nonce, the call was already executed]If the provided nonce > current nonce, the call(s) before the current failed to execute8POLYMESH error\UnableToDeriveAccountId�Decoding derivative account Id failed.@IdentityNotFound�No identity found for the target account.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			-,pallet_basepalletErrorTTooLong�Exceeded a generic length limit.The limit could be for any sort of lists of things, including a string.<CounterOverflow�The sequence counter for something overflowed.When this happens depends on e.g., the capacity of the identifier type.9For example, we might have `pub struct PipId(u32);`, with `u32::MAX` capacity.YIn 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.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			1�55Xpallet_external_agentspalletVersionu89Xpallet_external_agentspalletErrorT NoSuchAG�An AG with the given `AGId` did not exist for the `AssetId`.DUnauthorizedAgent�The agent is not authorized to call the current extrinsic.8AlreadyAnAgent�The provided `agent` is already an agent for the `AssetId`.(NotAnAgent�The provided `agent` is not an agent for the `AssetId`.TRemovingLastFullAgent�This agent is the last full one, and it's being removed,hmaking the asset orphaned.�SecondaryKeyNotAuthorizedForAssetThe caller's secondary key does not have the required asset permission.PBadAuthorizationTypemThe extrinsic expected a different `AuthorizationType` than what the `data.auth_type()` is.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			=8pallet_relayerpalletSubsidyAcc(paying_keyAcc$remainingBalanceA8pallet_relayerpalletErrorT DUserKeyCddMissing�The `user_key` is not attached to a CDD'd identity.LPayingKeyCddMissing�The `user_key` is not attached to a CDD'd identity.,NoPayingKey�The `user_key` doesn't have a `paying_key`.0NotPayingKey�The `user_key` has a different `paying_key`.dNotAuthorizedForPayingKey�The signer is not authorized for `paying_key`.\NotAuthorizedForUserKey�The signer is not authorized for `user_key`. Overflow�The remaining POLYX for `user_key` overflowed.PBadAuthorizationTypemThe extrinsic expected a different `AuthorizationType` than what the `data.auth_type()` is.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			ELbounded_collections,bounded_vec(BoundedVecTS0Vec<T>I@pallet_contractswasm@PrefabWasmModuleTlinstruction_weights_version�u32initial�u32maximum�u32codeMDRelaxedCodeVec<T>,determinism�,DeterminismMLbounded_collections@weak_bounded_vec8WeakBoundedVecTS0Vec<T>Q@pallet_contractswasm$OwnerInfoTowner8AccountIdOf<T>deposit�0BalanceOf<T> refcount$u64U@pallet_contractsstorage0ContractInfoT trie_id�
TrieId<deposit_accountYDDepositAccount<T>$code_hash,,CodeHash<T>4storage_bytesu324storage_itemsu32Pstorage_byte_deposit0BalanceOf<T>Pstorage_item_deposit0BalanceOf<T>Pstorage_base_deposit0BalanceOf<T>Y@pallet_contractsstorage8DepositAccountT8AccountIdOf<T>]Lbounded_collections,bounded_vec(BoundedVecTaSeVec<T>a@pallet_contractsstorage<DeletedContracttrie_id�
TrieIdeai@pallet_contracts schedule ScheduleTlimitsmLimitsLinstruction_weightsqTInstructionWeights<T><host_fn_weightsu@HostFnWeights<T>m@pallet_contracts scheduleLimits$0event_topicsu32globalsu32localsu32(parametersu320memory_pagesu32(table_sizeu324br_table_sizeu32,subject_lenu32,payload_lenu32q@pallet_contracts scheduleHInstructionWeightsT�versionu32 fallbacku32 i64constu32i64loadu32 i64storeu32selectu32r#ifu32bru32br_ifu32 br_tableu32Hbr_table_per_entryu32callu324call_indirectu32\call_indirect_per_paramu328call_per_localu32$local_getu32$local_setu32$local_teeu32(global_getu32(global_setu328memory_currentu32,memory_growu32i64clzu32i64ctzu32$i64popcntu32i64eqzu324i64extendsi32u324i64extendui32u32(i32wrapi64u32i64equ32i64neu32i64ltsu32i64ltuu32i64gtsu32i64gtuu32i64lesu32i64leuu32i64gesu32i64geuu32i64addu32i64subu32i64mulu32i64divsu32i64divuu32i64remsu32i64remuu32i64andu32i64oru32i64xoru32i64shlu32i64shrsu32i64shruu32i64rotlu32i64rotru32u@pallet_contracts schedule4HostFnWeightsT�caller Weight,is_contract Weight$code_hash Weight4own_code_hash Weight@caller_is_origin Weightaddress Weight gas_left Weightbalance WeightDvalue_transferred Weight<minimum_balance Weight0block_number Weightnow Weight4weight_to_fee Weightgas Weightinput Weight8input_per_byte Weight r#return Weight<return_per_byte Weight$terminate Weightrandom Weight4deposit_event Weight\deposit_event_per_topic WeightXdeposit_event_per_byte Weight4debug_message WeightXdebug_message_per_byte Weight,set_storage Weight`set_storage_per_new_byte Weight`set_storage_per_old_byte Weight4set_code_hash Weight4clear_storage WeightXclear_storage_per_byte Weight@contains_storage Weightdcontains_storage_per_byte Weight,get_storage WeightPget_storage_per_byte Weight0take_storage WeightTtake_storage_per_byte Weight transfer Weightcall Weight4delegate_call Weight\call_transfer_surcharge WeightPcall_per_cloned_byte Weight,instantiate Weightxinstantiate_transfer_surcharge Weighthinstantiate_per_input_byte Weightdinstantiate_per_salt_byte Weight4hash_sha2_256 WeightXhash_sha2_256_per_byte Weight<hash_keccak_256 Weight`hash_keccak_256_per_byte Weight<hash_blake2_256 Weight`hash_blake2_256_per_byte Weight<hash_blake2_128 Weight`hash_blake2_128_per_byte Weight4ecdsa_recover WeightPecdsa_to_eth_address Weight@reentrance_count Weight`account_reentrance_count WeightLinstantiation_nonce Weighty@pallet_contractspalletErrorTpXInvalidScheduleVersionA new schedule must have a greater version than the current one.@InvalidCallFlags5Invalid combination of flags supplied to `seal_call` or `seal_delegate_call`. OutOfGas�The executed contract exhausted its gas limit.POutputBufferTooSmallThe output buffer supplied to a contract API call was too small.8TransferFailed5Performing the requested transfer failed. Probably because there isn't enough�free balance in the sender's account.LMaxCallDepthReached!Performing a call was denied because the calling depth reached the limit�of what is specified in the schedule.@ContractNotFound�No contract was found at the specified address.0CodeTooLarge=The code supplied to `instantiate_with_code` exceeds the limit specified in theDcurrent schedule.0CodeNotFound�No code could be found at the supplied code hash.,OutOfBounds	%A buffer outside of sandbox memory was passed to a contract API function.8DecodingFailed
)Input passed to a contract API function failed to decode as expected type.<ContractTrapped�Contract trapped during execution.4ValueTooLarge�The size defined in `T::MaxValueSize` was exceeded.`TerminatedWhileReentrant
Termination of a contract is not allowed while the contract is already�on the call stack. Can be triggered by `seal_terminate`.8InputForwardedA`seal_call` forwarded this contracts input. It therefore is no longer available.PRandomSubjectTooLong�The subject passed to `seal_random` exceeds the limit.4TooManyTopicsThe amount of topics passed to `seal_deposit_events` exceeds the limit.@NoChainExtensionEThe chain does not provide a chain extension. Calling the chain extension resultsMin this error. Note that this usually  shouldn't happen as deploying such contracts0is rejected.DDeletionQueueFullRemoval of a contract failed because the deletion queue is full.�This can happen when calling `seal_terminate`.MThe queue is filled by deleting contracts and emptied by a fixed amount each block.!Trying again during another block is the only way to resolve this issue.DDuplicateContract�A contract with the same AccountId already exists.\TerminatedInConstructor�A contract self destructed in its constructor.�This can be triggered by a call to `seal_terminate`.@ReentranceDenied
A call tried to invoke a contract that is flagged as non-reentrant.pStorageDepositNotEnoughFunds!Origin doesn't have enough balance to pay the required storage deposits.pStorageDepositLimitExhausted
More storage was created than allowed by the storage deposit limit.$CodeInUseICode removal was denied because the code is still in use by at least one contract.@ContractReverted%The contract ran to completion but decided to revert its storage changes.IPlease note that this error is only returned from extrinsics. When called directly]or via RPC an `Ok` will be returned. In this case the caller needs to inspect the flags�to determine whether a reversion has taken place.0CodeRejected EThe contract's code was found to be invalid during validation or instrumentation.MThe most likely cause of this is that an API was used which is not supported by theMnode. This hapens if an older node is used with a new version of ink!. Try updating�your node to the newest available version.QA more detailed error can be found on the node console if debug messages are enabled�by supplying `-lruntime::contracts=debug`.<Indeterministic!An indetermistic code was used in a context where this is not permitted.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			}Hpolymesh_contractspalletVersionu8�Hpolymesh_contractspalletErrorT04InvalidFuncId�Invalid `func_id` provided from contract.HInvalidRuntimeCall�Failed to decode a valid `RuntimeCall`.DReadStorageFailed�`ReadStorage` failed to write value into the contract's buffer.TDataLeftAfterDecoding�Data left in input when decoding arguments of a call.4InLenTooLarge9Input data that a contract passed when using the ChainExtension was too large.8OutLenTooLarge�Output data returned from the ChainExtension was too large.hInstantiatorWithNoIdentity�A contract was attempted to be instantiated,
but no identity was given to associate the new contract's key with.DRuntimeCallDenied�Extrinsic is not allowed to be called by contracts.PCallerNotAPrimaryKey�The caller is not a primary key.TMissingKeyPermissions	�Secondary key permissions are missing.LInvalidChainVersion
�Only future chain versions are allowed.LNoUpgradesSupported�There are no api upgrades supported for the contract.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�<pallet_preimage4RequestStatus$AccountIdBalance,Unrequesteddeposit�P(AccountId, Balance)lenu32$Requesteddeposit�pOption<(AccountId, Balance)>countu32len%,Option<u32>�OptionT�NoneSome��,�Lbounded_collections,bounded_vec(BoundedVecTS0Vec<T>�<pallet_preimagepalletErrorTTooBig�Preimage is too large to store on-chain.0AlreadyNoted�Preimage has already been noted on-chain.4NotAuthorized�The user is not authorized to perform this action. NotNoted�The preimage cannot be removed since it has not yet been noted.$Requested	A preimage may not be removed when there are outstanding requests.0NotRequested-The preimage request cannot be removed since no outstanding requests exist.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�Lpolymesh_primitivesnft4NFTCollectionid�<NFTCollectionId asset_id�AssetId� BTreeSetTa���a����(pallet_nftpalletErrorTt<BalanceOverflow�An overflow while calculating the balance.@BalanceUnderflow�An underflow while calculating the balance.hCollectionAlredyRegistered�The asset_id is already associated to an NFT collection.HCollectionNotFound�The NFT collection does not exist.PDuplicateMetadataKey�A duplicate metadata key has been passed as parameter.<DuplicatedNFTIdxDuplicate ids are not allowed.@InvalidAssetType�The asset must be of type non-fungible.`InvalidMetadataAttribute�Either the number of keys or the key identifier does not match the keys defined for the collection.�InvalidNFTTransferCollectionNotFound�Failed to transfer an NFT - NFT collection not found.|InvalidNFTTransferSamePortfolio		Failed to transfer an NFT - attempt to move to the same portfolio.tInvalidNFTTransferNFTNotOwned
�Failed to transfer an NFT - NFT not found in portfolio.|InvalidNFTTransferCountOverflow�Failed to transfer an NFT - identity count would overflow.�InvalidNFTTransferComplianceFailure�Failed to transfer an NFT - compliance failed.tInvalidNFTTransferFrozenAsset
�Failed to transfer an NFT - asset is frozen.�InvalidNFTTransferInsufficientCount=Failed to transfer an NFT - the number of nfts in the identity is insufficient.\MaxNumberOfKeysExceeded�The maximum number of metadata keys was exceeded.tMaxNumberOfNFTsPerLegExceededThe maximum number of nfts being transferred in one leg was exceeded.,NFTNotFound\The NFT does not exist.\UnregisteredMetadataKey�At least one of the metadata keys has not been registered.$ZeroCount�It is not possible to transferr zero nft.8SupplyOverflow�An overflow while calculating the updated supply.<SupplyUnderflow�An underflow while calculating the updated supply.tInvalidNFTTransferNFTIsLocked�Failed to transfer an NFT - nft is locked.�InvalidNFTTransferSenderIdMatchesReceiverId�The sender identity can't be the same as the receiver identity.�InvalidNFTTransferInvalidReceiverCDD�The receiver has an invalid CDD.�InvalidNFTTransferInvalidSenderCDDxThe sender has an invalid CDD.8InvalidAssetId�There's no asset associated to the given asset_id.,NFTIsLockedHThe NFT is locked.xNumberOfKeysIsLessThanExpected�The number of keys in the collection is greater than the input.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			��pallet_election_provider_multi_phase4ReadySolutionT supports��BoundedSupports<T::AccountId, T::MaxWinners>score�4ElectionScorecompute�<ElectionCompute�Lbounded_collections,bounded_vec(BoundedVecT�S�Vec<T>��pallet_election_provider_multi_phase4RoundSnapshotTvoters�<Vec<VoterOf<T>>targets�DVec<T::AccountId>���(1	�Lbounded_collections,bounded_vec(BoundedVecT�S�Vec<T>������pallet_election_provider_multi_phasesigned@SignedSubmission$AccountIdBalance Solution�who$AccountIddepositBalance0raw_solution�TRawSolution<Solution> call_feeBalance��pallet_election_provider_multi_phasepalletErrorT8hPreDispatchEarlySubmissiondSubmission was too early.lPreDispatchWrongWinnerCount�Wrong number of winners presented.dPreDispatchWeakSubmission�Submission was too weak, score-wise.<SignedQueueFullIThe queue was full, and the solution was not better than any of the existing ones.XSignedCannotPayDeposit�The origin failed to pay the deposit.PSignedInvalidWitness�Witness data to dispatchable is invalid.LSignedTooMuchWeight�The signed submission consumes too much weight<OcwCallWrongEra�OCW submitted solution for wrong round\MissingSnapshotMetadata�Snapshot metadata should exist but didn't.XInvalidSubmissionIndex	�`Self::insert_submission` returned an invalid index.8CallNotAllowed
�The call is not allowed at this point.8FallbackFailedLThe fallback failed,BoundNotMetHSome bound not met8TooManyWinners
�Submitted solution has too many winners
Error of the pallet that can be returned in response to dispatches.�(sp_runtimegenericLunchecked_extrinsicHUncheckedExtrinsicAddressaCall�$SignatureExtra�0� ���������0frame_system(extensionsHcheck_spec_version@CheckSpecVersionT�0frame_system(extensions@check_tx_version8CheckTxVersionT�0frame_system(extensions4check_genesis0CheckGenesisT�0frame_system(extensions<check_mortality8CheckMortalityT�Era�(sp_runtimegenericeraEra ImmortalMortal1Mortal2Mortal3Mortal4Mortal5Mortal6Mortal7Mortal8Mortal9	 Mortal10
 Mortal11 Mortal12 Mortal13
 Mortal14 Mortal15 Mortal16 Mortal17 Mortal18 Mortal19 Mortal20 Mortal21 Mortal22 Mortal23 Mortal24 Mortal25 Mortal26 Mortal27 Mortal28 Mortal29 Mortal30 Mortal31 Mortal32  Mortal33! Mortal34" Mortal35# Mortal36$ Mortal37% Mortal38& Mortal39' Mortal40( Mortal41) Mortal42* Mortal43+ Mortal44, Mortal45- Mortal46. Mortal47/ Mortal480 Mortal491 Mortal502 Mortal513 Mortal524 Mortal535 Mortal546 Mortal557 Mortal568 Mortal579 Mortal58: Mortal59; Mortal60< Mortal61= Mortal62> Mortal63? Mortal64@ Mortal65A Mortal66B Mortal67C Mortal68D Mortal69E Mortal70F Mortal71G Mortal72H Mortal73I Mortal74J Mortal75K Mortal76L Mortal77M Mortal78N Mortal79O Mortal80P Mortal81Q Mortal82R Mortal83S Mortal84T Mortal85U Mortal86V Mortal87W Mortal88X Mortal89Y Mortal90Z Mortal91[ Mortal92\ Mortal93] Mortal94^ Mortal95_ Mortal96` Mortal97a Mortal98b Mortal99c$Mortal100d$Mortal101e$Mortal102f$Mortal103g$Mortal104h$Mortal105i$Mortal106j$Mortal107k$Mortal108l$Mortal109m$Mortal110n$Mortal111o$Mortal112p$Mortal113q$Mortal114r$Mortal115s$Mortal116t$Mortal117u$Mortal118v$Mortal119w$Mortal120x$Mortal121y$Mortal122z$Mortal123{$Mortal124|$Mortal125}$Mortal126~$Mortal127$Mortal128�$Mortal129�$Mortal130�$Mortal131�$Mortal132�$Mortal133�$Mortal134�$Mortal135�$Mortal136�$Mortal137�$Mortal138�$Mortal139�$Mortal140�$Mortal141�$Mortal142�$Mortal143�$Mortal144�$Mortal145�$Mortal146�$Mortal147�$Mortal148�$Mortal149�$Mortal150�$Mortal151�$Mortal152�$Mortal153�$Mortal154�$Mortal155�$Mortal156�$Mortal157�$Mortal158�$Mortal159�$Mortal160�$Mortal161�$Mortal162�$Mortal163�$Mortal164�$Mortal165�$Mortal166�$Mortal167�$Mortal168�$Mortal169�$Mortal170�$Mortal171�$Mortal172�$Mortal173�$Mortal174�$Mortal175�$Mortal176�$Mortal177�$Mortal178�$Mortal179�$Mortal180�$Mortal181�$Mortal182�$Mortal183�$Mortal184�$Mortal185�$Mortal186�$Mortal187�$Mortal188�$Mortal189�$Mortal190�$Mortal191�$Mortal192�$Mortal193�$Mortal194�$Mortal195�$Mortal196�$Mortal197�$Mortal198�$Mortal199�$Mortal200�$Mortal201�$Mortal202�$Mortal203�$Mortal204�$Mortal205�$Mortal206�$Mortal207�$Mortal208�$Mortal209�$Mortal210�$Mortal211�$Mortal212�$Mortal213�$Mortal214�$Mortal215�$Mortal216�$Mortal217�$Mortal218�$Mortal219�$Mortal220�$Mortal221�$Mortal222�$Mortal223�$Mortal224�$Mortal225�$Mortal226�$Mortal227�$Mortal228�$Mortal229�$Mortal230�$Mortal231�$Mortal232�$Mortal233�$Mortal234�$Mortal235�$Mortal236�$Mortal237�$Mortal238�$Mortal239�$Mortal240�$Mortal241�$Mortal242�$Mortal243�$Mortal244�$Mortal245�$Mortal246�$Mortal247�$Mortal248�$Mortal249�$Mortal250�$Mortal251�$Mortal252�$Mortal253�$Mortal254�$Mortal255��0frame_system(extensions,check_nonce(CheckNonceT� T::Index�0frame_system(extensions0check_weight,CheckWeightT�hpallet_transaction_payment`ChargeTransactionPaymentT�0BalanceOf<T>�Hpallet_permissionsDStoreCallMetadataT`polymesh_runtime_developruntimeRuntime�SystemSystem@AccountA� The full account information for a particular account ID.8ExtrinsicCount� Total extrinsics count for the current block.,BlockWeight� The current weight for the block.@AllExtrinsicsLenA Total length (in bytes) for all extrinsics put together, for the current block.$BlockHash,�� Map of block numbers to block hashes.4ExtrinsicData0= Extrinsics data for the current block (maps an extrinsic's index to its data).Number	 The current block number being processed. Set by `execute_block`.(ParentHash,�p Hash of the previous block.Digest4� Digest of the current block, also part of the block header.EventsD� Events deposited for the current block. NOTE: The item is unbound and should therefore never be read on chain.� It could otherwise inflate the PoV size of a block.- Events have a large in-memory size. Box the events to not go out-of-memory� just in case someone still reads them from within the runtime.(EventCount� The number of events in the `Events<T>` list.,EventTopics,�(% Mapping between a topic (represented by T::Hash) and a vector of indexes� of events in the `<Events<T>>` list.Q All topic vectors have deterministic storage locations depending on the topic. ThisE allows light-clients to leverage the changes trie storage tracking mechanism and� in case of changes fetch the list of events of interest.M The value has the type `(T::BlockNumber, EventIndex)` because if we used only justM the `EventIndex` 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.HLastRuntimeUpgrade�U Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened.TUpgradedToU32RefCount9M True if we have upgraded so that `type RefCount` is `u32`. False (default) if not.`UpgradedToTripleRefCount9] True if we have upgraded so that AccountInfo contains three types of `RefCount`. FalseH (default) if not.8ExecutionPhase�� The execution phase of the block.�P0BlockWeights��� J���������������K�.fffffff���>]��������������fffffff� J�����������Rjt@���� Block & extrinsics weights: base values and limits.,BlockLength�0x��� The maximum length of a block (in bytes).8BlockHashCountU Maximum number of block number to block hash mappings to keep (oldest pruned first). DbWeight�@�����	 The weight of runtime database operations the runtime can invoke.Version�0polymesh_dev0polymesh_devx�j\�j�h�`�7��|���@�:����Ҽ���Џ��'��?EL�Ŭ�^����%�#�hz�J������O[�?h�k�"�?�7ȻP�����իRpY�<r)��X��{�p2�B�Gs)�}�򎀀�����k�<\�xYZ�L^�����a����S�PA�;F���u�`�9�v��� Get the chain's current version.(SS58PrefixE*� The designated SS58 prefix of this chain.9 This replaces the "ss58Format" property declared in the chain spec. Reason is1 that the runtime should know about the prefix in order to make use of it asp an identifier of the chain.�BabeBabeD(EpochIndex( T Current epoch index.,Authorities�l Current epoch authorities.,GenesisSlot � The slot at which the first epoch actually started. This is 0� until the first block of the chain.,CurrentSlot T Current slot number.(Randomness�(� 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.`PendingEpochConfigChangea Pending epoch configuration change that will be applied when the next epoch is enacted.8NextRandomness�\ Next epoch randomness.<NextAuthorities�` Next epoch authorities.0SegmentIndex$| Randomness under construction.� We make a trade-off 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.DUnderConstruction TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay.,Initialized Temporary value (cleared at block finalization) which is `Some` if per-block initialization has already been called for current block.LAuthorVrfRandomness� This field should always be populated during block processing unless secondary plain slots are enabled (which don't contain a VRF output).I It is set in `on_finalize`, before it will contain the value from the last block.(EpochStart� ] The block numbers when the last and current epoch have started, respectively `N-1` and `N`.I NOTE: We track this is in order to annotate the block number when a given pool ofY entropy was fixed (i.e. it was known to chain observers). Since epochs are defined inY slots, which may be skipped, the block numbers may not line up with the slot numbers. Lateness� 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.,EpochConfig-a The configuration for the current epoch. Should never be `None` as it is initialized in$ genesis.<NextEpochConfig-- The configuration for the next epoch, `None` if the config will not change� (you can fallback to `EpochConfig` instead in that case).4SkippedEpochs1 ) A list of the last 100 skipped epochs and the corresponding session indexp when the epoch was skipped.1 This is only used for validating equivocation proofs. An equivocation proof5 must contains a key-ownership proof for a given session, therefore we need a9 way to tie together sessions and epoch indices, i.e. we need to validate that) a validator was the owner of a given key on a given session, and what the� active epoch index was during that session.=4EpochDuration( ,� The amount of time, in slots, that each epoch should last. NOTE: Currently it is not possible to change the epoch duration after! the chain has started. Attempting to do so will brick block production.DExpectedBlockTime( p The expected average block time at which BABE should be creating blocks. Since BABE is probabilistic it is not trivial to figure out what the expected average block time should be based on the slot	 duration and the security parameter `c` (where `1 - c` represents� the probability of a slot being empty).8MaxAuthorities��� Max number of authorities allowedQ$Timestamp$TimestampNow( � Current time for the current block.$DidUpdate9� Did the timestamp get updated in this block?U4MinimumPeriod( �M 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.IndicesIndices AccountsY� The lookup from index to account.]tDeposit@@B� The deposit needed for reserving an index.e(Authorship(AuthorshipAuthord Author of current block. Balances Balances4TotalIssuance@� The total units issued in the system.@InactiveIssuance@	 The total units of outstanding deactivated balance in the system.Account`	 The Balances pallet example of storing the balance of an account.( # Example4 ```nocompile�  impl pallet_balances::Config for Runtime {    type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>  } ``` You can also store the balance of an account in the `System` pallet.( # Example4 ```nocompile�  impl pallet_balances::Config for Runtime {t   type AccountStore = System  } ```Q But this comes with tradeoffs, storing account balances in the system pallet storesm `frame_system` data alongside the account data contrary to storing account balances in the) `Balances` pallet, which uses a `StorageMap` to store balances data only.A NOTE: This is only used in the case that this pallet is used to store balances.Locksi� Any liquidity locks on some account balances.% NOTE: Should only be accessed when setting, changing and freeing a lock. Reservesy� Named reserves on some account balances.�xHExistentialDeposit@� The minimum amount required to keep an account open. MaxLocks2� The maximum number of locks that should exist on an account.� Not strictly enforced, but used for weight estimation.,MaxReserves2
 The maximum number of named reserves that can exist on an account.�HTransactionPaymentHTransactionPaymentDNextFeeMultiplier�@d����
8StorageVersion���HTransactionByteFee@d
 The fee to be paid for making a transaction; the per-byte portion.@WeightToFeeConst�\I�
 The polynomial that is applied in order to derive fee from weight. Identity Identity`(DidRecords��T DID -> identity info,IsDidFrozen�9� DID -> bool that indicates if secondary keys are frozen.0CurrentPayer It stores the current gas fee payer for the current transaction.Claims��� (Target ID, claim type) (issuer,scope) -> Associated claims0CustomClaims0� CusotmClaimTypeId -> String constantLCustomClaimsInverse0� String constant -> CustomClaimTypeIdTCustomClaimIdSequencex The next `CustomClaimTypeId`.(KeyRecords�) Map from AccountId to `KeyRecord` that holds the key's type and identity.\KeyExtrinsicPermissions�� A secondary key's extrinsic permissions.LKeyAssetPermissions�� A secondary key's asset permissions.\KeyPortfolioPermissions�� A secondary key's portfolio permissions.DidKeys�9 A reverse double map to allow finding all keys for an identity.DMultiPurposeNonce( � Nonce to ensure unique actions. starts from 1.hOffChainAuthorizationNonce�( � Authorization nonce per Identity. Initially is 0.8Authorizations��� All authorizations that an identity/key hasLAuthorizationsGiven���M All authorizations that an identity has given. (Authorizer, auth_id -> authorized)pCddAuthForPrimaryKeyRotation9] A config flag that, if set, instructs an authorization from a CDD provider in order to� change the primary key of an identity.8StorageVersion�D Storage version.HAccountKeyRefCount( � 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` and `paying_key`$ParentDid��� Parent identity if the DID is a child Identity. ChildDid�9 All child identities of a parent (i.e ParentDID, ChildDID, true)HNumberOfGivenAuths�� Track the number of authorizations given by each identity.XOutdatedAuthorizations�(� Tracks all authorizations that must be deleted4CurrentAuthId( | Controls the authorization id.��0InitialPOLYX@� POLYX given to primary keys of all new Identities4MaxGivenAuths� Maximum number of authorizations an identity can give.�LCddServiceProvidersLCddServiceProviders4ActiveMembersA� The current "active" membership, stored as an ordered Vec.<InactiveMembers�� The current "inactive" membership, stored as an ordered Vec.HActiveMembersLimit� Limit of how many "active" members there can be.�=�DPolymeshCommitteeDPolymeshCommittee $Proposals�� The hashes of the active proposals.(ProposalOf,�� Actual proposal for a given hash.Voting,�� PolymeshVotes on a given proposal, if it is ongoing.4ProposalCountH Proposals so far.MembersA� The current members of the committee.4VoteThreshold� � Vote threshold for an approval.HReleaseCoordinator�X Release cooridinator.0ExpiresAfterQ� Time after which a proposal will expire.E�	LCommitteeMembershipLCommitteeMembership4ActiveMembersA� The current "active" membership, stored as an ordered Vec.<InactiveMembers�� The current "inactive" membership, stored as an ordered Vec.HActiveMembersLimit� Limit of how many "active" members there can be.U�
HTechnicalCommitteeHTechnicalCommittee $Proposals�� The hashes of the active proposals.(ProposalOf,�� Actual proposal for a given hash.Voting,�� PolymeshVotes on a given proposal, if it is ongoing.4ProposalCountH Proposals so far.MembersA� The current members of the committee.4VoteThreshold� � Vote threshold for an approval.HReleaseCoordinator�X Release cooridinator.0ExpiresAfterQ� Time after which a proposal will expire.	Y�pTechnicalCommitteeMembershippTechnicalCommitteeMembership4ActiveMembersA� The current "active" membership, stored as an ordered Vec.<InactiveMembers�� The current "inactive" membership, stored as an ordered Vec.HActiveMembersLimit� Limit of how many "active" members there can be.
]�@UpgradeCommittee@UpgradeCommittee $Proposals�� The hashes of the active proposals.(ProposalOf,�� Actual proposal for a given hash.Voting,�� PolymeshVotes on a given proposal, if it is ongoing.4ProposalCountH Proposals so far.MembersA� The current members of the committee.4VoteThreshold� � Vote threshold for an approval.HReleaseCoordinator�X Release cooridinator.0ExpiresAfterQ� Time after which a proposal will expire.a�
hUpgradeCommitteeMembershiphUpgradeCommitteeMembership4ActiveMembersA� The current "active" membership, stored as an ordered Vec.<InactiveMembers�� The current "inactive" membership, stored as an ordered Vec.HActiveMembersLimit� Limit of how many "active" members there can be.e� MultiSig MultiSig@4MultiSigNonce( ! Nonce to ensure unique MultiSig addresses are generated; starts from 1.<MultiSigSigners�9� Signers of a multisig. (multisig, signer) => bool.<NumberOfSigners( � Number of approved/accepted signers of a multisig.TMultiSigSignsRequired( � Confirmations required before processing a multisig tx.8NextProposalId( � Next proposal id for a multisig.  Starts from 0.t multisig => next proposal id$Proposals��� Proposals presented for voting to a multisig.� multisig -> proposal id => Option<Proposal>.Votes�9� Individual multisig signer votes.� (multisig, proposal_id) -> signer => vote.$PayingDid�	 The multisig's paying identity.  The primary key of this identity� pays the transaction/protocal fees of the multisig proposals.� multisig -> Option<IdentityId>. AdminDid� The multisig's admin identity.  The primary key of this identity� has admin control over the multisig.� multisig -> Option<IdentityId>.HProposalVoteCounts�	� The count of approvals/rejections of a multisig proposal.� multisig -> proposal id => Option<ProposalVoteCount>.8ProposalStates�	� The state of a multisig proposal� multisig -> proposal id => Option<ProposalState>.@ExecutionReentry9� Proposal execution reentry guard.@AuthToProposalId�(� Pending join identity authorization proposals.� multisig -> auth id => Option<proposal id>.HTransactionVersion� The last transaction version, used for `on_runtime_upgrade`.LLastInvalidProposal(E The last proposal id before the multisig changed signers or signatures required.� multisig => Option<proposal id>8StorageVersion		D Storage version.i(MaxSigners2 Maximum number of signers that can be added/removed in one call.
	(Validators(ValidatorsPPermissionedIdentity�	� Entities that are allowed to run operator/validator nodes.HSlashingAllowedForu� Slashing switch for validators & Nominators.XValidatorCommissionCapy� Allows flexibility in commission. Every validator has commission that should be in the range [0, Cap].!q\MaxValidatorPerIdentity�	� Maximum amount of validators that can run by an identity.� It will be MaxValidatorPerIdentity * Self::validator_count().�MaxVariableInflationTotalIssuance@�Ƥ~� Maximum amount of total issuance after which fixed rewards kicks in.DFixedYearlyReward@�DJT9 Yearly total reward amount that gets distributed when fixed rewards kicks in.	StakingStaking�8ValidatorCount� The ideal number of active validators.TMinimumValidatorCountA Minimum number of staking participants before emergency conditions are imposed.4Invulnerables�Y Any validators that may never be slashed or forcibly kicked. It's a Vec since they'reM easy to initialize and the performance hit is minimal (we expect no more than four� invulnerables) and restricted to testnets.Bonded Map from all locked "stash" accounts to the controller account.� TWOX-NOTE: SAFE since `AccountId` is a secure hash.@MinNominatorBond@! The minimum active bond to become and maintain the role of a nominator.@MinValidatorBond@! The minimum active bond to become and maintain the role of a validator.HMinimumActiveStake@ The minimum active nominator stake of the last successful election.4MinCommissiony� The minimum amount of commission that validators can set.� If set to `0`, no limit exists.Ledger	E Map from all (unlocked) "controller" accounts to the info regarding the staking.Payee-� Where the reward payment should be made. Keyed by stash.� TWOX-NOTE: SAFE since `AccountId` is a secure hash.(Validators�E The map from (wannabe) validator stash key to the preferences of that validator.� TWOX-NOTE: SAFE since `AccountId` is a secure hash.PCounterForValidators�Counter for the related counted storage mapHMaxValidatorsCount1 The maximum validator count before we stop allowing new validators to join.� When this value is not set, no limits are enforced.(Nominators-	Hu The map from nominator stash key to their nomination preferences, namely the validators thatX they wish to support.9 Note that the keys of this storage map might become non-decodable in case them [`Config::MaxNominations`] configuration is decreased. In this rare case, these nominatorse are still existent in storage, their key is correct and retrievable (i.e. `contains_key`q indicates that they exist), but their value cannot be decoded. Therefore, the non-decodablem nominators will effectively not-exist, until they re-submit their preferences such that it is within the bounds of the newly set `Config::MaxNominations`.a This implies that `::iter_keys().count()` and `::iter().count()` might return differentm values for this map. Moreover, the main `::count()` is aligned with the former, namely thel number of keys that exist.m Lastly, if any of the nominators become non-decodable, they can be chilled immediately via� [`Call::chill_other`] dispatchable by anyone.� TWOX-NOTE: SAFE since `AccountId` is a secure hash.PCounterForNominators�Counter for the related counted storage mapHMaxNominatorsCount1 The maximum nominator count before we stop allowing new validators to join.� When this value is not set, no limits are enforced.(CurrentEra\ The current era index.e This is the latest planned era, depending on how the Session pallet queues the validator� set, it might be active or not.$ActiveEra5	� The active era information, it holds index and start.Y The active era is the era being currently rewarded. Validator set of this era must be� equal to [`SessionInterface::validators`].TErasStartSessionIndex1 The session index at which the era start for the last `HISTORY_DEPTH` eras.a Note: This tracks the starting session (i.e. session index when era start being active)� for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`.,ErasStakers9	�x Exposure of validator at era.a This is keyed first by the era index to allow bulk deletion and then the stash account.� Is it removed after `HISTORY_DEPTH` eras.A If stakers hasn't been set or has been removed then empty exposure is returned.HErasStakersClipped9	�,� Clipped Exposure of validator at era.Y This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the� `T::MaxNominatorRewardedPerValidator` biggest stakers. (Note: the field `total` and `own` 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.A If stakers hasn't been set or has been removed then empty exposure is returned.HErasValidatorPrefs9	� Similar to `ErasStakers`, this holds the preferences of validators.a This is keyed first by the era index to allow bulk deletion and then the stash account.� Is it removed after `HISTORY_DEPTH` eras.LErasValidatorReward	 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.@ErasRewardPoints=	� Rewards for the last `HISTORY_DEPTH` eras.% If reward hasn't been set or has been removed then 0 reward is returned.8ErasTotalStake@� 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. ForceEra�T Mode of era forcing.LSlashRewardFractiony� The percentage of the slash that is distributed to reporters.� The rest of the slashed value is handled by the `Slash`.LCanceledSlashPayout@ The amount of currency given to reporters of a slash event which was� canceled by extraordinary circumstances (e.g. governance).@UnappliedSlashesM	� All unapplied slashes that are queued for later.(BondedEras�% 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]`LValidatorSlashInEra9	U	E All slashing events on validators, mapped by era to the highest slash proportionp and slash value of the era.LNominatorSlashInEra9	a All slashing events on nominators, mapped by era to the highest slash value of the era.4SlashingSpansY	� Slashing spans for stash accounts.$SpanSlashI	]	�= Records information about the maximum slash of a stash within a slashing span,� as well as how much reward has been paid out.TCurrentPlannedSession� The last planned session scheduled by the session pallet.q This is basically in sync with the call to [`pallet_session::SessionManager::new_session`].LOffendingValidatorsa	$i Indices of validators that have offended in the active era and whether they are currently( disabled.i This value should be a superset of disabled validators since not all offences lead to theq validator being disabled (if there was no slash). This is needed to track the percentage ofI validators that have offended in the current era, ensuring a new era is forced ifu `OffendingValidatorsThreshold` is reached. The vec is always kept sorted so that we can findq whether a given validator has previously offended using binary search. It gets cleared when8 the era ends.8ChillThreshold5Q The threshold for when users can start calling `chill_other` for other validators /Y nominators. The threshold is compared to the actual number of validators / nominators) (`CountFor*`) in the system compared to the configured max (`Max*Count`).)}8MaxNominations� Maximum number of nominations per nominator.0HistoryDepthTP� Number of eras to keep in history.� Following information is kept for eras in `[current_era -	 HistoryDepth, current_era]`: `ErasStakers`, `ErasStakersClipped`, `ErasValidatorPrefs`, `ErasValidatorReward`, `ErasRewardPoints`,� `ErasTotalStake`, `ErasStartSessionIndex`,� `StakingLedger.claimed_rewards`.� Must be more than the number of eras delayed by session.� I.e. active era must always be in history. I.e. `active_era >� current_era - history_depth` must be guaranteed. If migrating an existing pallet from storage value to config value,� this should be set to same value or greater as in storage. Note: `HistoryDepth` is used as the upper bound for the `BoundedVec` item `StakingLedger.claimed_rewards`. Setting this value lower than� the existing value can lead to inconsistencies in the `StakingLedger` and will need to be handled properly in a migration.� The test `reducing_history_depth_abrupt` shows this effect.8SessionsPerErap Number of sessions per era.<BondingDuration� Number of eras that staked funds must remain bonded for.HSlashDeferDuration 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.�MaxNominatorRewardedPerValidator� The maximum number of nominators rewarded for each validator.Q For each validator only the `$MaxNominatorRewardedPerValidator` biggest stakers can9 claim their reward. This used to limit the i/o cost for the nominator payout.HMaxUnlockingChunks ( The maximum number of `unlocking` chunks a [`StakingLedger`] can	 have. Effectively determines how many unique eras a staker may be8 unbonding in.� Note: `MaxUnlockingChunks` is used as the upper bound for the `BoundedVec` item `StakingLedger.unlocking`. Setting this value lower than the existing value can lead to inconsistencies in the	 `StakingLedger` and will need to be handled properly in a runtime migration. The test `reducing_max_unlocking_chunks_abrupt` shows4 this effect.i	 Offences OffencesReports,m	I The primary structure that holds all offence records keyed by report identifiers.XConcurrentReportsIndexq	�) A vector of reports of the same kind that happened at the same time slot.HReportsByKindIndex�0 Enumerates all reports of a kind along with the time they happened.� All reports are sorted by the time of offence.I Note that the actual type of this mapping is `Vec<u8>`, this is because values ofi different types are not supported at the moment so we are doing the manual serialization.�SessionSession(Validators�| The current set of validators.0CurrentIndexx Current index of the session.4QueuedChanged99 True if the underlying economic identities or weighting behind the validators� has changed in the queued validator set.(QueuedKeysu	= The queued keys for the next session. When the next session begins, these keys� will be used to determine the validator's session keys.HDisabledValidators9� Indices of disabled validators.= The vec is always kept sorted so that we can find whether a given validator is= disabled using binary search. It gets cleared when `on_session_ending` returnsd a new set of identities. NextKeysQ� The next session keys for a validator. KeyOwner}		 The owner of a key. The key is the `KeyTypeId` + the encoded key.M��	HAuthorityDiscoveryGrandpaGrandpaState�	� State of the current authority set.4PendingChange�	� Pending change: (signaled at, scheduled change).(NextForced� next block number where we can force a change.Stalled�� `true` if we are currently stalled.0CurrentSetId( ] The number of changes (both in terms of keys and underlying economic responsibilities)� in the "set" of Grandpa validators from genesis.0SetIdSession((Y A mapping from grandpa set ID to the index of the *most recent* session for which itsh members were responsible.E This is only used for validating equivocation proofs. An equivocation proof mustM contains a key-ownership proof for a given session, therefore we need a way to tieE together sessions and GRANDPA set ids, i.e. we need to validate that a validatorA was the owner of a given key on a given session, and what the active set ID wasT during that session.� TWOX-NOTE: `SetId` is not under user control.Y�8MaxAuthorities��\ Max Authorities in useXMaxSetIdSessionEntries( 9 The maximum number of entries to keep in the set id to session index mapping.1 Since the `SetIdSession` map is only used for validating equivocations this) value should relate to the bonding duration of whatever staking system is5 being used (if any). If equivocation handling is not enabled then this value4 can be zero.�	(Historical ImOnline ImOnline8HeartbeatAfter, The block number after which it's ok to send heartbeats in the current$ session.% At the beginning of each session we set this to a value that should fall5 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.9 This value will only be used as a fallback if we fail to get a proper session- progress estimate from `NextSessionRotation`, as those estimates should be more accurate then the value we calculate for `HeartbeatAfter`.Keys�	� The current set of keys that may issue a heartbeat.HReceivedHeartbeats��	= For each session index, we keep a mapping of `SessionIndex` and `AuthIndex` to� `WrapperOpaque<BoundedOpaqueNetworkState>`.8AuthoredBlocks9	 For each session index, we keep a mapping of `ValidatorId<T>` to the� number of blocks authored by the given authority.��@UnsignedPriority( ��������� A configuration for base priority of unsigned transactions. This is exposed so that it can be tuned for particular runtime, when� multiple pallets send unsigned transactions.�	`RandomnessCollectiveFlip`RandomnessCollectiveFlip8RandomMaterial�	a Series of block headers from the last 81 blocks that acts as random seed material. Thisa is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` ofD the oldest hash.SudoSudoKey� The `AccountId` of the sudo key.���	AssetAsset�`UniqueTickerRegistration�	) Map each [`Ticker`] to its registration details ([`TickerRegistration`]).0TickerConfig�	% Returns [`TickerRegistrationConfig`] for assessing if a ticker is valid.Assets��	� Maps each [`AssetId`] to its underling [`AssetDetails`].(AssetNames��� Maps each [`AssetId`] to its underling [`AssetName`].$BalanceOf�	@ Tracks the total [`Balance`] for each [`AssetId`] per [`IdentityId`].@AssetIdentifiers�� Maps each [`AssetId`] to its asset identifiers ([`AssetIdentifier`]).PCustomTypeIdSequence�� The next `AssetType::Custom` ID in the sequence.� Numbers in the sequence start from 1 rather than 0.,CustomTypes�0� Maps custom asset type ids to the registered string contents.HCustomTypesInverse0�a Inverse map of `CustomTypes`, from registered string contents to custom asset type ids.0FundingRound��A Maps each [`AssetId`] to the name of its founding round ([`FundingRoundName`]).PIssuedInFundingRound�	@y The total [`Balance`] of tokens issued in all recorded funding rounds ([`FundingRoundName`]).Frozen�9I Returns `true` if transfers for the asset are frozen. Otherwise, returns `false`.8AssetDocuments�	� All [`Document`] attached to an asset.`AssetDocumentsIdSequence��� [`DocumentId`] counter per [`AssetId`].LAssetMetadataValues�	-| Metatdata values for an asset.dAssetMetadataValueDetails�	5� Details for an asset's Metadata values.lAssetMetadataLocalNameToKey�	A� Asset Metadata Local Name -> Key.pAssetMetadataGlobalNameToKey=]� Asset Metadata Global Name -> Key.lAssetMetadataLocalKeyToName�	=� Asset Metadata Local Key -> Name.pAssetMetadataGlobalKeyToName]=� Asset Metadata Global Key -> Name.\AssetMetadataLocalSpecs�	E� Asset Metadata Local Key specs.`AssetMetadataGlobalSpecs]E� Asset Metadata Global Key specs.lAssetsExemptFromAffirmation�9 A list of assets that exempt all users from affirming its receivement.@PreApprovedAsset�	9% All assets that don't need an affirmation to be received by an identity.HMandatoryMediators��� The list of mandatory mediators for every ticker.pCurrentAssetMetadataLocalKey�A� The last [`AssetMetadataLocalKey`] used for [`AssetId`].tCurrentAssetMetadataGlobalKey]� The last [`AssetMetadataGlobalKey`] used for a global key.HTickersOwnedByUser�	9t All tickers owned by a user.dSecurityTokensOwnedByUser�	9p All assets owned by a user.4AssetIdTicker�� Maps all [`AssetId`] that are mapped to a [`Ticker`].4TickerAssetId�� Maps all [`Ticker`] that are linked to an [`AssetId`].(AssetNonce(  A per account nonce that is used for generating an [`AssetId`].8StorageVersion�	D Storage version.��HAssetNameMaxLength�� Max length for the name of an asset.dFundingRoundNameMaxLength�� Max length of the funding round name.hAssetMetadataNameMaxLength� Max length for the Asset Metadata type name.lAssetMetadataValueMaxLength � Max length for the Asset Metadata value.tAssetMetadataTypeDefMaxLength � Max length for the Asset Metadata type definition.DMaxAssetMediators� Maximum number of mediators for an asset.�	LCapitalDistributionLCapitalDistribution4Distributions��5 All capital distributions, tied to their respective corporate actions (CAs).\ (CAId) => Distribution(HolderPaid�	9� Has an asset holder been paid yet?� (CAId, DID) -> Was DID paid in the CAId?8StorageVersion�	D Storage version.�y�	(Checkpoint(Checkpoint0,TotalSupply
@� Total supply of the token at the checkpoint. ([`AssetId`], checkpointId) -> total supply at given checkpointBalance
@� Balance of a DID at a checkpoint. ([`AssetId`], did, checkpoint ID) -> Balance of a DID at a checkpointPCheckpointIdSequence�� � Checkpoints ID generator sequence.� ID of first checkpoint is 1 instead of 0.� ([`AssetId`]) -> no. of checkpoints8BalanceUpdates�		
� Checkpoints where a DID's balance was updated. ([`AssetId`], did) -> [checkpoint ID where user balance changed](Timestamps
( \ 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.� ([`AssetId`]) -> (checkpoint ID) -> checkpoint timestampXSchedulesMaxComplexity( � The maximum complexity allowed for an asset's schedules.HScheduleIdSequence�� � Checkpoint schedule ID sequence for assets.t ([`AssetId`]) -> schedule IDTCachedNextCheckpoints�
� Cached next checkpoint for each schedule.- This is used to quickly find the next checkpoint from a asset's schedules.� ([`AssetId`]) -> next checkpointsPScheduledCheckpoints
�\ Scheduled checkpoints.� ([`AssetId`], schedule ID) -> schedule checkpoints@ScheduleRefCount
  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 as `strong_ref_count(schedule_id) > 0`,� `remove_schedule(schedule_id)` will error.� ([`AssetId`], schedule ID) -> strong ref count8SchedulePoints
	
� All the checkpoints a given schedule originated.� ([`AssetId`], schedule ID) -> [checkpoint ID]8StorageVersion!
D Storage version.��%
DComplianceManagerDComplianceManager@AssetCompliances�)
� Compliance for an asset ([`AssetId`] -> [`AssetCompliance`])HTrustedClaimIssuer��� List of trusted claim issuer [`AssetId`] -> Issuer Identity8StorageVersion-
D Storage version.��XMaxConditionComplexity2m The maximum claim reads that are allowed to happen in worst case of a condition resolution1
<CorporateAction<CorporateAction$@MaxDetailsLength] 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].A While this may be unnatural in terms of human understanding of a text's length,e it more closely reflects actual storage costs (`'a'` is cheaper to store than an emoji).� [graphemes]: https://en.wikipedia.org/wiki/Grapheme\DefaultTargetIdentities��� The identities targeted by default for CAs for this asset,� either to be excluded or included.| (AssetId => target identities)TDefaultWithholdingTax�� � The default amount of tax to withhold ("withholding tax", WT) for this asset when distributing dividends.5 To understand withholding tax, e.g., let's assume that you hold ACME shares.� ACME now decides to distribute 100 SEK to Alice.Y 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.l (AssetId => % to withhold)DDidWithholdingTax�M The amount of tax to withhold ("withholding tax", WT) for a certain AssetId x DID.m If an entry exists for a certain DID, it overrides the default in `DefaultWithholdingTax`.� (AssetId => [(did, % to withhold)]0CAIdSequence��� The next per-`AssetId` CA ID in the sequence.Q The full ID is defined as a combination of `AssetId` and a number in this sequence.@CorporateActions5
�l 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.� (AssetId => local ID => the corporate action)$CADocLink�
� Associations from CAs to `Document`s via their IDs.\ (CAId => [DocumentId])	 The `CorporateActions` map stores `AssetId => LocalId => The CA`,) so we can infer `AssetId => CAId`. Therefore, we don't need a double map.Details�	� Associates details in free-form text with a CA by its ID.P (CAId => CADetails)8StorageVersion9
D Storage version.��0MaxTargetIds�� Max number of DID specified in `TargetIdentities`.(MaxDidWhts�� Max number of per-DID withholding tax overrides.=
<CorporateBallot<CorporateBallotMetas�� Metadata of a corporate ballot.T (CAId) => BallotMeta(TimeRanges�� Time details of a corporate ballot associated with a CA.� The timestamps denote when voting starts and stops.h (CAId) => BallotTimeRange@MotionNumChoices�A
$� Stores how many choices there are in each motion.% At all times, the invariant holds that `motion_choices[idx]` is equal to1 `metas.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�9� Is ranked choice voting (RCV) enabled for this ballot?e For an understanding of how RCV is handled, see note on `BallotVote`'s `fallback` field.< (CAId) => boolResults�E
� Stores the total vote tally on each choice.h 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]Votes�	9� 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.8StorageVersionI
D Storage version.�M
,PermissionsQ
 PipsPips`LPruneHistoricalPips9� Set to `true` if historical PIPs data must be removed.XMinimumProposalDeposit@ The minimum amount to be used as a deposit for community PIP creation.XDefaultEnactmentPeriod9 Default enactment period that will be use after a proposal is accepted by GC.@PendingPipExpiryQ� Number of blocks it will take, after a `Pending` PIP expires, assuming it has not transitioned to another `ProposalState`.<MaxPipSkipCount� Maximum times a PIP can be skipped before triggering `CannotSkipPip` in `enact_snapshot_results`.8ActivePipLimit� The maximum allowed number for active PIPs. Once reached, new PIPs cannot be proposed by community members.4PipIdSequenceU\ Proposal's identifier.HSnapshotIdSequenceiX Snaphot's identifier.8ActivePipCount� Total count of pending or scheduled PIPs.@ProposalMetadataUU
� The [`PipsMetadata`] for each proposal ([`PipId`]). DepositsY
]
� All locked [`DepositInfo`] per [`PipId`] for each account.$ProposalsUa
� The [`Pip`] for each proposal ([`PipId`]).8ProposalResultUe
�� The [`VotingResult`] for each proposal ([`PipId`]).4ProposalVotesY
i
 The Votes ([`Vote`]) for each proposal ([`PipId`]) per account.4PipToScheduleU� Maps PIPs to the block at which they will be executed.$LiveQueuem� A live priority queue (lowest priority at index 0)� of pending PIPs up to the active limit.� Priority is defined by the `weight` in the `SnapshottedPip`.E 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.4SnapshotQueuemY The priority queue (lowest priority at index 0) of PIPs at the point of snapshotting.� Priority is defined by the `weight` in the `SnapshottedPip`.	 A queued PIP can be skipped. Doing so bumps the `pip_skip_count`.5 Once a (configurable) threshhold is exceeded, a PIP cannot be skipped again.0SnapshotMetam
h The [`SnapshotMetadata`].0PipSkipCountU� The number of times a certain PIP has been skipped.5 Once a (configurable) threshhold is exceeded, a PIP cannot be skipped again.4CommitteePips�� All existing PIPs where the proposer is a committee.9 This list is a cache of all ids in `Proposals` with `Proposer::Committee(_)`.8ProposalStatesUe� The ([`ProposalState`]) of a given PIP ([`PipId`]).8PendingRefundsU9� All PIPs that still require refunds.<VotesToBePrunedU9� All PIPs that still require votes to be pruned.8StorageVersionq
D Storage version.�I`MaxRefundsAndVotesPruned�� The maximum number of votes that can be pruned at once.u
!$Portfolio$Portfolio4LNextPortfolioNumber�� � The next portfolio sequence number of an identity.(Portfoliosy
�A The set of existing portfolios with their names. If a certain pair of a DID andY portfolio number maps to `None` then such a portfolio doesn't exist. Conversely, if a5 pair maps to `Some(name)` then such a portfolio exists and is called `name`.0NameToNumber}
�� Inverse map of `Portfolios` used to ensure bijectivitiy,� and uniqueness of names in `Portfolios`.LPortfolioAssetCount�( � How many assets with non-zero balance this portfolio contains.XPortfolioAssetBalances�
@� The asset balances of portfolios.TPortfolioLockedAssets�
@� Amount of assets locked in a portfolio.- These assets show up in portfolio balance but can not be transferred away.HPortfolioCustodian�� The custodian of a particular portfolio. None implies that the identity owner is the custodian.LPortfoliosInCustody�
9U 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 that `pid` is in custody of `did`.� `false` values are never explicitly stored in the map, and are instead inferred by the absence of a key.0PortfolioNFT�
9� The nft associated to the portfolio.HPortfolioLockedNFT�
9� All locked nft for a given portfolio.TPreApprovedPortfolios�
9E All portfolios that don't need to affirm the receivement of a given [`AssetId`].DAllowedCustodians�9= Custodians allowed to create and take custody of portfolios on an id's behalf.8StorageVersion�
D Storage version.��`MaxNumberOfFungibleMoves
= Maximum number of fungible assets that can be moved in a single transfer call.PMaxNumberOfNFTsMovesd Maximum number of NFTs that can be moved in a single transfer call.�
",ProtocolFee,ProtocolFee BaseFees@ The mapping of operation names to the base fees of those operations.,Coefficient�  The fee coefficient as a positive rational (numerator, denominator).���
#$Scheduler$Scheduler<IncompleteSinceAgenda�
M Items to be executed, indexed by the block number that they should be executed on.Lookup�� Lookup from a name to the block number and index of the task.Y For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v40 identities.�4MaximumWeight @�n�t��������) The maximum weight that may be scheduled per block for any dispatchables.PMaxScheduledPerBlock2 The maximum number of scheduled calls in the queue for a single block.�
$(Settlement(Settlement\$VenueInfo��
� Info about a venue. venue_id -> venueDetails��� Free-form text about a venue. venue_id -> `VenueDetails`` Only needed for the UI.DVenueInstructions�
Mp Instructions under a venue.` Only needed for the UI.� venue_id -> instruction_id -> ()0VenueSigners�
9� Signers allowed by the venue. (venue_id, signer) -> bool(UserVenues�
Mx Venues create by an identity.` Only needed for the UI.l identity -> venue_id -> ()HInstructionDetailsq�
4 Details about an instruction. instruction_id -> instruction_detailsPInstructionLegStatus�
�
1 Status of a leg under an instruction. (instruction_id, leg_id) -> LegStatusdInstructionAffirmsPendingq( � Number of affirmations pending before instruction is executed. instruction_id -> affirm_pending<AffirmsReceived�
�
� Tracks affirmations received for an instruction. (instruction_id, counter_party) -> AffirmationStatus@UserAffirmations�
�
U Helps a user track their pending instructions and affirmations (only needed for UI).� (counter_party, instruction_id) -> AffirmationStatus0ReceiptsUsed�9 Tracks redemption of receipts. (signer, receipt_uid) -> receipt_used8VenueFiltering�9 Tracks if a token has enabled filtering venues that can create instructions involving their token. AssetId -> filtering_enabled8VenueAllowList�
9� Venues that are allowed to create instructions involving a particular asset. Only used if filtering is enabled.� ([`AssetId`], venue_id) -> allowed0VenueCounter�  Number of venues in the system (It's one more than the actual number)HInstructionCounterq 1 Number of instructions in the system (It's one more than the actual number)@InstructionMemosq�D Instruction memoLInstructionStatusesq�
� Instruction statuses. instruction_id -> InstructionStatus<InstructionLegs�
�� Legs under an instruction. (instruction_id, leg_id) -> LegPOffChainAffirmations�
�
� Tracks the affirmation status for offchain legs in a instruction. [`(InstructionId, LegId)`] -> [`AffirmationStatus`]PNumberOfVenueSigners�� Tracks the number of signers each venue has.�InstructionMediatorsAffirmations�
�
� The status for the mediators affirmation.<LockedTimestampq(% The moment the instruction was moved to the `LockedForExecution` status.8StorageVersion�
D Storage version.
� dMaxNumberOfFungibleAssets
 Maximum number of fungible assets that can be in a single instruction.TMaxNumberOfNFTsPerLeg
� Maximum number of NFTs that can be transferred in a leg.<MaxNumberOfNFTsd Maximum number of NFTs that can be transferred in a instruction.dMaxNumberOfOffChainAssets
5 Maximum number of off-chain assets that can be transferred in a instruction.TMaxNumberOfPortfolios�x Maximum number of portfolios.\MaxNumberOfVenueSigners2� Maximum number of venue signers.\MaxInstructionMediatorsm Maximum number mediators in the instruction level (this does not include asset mediators).DMaximumLockPeriod( �q The maximum time period that an instruction can be held in the `LockedForExecution` status.�
%(Statistics(Statistics@ActiveAssetStats��
� Maps a set of [`StatType`] for each [`AssetId`].(AssetStats�
@4 Asset stats.`AssetTransferCompliances�� The [`AssetTransferCompliance`] for each [`AssetId`].|TransferConditionExemptEntities
9� Entities exempt from a Transfer Compliance rule.8StorageVersionl Storage migration version.=�@MaxStatsPerAsset
� Maximum stats that can be enabled for an Asset.tMaxTransferConditionsPerAsset� Maximum transfer conditions that can be enabled for an Asset.&StoSto,Fundraisers9� All fundraisers that are currently running.� (AssetId, fundraiser_id) -> Fundraiser<FundraiserCount�1 � Total fundraisers created for a token.<FundraiserNames5� Name for the Fundraiser. Only used offchain.� (AssetId, fundraiser_id) -> Fundraiser name\FundraiserOffchainAsset If the fundraiser supports off-chain funding payments using receipts.8StorageVersionl Storage migration version.M-!' TreasuryaM%(UtilityUtilityNonces( X Nonce for `relay_tx`.D POLYMESH: added.mQLbatched_calls_limit�*� The limit on the number of batched calls.))Base�UMaxLen� The maximum length governing `TooLong`.- How lengths are computed to compare against this value is situation based.e For example, you could halve it, double it, compute a sum for some tree of strings, etc.-*8ExternalAgents8ExternalAgents0AGIdSequence�5� The next per-asset AG ID in the sequence.Q The full ID is defined as a combination of `AssetId` and a number in this sequence,� which starts from 1, rather than 0.AgentOf�	M
 Maps an agent (`IdentityId`) to all assets they belong to, if any.0GroupOfAgent�	1= Maps agents (`IdentityId`) for an `AssetId` to what AG they belong to, if any.4NumFullAgents�� Maps an `AssetId` to the number of `Full` agents for it.@GroupPermissions1�e For custom AGs of an `AssetId`, maps to what permissions an agent in that AG would have.8StorageVersion5D Storage version.�]9+RelayerRelayer$Subsidies=� The subsidy for a `user_key` if they are being subsidised,� as a map `user_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.�aA,$Contracts$Contracts0PristineCode,Ee A mapping from an original code hash to the original code, untouched by instrumentation.,CodeStorage,Ie A mapping between an original code hash and instrumented wasm code, ready for execution.,OwnerInfoOf,Q
 A mapping between an original code hash and its owner information.Nonce( X This is a **monotonic** counter incremented on contract instantiation. This is used in order to generate unique trie ids for contracts.) The trie id of a new contract is calculated from hash(account_id, nonce).5 The nonce is required because otherwise the following sequence would lead to� a possible collision of storage:h 1. Create a new contract.l 2. Terminate the contract.� 3. Immediately recreate the contract with the same account_id.E This is bad because the contents of a trie are deleted lazily and there might beY storage of the old instantiation still in it when the new contract is created. PleaseY note that we can't replace the counter by the block number because the sequence aboveQ can happen in the same block. We also can't keep the account counter in memory onlyI because storage is the only way to communicate across different extrinsics in the0 same block. # Note= Do not use it to determine the number of contracts. It won't be decremented ifd a contract is destroyed.8ContractInfoOfU� The code associated with a given account.� TWOX-NOTE: SAFE since `AccountId` is a secure hash.4DeletionQueue]� Evicted contracts that await child trie deletion.I Child trie deletion is a heavy operation depending on the amount of storage itemsY stored in said trie. Therefore this operation is performed lazily in `on_initialize`.�e$ Schedulei-� @��]j�w�7����0�(�o�����[|C����
�exglXC	��kJ�sf|���Oan^��z���0
"�$ֈʳ�Eb>��S������Q^���p�2���[yy.��z����\<�N��
\=�]�Y��B��{=�Y
EMֆ,
�[v0%=�gr��k�p������pr���&���.�������A�*�4(��#,��d�
&z���&*�2h Cost schedule and limits.HDeletionQueueDepth<	 The maximum number of contracts that can be pending for deletion.= When a contract is deleted by calling `seal_terminate` it becomes inaccessibleM immediately, but the deletion of the storage items it has accumulated is performed) later. The contract is put into the deletion queue. This defines how many] contracts can be queued up at the same time. If that limit is reached `seal_terminate` will fail. The action must be retried in a later block in that case.� The reasons for limiting the queue depth are:Y 1. The queue is in storage in order to be persistent between blocks. We want to limit� 	the amount of storage that can be consumed.M 2. The queue is stored in a vector and needs to be decoded as a whole when readingE		it at the end of each block. Longer queues take more weight to decode and hence�		limit the amount of items that can be deleted per block.LDeletionWeightLimit �RjtM The maximum amount of weight that can be consumed per block for lazy trie removal.] The amount of weight that is dedicated per block to work on the deletion queue. LargerE values allow more trie keys to be deleted in each block but reduce the amount ofA weight that is left for transactions. See [`Self::DeletionQueueDepth`] for more� information about the deletion queue.8DepositPerByte@`� The amount of balance a caller has to pay for each byte of storage. # Note) Changing this value for an existing chain might need a storage migration.8DepositPerItem@�I The amount of balance a caller has to pay for each storage item. # Note) Changing this value for an existing chain might need a storage migration.(MaxCodeLen�] The maximum length of a contract code in bytes. This limit applies to the instrumentedQ version of the code. Therefore `instantiate_with_code` can fail even when supplying� a wasm binary below this maximum size.Y The value should be chosen carefully taking into the account the overall memory limit� your runtime has, as well as the [maximum allowed callstack] depth](#associatedtype.CallStack). Look into the `integrity_test()` for some insights.@MaxStorageKeyLen�� The maximum allowable length in bytes for storage keys.\UnsafeUnstableInterface9$ Make contract callable functions marked as `#[unstable]` available.= Contracts that use `#[unstable]` functions won't be able to be uploaded unlessE this is set to `true`. This is only meant for testnets and dev nodes in order tox experiment with new features.( # Warning� Do **not** set to `true` on productions chains.DMaxDebugBufferLen � The maximum length of the debug buffer in bytes.y.DPolymeshContractsDPolymeshContractsPCallRuntimeWhitelistu9� Whitelist of extrinsics allowed to be called from contracts.8StorageVersion}D Storage version.8ApiNextUpgradem�
 Stores the chain version and code hash for the next chain upgrade.8CurrentApiHashm�� Stores the code hash for the current api.�i�/ Preimage Preimage$StatusFor,�� The request status of a given hash.,PreimageFor���y�0NftNft$0NumberOfNFTs�	( � The total number of NFTs per identity.<CollectionAsset�� � The collection id corresponding to each asset.(Collection��`� All collection details for a given collection id.8CollectionKeys��� All mandatory metadata keys for a given collection.4MetadataValue�-E The metadata value of an nft given its collection id, token id and metadata key.@NFTsInCollection�( � The total number of NFTs in a collection. NFTOwner�
�l Tracks the owner of an NFT0CurrentNFTId��� The last `NFTId` used for an NFT.LCurrentCollectionId�� The last `NFTCollectionId` used for a collection.�}dMaxNumberOfCollectionKeys�PMaxNumberOfNFTsCount
�1hElectionProviderMultiPhasehElectionProviderMultiPhase(Round� Internal counter for the number of rounds.U This is useful for de-duplication of transactions submitted to the pool, and generall diagnostics of the pallet.M This is merely incremented once per every time that an upstream `elect` is called.0CurrentPhase�< Current phase.8QueuedSolution�= Current best solution, signed or unsigned, queued to be returned upon `elect`. Snapshot�p Snapshot data of the round.] This is created at the beginning of the signed phase and cleared upon calling `elect`.8DesiredTargets� Desired number of targets to elect for this round.� Only exists when [`Snapshot`] is present.@SnapshotMetadata�� The metadata of the [`RoundSnapshot`]� Only exists when [`Snapshot`] is present.dSignedSubmissionNextIndex$ The next index to be assigned to an incoming signed submission.u Every accepted submission is assigned a unique index; that index is bound to that particulare submission for the duration of the election. On election finalization, the next index is0 reset to 0.i We can't just use `SignedSubmissionIndices.len()`, because that's a bounded set; past itsY capacity, it will simply saturate. We can't just iterate over `SignedSubmissionsMap`,� because iteration is slow. Instead, we store the value here.\SignedSubmissionIndices�m A sorted, bounded vector of `(score, block_number, index)`, where each `index` points to ax value in `SignedSubmissions`.q We never need to process more than a single signed submission at a time. Signed submissionsu can be quite large, so we're willing to pay the cost of multiple database accesses to access! them one at a time instead of reading and decoding all of them at once.PSignedSubmissionsMap�t Unchecked, signed solutions.i Together with `SubmissionIndices`, this stores a bounded set of `SignedSubmissions` while� allowing us to keep only a single one in memory at a time.i Twox note: the key of the map is an auto-incrementing index which users cannot inspect or� affect; we shouldn't need a cryptographically secure hasher.TMinimumUntrustedScore�] The minimum score that each 'untrusted' solution must attain in order to be considered( feasible.� Can be set via `set_minimum_untrusted_score`.��L4UnsignedPhaseK� Duration of the unsigned phase.,SignedPhasex Duration of the signed phase.TBetterSignedThresholdyM The minimum amount of improvement to the solution score that defines a solution asx "better" in the Signed phase.\BetterUnsignedThresholdy��M The minimum amount of improvement to the solution score that defines a solution as� "better" in the Unsigned phase.8OffchainRepeat� The repeat threshold of the offchain worker.a For example, if it is 5, that means that at least 5 blocks will elapse between attempts� to submit the worker's solution.<MinerTxPriority( �������% The priority of the unsigned transaction submitted in the unsigned-phasePSignedMaxSubmissions� Maximum number of signed submissions that can be queued.U It is best to avoid adjusting this during an election, as it impacts downstream datae structures. In particular, `SignedSubmissionIndices<T>` is bounded on this value. If you� update this value during an election, you _must_ ensure thatM `SignedSubmissionIndices.len()` is less than or equal to the new value. Otherwise,� attempts to submit new solutions may cause a runtime panic.<SignedMaxWeight � Maximum weight of a signed solution.] If [`Config::MinerConfig`] is being implemented to submit signed solutions (outside of= this pallet), then [`MinerConfig::solution_weight`] is used to compare against0 this value.@SignedMaxRefunds The maximum amount of unchecked solutions to refund the call fee for.@SignedRewardBase@� Base reward for a signed solutionDSignedDepositBase@� Base deposit for a signed solution.DSignedDepositByte@� Per-byte deposit for a signed solution.LSignedDepositWeight@� Per-weight deposit for a signed solution.DMaxElectingVoters@�] The maximum number of electing voters to put in the snapshot. At the moment, snapshotsY are only over a single block, but once multi-block elections are introduced they will� take place over multiple blocks.LMaxElectableTargetsE' The maximum number of electable targets to put in the snapshot.(MaxWinners�5 The maximum number of winners that can be elected by this `ElectionProvider`@ implementation.Q Note: This must always be greater or equal to `T::DataProvider::desired_targets()`.8MinerMaxLengthl8MinerMaxWeight @��3�)fffffff�TMinerMaxVotesPerVoter�2� @CheckSpecVersion�8CheckTxVersion�0CheckGenesis�,8CheckMortality�,(CheckNonce�M,CheckWeight�M`ChargeTransactionPayment�MDStoreCallMetadata�M