@dedot/chaintypes 0.142.0 → 0.143.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,6 +13,7 @@ import type {
13
13
  MultiAddress,
14
14
  MultiAddressLike,
15
15
  AccountId32Like,
16
+ Perbill,
16
17
  Data,
17
18
  Era,
18
19
  Header,
@@ -94,7 +95,11 @@ export type FrameSystemEvent =
94
95
  /**
95
96
  * An upgrade was authorized.
96
97
  **/
97
- | { name: 'UpgradeAuthorized'; data: { codeHash: H256; checkVersion: boolean } };
98
+ | { name: 'UpgradeAuthorized'; data: { codeHash: H256; checkVersion: boolean } }
99
+ /**
100
+ * An invalid authorized upgrade was rejected while trying to apply it.
101
+ **/
102
+ | { name: 'RejectedInvalidAuthorizedUpgrade'; data: { codeHash: H256; error: DispatchError } };
98
103
 
99
104
  export type FrameSystemDispatchEventInfo = {
100
105
  weight: SpWeightsWeightV2Weight;
@@ -431,7 +436,15 @@ export type PalletSessionEvent =
431
436
  * New session has happened. Note that the argument is the session index, not the
432
437
  * block number as the type might suggest.
433
438
  **/
434
- { name: 'NewSession'; data: { sessionIndex: number } };
439
+ | { name: 'NewSession'; data: { sessionIndex: number } }
440
+ /**
441
+ * Validator has been disabled.
442
+ **/
443
+ | { name: 'ValidatorDisabled'; data: { validator: AccountId32 } }
444
+ /**
445
+ * Validator has been re-enabled.
446
+ **/
447
+ | { name: 'ValidatorReenabled'; data: { validator: AccountId32 } };
435
448
 
436
449
  /**
437
450
  * The `Event` enum of this pallet
@@ -451,7 +464,7 @@ export type PalletXcmEvent =
451
464
  **/
452
465
  | { name: 'Attempted'; data: { outcome: StagingXcmV5TraitsOutcome } }
453
466
  /**
454
- * A XCM message was sent.
467
+ * An XCM message was sent.
455
468
  **/
456
469
  | {
457
470
  name: 'Sent';
@@ -462,6 +475,25 @@ export type PalletXcmEvent =
462
475
  messageId: FixedBytes<32>;
463
476
  };
464
477
  }
478
+ /**
479
+ * An XCM message failed to send.
480
+ **/
481
+ | {
482
+ name: 'SendFailed';
483
+ data: {
484
+ origin: StagingXcmV5Location;
485
+ destination: StagingXcmV5Location;
486
+ error: XcmV3TraitsSendError;
487
+ messageId: FixedBytes<32>;
488
+ };
489
+ }
490
+ /**
491
+ * An XCM message failed to process.
492
+ **/
493
+ | {
494
+ name: 'ProcessXcmError';
495
+ data: { origin: StagingXcmV5Location; error: XcmV5TraitsError; messageId: FixedBytes<32> };
496
+ }
465
497
  /**
466
498
  * Query response received which does not match a registered query. This may be because a
467
499
  * matching query was never registered, it may be because it is a duplicate response, or
@@ -618,7 +650,23 @@ export type PalletXcmEvent =
618
650
  /**
619
651
  * A XCM version migration finished.
620
652
  **/
621
- | { name: 'VersionMigrationFinished'; data: { version: number } };
653
+ | { name: 'VersionMigrationFinished'; data: { version: number } }
654
+ /**
655
+ * An `aliaser` location was authorized by `target` to alias it, authorization valid until
656
+ * `expiry` block number.
657
+ **/
658
+ | {
659
+ name: 'AliasAuthorized';
660
+ data: { aliaser: StagingXcmV5Location; target: StagingXcmV5Location; expiry?: bigint | undefined };
661
+ }
662
+ /**
663
+ * `target` removed alias authorization for `aliaser`.
664
+ **/
665
+ | { name: 'AliasAuthorizationRemoved'; data: { aliaser: StagingXcmV5Location; target: StagingXcmV5Location } }
666
+ /**
667
+ * `target` removed all alias authorizations.
668
+ **/
669
+ | { name: 'AliasesAuthorizationsRemoved'; data: { target: StagingXcmV5Location } };
622
670
 
623
671
  export type StagingXcmV5TraitsOutcome =
624
672
  | { type: 'Complete'; value: { used: SpWeightsWeightV2Weight } }
@@ -903,6 +951,15 @@ export type StagingXcmV5AssetAssetTransferFilter =
903
951
 
904
952
  export type StagingXcmV5Hint = { type: 'AssetClaimer'; value: { location: StagingXcmV5Location } };
905
953
 
954
+ export type XcmV3TraitsSendError =
955
+ | 'NotApplicable'
956
+ | 'Transport'
957
+ | 'Unroutable'
958
+ | 'DestinationUnsupported'
959
+ | 'ExceedsMaxMessageSize'
960
+ | 'MissingArgument'
961
+ | 'Fees';
962
+
906
963
  export type XcmVersionedAssets =
907
964
  | { type: 'V3'; value: XcmV3MultiassetMultiAssets }
908
965
  | { type: 'V4'; value: StagingXcmV4AssetAssets }
@@ -1211,7 +1268,15 @@ export type PalletUtilityEvent =
1211
1268
  /**
1212
1269
  * A call was dispatched.
1213
1270
  **/
1214
- | { name: 'DispatchedAs'; data: { result: Result<[], DispatchError> } };
1271
+ | { name: 'DispatchedAs'; data: { result: Result<[], DispatchError> } }
1272
+ /**
1273
+ * Main call was dispatched.
1274
+ **/
1275
+ | { name: 'IfElseMainSuccess' }
1276
+ /**
1277
+ * The fallback call was dispatched.
1278
+ **/
1279
+ | { name: 'IfElseFallbackCalled'; data: { mainError: DispatchError } };
1215
1280
 
1216
1281
  /**
1217
1282
  * The `Event` enum of this pallet
@@ -1257,6 +1322,13 @@ export type PalletMultisigEvent =
1257
1322
  multisig: AccountId32;
1258
1323
  callHash: FixedBytes<32>;
1259
1324
  };
1325
+ }
1326
+ /**
1327
+ * The deposit for a multisig operation has been updated/poked.
1328
+ **/
1329
+ | {
1330
+ name: 'DepositPoked';
1331
+ data: { who: AccountId32; callHash: FixedBytes<32>; oldDeposit: bigint; newDeposit: bigint };
1260
1332
  };
1261
1333
 
1262
1334
  export type PalletMultisigTimepoint = { height: number; index: number };
@@ -1309,6 +1381,13 @@ export type PalletProxyEvent =
1309
1381
  proxyType: PeoplePolkadotRuntimeProxyType;
1310
1382
  delay: number;
1311
1383
  };
1384
+ }
1385
+ /**
1386
+ * A deposit stored for proxies or announcements was poked / updated.
1387
+ **/
1388
+ | {
1389
+ name: 'DepositPoked';
1390
+ data: { who: AccountId32; kind: PalletProxyDepositKind; oldDeposit: bigint; newDeposit: bigint };
1312
1391
  };
1313
1392
 
1314
1393
  export type PeoplePolkadotRuntimeProxyType =
@@ -1319,6 +1398,8 @@ export type PeoplePolkadotRuntimeProxyType =
1319
1398
  | 'IdentityJudgement'
1320
1399
  | 'Collator';
1321
1400
 
1401
+ export type PalletProxyDepositKind = 'Proxies' | 'Announcements';
1402
+
1322
1403
  /**
1323
1404
  * The `Event` enum of this pallet
1324
1405
  **/
@@ -1790,15 +1871,7 @@ export type CumulusPalletParachainSystemError =
1790
1871
  /**
1791
1872
  * No validation function upgrade is currently scheduled.
1792
1873
  **/
1793
- | 'NotScheduled'
1794
- /**
1795
- * No code upgrade has been authorized.
1796
- **/
1797
- | 'NothingAuthorized'
1798
- /**
1799
- * The given code upgrade has not been authorized.
1800
- **/
1801
- | 'Unauthorized';
1874
+ | 'NotScheduled';
1802
1875
 
1803
1876
  /**
1804
1877
  * Contains a variant per dispatchable extrinsic that this pallet has.
@@ -1962,7 +2035,9 @@ export type PalletBalancesReserveData = { id: FixedBytes<8>; amount: bigint };
1962
2035
 
1963
2036
  export type FrameSupportTokensMiscIdAmount = { id: PeoplePolkadotRuntimeRuntimeHoldReason; amount: bigint };
1964
2037
 
1965
- export type PeoplePolkadotRuntimeRuntimeHoldReason = null;
2038
+ export type PeoplePolkadotRuntimeRuntimeHoldReason = { type: 'PolkadotXcm'; value: PalletXcmHoldReason };
2039
+
2040
+ export type PalletXcmHoldReason = 'AuthorizeAlias';
1966
2041
 
1967
2042
  export type FrameSupportTokensMiscIdAmount002 = { id: []; amount: bigint };
1968
2043
 
@@ -2371,6 +2446,8 @@ export type PalletCollatorSelectionCallLike =
2371
2446
  **/
2372
2447
  | { name: 'TakeCandidateSlot'; params: { deposit: bigint; target: AccountId32Like } };
2373
2448
 
2449
+ export type FrameSupportPalletId = FixedBytes<8>;
2450
+
2374
2451
  /**
2375
2452
  * The `Error` enum of this pallet.
2376
2453
  **/
@@ -2448,6 +2525,8 @@ export type PeoplePolkadotRuntimeSessionKeys = { aura: SpConsensusAuraSr25519App
2448
2525
 
2449
2526
  export type SpConsensusAuraSr25519AppSr25519Public = FixedBytes<32>;
2450
2527
 
2528
+ export type SpStakingOffenceOffenceSeverity = Perbill;
2529
+
2451
2530
  export type SpCoreCryptoKeyTypeId = FixedBytes<4>;
2452
2531
 
2453
2532
  /**
@@ -2774,6 +2853,20 @@ export type PalletXcmRemoteLockedFungibleRecord = {
2774
2853
  consumers: Array<[[], bigint]>;
2775
2854
  };
2776
2855
 
2856
+ export type PalletXcmAuthorizedAliasesEntry = {
2857
+ aliasers: Array<XcmRuntimeApisAuthorizedAliasesOriginAliaser>;
2858
+ ticket: FrameSupportStorageDisabled;
2859
+ };
2860
+
2861
+ export type FrameSupportStorageDisabled = {};
2862
+
2863
+ export type PalletXcmMaxAuthorizedAliases = {};
2864
+
2865
+ export type XcmRuntimeApisAuthorizedAliasesOriginAliaser = {
2866
+ location: XcmVersionedLocation;
2867
+ expiry?: bigint | undefined;
2868
+ };
2869
+
2777
2870
  /**
2778
2871
  * Contains a variant per dispatchable extrinsic that this pallet has.
2779
2872
  **/
@@ -3087,7 +3180,31 @@ export type PalletXcmCall =
3087
3180
  customXcmOnDest: XcmVersionedXcm;
3088
3181
  weightLimit: XcmV3WeightLimit;
3089
3182
  };
3090
- };
3183
+ }
3184
+ /**
3185
+ * Authorize another `aliaser` location to alias into the local `origin` making this call.
3186
+ * The `aliaser` is only authorized until the provided `expiry` block number.
3187
+ * The call can also be used for a previously authorized alias in order to update its
3188
+ * `expiry` block number.
3189
+ *
3190
+ * Usually useful to allow your local account to be aliased into from a remote location
3191
+ * also under your control (like your account on another chain).
3192
+ *
3193
+ * WARNING: make sure the caller `origin` (you) trusts the `aliaser` location to act in
3194
+ * their/your name. Once authorized using this call, the `aliaser` can freely impersonate
3195
+ * `origin` in XCM programs executed on the local chain.
3196
+ **/
3197
+ | { name: 'AddAuthorizedAlias'; params: { aliaser: XcmVersionedLocation; expires?: bigint | undefined } }
3198
+ /**
3199
+ * Remove a previously authorized `aliaser` from the list of locations that can alias into
3200
+ * the local `origin` making this call.
3201
+ **/
3202
+ | { name: 'RemoveAuthorizedAlias'; params: { aliaser: XcmVersionedLocation } }
3203
+ /**
3204
+ * Remove all previously authorized `aliaser`s that can alias into the local `origin`
3205
+ * making this call.
3206
+ **/
3207
+ | { name: 'RemoveAllAuthorizedAliases' };
3091
3208
 
3092
3209
  export type PalletXcmCallLike =
3093
3210
  | { name: 'Send'; params: { dest: XcmVersionedLocation; message: XcmVersionedXcm } }
@@ -3399,7 +3516,31 @@ export type PalletXcmCallLike =
3399
3516
  customXcmOnDest: XcmVersionedXcm;
3400
3517
  weightLimit: XcmV3WeightLimit;
3401
3518
  };
3402
- };
3519
+ }
3520
+ /**
3521
+ * Authorize another `aliaser` location to alias into the local `origin` making this call.
3522
+ * The `aliaser` is only authorized until the provided `expiry` block number.
3523
+ * The call can also be used for a previously authorized alias in order to update its
3524
+ * `expiry` block number.
3525
+ *
3526
+ * Usually useful to allow your local account to be aliased into from a remote location
3527
+ * also under your control (like your account on another chain).
3528
+ *
3529
+ * WARNING: make sure the caller `origin` (you) trusts the `aliaser` location to act in
3530
+ * their/your name. Once authorized using this call, the `aliaser` can freely impersonate
3531
+ * `origin` in XCM programs executed on the local chain.
3532
+ **/
3533
+ | { name: 'AddAuthorizedAlias'; params: { aliaser: XcmVersionedLocation; expires?: bigint | undefined } }
3534
+ /**
3535
+ * Remove a previously authorized `aliaser` from the list of locations that can alias into
3536
+ * the local `origin` making this call.
3537
+ **/
3538
+ | { name: 'RemoveAuthorizedAlias'; params: { aliaser: XcmVersionedLocation } }
3539
+ /**
3540
+ * Remove all previously authorized `aliaser`s that can alias into the local `origin`
3541
+ * making this call.
3542
+ **/
3543
+ | { name: 'RemoveAllAuthorizedAliases' };
3403
3544
 
3404
3545
  export type XcmVersionedXcm =
3405
3546
  | { type: 'V3'; value: XcmV3Xcm }
@@ -3746,7 +3887,19 @@ export type PalletXcmError =
3746
3887
  /**
3747
3888
  * Local XCM execution incomplete.
3748
3889
  **/
3749
- | 'LocalExecutionIncomplete';
3890
+ | 'LocalExecutionIncomplete'
3891
+ /**
3892
+ * Too many locations authorized to alias origin.
3893
+ **/
3894
+ | 'TooManyAuthorizedAliases'
3895
+ /**
3896
+ * Expiry block number is in the past.
3897
+ **/
3898
+ | 'ExpiresInPast'
3899
+ /**
3900
+ * The alias to remove authorization for was not found.
3901
+ **/
3902
+ | 'AliasNotFound';
3750
3903
 
3751
3904
  /**
3752
3905
  * Contains a variant per dispatchable extrinsic that this pallet has.
@@ -3981,7 +4134,44 @@ export type PalletUtilityCall =
3981
4134
  *
3982
4135
  * The dispatch origin for this call must be _Root_.
3983
4136
  **/
3984
- | { name: 'WithWeight'; params: { call: PeoplePolkadotRuntimeRuntimeCall; weight: SpWeightsWeightV2Weight } };
4137
+ | { name: 'WithWeight'; params: { call: PeoplePolkadotRuntimeRuntimeCall; weight: SpWeightsWeightV2Weight } }
4138
+ /**
4139
+ * Dispatch a fallback call in the event the main call fails to execute.
4140
+ * May be called from any origin except `None`.
4141
+ *
4142
+ * This function first attempts to dispatch the `main` call.
4143
+ * If the `main` call fails, the `fallback` is attemted.
4144
+ * if the fallback is successfully dispatched, the weights of both calls
4145
+ * are accumulated and an event containing the main call error is deposited.
4146
+ *
4147
+ * In the event of a fallback failure the whole call fails
4148
+ * with the weights returned.
4149
+ *
4150
+ * - `main`: The main call to be dispatched. This is the primary action to execute.
4151
+ * - `fallback`: The fallback call to be dispatched in case the `main` call fails.
4152
+ *
4153
+ * ## Dispatch Logic
4154
+ * - If the origin is `root`, both the main and fallback calls are executed without
4155
+ * applying any origin filters.
4156
+ * - If the origin is not `root`, the origin filter is applied to both the `main` and
4157
+ * `fallback` calls.
4158
+ *
4159
+ * ## Use Case
4160
+ * - Some use cases might involve submitting a `batch` type call in either main, fallback
4161
+ * or both.
4162
+ **/
4163
+ | { name: 'IfElse'; params: { main: PeoplePolkadotRuntimeRuntimeCall; fallback: PeoplePolkadotRuntimeRuntimeCall } }
4164
+ /**
4165
+ * Dispatches a function call with a provided origin.
4166
+ *
4167
+ * Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call.
4168
+ *
4169
+ * The dispatch origin for this call must be _Root_.
4170
+ **/
4171
+ | {
4172
+ name: 'DispatchAsFallible';
4173
+ params: { asOrigin: PeoplePolkadotRuntimeOriginCaller; call: PeoplePolkadotRuntimeRuntimeCall };
4174
+ };
3985
4175
 
3986
4176
  export type PalletUtilityCallLike =
3987
4177
  /**
@@ -4073,7 +4263,47 @@ export type PalletUtilityCallLike =
4073
4263
  *
4074
4264
  * The dispatch origin for this call must be _Root_.
4075
4265
  **/
4076
- | { name: 'WithWeight'; params: { call: PeoplePolkadotRuntimeRuntimeCallLike; weight: SpWeightsWeightV2Weight } };
4266
+ | { name: 'WithWeight'; params: { call: PeoplePolkadotRuntimeRuntimeCallLike; weight: SpWeightsWeightV2Weight } }
4267
+ /**
4268
+ * Dispatch a fallback call in the event the main call fails to execute.
4269
+ * May be called from any origin except `None`.
4270
+ *
4271
+ * This function first attempts to dispatch the `main` call.
4272
+ * If the `main` call fails, the `fallback` is attemted.
4273
+ * if the fallback is successfully dispatched, the weights of both calls
4274
+ * are accumulated and an event containing the main call error is deposited.
4275
+ *
4276
+ * In the event of a fallback failure the whole call fails
4277
+ * with the weights returned.
4278
+ *
4279
+ * - `main`: The main call to be dispatched. This is the primary action to execute.
4280
+ * - `fallback`: The fallback call to be dispatched in case the `main` call fails.
4281
+ *
4282
+ * ## Dispatch Logic
4283
+ * - If the origin is `root`, both the main and fallback calls are executed without
4284
+ * applying any origin filters.
4285
+ * - If the origin is not `root`, the origin filter is applied to both the `main` and
4286
+ * `fallback` calls.
4287
+ *
4288
+ * ## Use Case
4289
+ * - Some use cases might involve submitting a `batch` type call in either main, fallback
4290
+ * or both.
4291
+ **/
4292
+ | {
4293
+ name: 'IfElse';
4294
+ params: { main: PeoplePolkadotRuntimeRuntimeCallLike; fallback: PeoplePolkadotRuntimeRuntimeCallLike };
4295
+ }
4296
+ /**
4297
+ * Dispatches a function call with a provided origin.
4298
+ *
4299
+ * Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call.
4300
+ *
4301
+ * The dispatch origin for this call must be _Root_.
4302
+ **/
4303
+ | {
4304
+ name: 'DispatchAsFallible';
4305
+ params: { asOrigin: PeoplePolkadotRuntimeOriginCaller; call: PeoplePolkadotRuntimeRuntimeCallLike };
4306
+ };
4077
4307
 
4078
4308
  export type PeoplePolkadotRuntimeRuntimeCall =
4079
4309
  | { pallet: 'System'; palletCall: FrameSystemCall }
@@ -4257,6 +4487,25 @@ export type PalletMultisigCall =
4257
4487
  timepoint: PalletMultisigTimepoint;
4258
4488
  callHash: FixedBytes<32>;
4259
4489
  };
4490
+ }
4491
+ /**
4492
+ * Poke the deposit reserved for an existing multisig operation.
4493
+ *
4494
+ * The dispatch origin for this call must be _Signed_ and must be the original depositor of
4495
+ * the multisig operation.
4496
+ *
4497
+ * The transaction fee is waived if the deposit amount has changed.
4498
+ *
4499
+ * - `threshold`: The total number of approvals needed for this multisig.
4500
+ * - `other_signatories`: The accounts (other than the sender) who are part of the
4501
+ * multisig.
4502
+ * - `call_hash`: The hash of the call this deposit is reserved for.
4503
+ *
4504
+ * Emits `DepositPoked` if successful.
4505
+ **/
4506
+ | {
4507
+ name: 'PokeDeposit';
4508
+ params: { threshold: number; otherSignatories: Array<AccountId32>; callHash: FixedBytes<32> };
4260
4509
  };
4261
4510
 
4262
4511
  export type PalletMultisigCallLike =
@@ -4402,6 +4651,25 @@ export type PalletMultisigCallLike =
4402
4651
  timepoint: PalletMultisigTimepoint;
4403
4652
  callHash: FixedBytes<32>;
4404
4653
  };
4654
+ }
4655
+ /**
4656
+ * Poke the deposit reserved for an existing multisig operation.
4657
+ *
4658
+ * The dispatch origin for this call must be _Signed_ and must be the original depositor of
4659
+ * the multisig operation.
4660
+ *
4661
+ * The transaction fee is waived if the deposit amount has changed.
4662
+ *
4663
+ * - `threshold`: The total number of approvals needed for this multisig.
4664
+ * - `other_signatories`: The accounts (other than the sender) who are part of the
4665
+ * multisig.
4666
+ * - `call_hash`: The hash of the call this deposit is reserved for.
4667
+ *
4668
+ * Emits `DepositPoked` if successful.
4669
+ **/
4670
+ | {
4671
+ name: 'PokeDeposit';
4672
+ params: { threshold: number; otherSignatories: Array<AccountId32Like>; callHash: FixedBytes<32> };
4405
4673
  };
4406
4674
 
4407
4675
  /**
@@ -4575,7 +4843,18 @@ export type PalletProxyCall =
4575
4843
  forceProxyType?: PeoplePolkadotRuntimeProxyType | undefined;
4576
4844
  call: PeoplePolkadotRuntimeRuntimeCall;
4577
4845
  };
4578
- };
4846
+ }
4847
+ /**
4848
+ * Poke / Adjust deposits made for proxies and announcements based on current values.
4849
+ * This can be used by accounts to possibly lower their locked amount.
4850
+ *
4851
+ * The dispatch origin for this call must be _Signed_.
4852
+ *
4853
+ * The transaction fee is waived if the deposit amount has changed.
4854
+ *
4855
+ * Emits `DepositPoked` if successful.
4856
+ **/
4857
+ | { name: 'PokeDeposit' };
4579
4858
 
4580
4859
  export type PalletProxyCallLike =
4581
4860
  /**
@@ -4748,7 +5027,18 @@ export type PalletProxyCallLike =
4748
5027
  forceProxyType?: PeoplePolkadotRuntimeProxyType | undefined;
4749
5028
  call: PeoplePolkadotRuntimeRuntimeCallLike;
4750
5029
  };
4751
- };
5030
+ }
5031
+ /**
5032
+ * Poke / Adjust deposits made for proxies and announcements based on current values.
5033
+ * This can be used by accounts to possibly lower their locked amount.
5034
+ *
5035
+ * The dispatch origin for this call must be _Signed_.
5036
+ *
5037
+ * The transaction fee is waived if the deposit amount has changed.
5038
+ *
5039
+ * Emits `DepositPoked` if successful.
5040
+ **/
5041
+ | { name: 'PokeDeposit' };
4752
5042
 
4753
5043
  /**
4754
5044
  * Identity pallet declaration.
@@ -5353,11 +5643,12 @@ export type PalletMultisigError =
5353
5643
  **/
5354
5644
  | 'SenderInSignatories'
5355
5645
  /**
5356
- * Multisig operation not found when attempting to cancel.
5646
+ * Multisig operation not found in storage.
5357
5647
  **/
5358
5648
  | 'NotFound'
5359
5649
  /**
5360
- * Only the account that originally created the multisig is able to cancel it.
5650
+ * Only the account that originally created the multisig is able to cancel it or update
5651
+ * its deposits.
5361
5652
  **/
5362
5653
  | 'NotOwner'
5363
5654
  /**