Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5c81e4fd3b | ||
|
|
27d21ce117 | ||
|
|
417e46016b | ||
|
|
fc7bb681f5 | ||
|
|
a0592986fa | ||
|
|
d9aa61c786 | ||
|
|
8883d355ff | ||
|
|
2ca657257c | ||
|
|
482471b878 | ||
|
|
627f990166 | ||
|
|
a73603cf0a | ||
|
|
1744544552 | ||
|
|
408de16495 | ||
|
|
2822c43df3 | ||
|
|
4fd3ac4097 | ||
|
|
2c33d3d452 | ||
|
|
65c1b8b26d | ||
|
|
7c6012ab07 | ||
|
|
0da2c25abd | ||
|
|
2f0036e34a | ||
|
|
bf4cff113a | ||
|
|
3f3c51d652 | ||
|
|
0caae6beb5 | ||
|
|
7f92bb33bc | ||
|
|
20b39c18f6 | ||
|
|
f6907eb5de | ||
|
|
8880785951 | ||
|
|
c4a4e1acd7 | ||
|
|
e1cf75288c | ||
|
|
be95356999 | ||
|
|
b66d62548a | ||
|
|
bee7db805a | ||
|
|
ca7a382c5b | ||
|
|
40393ddc1e | ||
|
|
5bd2a664ec | ||
|
|
52ef27806b | ||
|
|
8e234f8a98 | ||
|
|
5e9ba771b5 | ||
|
|
e855dca167 | ||
|
|
3da1bbe403 | ||
|
|
5740c00259 | ||
|
|
8bb8fa0f32 | ||
|
|
30bd10c3b3 | ||
|
|
f7b647f4c6 |
@@ -1,5 +1,44 @@
|
||||
# CHANGELOG
|
||||
|
||||
## 9.7.1 Nov 6, 2022
|
||||
|
||||
Contributed:
|
||||
|
||||
- Update `@substrate/connect` to latest (Thanks to https://github.com/wirednkod)
|
||||
- Add `api.rpc(method, ...params)` support (Thanks to https://github.com/xlc)
|
||||
|
||||
Changes:
|
||||
|
||||
- Align `ScProvider` code structure with other providers
|
||||
- Add `isClonable` getter on providers (some, e.g. sc doesn't support this)
|
||||
- Update to latest Substrate metadata
|
||||
|
||||
|
||||
## 9.6.2 Oct 30, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
- Adjust historic `DispatchError` type for `statemint/statemine`
|
||||
|
||||
|
||||
## 9.6.1 Oct 23, 2022
|
||||
|
||||
Contributed:
|
||||
|
||||
- Update `@substrate/connect` to latest (Thanks to https://github.com/wirednkod)
|
||||
- Use `.?` operators in submittable class (Thanks to https://github.com/shunjizhan)
|
||||
|
||||
Changes:
|
||||
|
||||
- Cater for latest Substrate `DispatchError` (additional preimage statuses)
|
||||
- Adjust `api.derive.democracy.*` to return `imageHash` as `HexString` (as applicable, supports current-gen preimages)
|
||||
- Adjust `api.derive.preimages.*` to retrieve via `democracy` or `preimage` pallets
|
||||
- Ensure `apiAt.<section>.<method>.key(...)` passes through the correct arguments
|
||||
- Apply fallback for Weight downgrades (V2 >> V1 detection)
|
||||
- Update to latest Substrate metadata
|
||||
- Polkadot 9291 & Westend 9300 upgrade blocks
|
||||
|
||||
|
||||
## 9.5.2 Oct 16, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
+4
-3
@@ -1,11 +1,11 @@
|
||||
3252 Jaco 9.5.2 (#5273)
|
||||
3270 Jaco 9.7.1 (#5320)
|
||||
83 Amaury Martiny StatementKind: Regular and Saft (#2303)
|
||||
37 Keith Ingram Update contract types and rpc (#4541)
|
||||
35 Stefanie Doll Updated child storage parameters (#1709)
|
||||
20 Luke Schoen fix: Fixes TypeError: Cannot read property 'vesting' of undefined (#1970)
|
||||
16 Xiliang Chen implement entriesPaged and keysPages for query at (#4701)
|
||||
17 Xiliang Chen able to send raw rpc methods (#5305)
|
||||
15 Jeremías Díaz feat(types): add correct tuple type to storage key (#3054)
|
||||
12 Nikos Kontakis Add resubscription delete on unsubscribe (#5230)
|
||||
14 Nikos Kontakis Bump substrate connect to 0.7.16 (#5307)
|
||||
11 Ian He HttpProvider support clone() (#3949)
|
||||
10 Axel Chalon Make Enum/Tuple constructor use value directly if instance (#1954)
|
||||
5 Chevdor Fix metadata package link (#3458)
|
||||
@@ -101,6 +101,7 @@
|
||||
1 Sean Young Solang requires u256 and i256 types (#2752)
|
||||
1 serge make WS provider timeout configurable (#4758)
|
||||
1 Sergei Pepyakin INK! -> ink! (#1347)
|
||||
1 Shunji Zhan small polish (#5276)
|
||||
1 WoeOm adapt Darwinia, Crab Network types (#3498)
|
||||
1 Xat_MassacrE Fix packages/types/src/codec/utils/encodeTypes.ts encodeSubTypes bug (#1544)
|
||||
1 yjh fix MetadataVersioned.asV12 (#2983)
|
||||
|
||||
+7
-7
@@ -11,10 +11,10 @@
|
||||
},
|
||||
"sideEffects": false,
|
||||
"type": "module",
|
||||
"version": "9.5.2",
|
||||
"version": "9.7.1",
|
||||
"versions": {
|
||||
"git": "9.5.2",
|
||||
"npm": "9.5.2"
|
||||
"git": "9.7.1",
|
||||
"npm": "9.7.1"
|
||||
},
|
||||
"workspaces": [
|
||||
"packages/*"
|
||||
@@ -36,12 +36,12 @@
|
||||
"test:one": "NODE_OPTIONS=--experimental-vm-modules polkadot-dev-run-test --detectOpenHandles --forceExit"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.19.3",
|
||||
"@babel/core": "^7.20.2",
|
||||
"@babel/register": "^7.18.9",
|
||||
"@babel/runtime": "^7.19.4",
|
||||
"@polkadot/dev": "^0.67.144",
|
||||
"@babel/runtime": "^7.20.1",
|
||||
"@polkadot/dev": "^0.67.154",
|
||||
"@polkadot/typegen": "workspace:packages/typegen",
|
||||
"@types/jest": "^29.1.2",
|
||||
"@types/jest": "^29.2.2",
|
||||
"copyfiles": "^2.4.1"
|
||||
},
|
||||
"resolutions": {
|
||||
|
||||
@@ -20,18 +20,18 @@
|
||||
"./detectPackage.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "9.5.2",
|
||||
"version": "9.7.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.19.4",
|
||||
"@polkadot/api-base": "9.5.2",
|
||||
"@polkadot/rpc-augment": "9.5.2",
|
||||
"@polkadot/types": "9.5.2",
|
||||
"@polkadot/types-augment": "9.5.2",
|
||||
"@polkadot/types-codec": "9.5.2",
|
||||
"@babel/runtime": "^7.20.1",
|
||||
"@polkadot/api-base": "9.7.1",
|
||||
"@polkadot/rpc-augment": "9.7.1",
|
||||
"@polkadot/types": "9.7.1",
|
||||
"@polkadot/types-augment": "9.7.1",
|
||||
"@polkadot/types-codec": "9.7.1",
|
||||
"@polkadot/util": "^10.1.11"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@polkadot/types-support": "9.5.2"
|
||||
"@polkadot/types-support": "9.7.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/api-augment', path: 'auto', type: 'auto', version: '9.5.2' };
|
||||
export const packageInfo = { name: '@polkadot/api-augment', path: 'auto', type: 'auto', version: '9.7.1' };
|
||||
|
||||
@@ -191,27 +191,6 @@ declare module '@polkadot/api-base/types/consts' {
|
||||
[key: string]: Codec;
|
||||
};
|
||||
contracts: {
|
||||
/**
|
||||
* The weight per byte of code that is charged when loading a contract from storage.
|
||||
*
|
||||
* Currently, FRAME only charges fees for computation incurred but not for PoV
|
||||
* consumption caused for storage access. This is usually not exploitable because
|
||||
* accessing storage carries some substantial weight costs, too. However in case
|
||||
* of contract code very much PoV consumption can be caused while consuming very little
|
||||
* computation. This could be used to keep the chain busy without paying the
|
||||
* proper fee for it. Until this is resolved we charge from the weight meter for
|
||||
* contract access.
|
||||
*
|
||||
* For more information check out: <https://github.com/paritytech/substrate/issues/10301>
|
||||
*
|
||||
* [`DefaultContractAccessWeight`] is a safe default to be used for Polkadot or Kusama
|
||||
* parachains.
|
||||
*
|
||||
* # Note
|
||||
*
|
||||
* This is only relevant for parachains. Set to zero in case of a standalone chain.
|
||||
**/
|
||||
contractAccessWeight: SpWeightsWeightV2Weight & AugmentedConst<ApiType>;
|
||||
/**
|
||||
* The maximum number of contracts that can be pending for deletion.
|
||||
*
|
||||
@@ -268,8 +247,8 @@ declare module '@polkadot/api-base/types/consts' {
|
||||
/**
|
||||
* The maximum number of concurrent votes an account may have.
|
||||
*
|
||||
* Also used to compute weight, an overly large value can
|
||||
* lead to extrinsic with large weight estimation: see `delegate` for instance.
|
||||
* Also used to compute weight, an overly large value can lead to extrinsics with large
|
||||
* weight estimation: see `delegate` for instance.
|
||||
**/
|
||||
maxVotes: u32 & AugmentedConst<ApiType>;
|
||||
/**
|
||||
@@ -311,6 +290,14 @@ declare module '@polkadot/api-base/types/consts' {
|
||||
* How often (in blocks) new public referenda are launched.
|
||||
**/
|
||||
launchPeriod: u32 & AugmentedConst<ApiType>;
|
||||
/**
|
||||
* The maximum number of items which can be blacklisted.
|
||||
**/
|
||||
maxBlacklisted: u32 & AugmentedConst<ApiType>;
|
||||
/**
|
||||
* The maximum number of deposits a public proposal may have at any time.
|
||||
**/
|
||||
maxDeposits: u32 & AugmentedConst<ApiType>;
|
||||
/**
|
||||
* The maximum number of public proposals that can exist at any time.
|
||||
**/
|
||||
@@ -326,10 +313,6 @@ declare module '@polkadot/api-base/types/consts' {
|
||||
* The minimum amount to be used as a deposit for a public referendum proposal.
|
||||
**/
|
||||
minimumDeposit: u128 & AugmentedConst<ApiType>;
|
||||
/**
|
||||
* The amount of balance that must be deposited per byte of preimage stored.
|
||||
**/
|
||||
preimageByteDeposit: u128 & AugmentedConst<ApiType>;
|
||||
/**
|
||||
* The minimum period of vote locking.
|
||||
*
|
||||
@@ -641,7 +624,7 @@ declare module '@polkadot/api-base/types/consts' {
|
||||
/**
|
||||
* The maximum amount of signatories allowed in the multisig.
|
||||
**/
|
||||
maxSignatories: u16 & AugmentedConst<ApiType>;
|
||||
maxSignatories: u32 & AugmentedConst<ApiType>;
|
||||
/**
|
||||
* Generic const
|
||||
**/
|
||||
@@ -815,13 +798,11 @@ declare module '@polkadot/api-base/types/consts' {
|
||||
};
|
||||
scheduler: {
|
||||
/**
|
||||
* The maximum weight that may be scheduled per block for any dispatchables of less
|
||||
* priority than `schedule::HARD_DEADLINE`.
|
||||
* The maximum weight that may be scheduled per block for any dispatchables.
|
||||
**/
|
||||
maximumWeight: SpWeightsWeightV2Weight & AugmentedConst<ApiType>;
|
||||
/**
|
||||
* The maximum number of scheduled calls in the queue for a single block.
|
||||
* Not strictly enforced, but used for weight estimation.
|
||||
**/
|
||||
maxScheduledPerBlock: u32 & AugmentedConst<ApiType>;
|
||||
/**
|
||||
@@ -1173,7 +1154,7 @@ declare module '@polkadot/api-base/types/consts' {
|
||||
**/
|
||||
[key: string]: Codec;
|
||||
};
|
||||
voterBagsList: {
|
||||
voterList: {
|
||||
/**
|
||||
* The list of thresholds separating the various bags.
|
||||
*
|
||||
|
||||
@@ -458,6 +458,10 @@ declare module '@polkadot/api-base/types/errors' {
|
||||
* The topics passed to `seal_deposit_events` contains at least one duplicate.
|
||||
**/
|
||||
DuplicateTopics: AugmentedError<ApiType>;
|
||||
/**
|
||||
* An indetermistic code was used in a context where this is not permitted.
|
||||
**/
|
||||
Indeterministic: AugmentedError<ApiType>;
|
||||
/**
|
||||
* `seal_call` forwarded this contracts input. It therefore is no longer available.
|
||||
**/
|
||||
@@ -652,18 +656,10 @@ declare module '@polkadot/api-base/types/errors' {
|
||||
* Identity may not veto a proposal twice
|
||||
**/
|
||||
AlreadyVetoed: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Preimage already noted
|
||||
**/
|
||||
DuplicatePreimage: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Proposal already made
|
||||
**/
|
||||
DuplicateProposal: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Imminent
|
||||
**/
|
||||
Imminent: AugmentedError<ApiType>;
|
||||
/**
|
||||
* The instant referendum origin is currently disallowed.
|
||||
**/
|
||||
@@ -700,10 +696,6 @@ declare module '@polkadot/api-base/types/errors' {
|
||||
* The account is not currently delegating.
|
||||
**/
|
||||
NotDelegating: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Not imminent
|
||||
**/
|
||||
NotImminent: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Next external proposal not simple majority
|
||||
**/
|
||||
@@ -712,14 +704,6 @@ declare module '@polkadot/api-base/types/errors' {
|
||||
* The given account did not vote on the referendum.
|
||||
**/
|
||||
NotVoter: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Invalid preimage
|
||||
**/
|
||||
PreimageInvalid: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Preimage not found
|
||||
**/
|
||||
PreimageMissing: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Proposal still blacklisted
|
||||
**/
|
||||
@@ -733,13 +717,9 @@ declare module '@polkadot/api-base/types/errors' {
|
||||
**/
|
||||
ReferendumInvalid: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Too early
|
||||
* Maximum number of items reached.
|
||||
**/
|
||||
TooEarly: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Maximum number of proposals reached.
|
||||
**/
|
||||
TooManyProposals: AugmentedError<ApiType>;
|
||||
TooMany: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Value too low
|
||||
**/
|
||||
@@ -1030,6 +1010,10 @@ declare module '@polkadot/api-base/types/errors' {
|
||||
* Judgement given.
|
||||
**/
|
||||
JudgementGiven: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Error that occurs when there is an issue paying for judgement.
|
||||
**/
|
||||
JudgementPaymentFailed: AugmentedError<ApiType>;
|
||||
/**
|
||||
* No identity found.
|
||||
**/
|
||||
@@ -1235,6 +1219,10 @@ declare module '@polkadot/api-base/types/errors' {
|
||||
* anymore to, for example, collect rewards).
|
||||
**/
|
||||
FullyUnbonding: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Pool id provided is not correct/usable.
|
||||
**/
|
||||
InvalidPoolId: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Too many members in the pool or system.
|
||||
**/
|
||||
@@ -1284,6 +1272,10 @@ declare module '@polkadot/api-base/types/errors' {
|
||||
* Partial unbonding now allowed permissionlessly.
|
||||
**/
|
||||
PartialUnbondNotAllowedPermissionlessly: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Pool id currently in use.
|
||||
**/
|
||||
PoolIdInUse: AugmentedError<ApiType>;
|
||||
/**
|
||||
* An account is not a member.
|
||||
**/
|
||||
@@ -1329,7 +1321,7 @@ declare module '@polkadot/api-base/types/errors' {
|
||||
/**
|
||||
* Preimage is too large to store on-chain.
|
||||
**/
|
||||
TooLarge: AugmentedError<ApiType>;
|
||||
TooBig: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Generic error
|
||||
**/
|
||||
@@ -1425,7 +1417,7 @@ declare module '@polkadot/api-base/types/errors' {
|
||||
**/
|
||||
BadTrack: AugmentedError<ApiType>;
|
||||
/**
|
||||
* There are already a full complement of referendums in progress for this track.
|
||||
* There are already a full complement of referenda in progress for this track.
|
||||
**/
|
||||
Full: AugmentedError<ApiType>;
|
||||
/**
|
||||
@@ -1545,7 +1537,7 @@ declare module '@polkadot/api-base/types/errors' {
|
||||
**/
|
||||
BadTrack: AugmentedError<ApiType>;
|
||||
/**
|
||||
* There are already a full complement of referendums in progress for this track.
|
||||
* There are already a full complement of referenda in progress for this track.
|
||||
**/
|
||||
Full: AugmentedError<ApiType>;
|
||||
/**
|
||||
@@ -1604,6 +1596,10 @@ declare module '@polkadot/api-base/types/errors' {
|
||||
* Failed to schedule a call
|
||||
**/
|
||||
FailedToSchedule: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Attempt to use a non-named function on a named task.
|
||||
**/
|
||||
Named: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Cannot find the scheduled call.
|
||||
**/
|
||||
@@ -2209,7 +2205,7 @@ declare module '@polkadot/api-base/types/errors' {
|
||||
**/
|
||||
[key: string]: AugmentedError<ApiType>;
|
||||
};
|
||||
voterBagsList: {
|
||||
voterList: {
|
||||
/**
|
||||
* A error in the list interface implementation.
|
||||
**/
|
||||
|
||||
@@ -9,7 +9,7 @@ import type { ApiTypes, AugmentedEvent } from '@polkadot/api-base/types';
|
||||
import type { Bytes, Null, Option, Result, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
|
||||
import type { ITuple } from '@polkadot/types-codec/types';
|
||||
import type { AccountId32, H256 } from '@polkadot/types/interfaces/runtime';
|
||||
import type { FrameSupportDispatchDispatchInfo, FrameSupportDispatchPostDispatchInfo, FrameSupportScheduleLookupError, FrameSupportTokensMiscBalanceStatus, KitchensinkRuntimeProxyType, PalletAllianceCid, PalletAllianceUnscrupulousItem, PalletConvictionVotingTally, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletElectionProviderMultiPhaseElectionCompute, PalletImOnlineSr25519AppSr25519Public, PalletMultisigTimepoint, PalletNominationPoolsPoolState, PalletRankedCollectiveTally, PalletRankedCollectiveVoteRecord, PalletStakingExposure, PalletStakingValidatorPrefs, PalletStateTrieMigrationError, PalletStateTrieMigrationMigrationCompute, SpFinalityGrandpaAppPublic, SpNposElectionsElectionScore, SpRuntimeDispatchError, SpRuntimeDispatchErrorWithPostInfo } from '@polkadot/types/lookup';
|
||||
import type { FrameSupportDispatchDispatchInfo, FrameSupportDispatchPostDispatchInfo, FrameSupportPreimagesBounded, FrameSupportTokensMiscBalanceStatus, KitchensinkRuntimeProxyType, PalletAllianceCid, PalletAllianceUnscrupulousItem, PalletConvictionVotingTally, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletElectionProviderMultiPhaseElectionCompute, PalletImOnlineSr25519AppSr25519Public, PalletMultisigTimepoint, PalletNominationPoolsPoolState, PalletRankedCollectiveTally, PalletRankedCollectiveVoteRecord, PalletStakingExposure, PalletStakingValidatorPrefs, PalletStateTrieMigrationError, PalletStateTrieMigrationMigrationCompute, SpFinalityGrandpaAppPublic, SpNposElectionsElectionScore, SpRuntimeDispatchError, SpRuntimeDispatchErrorWithPostInfo } from '@polkadot/types/lookup';
|
||||
|
||||
export type __AugmentedEvent<ApiType extends ApiTypes> = AugmentedEvent<ApiType>;
|
||||
|
||||
@@ -417,10 +417,6 @@ declare module '@polkadot/api-base/types/events' {
|
||||
* An account has delegated their vote to another account.
|
||||
**/
|
||||
Delegated: AugmentedEvent<ApiType, [who: AccountId32, target: AccountId32], { who: AccountId32, target: AccountId32 }>;
|
||||
/**
|
||||
* A proposal has been enacted.
|
||||
**/
|
||||
Executed: AugmentedEvent<ApiType, [refIndex: u32, result: Result<Null, SpRuntimeDispatchError>], { refIndex: u32, result: Result<Null, SpRuntimeDispatchError> }>;
|
||||
/**
|
||||
* An external proposal has been tabled.
|
||||
**/
|
||||
@@ -433,26 +429,6 @@ declare module '@polkadot/api-base/types/events' {
|
||||
* A proposal has been approved by referendum.
|
||||
**/
|
||||
Passed: AugmentedEvent<ApiType, [refIndex: u32], { refIndex: u32 }>;
|
||||
/**
|
||||
* A proposal could not be executed because its preimage was invalid.
|
||||
**/
|
||||
PreimageInvalid: AugmentedEvent<ApiType, [proposalHash: H256, refIndex: u32], { proposalHash: H256, refIndex: u32 }>;
|
||||
/**
|
||||
* A proposal could not be executed because its preimage was missing.
|
||||
**/
|
||||
PreimageMissing: AugmentedEvent<ApiType, [proposalHash: H256, refIndex: u32], { proposalHash: H256, refIndex: u32 }>;
|
||||
/**
|
||||
* A proposal's preimage was noted, and the deposit taken.
|
||||
**/
|
||||
PreimageNoted: AugmentedEvent<ApiType, [proposalHash: H256, who: AccountId32, deposit: u128], { proposalHash: H256, who: AccountId32, deposit: u128 }>;
|
||||
/**
|
||||
* A registered preimage was removed and the deposit collected by the reaper.
|
||||
**/
|
||||
PreimageReaped: AugmentedEvent<ApiType, [proposalHash: H256, provider: AccountId32, deposit: u128, reaper: AccountId32], { proposalHash: H256, provider: AccountId32, deposit: u128, reaper: AccountId32 }>;
|
||||
/**
|
||||
* A proposal preimage was removed and used (the deposit was returned).
|
||||
**/
|
||||
PreimageUsed: AugmentedEvent<ApiType, [proposalHash: H256, provider: AccountId32, deposit: u128], { proposalHash: H256, provider: AccountId32, deposit: u128 }>;
|
||||
/**
|
||||
* A proposal got canceled.
|
||||
**/
|
||||
@@ -472,7 +448,7 @@ declare module '@polkadot/api-base/types/events' {
|
||||
/**
|
||||
* A public proposal has been tabled for referendum vote.
|
||||
**/
|
||||
Tabled: AugmentedEvent<ApiType, [proposalIndex: u32, deposit: u128, depositors: Vec<AccountId32>], { proposalIndex: u32, deposit: u128, depositors: Vec<AccountId32> }>;
|
||||
Tabled: AugmentedEvent<ApiType, [proposalIndex: u32, deposit: u128], { proposalIndex: u32, deposit: u128 }>;
|
||||
/**
|
||||
* An account has cancelled a previous delegation operation.
|
||||
**/
|
||||
@@ -903,7 +879,7 @@ declare module '@polkadot/api-base/types/events' {
|
||||
**/
|
||||
MemberRemoved: AugmentedEvent<ApiType, [who: AccountId32, rank: u16], { who: AccountId32, rank: u16 }>;
|
||||
/**
|
||||
* The member `who`'s rank has been changed to the given `rank`.
|
||||
* The member `who`se rank has been changed to the given `rank`.
|
||||
**/
|
||||
RankChanged: AugmentedEvent<ApiType, [who: AccountId32, rank: u16], { who: AccountId32, rank: u16 }>;
|
||||
/**
|
||||
@@ -942,7 +918,7 @@ declare module '@polkadot/api-base/types/events' {
|
||||
/**
|
||||
* A referendum has moved into the deciding phase.
|
||||
**/
|
||||
DecisionStarted: AugmentedEvent<ApiType, [index: u32, track: u16, proposalHash: H256, tally: PalletRankedCollectiveTally], { index: u32, track: u16, proposalHash: H256, tally: PalletRankedCollectiveTally }>;
|
||||
DecisionStarted: AugmentedEvent<ApiType, [index: u32, track: u16, proposal: FrameSupportPreimagesBounded, tally: PalletRankedCollectiveTally], { index: u32, track: u16, proposal: FrameSupportPreimagesBounded, tally: PalletRankedCollectiveTally }>;
|
||||
/**
|
||||
* A deposit has been slashaed.
|
||||
**/
|
||||
@@ -956,9 +932,9 @@ declare module '@polkadot/api-base/types/events' {
|
||||
**/
|
||||
Rejected: AugmentedEvent<ApiType, [index: u32, tally: PalletRankedCollectiveTally], { index: u32, tally: PalletRankedCollectiveTally }>;
|
||||
/**
|
||||
* A referendum has being submitted.
|
||||
* A referendum has been submitted.
|
||||
**/
|
||||
Submitted: AugmentedEvent<ApiType, [index: u32, track: u16, proposalHash: H256], { index: u32, track: u16, proposalHash: H256 }>;
|
||||
Submitted: AugmentedEvent<ApiType, [index: u32, track: u16, proposal: FrameSupportPreimagesBounded], { index: u32, track: u16, proposal: FrameSupportPreimagesBounded }>;
|
||||
/**
|
||||
* A referendum has been timed out without being decided.
|
||||
**/
|
||||
@@ -1024,7 +1000,7 @@ declare module '@polkadot/api-base/types/events' {
|
||||
/**
|
||||
* A referendum has moved into the deciding phase.
|
||||
**/
|
||||
DecisionStarted: AugmentedEvent<ApiType, [index: u32, track: u16, proposalHash: H256, tally: PalletConvictionVotingTally], { index: u32, track: u16, proposalHash: H256, tally: PalletConvictionVotingTally }>;
|
||||
DecisionStarted: AugmentedEvent<ApiType, [index: u32, track: u16, proposal: FrameSupportPreimagesBounded, tally: PalletConvictionVotingTally], { index: u32, track: u16, proposal: FrameSupportPreimagesBounded, tally: PalletConvictionVotingTally }>;
|
||||
/**
|
||||
* A deposit has been slashaed.
|
||||
**/
|
||||
@@ -1038,9 +1014,9 @@ declare module '@polkadot/api-base/types/events' {
|
||||
**/
|
||||
Rejected: AugmentedEvent<ApiType, [index: u32, tally: PalletConvictionVotingTally], { index: u32, tally: PalletConvictionVotingTally }>;
|
||||
/**
|
||||
* A referendum has being submitted.
|
||||
* A referendum has been submitted.
|
||||
**/
|
||||
Submitted: AugmentedEvent<ApiType, [index: u32, track: u16, proposalHash: H256], { index: u32, track: u16, proposalHash: H256 }>;
|
||||
Submitted: AugmentedEvent<ApiType, [index: u32, track: u16, proposal: FrameSupportPreimagesBounded], { index: u32, track: u16, proposal: FrameSupportPreimagesBounded }>;
|
||||
/**
|
||||
* A referendum has been timed out without being decided.
|
||||
**/
|
||||
@@ -1064,7 +1040,7 @@ declare module '@polkadot/api-base/types/events' {
|
||||
/**
|
||||
* The call for the provided hash was not found so the task has been aborted.
|
||||
**/
|
||||
CallLookupFailed: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<Bytes>, error: FrameSupportScheduleLookupError], { task: ITuple<[u32, u32]>, id: Option<Bytes>, error: FrameSupportScheduleLookupError }>;
|
||||
CallUnavailable: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<U8aFixed>], { task: ITuple<[u32, u32]>, id: Option<U8aFixed> }>;
|
||||
/**
|
||||
* Canceled some task.
|
||||
**/
|
||||
@@ -1072,7 +1048,15 @@ declare module '@polkadot/api-base/types/events' {
|
||||
/**
|
||||
* Dispatched some task.
|
||||
**/
|
||||
Dispatched: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<Bytes>, result: Result<Null, SpRuntimeDispatchError>], { task: ITuple<[u32, u32]>, id: Option<Bytes>, result: Result<Null, SpRuntimeDispatchError> }>;
|
||||
Dispatched: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<U8aFixed>, result: Result<Null, SpRuntimeDispatchError>], { task: ITuple<[u32, u32]>, id: Option<U8aFixed>, result: Result<Null, SpRuntimeDispatchError> }>;
|
||||
/**
|
||||
* The given task was unable to be renewed since the agenda is full at that block.
|
||||
**/
|
||||
PeriodicFailed: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<U8aFixed>], { task: ITuple<[u32, u32]>, id: Option<U8aFixed> }>;
|
||||
/**
|
||||
* The given task can never be executed since it is overweight.
|
||||
**/
|
||||
PermanentlyOverweight: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<U8aFixed>], { task: ITuple<[u32, u32]>, id: Option<U8aFixed> }>;
|
||||
/**
|
||||
* Scheduled some task.
|
||||
**/
|
||||
@@ -1622,7 +1606,7 @@ declare module '@polkadot/api-base/types/events' {
|
||||
**/
|
||||
[key: string]: AugmentedEvent<ApiType>;
|
||||
};
|
||||
voterBagsList: {
|
||||
voterList: {
|
||||
/**
|
||||
* Moved an account from one bag to another.
|
||||
**/
|
||||
|
||||
@@ -7,10 +7,10 @@ import '@polkadot/api-base/types/storage';
|
||||
|
||||
import type { ApiTypes, AugmentedQuery, QueryableStorageEntry } from '@polkadot/api-base/types';
|
||||
import type { Data } from '@polkadot/types';
|
||||
import type { BTreeMap, Bytes, Null, Option, U8aFixed, Vec, WrapperKeepOpaque, WrapperOpaque, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
|
||||
import type { Bytes, Null, Option, U8aFixed, Vec, WrapperOpaque, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
|
||||
import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
|
||||
import type { AccountId32, Call, H256, Perbill, Percent } from '@polkadot/types/interfaces/runtime';
|
||||
import type { FrameSupportDispatchPerDispatchClassWeight, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, KitchensinkRuntimeSessionKeys, PalletAllianceCid, PalletAllianceMemberRole, PalletAssetsApproval, PalletAssetsAssetAccount, PalletAssetsAssetDetails, PalletAssetsAssetMetadata, PalletAuthorshipUncleEntryItem, PalletBagsListListBag, PalletBagsListListNode, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletBountiesBounty, PalletChildBountiesChildBounty, PalletCollectiveVotes, PalletContractsStorageContractInfo, PalletContractsStorageDeletedContract, PalletContractsWasmOwnerInfo, PalletContractsWasmPrefabWasmModule, PalletConvictionVotingVoteVoting, PalletDemocracyPreimageStatus, PalletDemocracyReferendumInfo, PalletDemocracyReleases, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletElectionProviderMultiPhasePhase, PalletElectionProviderMultiPhaseReadySolution, PalletElectionProviderMultiPhaseRoundSnapshot, PalletElectionProviderMultiPhaseSignedSignedSubmission, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenSeatHolder, PalletElectionsPhragmenVoter, PalletFastUnstakeUnstakeRequest, PalletGiltActiveGilt, PalletGiltActiveGiltsTotal, PalletGiltGiltBid, PalletGrandpaStoredPendingChange, PalletGrandpaStoredState, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletImOnlineBoundedOpaqueNetworkState, PalletImOnlineSr25519AppSr25519Public, PalletLotteryLotteryConfig, PalletMultisigMultisig, PalletNominationPoolsBondedPoolInner, PalletNominationPoolsPoolMember, PalletNominationPoolsRewardPool, PalletNominationPoolsSubPools, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletRankedCollectiveMemberRecord, PalletRankedCollectiveVoteRecord, PalletRecoveryActiveRecovery, PalletRecoveryRecoveryConfig, PalletReferendaReferendumInfoConvictionVotingTally, PalletReferendaReferendumInfoRankedCollectiveTally, PalletSchedulerScheduledV3, PalletSocietyBid, PalletSocietyBidKind, PalletSocietyVote, PalletSocietyVouchingStatus, PalletStakingActiveEraInfo, PalletStakingEraRewardPoints, PalletStakingExposure, PalletStakingForcing, PalletStakingNominations, PalletStakingReleases, PalletStakingRewardDestination, PalletStakingSlashingSlashingSpans, PalletStakingSlashingSpanRecord, PalletStakingStakingLedger, PalletStakingUnappliedSlash, PalletStakingValidatorPrefs, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTransactionStorageTransactionInfo, PalletTreasuryProposal, PalletUniquesCollectionDetails, PalletUniquesCollectionMetadata, PalletUniquesItemDetails, PalletUniquesItemMetadata, PalletVestingReleases, PalletVestingVestingInfo, SpAuthorityDiscoveryAppPublic, SpConsensusBabeAppPublic, SpConsensusBabeBabeEpochConfiguration, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusBabeDigestsPreDigest, SpCoreCryptoKeyTypeId, SpNposElectionsElectionScore, SpRuntimeDigest, SpStakingOffenceOffenceDetails } from '@polkadot/types/lookup';
|
||||
import type { FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, KitchensinkRuntimeSessionKeys, PalletAllianceCid, PalletAllianceMemberRole, PalletAssetsApproval, PalletAssetsAssetAccount, PalletAssetsAssetDetails, PalletAssetsAssetMetadata, PalletAuthorshipUncleEntryItem, PalletBagsListListBag, PalletBagsListListNode, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletBountiesBounty, PalletChildBountiesChildBounty, PalletCollectiveVotes, PalletContractsStorageContractInfo, PalletContractsStorageDeletedContract, PalletContractsWasmOwnerInfo, PalletContractsWasmPrefabWasmModule, PalletConvictionVotingVoteVoting, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletElectionProviderMultiPhasePhase, PalletElectionProviderMultiPhaseReadySolution, PalletElectionProviderMultiPhaseRoundSnapshot, PalletElectionProviderMultiPhaseSignedSignedSubmission, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenSeatHolder, PalletElectionsPhragmenVoter, PalletFastUnstakeUnstakeRequest, PalletGiltActiveGilt, PalletGiltActiveGiltsTotal, PalletGiltGiltBid, PalletGrandpaStoredPendingChange, PalletGrandpaStoredState, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletImOnlineBoundedOpaqueNetworkState, PalletImOnlineSr25519AppSr25519Public, PalletLotteryLotteryConfig, PalletMultisigMultisig, PalletNominationPoolsBondedPoolInner, PalletNominationPoolsPoolMember, PalletNominationPoolsRewardPool, PalletNominationPoolsSubPools, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletRankedCollectiveMemberRecord, PalletRankedCollectiveVoteRecord, PalletRecoveryActiveRecovery, PalletRecoveryRecoveryConfig, PalletReferendaReferendumInfoConvictionVotingTally, PalletReferendaReferendumInfoRankedCollectiveTally, PalletSchedulerScheduled, PalletSocietyBid, PalletSocietyBidKind, PalletSocietyVote, PalletSocietyVouchingStatus, PalletStakingActiveEraInfo, PalletStakingEraRewardPoints, PalletStakingExposure, PalletStakingForcing, PalletStakingNominations, PalletStakingReleases, PalletStakingRewardDestination, PalletStakingSlashingSlashingSpans, PalletStakingSlashingSpanRecord, PalletStakingStakingLedger, PalletStakingUnappliedSlash, PalletStakingValidatorPrefs, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTransactionStorageTransactionInfo, PalletTreasuryProposal, PalletUniquesCollectionDetails, PalletUniquesCollectionMetadata, PalletUniquesItemDetails, PalletUniquesItemMetadata, PalletVestingReleases, PalletVestingVestingInfo, SpAuthorityDiscoveryAppPublic, SpConsensusBabeAppPublic, SpConsensusBabeBabeEpochConfiguration, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusBabeDigestsPreDigest, SpCoreCryptoKeyTypeId, SpNposElectionsElectionScore, SpRuntimeDigest, SpStakingOffenceOffenceDetails } from '@polkadot/types/lookup';
|
||||
import type { Observable } from '@polkadot/types/types';
|
||||
|
||||
export type __AugmentedQuery<ApiType extends ApiTypes> = AugmentedQuery<ApiType, () => unknown>;
|
||||
@@ -481,20 +481,15 @@ declare module '@polkadot/api-base/types/storage' {
|
||||
* - `LastTabledWasExternal` is `false`; or
|
||||
* - `PublicProps` is empty.
|
||||
**/
|
||||
nextExternal: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[H256, PalletDemocracyVoteThreshold]>>>, []> & QueryableStorageEntry<ApiType, []>;
|
||||
/**
|
||||
* Map of hashes to the proposal preimage, along with who registered it and their deposit.
|
||||
* The block number is the block at which it was deposited.
|
||||
**/
|
||||
preimages: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Option<PalletDemocracyPreimageStatus>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>;
|
||||
nextExternal: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[FrameSupportPreimagesBounded, PalletDemocracyVoteThreshold]>>>, []> & QueryableStorageEntry<ApiType, []>;
|
||||
/**
|
||||
* The number of (public) proposals that have been made so far.
|
||||
**/
|
||||
publicPropCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
|
||||
/**
|
||||
* The public proposals. Unsorted. The second item is the proposal's hash.
|
||||
* The public proposals. Unsorted. The second item is the proposal.
|
||||
**/
|
||||
publicProps: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[u32, H256, AccountId32]>>>, []> & QueryableStorageEntry<ApiType, []>;
|
||||
publicProps: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[u32, FrameSupportPreimagesBounded, AccountId32]>>>, []> & QueryableStorageEntry<ApiType, []>;
|
||||
/**
|
||||
* The next free referendum index, aka the number of referenda started so far.
|
||||
**/
|
||||
@@ -505,12 +500,6 @@ declare module '@polkadot/api-base/types/storage' {
|
||||
* TWOX-NOTE: SAFE as indexes are not under an attacker’s control.
|
||||
**/
|
||||
referendumInfoOf: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletDemocracyReferendumInfo>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
|
||||
/**
|
||||
* Storage version of the pallet.
|
||||
*
|
||||
* New networks start with last version.
|
||||
**/
|
||||
storageVersion: AugmentedQuery<ApiType, () => Observable<Option<PalletDemocracyReleases>>, []> & QueryableStorageEntry<ApiType, []>;
|
||||
/**
|
||||
* All votes for a particular voter. We store the balance for the number of votes that we
|
||||
* have recorded. The second item is the total amount of delegations, that will be added.
|
||||
@@ -555,14 +544,14 @@ declare module '@polkadot/api-base/types/storage' {
|
||||
**/
|
||||
round: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
|
||||
/**
|
||||
* A sorted, bounded set of `(score, index)`, where each `index` points to a value in
|
||||
* `SignedSubmissions`.
|
||||
* A sorted, bounded vector of `(score, block_number, index)`, where each `index` points to a
|
||||
* value in `SignedSubmissions`.
|
||||
*
|
||||
* We never need to process more than a single signed submission at a time. Signed submissions
|
||||
* 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.
|
||||
**/
|
||||
signedSubmissionIndices: AugmentedQuery<ApiType, () => Observable<BTreeMap<SpNposElectionsElectionScore, u32>>, []> & QueryableStorageEntry<ApiType, []>;
|
||||
signedSubmissionIndices: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[SpNposElectionsElectionScore, u32, u32]>>>, []> & QueryableStorageEntry<ApiType, []>;
|
||||
/**
|
||||
* The next index to be assigned to an incoming signed submission.
|
||||
*
|
||||
@@ -858,7 +847,6 @@ declare module '@polkadot/api-base/types/storage' {
|
||||
[key: string]: QueryableStorageEntry<ApiType>;
|
||||
};
|
||||
multisig: {
|
||||
calls: AugmentedQuery<ApiType, (arg: U8aFixed | string | Uint8Array) => Observable<Option<ITuple<[WrapperKeepOpaque<Call>, AccountId32, u128]>>>, [U8aFixed]> & QueryableStorageEntry<ApiType, [U8aFixed]>;
|
||||
/**
|
||||
* The set of open multisig operations.
|
||||
**/
|
||||
@@ -984,10 +972,7 @@ declare module '@polkadot/api-base/types/storage' {
|
||||
[key: string]: QueryableStorageEntry<ApiType>;
|
||||
};
|
||||
preimage: {
|
||||
/**
|
||||
* The preimages stored by this pallet.
|
||||
**/
|
||||
preimageFor: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Option<Bytes>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>;
|
||||
preimageFor: AugmentedQuery<ApiType, (arg: ITuple<[H256, u32]> | [H256 | string | Uint8Array, u32 | AnyNumber | Uint8Array]) => Observable<Option<Bytes>>, [ITuple<[H256, u32]>]> & QueryableStorageEntry<ApiType, [ITuple<[H256, u32]>]>;
|
||||
/**
|
||||
* The request status of a given hash.
|
||||
**/
|
||||
@@ -1130,11 +1115,15 @@ declare module '@polkadot/api-base/types/storage' {
|
||||
/**
|
||||
* Items to be executed, indexed by the block number that they should be executed on.
|
||||
**/
|
||||
agenda: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<Option<PalletSchedulerScheduledV3>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
|
||||
agenda: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<Option<PalletSchedulerScheduled>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
|
||||
incompleteSince: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>;
|
||||
/**
|
||||
* Lookup from identity to the block number and index of the task.
|
||||
* Lookup from a name to the block number and index of the task.
|
||||
*
|
||||
* For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4
|
||||
* identities.
|
||||
**/
|
||||
lookup: AugmentedQuery<ApiType, (arg: Bytes | string | Uint8Array) => Observable<Option<ITuple<[u32, u32]>>>, [Bytes]> & QueryableStorageEntry<ApiType, [Bytes]>;
|
||||
lookup: AugmentedQuery<ApiType, (arg: U8aFixed | string | Uint8Array) => Observable<Option<ITuple<[u32, u32]>>>, [U8aFixed]> & QueryableStorageEntry<ApiType, [U8aFixed]>;
|
||||
/**
|
||||
* Generic query
|
||||
**/
|
||||
@@ -1466,7 +1455,7 @@ declare module '@polkadot/api-base/types/storage' {
|
||||
**/
|
||||
unappliedSlashes: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<PalletStakingUnappliedSlash>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
|
||||
/**
|
||||
* The ideal number of staking participants.
|
||||
* The ideal number of active validators.
|
||||
**/
|
||||
validatorCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
|
||||
/**
|
||||
@@ -1801,7 +1790,7 @@ declare module '@polkadot/api-base/types/storage' {
|
||||
**/
|
||||
[key: string]: QueryableStorageEntry<ApiType>;
|
||||
};
|
||||
voterBagsList: {
|
||||
voterList: {
|
||||
/**
|
||||
* Counter for the related counted storage map
|
||||
**/
|
||||
|
||||
@@ -7,10 +7,10 @@ import '@polkadot/api-base/types/submittable';
|
||||
|
||||
import type { ApiTypes, AugmentedSubmittable, SubmittableExtrinsic, SubmittableExtrinsicFunction } from '@polkadot/api-base/types';
|
||||
import type { Data } from '@polkadot/types';
|
||||
import type { Bytes, Compact, Option, U8aFixed, Vec, WrapperKeepOpaque, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
|
||||
import type { Bytes, Compact, Option, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
|
||||
import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types';
|
||||
import type { AccountId32, Call, H256, MultiAddress, Perbill, Percent, Perquintill } from '@polkadot/types/interfaces/runtime';
|
||||
import type { FrameSupportScheduleDispatchTime, FrameSupportScheduleMaybeHashed, KitchensinkRuntimeOriginCaller, KitchensinkRuntimeProxyType, KitchensinkRuntimeSessionKeys, PalletAllianceCid, PalletAllianceDisbandWitness, PalletAllianceUnscrupulousItem, PalletAssetsDestroyWitness, PalletConvictionVotingConviction, PalletConvictionVotingVoteAccountVote, PalletDemocracyConviction, PalletDemocracyVoteAccountVote, PalletElectionProviderMultiPhaseRawSolution, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenRenouncing, PalletIdentityBitFlags, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletImOnlineHeartbeat, PalletImOnlineSr25519AppSr25519Signature, PalletMultisigTimepoint, PalletNominationPoolsBondExtra, PalletNominationPoolsConfigOpAccountId32, PalletNominationPoolsConfigOpU128, PalletNominationPoolsConfigOpU32, PalletNominationPoolsPoolState, PalletSocietyJudgement, PalletStakingPalletConfigOpPerbill, PalletStakingPalletConfigOpPercent, PalletStakingPalletConfigOpU128, PalletStakingPalletConfigOpU32, PalletStakingRewardDestination, PalletStakingValidatorPrefs, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletStateTrieMigrationProgress, PalletUniquesDestroyWitness, PalletVestingVestingInfo, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusSlotsEquivocationProof, SpFinalityGrandpaEquivocationProof, SpNposElectionsElectionScore, SpNposElectionsSupport, SpRuntimeHeader, SpSessionMembershipProof, SpTransactionStorageProofTransactionStorageProof, SpWeightsWeightV2Weight } from '@polkadot/types/lookup';
|
||||
import type { FrameSupportPreimagesBounded, FrameSupportScheduleDispatchTime, KitchensinkRuntimeOriginCaller, KitchensinkRuntimeProxyType, KitchensinkRuntimeSessionKeys, PalletAllianceCid, PalletAllianceDisbandWitness, PalletAllianceUnscrupulousItem, PalletAssetsDestroyWitness, PalletContractsWasmDeterminism, PalletConvictionVotingConviction, PalletConvictionVotingVoteAccountVote, PalletDemocracyConviction, PalletDemocracyVoteAccountVote, PalletElectionProviderMultiPhaseRawSolution, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenRenouncing, PalletIdentityBitFlags, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletImOnlineHeartbeat, PalletImOnlineSr25519AppSr25519Signature, PalletMultisigTimepoint, PalletNominationPoolsBondExtra, PalletNominationPoolsConfigOpAccountId32, PalletNominationPoolsConfigOpU128, PalletNominationPoolsConfigOpU32, PalletNominationPoolsPoolState, PalletSocietyJudgement, PalletStakingPalletConfigOpPerbill, PalletStakingPalletConfigOpPercent, PalletStakingPalletConfigOpU128, PalletStakingPalletConfigOpU32, PalletStakingRewardDestination, PalletStakingValidatorPrefs, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletStateTrieMigrationProgress, PalletUniquesDestroyWitness, PalletVestingVestingInfo, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusSlotsEquivocationProof, SpFinalityGrandpaEquivocationProof, SpNposElectionsElectionScore, SpNposElectionsSupport, SpRuntimeHeader, SpSessionMembershipProof, SpTransactionStorageProofTransactionStorageProof, SpWeightsWeightV2Weight } from '@polkadot/types/lookup';
|
||||
|
||||
export type __AugmentedSubmittable = AugmentedSubmittable<() => unknown>;
|
||||
export type __SubmittableExtrinsic<ApiType extends ApiTypes> = SubmittableExtrinsic<ApiType>;
|
||||
@@ -1186,22 +1186,7 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
**/
|
||||
call: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array, gasLimit: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array, storageDepositLimit: Option<Compact<u128>> | null | Uint8Array | Compact<u128> | AnyNumber, data: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>, SpWeightsWeightV2Weight, Option<Compact<u128>>, Bytes]>;
|
||||
/**
|
||||
* Makes a call to an account, optionally transferring some balance.
|
||||
*
|
||||
* # 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.
|
||||
* * `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.
|
||||
* * 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.
|
||||
* Deprecated version if [`Self::call`] for use in an in-storage `Call`.
|
||||
**/
|
||||
callOldWeight: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array, gasLimit: Compact<u64> | AnyNumber | Uint8Array, storageDepositLimit: Option<Compact<u128>> | null | Uint8Array | Compact<u128> | AnyNumber, data: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>, Compact<u64>, Option<Compact<u128>>, Bytes]>;
|
||||
/**
|
||||
@@ -1213,11 +1198,7 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
**/
|
||||
instantiate: AugmentedSubmittable<(value: Compact<u128> | AnyNumber | Uint8Array, gasLimit: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array, storageDepositLimit: Option<Compact<u128>> | null | Uint8Array | Compact<u128> | AnyNumber, codeHash: H256 | string | Uint8Array, data: Bytes | string | Uint8Array, salt: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u128>, SpWeightsWeightV2Weight, Option<Compact<u128>>, H256, Bytes, Bytes]>;
|
||||
/**
|
||||
* Instantiates a contract from a previously deployed wasm binary.
|
||||
*
|
||||
* This function is identical to [`Self::instantiate_with_code`] but without the
|
||||
* code deployment step. Instead, the `code_hash` of an on-chain deployed wasm binary
|
||||
* must be supplied.
|
||||
* Deprecated version if [`Self::instantiate`] for use in an in-storage `Call`.
|
||||
**/
|
||||
instantiateOldWeight: AugmentedSubmittable<(value: Compact<u128> | AnyNumber | Uint8Array, gasLimit: Compact<u64> | AnyNumber | Uint8Array, storageDepositLimit: Option<Compact<u128>> | null | Uint8Array | Compact<u128> | AnyNumber, codeHash: H256 | string | Uint8Array, data: Bytes | string | Uint8Array, salt: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u128>, Compact<u64>, Option<Compact<u128>>, H256, Bytes, Bytes]>;
|
||||
/**
|
||||
@@ -1250,32 +1231,7 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
**/
|
||||
instantiateWithCode: AugmentedSubmittable<(value: Compact<u128> | AnyNumber | Uint8Array, gasLimit: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array, storageDepositLimit: Option<Compact<u128>> | null | Uint8Array | Compact<u128> | AnyNumber, code: Bytes | string | Uint8Array, data: Bytes | string | Uint8Array, salt: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u128>, SpWeightsWeightV2Weight, Option<Compact<u128>>, Bytes, Bytes, Bytes]>;
|
||||
/**
|
||||
* Instantiates a new contract from the supplied `code` optionally transferring
|
||||
* some 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`].
|
||||
*
|
||||
* # Parameters
|
||||
*
|
||||
* * `value`: The balance to transfer from the `origin` to the newly created contract.
|
||||
* * `gas_limit`: The gas limit enforced when executing the constructor.
|
||||
* * `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.
|
||||
* * `salt`: Used for the address derivation. See [`Pallet::contract_address`].
|
||||
*
|
||||
* Instantiation is executed as follows:
|
||||
*
|
||||
* - The supplied `code` is instrumented, deployed, and a `code_hash` is created for that
|
||||
* code.
|
||||
* - If the `code_hash` already exists on the chain the underlying `code` will be shared.
|
||||
* - 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.
|
||||
* - The `deploy` function is executed in the context of the newly-created account.
|
||||
* Deprecated version if [`Self::instantiate_with_code`] for use in an in-storage `Call`.
|
||||
**/
|
||||
instantiateWithCodeOldWeight: AugmentedSubmittable<(value: Compact<u128> | AnyNumber | Uint8Array, gasLimit: Compact<u64> | AnyNumber | Uint8Array, storageDepositLimit: Option<Compact<u128>> | null | Uint8Array | Compact<u128> | AnyNumber, code: Bytes | string | Uint8Array, data: Bytes | string | Uint8Array, salt: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u128>, Compact<u64>, Option<Compact<u128>>, Bytes, Bytes, Bytes]>;
|
||||
/**
|
||||
@@ -1309,6 +1265,10 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* the in storage version to the current
|
||||
* [`InstructionWeights::version`](InstructionWeights).
|
||||
*
|
||||
* - `determinism`: If this is set to any other value but [`Determinism::Deterministic`]
|
||||
* 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.
|
||||
*
|
||||
* # Note
|
||||
*
|
||||
* Anyone can instantiate a contract from any uploaded code and thus prevent its removal.
|
||||
@@ -1316,7 +1276,7 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* only be instantiated by permissioned entities. The same is true when uploading
|
||||
* through [`Self::instantiate_with_code`].
|
||||
**/
|
||||
uploadCode: AugmentedSubmittable<(code: Bytes | string | Uint8Array, storageDepositLimit: Option<Compact<u128>> | null | Uint8Array | Compact<u128> | AnyNumber) => SubmittableExtrinsic<ApiType>, [Bytes, Option<Compact<u128>>]>;
|
||||
uploadCode: AugmentedSubmittable<(code: Bytes | string | Uint8Array, storageDepositLimit: Option<Compact<u128>> | null | Uint8Array | Compact<u128> | AnyNumber, determinism: PalletContractsWasmDeterminism | 'Deterministic' | 'AllowIndeterminism' | number | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, Option<Compact<u128>>, PalletContractsWasmDeterminism]>;
|
||||
/**
|
||||
* Generic tx
|
||||
**/
|
||||
@@ -1404,7 +1364,7 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* Undelegate the voting power of the sending account for a particular class of polls.
|
||||
*
|
||||
* Tokens may be unlocked following once an amount of time consistent with the lock period
|
||||
* of the conviction with which the delegation was issued.
|
||||
* of the conviction with which the delegation was issued has passed.
|
||||
*
|
||||
* The dispatch origin of this call must be _Signed_ and the signing account must be
|
||||
* currently delegating.
|
||||
@@ -1418,7 +1378,7 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
**/
|
||||
undelegate: AugmentedSubmittable<(clazz: u16 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u16]>;
|
||||
/**
|
||||
* Remove the lock caused prior voting/delegating which has expired within a particluar
|
||||
* Remove the lock caused by prior voting/delegating which has expired within a particular
|
||||
* class.
|
||||
*
|
||||
* The dispatch origin of this call must be _Signed_.
|
||||
@@ -1665,16 +1625,6 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* Weight: `O(p)` where `p = PublicProps::<T>::decode_len()`
|
||||
**/
|
||||
cancelProposal: AugmentedSubmittable<(propIndex: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>;
|
||||
/**
|
||||
* Cancel a proposal queued for enactment.
|
||||
*
|
||||
* The dispatch origin of this call must be _Root_.
|
||||
*
|
||||
* - `which`: The index of the referendum to cancel.
|
||||
*
|
||||
* Weight: `O(D)` where `D` is the items in the dispatch queue. Weighted as `D = 10`.
|
||||
**/
|
||||
cancelQueued: AugmentedSubmittable<(which: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
|
||||
/**
|
||||
* Remove a referendum.
|
||||
*
|
||||
@@ -1727,10 +1677,6 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* Weight: `O(1)`.
|
||||
**/
|
||||
emergencyCancel: AugmentedSubmittable<(refIndex: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
|
||||
/**
|
||||
* Enact a proposal from a referendum. For now we just make the weight be the maximum.
|
||||
**/
|
||||
enactProposal: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256, u32]>;
|
||||
/**
|
||||
* Schedule a referendum to be tabled once it is legal to schedule an external
|
||||
* referendum.
|
||||
@@ -1738,11 +1684,8 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* The dispatch origin of this call must be `ExternalOrigin`.
|
||||
*
|
||||
* - `proposal_hash`: The preimage hash of the proposal.
|
||||
*
|
||||
* Weight: `O(V)` with V number of vetoers in the blacklist of proposal.
|
||||
* Decoding vec of length V. Charged as maximum
|
||||
**/
|
||||
externalPropose: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>;
|
||||
externalPropose: AugmentedSubmittable<(proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [FrameSupportPreimagesBounded]>;
|
||||
/**
|
||||
* Schedule a negative-turnout-bias referendum to be tabled next once it is legal to
|
||||
* schedule an external referendum.
|
||||
@@ -1756,7 +1699,7 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
*
|
||||
* Weight: `O(1)`
|
||||
**/
|
||||
externalProposeDefault: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>;
|
||||
externalProposeDefault: AugmentedSubmittable<(proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [FrameSupportPreimagesBounded]>;
|
||||
/**
|
||||
* Schedule a majority-carries referendum to be tabled next once it is legal to schedule
|
||||
* an external referendum.
|
||||
@@ -1770,7 +1713,7 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
*
|
||||
* Weight: `O(1)`
|
||||
**/
|
||||
externalProposeMajority: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>;
|
||||
externalProposeMajority: AugmentedSubmittable<(proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [FrameSupportPreimagesBounded]>;
|
||||
/**
|
||||
* Schedule the currently externally-proposed majority-carries referendum to be tabled
|
||||
* immediately. If there is no externally-proposed referendum currently, or if there is one
|
||||
@@ -1779,7 +1722,7 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* The dispatch of this call must be `FastTrackOrigin`.
|
||||
*
|
||||
* - `proposal_hash`: The hash of the current external proposal.
|
||||
* - `voting_period`: The period that is allowed for voting on this proposal.
|
||||
* - `voting_period`: The period that is allowed for voting on this proposal. Increased to
|
||||
* Must be always greater than zero.
|
||||
* For `FastTrackOrigin` must be equal or greater than `FastTrackVotingPeriod`.
|
||||
* - `delay`: The number of block after voting has ended in approval and this should be
|
||||
@@ -1790,42 +1733,6 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* Weight: `O(1)`
|
||||
**/
|
||||
fastTrack: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, votingPeriod: u32 | AnyNumber | Uint8Array, delay: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256, u32, u32]>;
|
||||
/**
|
||||
* Register the preimage for an upcoming proposal. This requires the proposal to be
|
||||
* in the dispatch queue. No deposit is needed. When this call is successful, i.e.
|
||||
* the preimage has not been uploaded before and matches some imminent proposal,
|
||||
* no fee is paid.
|
||||
*
|
||||
* The dispatch origin of this call must be _Signed_.
|
||||
*
|
||||
* - `encoded_proposal`: The preimage of a proposal.
|
||||
*
|
||||
* Emits `PreimageNoted`.
|
||||
*
|
||||
* Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit).
|
||||
**/
|
||||
noteImminentPreimage: AugmentedSubmittable<(encodedProposal: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
|
||||
/**
|
||||
* Same as `note_imminent_preimage` but origin is `OperationalPreimageOrigin`.
|
||||
**/
|
||||
noteImminentPreimageOperational: AugmentedSubmittable<(encodedProposal: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
|
||||
/**
|
||||
* Register the preimage for an upcoming proposal. This doesn't require the proposal to be
|
||||
* in the dispatch queue but does require a deposit, returned once enacted.
|
||||
*
|
||||
* The dispatch origin of this call must be _Signed_.
|
||||
*
|
||||
* - `encoded_proposal`: The preimage of a proposal.
|
||||
*
|
||||
* Emits `PreimageNoted`.
|
||||
*
|
||||
* Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit).
|
||||
**/
|
||||
notePreimage: AugmentedSubmittable<(encodedProposal: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
|
||||
/**
|
||||
* Same as `note_preimage` but origin is `OperationalPreimageOrigin`.
|
||||
**/
|
||||
notePreimageOperational: AugmentedSubmittable<(encodedProposal: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
|
||||
/**
|
||||
* Propose a sensitive action to be taken.
|
||||
*
|
||||
@@ -1836,28 +1743,8 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* - `value`: The amount of deposit (must be at least `MinimumDeposit`).
|
||||
*
|
||||
* Emits `Proposed`.
|
||||
*
|
||||
* Weight: `O(p)`
|
||||
**/
|
||||
propose: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256, Compact<u128>]>;
|
||||
/**
|
||||
* Remove an expired proposal preimage and collect the deposit.
|
||||
*
|
||||
* The dispatch origin of this call must be _Signed_.
|
||||
*
|
||||
* - `proposal_hash`: The preimage hash of a proposal.
|
||||
* - `proposal_length_upper_bound`: an upper bound on length of the proposal. Extrinsic is
|
||||
* weighted according to this value with no refund.
|
||||
*
|
||||
* This will only work after `VotingPeriod` blocks from the time that the preimage was
|
||||
* noted, if it's the same account doing it. If it's a different account, then it'll only
|
||||
* work an additional `EnactmentPeriod` later.
|
||||
*
|
||||
* Emits `PreimageReaped`.
|
||||
*
|
||||
* Weight: `O(D)` where D is length of proposal.
|
||||
**/
|
||||
reapPreimage: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, proposalLenUpperBound: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256, Compact<u32>]>;
|
||||
propose: AugmentedSubmittable<(proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [FrameSupportPreimagesBounded, Compact<u128>]>;
|
||||
/**
|
||||
* Remove a vote for a referendum.
|
||||
*
|
||||
@@ -1913,12 +1800,8 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* must have funds to cover the deposit, equal to the original deposit.
|
||||
*
|
||||
* - `proposal`: The index of the proposal to second.
|
||||
* - `seconds_upper_bound`: an upper bound on the current number of seconds on this
|
||||
* proposal. Extrinsic is weighted according to this value with no refund.
|
||||
*
|
||||
* Weight: `O(S)` where S is the number of seconds a proposal already has.
|
||||
**/
|
||||
second: AugmentedSubmittable<(proposal: Compact<u32> | AnyNumber | Uint8Array, secondsUpperBound: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, Compact<u32>]>;
|
||||
second: AugmentedSubmittable<(proposal: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>;
|
||||
/**
|
||||
* Undelegate the voting power of the sending account.
|
||||
*
|
||||
@@ -1964,8 +1847,6 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
*
|
||||
* - `ref_index`: The index of the referendum to vote for.
|
||||
* - `vote`: The vote configuration.
|
||||
*
|
||||
* Weight: `O(R)` where R is the number of referendums the voter has voted on.
|
||||
**/
|
||||
vote: AugmentedSubmittable<(refIndex: Compact<u32> | AnyNumber | Uint8Array, vote: PalletDemocracyVoteAccountVote | { Standard: any } | { Split: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, PalletDemocracyVoteAccountVote]>;
|
||||
/**
|
||||
@@ -2813,12 +2694,12 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* taken for its lifetime of `DepositBase + threshold * DepositFactor`.
|
||||
* -------------------------------
|
||||
* - DB Weight:
|
||||
* - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)
|
||||
* - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)
|
||||
* - Reads: Multisig Storage, [Caller Account]
|
||||
* - Writes: Multisig Storage, [Caller Account]
|
||||
* - Plus Call Weight
|
||||
* # </weight>
|
||||
**/
|
||||
asMulti: AugmentedSubmittable<(threshold: u16 | AnyNumber | Uint8Array, otherSignatories: Vec<AccountId32> | (AccountId32 | string | Uint8Array)[], maybeTimepoint: Option<PalletMultisigTimepoint> | null | Uint8Array | PalletMultisigTimepoint | { height?: any; index?: any } | string, call: WrapperKeepOpaque<Call> | object | string | Uint8Array, storeCall: bool | boolean | Uint8Array, maxWeight: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u16, Vec<AccountId32>, Option<PalletMultisigTimepoint>, WrapperKeepOpaque<Call>, bool, SpWeightsWeightV2Weight]>;
|
||||
asMulti: AugmentedSubmittable<(threshold: u16 | AnyNumber | Uint8Array, otherSignatories: Vec<AccountId32> | (AccountId32 | string | Uint8Array)[], maybeTimepoint: Option<PalletMultisigTimepoint> | null | Uint8Array | PalletMultisigTimepoint | { height?: any; index?: any } | string, call: Call | IMethod | string | Uint8Array, maxWeight: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u16, Vec<AccountId32>, Option<PalletMultisigTimepoint>, Call, SpWeightsWeightV2Weight]>;
|
||||
/**
|
||||
* Immediately dispatch a multi-signature call using a single approval from the caller.
|
||||
*
|
||||
@@ -2862,8 +2743,8 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* - Storage: removes one item.
|
||||
* ----------------------------------
|
||||
* - DB Weight:
|
||||
* - Read: Multisig Storage, [Caller Account], Refund Account, Calls
|
||||
* - Write: Multisig Storage, [Caller Account], Refund Account, Calls
|
||||
* - Read: Multisig Storage, [Caller Account], Refund Account
|
||||
* - Write: Multisig Storage, [Caller Account], Refund Account
|
||||
* # </weight>
|
||||
**/
|
||||
cancelAsMulti: AugmentedSubmittable<(threshold: u16 | AnyNumber | Uint8Array, otherSignatories: Vec<AccountId32> | (AccountId32 | string | Uint8Array)[], timepoint: PalletMultisigTimepoint | { height?: any; index?: any } | string | Uint8Array, callHash: U8aFixed | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u16, Vec<AccountId32>, PalletMultisigTimepoint, U8aFixed]>;
|
||||
@@ -2921,6 +2802,15 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* needs at have at least `amount + existential_deposit` transferrable.
|
||||
**/
|
||||
create: AugmentedSubmittable<(amount: Compact<u128> | AnyNumber | Uint8Array, root: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, nominator: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, stateToggler: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u128>, MultiAddress, MultiAddress, MultiAddress]>;
|
||||
/**
|
||||
* Create a new delegation pool with a previously used pool id
|
||||
*
|
||||
* # Arguments
|
||||
*
|
||||
* same as `create` with the inclusion of
|
||||
* * `pool_id` - `A valid PoolId.
|
||||
**/
|
||||
createWithPoolId: AugmentedSubmittable<(amount: Compact<u128> | AnyNumber | Uint8Array, root: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, nominator: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, stateToggler: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, poolId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u128>, MultiAddress, MultiAddress, MultiAddress, u32]>;
|
||||
/**
|
||||
* Stake funds with a pool. The amount to bond is transferred from the member to the
|
||||
* pools account and immediately increases the pools bond.
|
||||
@@ -3071,6 +2961,11 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
requestPreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>;
|
||||
/**
|
||||
* 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`.
|
||||
**/
|
||||
unnotePreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>;
|
||||
/**
|
||||
@@ -3370,12 +3265,12 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* - `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds
|
||||
* available.
|
||||
* - `proposal_origin`: The origin from which the proposal should be executed.
|
||||
* - `proposal_hash`: The hash of the proposal preimage.
|
||||
* - `proposal`: The proposal.
|
||||
* - `enactment_moment`: The moment that the proposal should be enacted.
|
||||
*
|
||||
* Emits `Submitted`.
|
||||
**/
|
||||
submit: AugmentedSubmittable<(proposalOrigin: KitchensinkRuntimeOriginCaller | { system: any } | { Void: any } | { Council: any } | { TechnicalCommittee: any } | { AllianceMotion: any } | string | Uint8Array, proposalHash: H256 | string | Uint8Array, enactmentMoment: FrameSupportScheduleDispatchTime | { At: any } | { After: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [KitchensinkRuntimeOriginCaller, H256, FrameSupportScheduleDispatchTime]>;
|
||||
submit: AugmentedSubmittable<(proposalOrigin: KitchensinkRuntimeOriginCaller | { system: any } | { Void: any } | { Council: any } | { TechnicalCommittee: any } | { AllianceMotion: any } | string | Uint8Array, proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array, enactmentMoment: FrameSupportScheduleDispatchTime | { At: any } | { After: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [KitchensinkRuntimeOriginCaller, FrameSupportPreimagesBounded, FrameSupportScheduleDispatchTime]>;
|
||||
/**
|
||||
* Generic tx
|
||||
**/
|
||||
@@ -3572,12 +3467,12 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* - `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds
|
||||
* available.
|
||||
* - `proposal_origin`: The origin from which the proposal should be executed.
|
||||
* - `proposal_hash`: The hash of the proposal preimage.
|
||||
* - `proposal`: The proposal.
|
||||
* - `enactment_moment`: The moment that the proposal should be enacted.
|
||||
*
|
||||
* Emits `Submitted`.
|
||||
**/
|
||||
submit: AugmentedSubmittable<(proposalOrigin: KitchensinkRuntimeOriginCaller | { system: any } | { Void: any } | { Council: any } | { TechnicalCommittee: any } | { AllianceMotion: any } | string | Uint8Array, proposalHash: H256 | string | Uint8Array, enactmentMoment: FrameSupportScheduleDispatchTime | { At: any } | { After: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [KitchensinkRuntimeOriginCaller, H256, FrameSupportScheduleDispatchTime]>;
|
||||
submit: AugmentedSubmittable<(proposalOrigin: KitchensinkRuntimeOriginCaller | { system: any } | { Void: any } | { Council: any } | { TechnicalCommittee: any } | { AllianceMotion: any } | string | Uint8Array, proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array, enactmentMoment: FrameSupportScheduleDispatchTime | { At: any } | { After: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [KitchensinkRuntimeOriginCaller, FrameSupportPreimagesBounded, FrameSupportScheduleDispatchTime]>;
|
||||
/**
|
||||
* Generic tx
|
||||
**/
|
||||
@@ -3601,11 +3496,11 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
/**
|
||||
* Cancel a named scheduled task.
|
||||
**/
|
||||
cancelNamed: AugmentedSubmittable<(id: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
|
||||
cancelNamed: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed]>;
|
||||
/**
|
||||
* Anonymously schedule a task.
|
||||
**/
|
||||
schedule: AugmentedSubmittable<(when: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Option<ITuple<[u32, u32]>>, u8, FrameSupportScheduleMaybeHashed]>;
|
||||
schedule: AugmentedSubmittable<(when: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Option<ITuple<[u32, u32]>>, u8, Call]>;
|
||||
/**
|
||||
* Anonymously schedule a task after a delay.
|
||||
*
|
||||
@@ -3613,11 +3508,11 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* Same as [`schedule`].
|
||||
* # </weight>
|
||||
**/
|
||||
scheduleAfter: AugmentedSubmittable<(after: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Option<ITuple<[u32, u32]>>, u8, FrameSupportScheduleMaybeHashed]>;
|
||||
scheduleAfter: AugmentedSubmittable<(after: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Option<ITuple<[u32, u32]>>, u8, Call]>;
|
||||
/**
|
||||
* Schedule a named task.
|
||||
**/
|
||||
scheduleNamed: AugmentedSubmittable<(id: Bytes | string | Uint8Array, when: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, u32, Option<ITuple<[u32, u32]>>, u8, FrameSupportScheduleMaybeHashed]>;
|
||||
scheduleNamed: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, when: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed, u32, Option<ITuple<[u32, u32]>>, u8, Call]>;
|
||||
/**
|
||||
* Schedule a named task after a delay.
|
||||
*
|
||||
@@ -3625,7 +3520,7 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* Same as [`schedule_named`](Self::schedule_named).
|
||||
* # </weight>
|
||||
**/
|
||||
scheduleNamedAfter: AugmentedSubmittable<(id: Bytes | string | Uint8Array, after: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, u32, Option<ITuple<[u32, u32]>>, u8, FrameSupportScheduleMaybeHashed]>;
|
||||
scheduleNamedAfter: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, after: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed, u32, Option<ITuple<[u32, u32]>>, u8, Call]>;
|
||||
/**
|
||||
* Generic tx
|
||||
**/
|
||||
@@ -5532,13 +5427,13 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
/**
|
||||
* Send a batch of dispatch calls.
|
||||
*
|
||||
* May be called from any origin.
|
||||
* May be called from any origin except `None`.
|
||||
*
|
||||
* - `calls`: The calls to be dispatched from the same origin. The number of call must not
|
||||
* exceed the constant: `batched_calls_limit` (available in constant metadata).
|
||||
*
|
||||
* If origin is root then call are dispatch without checking origin filter. (This includes
|
||||
* bypassing `frame_system::Config::BaseCallFilter`).
|
||||
* If origin is root then the calls are dispatched without checking origin filter. (This
|
||||
* includes bypassing `frame_system::Config::BaseCallFilter`).
|
||||
*
|
||||
* # <weight>
|
||||
* - Complexity: O(C) where C is the number of calls to be batched.
|
||||
@@ -5555,13 +5450,13 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* 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.
|
||||
* May be called from any origin except `None`.
|
||||
*
|
||||
* - `calls`: The calls to be dispatched from the same origin. The number of call must not
|
||||
* exceed the constant: `batched_calls_limit` (available in constant metadata).
|
||||
*
|
||||
* If origin is root then call are dispatch without checking origin filter. (This includes
|
||||
* bypassing `frame_system::Config::BaseCallFilter`).
|
||||
* If origin is root then the calls are dispatched without checking origin filter. (This
|
||||
* includes bypassing `frame_system::Config::BaseCallFilter`).
|
||||
*
|
||||
* # <weight>
|
||||
* - Complexity: O(C) where C is the number of calls to be batched.
|
||||
@@ -5585,13 +5480,13 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
* Send a batch of dispatch calls.
|
||||
* Unlike `batch`, it allows errors and won't interrupt.
|
||||
*
|
||||
* May be called from any origin.
|
||||
* May be called from any origin except `None`.
|
||||
*
|
||||
* - `calls`: The calls to be dispatched from the same origin. The number of call must not
|
||||
* exceed the constant: `batched_calls_limit` (available in constant metadata).
|
||||
*
|
||||
* If origin is root then call are dispatch without checking origin filter. (This includes
|
||||
* bypassing `frame_system::Config::BaseCallFilter`).
|
||||
* If origin is root then the calls are dispatch without checking origin filter. (This
|
||||
* includes bypassing `frame_system::Config::BaseCallFilter`).
|
||||
*
|
||||
* # <weight>
|
||||
* - Complexity: O(C) where C is the number of calls to be batched.
|
||||
@@ -5708,7 +5603,7 @@ declare module '@polkadot/api-base/types/submittable' {
|
||||
**/
|
||||
[key: string]: SubmittableExtrinsicFunction<ApiType>;
|
||||
};
|
||||
voterBagsList: {
|
||||
voterList: {
|
||||
/**
|
||||
* Move the caller's Id directly in front of `lighter`.
|
||||
*
|
||||
|
||||
@@ -20,12 +20,12 @@
|
||||
"./detectPackage.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "9.5.2",
|
||||
"version": "9.7.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.19.4",
|
||||
"@polkadot/rpc-core": "9.5.2",
|
||||
"@polkadot/types": "9.5.2",
|
||||
"@babel/runtime": "^7.20.1",
|
||||
"@polkadot/rpc-core": "9.7.1",
|
||||
"@polkadot/types": "9.7.1",
|
||||
"@polkadot/util": "^10.1.11",
|
||||
"rxjs": "^7.5.7"
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/api-base', path: 'auto', type: 'auto', version: '9.5.2' };
|
||||
export const packageInfo = { name: '@polkadot/api-base', path: 'auto', type: 'auto', version: '9.7.1' };
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Observable } from 'rxjs';
|
||||
import type { AnyFunction, Callback, DefinitionRpc } from '@polkadot/types/types';
|
||||
import type { AnyFunction, AnyJson, Callback, DefinitionRpc } from '@polkadot/types/types';
|
||||
|
||||
import { ApiTypes, PromiseResult, Push, RxResult, UnsubscribePromise } from './base';
|
||||
|
||||
@@ -29,6 +29,8 @@ export type DecoratedRpcSection<ApiType extends ApiTypes, Section> = {
|
||||
: never
|
||||
}
|
||||
|
||||
export type RawRpcType<ApiType extends ApiTypes> = (method: string, ...params: unknown[]) => ApiType extends 'rxjs' ? Observable<AnyJson> : Promise<AnyJson>;
|
||||
|
||||
export type DecoratedRpc<ApiType extends ApiTypes, AllSections> = {
|
||||
[S in keyof AllSections]: DecoratedRpcSection<ApiType, AllSections[S]>
|
||||
}
|
||||
} & RawRpcType<ApiType>
|
||||
|
||||
@@ -20,20 +20,20 @@
|
||||
"./detectPackage.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "9.5.2",
|
||||
"version": "9.7.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.19.4",
|
||||
"@polkadot/api": "9.5.2",
|
||||
"@polkadot/types": "9.5.2",
|
||||
"@polkadot/types-codec": "9.5.2",
|
||||
"@polkadot/types-create": "9.5.2",
|
||||
"@babel/runtime": "^7.20.1",
|
||||
"@polkadot/api": "9.7.1",
|
||||
"@polkadot/types": "9.7.1",
|
||||
"@polkadot/types-codec": "9.7.1",
|
||||
"@polkadot/types-create": "9.7.1",
|
||||
"@polkadot/util": "^10.1.11",
|
||||
"@polkadot/util-crypto": "^10.1.11",
|
||||
"rxjs": "^7.5.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@polkadot/api-augment": "9.5.2",
|
||||
"@polkadot/api-augment": "9.7.1",
|
||||
"@polkadot/keyring": "^10.1.11"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/api-contract', path: 'auto', type: 'auto', version: '9.5.2' };
|
||||
export const packageInfo = { name: '@polkadot/api-contract', path: 'auto', type: 'auto', version: '9.7.1' };
|
||||
|
||||
@@ -20,25 +20,25 @@
|
||||
"./detectPackage.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "9.5.2",
|
||||
"version": "9.7.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.19.4",
|
||||
"@polkadot/api": "9.5.2",
|
||||
"@polkadot/api-augment": "9.5.2",
|
||||
"@polkadot/api-base": "9.5.2",
|
||||
"@polkadot/rpc-core": "9.5.2",
|
||||
"@polkadot/types": "9.5.2",
|
||||
"@polkadot/types-codec": "9.5.2",
|
||||
"@babel/runtime": "^7.20.1",
|
||||
"@polkadot/api": "9.7.1",
|
||||
"@polkadot/api-augment": "9.7.1",
|
||||
"@polkadot/api-base": "9.7.1",
|
||||
"@polkadot/rpc-core": "9.7.1",
|
||||
"@polkadot/types": "9.7.1",
|
||||
"@polkadot/types-codec": "9.7.1",
|
||||
"@polkadot/util": "^10.1.11",
|
||||
"@polkadot/util-crypto": "^10.1.11",
|
||||
"rxjs": "^7.5.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@polkadot/api": "9.5.2",
|
||||
"@polkadot/api-augment": "9.5.2",
|
||||
"@polkadot/rpc-augment": "9.5.2",
|
||||
"@polkadot/rpc-provider": "9.5.2",
|
||||
"@polkadot/types-support": "9.5.2"
|
||||
"@polkadot/api": "9.7.1",
|
||||
"@polkadot/api-augment": "9.7.1",
|
||||
"@polkadot/rpc-augment": "9.7.1",
|
||||
"@polkadot/rpc-provider": "9.7.1",
|
||||
"@polkadot/types-support": "9.7.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,8 +4,9 @@
|
||||
import type { Observable } from 'rxjs';
|
||||
import type { Option, Vec } from '@polkadot/types';
|
||||
import type { BlockNumber, Call, Hash, ReferendumIndex, Scheduled } from '@polkadot/types/interfaces';
|
||||
import type { FrameSupportScheduleMaybeHashed, PalletSchedulerScheduledV3 } from '@polkadot/types/lookup';
|
||||
import type { FrameSupportPreimagesBounded, FrameSupportScheduleMaybeHashed, PalletSchedulerScheduled, PalletSchedulerScheduledV3 } from '@polkadot/types/lookup';
|
||||
import type { ITuple } from '@polkadot/types/types';
|
||||
import type { HexString } from '@polkadot/util/types';
|
||||
import type { DeriveApi, DeriveDispatch, DeriveProposalImage } from '../types';
|
||||
|
||||
import { catchError, combineLatest, map, of, switchMap } from 'rxjs';
|
||||
@@ -14,20 +15,26 @@ import { Enum } from '@polkadot/types';
|
||||
import { isFunction, objectSpread, stringToHex } from '@polkadot/util';
|
||||
|
||||
import { memo } from '../util';
|
||||
import { getImageHashBounded } from './util';
|
||||
|
||||
const DEMOCRACY_ID = stringToHex('democrac');
|
||||
|
||||
interface SchedulerInfo {
|
||||
at: BlockNumber;
|
||||
imageHash: Hash;
|
||||
imageHash: HexString;
|
||||
index: ReferendumIndex;
|
||||
}
|
||||
|
||||
function isMaybeHashed (call: FrameSupportScheduleMaybeHashed | Call): call is FrameSupportScheduleMaybeHashed {
|
||||
function isMaybeHashedOrBounded (call: FrameSupportPreimagesBounded | FrameSupportScheduleMaybeHashed | Call): call is FrameSupportScheduleMaybeHashed | FrameSupportPreimagesBounded {
|
||||
// check for enum
|
||||
return call instanceof Enum;
|
||||
}
|
||||
|
||||
function isBounded (call: FrameSupportPreimagesBounded | FrameSupportScheduleMaybeHashed): call is FrameSupportPreimagesBounded {
|
||||
// check for type
|
||||
return (call as FrameSupportPreimagesBounded).isInline || (call as FrameSupportPreimagesBounded).isLegacy || (call as FrameSupportPreimagesBounded).isLookup;
|
||||
}
|
||||
|
||||
function queryQueue (api: DeriveApi): Observable<DeriveDispatch[]> {
|
||||
return api.query.democracy.dispatchQueue<Vec<ITuple<[BlockNumber, Hash, ReferendumIndex]>>>().pipe(
|
||||
switchMap((dispatches) =>
|
||||
@@ -41,14 +48,14 @@ function queryQueue (api: DeriveApi): Observable<DeriveDispatch[]> {
|
||||
dispatches.map(([at, imageHash, index], dispatchIndex): DeriveDispatch => ({
|
||||
at,
|
||||
image: images[dispatchIndex],
|
||||
imageHash,
|
||||
imageHash: getImageHashBounded(imageHash),
|
||||
index
|
||||
}))
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
function schedulerEntries (api: DeriveApi): Observable<[BlockNumber[], Option<PalletSchedulerScheduledV3 | Scheduled>[][]]> {
|
||||
function schedulerEntries (api: DeriveApi): Observable<[BlockNumber[], Option<PalletSchedulerScheduled | PalletSchedulerScheduledV3 | Scheduled>[][]]> {
|
||||
// We don't get entries, but rather we get the keys (triggered via finished referendums) and
|
||||
// the subscribe to those keys - this means we pickup when the schedulers actually executes
|
||||
// at a block, the entry for that block will become empty
|
||||
@@ -87,11 +94,13 @@ function queryScheduler (api: DeriveApi): Observable<DeriveDispatch[]> {
|
||||
const id = scheduled.maybeId.unwrap().toHex();
|
||||
|
||||
if (id.startsWith(DEMOCRACY_ID)) {
|
||||
const imageHash = isMaybeHashed(scheduled.call)
|
||||
? scheduled.call.isHash
|
||||
? scheduled.call.asHash
|
||||
: scheduled.call.asValue.args[0] as Hash
|
||||
: scheduled.call.args[0] as Hash;
|
||||
const imageHash = isMaybeHashedOrBounded(scheduled.call)
|
||||
? isBounded(scheduled.call)
|
||||
? getImageHashBounded(scheduled.call)
|
||||
: scheduled.call.isHash
|
||||
? scheduled.call.asHash.toHex()
|
||||
: scheduled.call.asValue.args[0].toHex()
|
||||
: scheduled.call.args[0].toHex();
|
||||
|
||||
result.push({ at, imageHash, index: api.registry.createType('(u64, ReferendumIndex)', id)[1] });
|
||||
}
|
||||
|
||||
@@ -4,25 +4,26 @@
|
||||
import type { Observable } from 'rxjs';
|
||||
import type { Option } from '@polkadot/types';
|
||||
import type { H256 } from '@polkadot/types/interfaces';
|
||||
import type { PalletDemocracyVoteThreshold } from '@polkadot/types/lookup';
|
||||
import type { FrameSupportPreimagesBounded, PalletDemocracyVoteThreshold } from '@polkadot/types/lookup';
|
||||
import type { ITuple } from '@polkadot/types/types';
|
||||
import type { DeriveApi, DeriveProposalExternal } from '../types';
|
||||
|
||||
import { map, of, switchMap } from 'rxjs';
|
||||
|
||||
import { memo } from '../util';
|
||||
import { getImageHashBounded } from './util';
|
||||
|
||||
function withImage (api: DeriveApi, nextOpt: Option<ITuple<[H256, PalletDemocracyVoteThreshold]>>): Observable<DeriveProposalExternal | null> {
|
||||
function withImage (api: DeriveApi, nextOpt: Option<ITuple<[H256 | FrameSupportPreimagesBounded, PalletDemocracyVoteThreshold]>>): Observable<DeriveProposalExternal | null> {
|
||||
if (nextOpt.isNone) {
|
||||
return of(null);
|
||||
}
|
||||
|
||||
const [imageHash, threshold] = nextOpt.unwrap();
|
||||
const [hash, threshold] = nextOpt.unwrap();
|
||||
|
||||
return api.derive.democracy.preimage(imageHash).pipe(
|
||||
return api.derive.democracy.preimage(hash).pipe(
|
||||
map((image): DeriveProposalExternal => ({
|
||||
image,
|
||||
imageHash,
|
||||
imageHash: getImageHashBounded(hash),
|
||||
threshold
|
||||
}))
|
||||
);
|
||||
|
||||
@@ -2,16 +2,19 @@
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Observable } from 'rxjs';
|
||||
import type { AccountId, Balance, BlockNumber, Hash, PreimageStatus, Proposal } from '@polkadot/types/interfaces';
|
||||
import type { AccountId, Balance, BlockNumber, Call, Hash, PreimageStatus } from '@polkadot/types/interfaces';
|
||||
import type { FrameSupportPreimagesBounded, PalletPreimageRequestStatus } from '@polkadot/types/lookup';
|
||||
import type { Bytes, Option } from '@polkadot/types-codec';
|
||||
import type { ITuple } from '@polkadot/types-codec/types';
|
||||
import type { HexString } from '@polkadot/util/types';
|
||||
import type { DeriveApi, DeriveProposalImage } from '../types';
|
||||
|
||||
import { map, of } from 'rxjs';
|
||||
import { map, of, switchMap } from 'rxjs';
|
||||
|
||||
import { isFunction } from '@polkadot/util';
|
||||
import { BN_ZERO, isFunction } from '@polkadot/util';
|
||||
|
||||
import { firstMemo, memo } from '../util';
|
||||
import { getImageHashBounded } from './util';
|
||||
|
||||
type PreimageInfo = [Bytes, AccountId, Balance, BlockNumber];
|
||||
type OldPreimage = ITuple<PreimageInfo>;
|
||||
@@ -21,10 +24,10 @@ function isDemocracyPreimage (api: DeriveApi, imageOpt: Option<OldPreimage> | Op
|
||||
}
|
||||
|
||||
function constructProposal (api: DeriveApi, [bytes, proposer, balance, at]: PreimageInfo): DeriveProposalImage {
|
||||
let proposal: Proposal | undefined;
|
||||
let proposal: Call | undefined;
|
||||
|
||||
try {
|
||||
proposal = api.registry.createType('Proposal', bytes.toU8a(true));
|
||||
proposal = api.registry.createType('Call', bytes.toU8a(true));
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
@@ -52,25 +55,81 @@ function parseDemocracy (api: DeriveApi, imageOpt: Option<OldPreimage> | Option<
|
||||
return constructProposal(api, imageOpt.unwrap());
|
||||
}
|
||||
|
||||
function parseImage (api: DeriveApi, [proposalHash, status, bytes]: [HexString, PalletPreimageRequestStatus | null, Bytes | null]): DeriveProposalImage | undefined {
|
||||
if (!status) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
const [proposer, balance] = status.isUnrequested
|
||||
? status.asUnrequested.deposit
|
||||
: status.asRequested.deposit.unwrapOrDefault();
|
||||
let proposal: Call | undefined;
|
||||
|
||||
if (bytes) {
|
||||
try {
|
||||
proposal = api.registry.createType('Call', bytes.toU8a(true));
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
|
||||
return { at: BN_ZERO, balance, proposal, proposalHash, proposer };
|
||||
}
|
||||
|
||||
function getDemocracyImages (api: DeriveApi, hashes: (Hash | Uint8Array | string)[]): Observable<(DeriveProposalImage | undefined)[]> {
|
||||
return api.query.democracy.preimages.multi(hashes).pipe(
|
||||
return api.query.democracy.preimages.multi<Option<PreimageStatus>>(hashes).pipe(
|
||||
map((images): (DeriveProposalImage | undefined)[] =>
|
||||
images.map((imageOpt) => parseDemocracy(api, imageOpt))
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
export function preimages (instanceId: string, api: DeriveApi): (hashes: (Hash | Uint8Array | string)[]) => Observable<(DeriveProposalImage | undefined)[]> {
|
||||
return memo(instanceId, (hashes: (Hash | Uint8Array | string)[]): Observable<(DeriveProposalImage | undefined)[]> =>
|
||||
function getImages (api: DeriveApi, bounded: FrameSupportPreimagesBounded[]): Observable<(DeriveProposalImage | undefined)[]> {
|
||||
const hashes = bounded.map((b) => getImageHashBounded(b));
|
||||
|
||||
return api.query.preimage.statusFor.multi(hashes).pipe(
|
||||
switchMap((optStatus) => {
|
||||
const statuses = optStatus.map((o) => o.unwrapOr(null));
|
||||
const keys = statuses
|
||||
.map((s, i) =>
|
||||
s
|
||||
? s.isRequested
|
||||
? [hashes[i], s.asRequested.len.unwrapOr(0)]
|
||||
: [hashes[i], s.asUnrequested.len]
|
||||
: null
|
||||
)
|
||||
.filter((p) => !!p);
|
||||
|
||||
return api.query.preimage.preimageFor.multi(keys).pipe(
|
||||
map((optBytes) => {
|
||||
let ptr = -1;
|
||||
|
||||
return statuses
|
||||
.map((s, i): [HexString, PalletPreimageRequestStatus | null, Bytes | null] =>
|
||||
s
|
||||
? [hashes[i], s, optBytes[++ptr].unwrapOr(null)]
|
||||
: [hashes[i], null, null]
|
||||
)
|
||||
.map((v) => parseImage(api, v));
|
||||
})
|
||||
);
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
export function preimages (instanceId: string, api: DeriveApi): (hashes: (Hash | Uint8Array | string | FrameSupportPreimagesBounded)[]) => Observable<(DeriveProposalImage | undefined)[]> {
|
||||
return memo(instanceId, (hashes: (Hash | Uint8Array | string | FrameSupportPreimagesBounded)[]): Observable<(DeriveProposalImage | undefined)[]> =>
|
||||
hashes.length
|
||||
? isFunction(api.query.democracy.preimages)
|
||||
? getDemocracyImages(api, hashes)
|
||||
: of([])
|
||||
? getDemocracyImages(api, hashes as string[])
|
||||
: isFunction(api.query.preimage.preimageFor)
|
||||
? getImages(api, hashes as FrameSupportPreimagesBounded[])
|
||||
: of([])
|
||||
: of([])
|
||||
);
|
||||
}
|
||||
|
||||
export const preimage = firstMemo(
|
||||
(api: DeriveApi, hash: Hash | Uint8Array | string) =>
|
||||
(api: DeriveApi, hash: Hash | Uint8Array | string | FrameSupportPreimagesBounded) =>
|
||||
api.derive.democracy.preimages([hash])
|
||||
);
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
import type { Observable } from 'rxjs';
|
||||
import type { Option, Vec } from '@polkadot/types';
|
||||
import type { AccountId, Balance, Hash, PropIndex } from '@polkadot/types/interfaces';
|
||||
import type { FrameSupportPreimagesBounded } from '@polkadot/types/lookup';
|
||||
import type { ITuple } from '@polkadot/types/types';
|
||||
import type { DeriveApi, DeriveProposal, DeriveProposalImage } from '../types';
|
||||
|
||||
@@ -12,11 +13,12 @@ import { combineLatest, map, of, switchMap } from 'rxjs';
|
||||
import { isFunction, objectSpread } from '@polkadot/util';
|
||||
|
||||
import { memo } from '../util';
|
||||
import { getImageHashBounded } from './util';
|
||||
|
||||
type DepositorsNew = Option<ITuple<[Vec<AccountId>, Balance]>>;
|
||||
type DepositorsOld = Option<ITuple<[Balance, Vec<AccountId>]>>;
|
||||
type Depositors = DepositorsNew | DepositorsOld;
|
||||
type Proposals = ITuple<[PropIndex, Hash, AccountId]>[];
|
||||
type Proposals = ITuple<[PropIndex, Hash | FrameSupportPreimagesBounded, AccountId]>[];
|
||||
type Result = [Proposals, (DeriveProposalImage | undefined)[], Depositors[]];
|
||||
|
||||
function isNewDepositors (depositors: ITuple<[Vec<AccountId>, Balance]> | ITuple<[Balance, Vec<AccountId>]>): depositors is ITuple<[Vec<AccountId>, Balance]> {
|
||||
@@ -30,13 +32,13 @@ function parse ([proposals, images, optDepositors]: Result): DeriveProposal[] {
|
||||
.filter(([, , proposer], index): boolean =>
|
||||
!!(optDepositors[index]?.isSome) && !proposer.isEmpty
|
||||
)
|
||||
.map(([index, imageHash, proposer], proposalIndex): DeriveProposal => {
|
||||
.map(([index, hash, proposer], proposalIndex): DeriveProposal => {
|
||||
const depositors = optDepositors[proposalIndex].unwrap();
|
||||
|
||||
return objectSpread(
|
||||
{
|
||||
image: images[proposalIndex],
|
||||
imageHash,
|
||||
imageHash: getImageHashBounded(hash),
|
||||
index,
|
||||
proposer
|
||||
},
|
||||
@@ -56,7 +58,7 @@ export function proposals (instanceId: string, api: DeriveApi): () => Observable
|
||||
? combineLatest([
|
||||
of(proposals),
|
||||
api.derive.democracy.preimages(
|
||||
proposals.map(([, hash]) => hash)
|
||||
proposals.map(([, hash]) => hash as unknown as Uint8Array)
|
||||
),
|
||||
api.query.democracy.depositOf.multi(
|
||||
proposals.map(([index]) => index)
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
import type { Observable } from 'rxjs';
|
||||
import type { Option, Vec } from '@polkadot/types';
|
||||
import type { AccountId, ReferendumInfoTo239, Vote } from '@polkadot/types/interfaces';
|
||||
import type { PalletDemocracyReferendumInfo, PalletDemocracyVoteVoting } from '@polkadot/types/lookup';
|
||||
import type { AccountId, Hash, ReferendumInfoTo239, Vote } from '@polkadot/types/interfaces';
|
||||
import type { PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyVoteVoting } from '@polkadot/types/lookup';
|
||||
import type { BN } from '@polkadot/util';
|
||||
import type { DeriveApi, DeriveBalancesAccount, DeriveReferendum, DeriveReferendumVote, DeriveReferendumVotes } from '../types';
|
||||
|
||||
@@ -13,7 +13,7 @@ import { combineLatest, map, of, switchMap } from 'rxjs';
|
||||
import { isFunction, objectSpread } from '@polkadot/util';
|
||||
|
||||
import { memo } from '../util';
|
||||
import { calcVotes, getStatus } from './util';
|
||||
import { calcVotes, getImageHash, getStatus } from './util';
|
||||
|
||||
type VotingDelegating = PalletDemocracyVoteVoting['asDelegating'];
|
||||
type VotingDirect = PalletDemocracyVoteVoting['asDirect'];
|
||||
@@ -133,10 +133,13 @@ export function _referendumInfo (instanceId: string, api: DeriveApi): (index: BN
|
||||
const status = getStatus(info);
|
||||
|
||||
return status
|
||||
? api.derive.democracy.preimage(status.proposalHash).pipe(
|
||||
? api.derive.democracy.preimage(
|
||||
(status as PalletDemocracyReferendumStatus).proposal ||
|
||||
(status as unknown as { proposalHash: Hash }).proposalHash
|
||||
).pipe(
|
||||
map((image): DeriveReferendum => ({
|
||||
image,
|
||||
imageHash: status.proposalHash,
|
||||
imageHash: getImageHash(status),
|
||||
index: api.registry.createType('ReferendumIndex', index),
|
||||
status
|
||||
}))
|
||||
@@ -157,7 +160,7 @@ export function referendumsInfo (instanceId: string, api: DeriveApi): (ids: BN[]
|
||||
)
|
||||
),
|
||||
map((infos) =>
|
||||
infos.filter((referendum): referendum is DeriveReferendum => !!referendum)
|
||||
infos.filter((r): r is DeriveReferendum => !!r)
|
||||
)
|
||||
)
|
||||
: of([])
|
||||
|
||||
@@ -2,12 +2,13 @@
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Vec } from '@polkadot/types';
|
||||
import type { AccountId, Balance, BlockNumber, Hash, PropIndex, Proposal, ReferendumIndex, ReferendumInfoTo239, Vote } from '@polkadot/types/interfaces';
|
||||
import type { AccountId, Balance, Call, Hash, PropIndex, ReferendumIndex, ReferendumInfoTo239, Vote } from '@polkadot/types/interfaces';
|
||||
import type { PalletDemocracyReferendumStatus, PalletDemocracyVoteThreshold } from '@polkadot/types/lookup';
|
||||
import type { BN } from '@polkadot/util';
|
||||
import type { HexString } from '@polkadot/util/types';
|
||||
|
||||
export interface AtBlock {
|
||||
at: BlockNumber;
|
||||
at: BN;
|
||||
}
|
||||
|
||||
export interface DeriveDemocracyLock {
|
||||
@@ -22,13 +23,15 @@ export interface DeriveDemocracyLock {
|
||||
|
||||
export interface DeriveProposalImage extends AtBlock {
|
||||
balance: Balance;
|
||||
proposal?: Proposal;
|
||||
proposal?: Call;
|
||||
proposalHash?: HexString;
|
||||
proposalLen?: number;
|
||||
proposer: AccountId;
|
||||
}
|
||||
|
||||
export interface DeriveDispatch extends AtBlock {
|
||||
index: ReferendumIndex;
|
||||
imageHash: Hash;
|
||||
imageHash: HexString;
|
||||
image?: DeriveProposalImage;
|
||||
}
|
||||
|
||||
@@ -43,14 +46,14 @@ export interface DeriveProposal {
|
||||
|
||||
export interface DeriveProposalExternal {
|
||||
image?: DeriveProposalImage;
|
||||
imageHash: Hash;
|
||||
imageHash: HexString;
|
||||
threshold: PalletDemocracyVoteThreshold;
|
||||
}
|
||||
|
||||
export interface DeriveReferendum {
|
||||
index: ReferendumIndex;
|
||||
image?: DeriveProposalImage;
|
||||
imageHash: Hash;
|
||||
imageHash: HexString;
|
||||
status: PalletDemocracyReferendumStatus | ReferendumInfoTo239;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
// Copyright 2017-2022 @polkadot/api-derive authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { ReferendumInfoTo239, Tally } from '@polkadot/types/interfaces';
|
||||
import type { PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyVoteThreshold } from '@polkadot/types/lookup';
|
||||
import type { Hash, ReferendumInfoTo239, Tally } from '@polkadot/types/interfaces';
|
||||
import type { FrameSupportPreimagesBounded, PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyVoteThreshold } from '@polkadot/types/lookup';
|
||||
import type { Option } from '@polkadot/types-codec';
|
||||
import type { HexString } from '@polkadot/util/types';
|
||||
import type { DeriveReferendum, DeriveReferendumVote, DeriveReferendumVotes, DeriveReferendumVoteState } from '../types';
|
||||
|
||||
import { BN, bnSqrt, objectSpread } from '@polkadot/util';
|
||||
@@ -139,3 +140,21 @@ export function getStatus (info: Option<PalletDemocracyReferendumInfo | Referend
|
||||
// done, we don't include it here... only currently active
|
||||
: null;
|
||||
}
|
||||
|
||||
export function getImageHashBounded (hash: Hash | FrameSupportPreimagesBounded): HexString {
|
||||
return (hash as FrameSupportPreimagesBounded).isLegacy
|
||||
? (hash as FrameSupportPreimagesBounded).asLegacy.hash_.toHex()
|
||||
: (hash as FrameSupportPreimagesBounded).isLookup
|
||||
? (hash as FrameSupportPreimagesBounded).asLookup.hash_.toHex()
|
||||
// for inline, use the actual Bytes hash
|
||||
: (hash as FrameSupportPreimagesBounded).isInline
|
||||
? (hash as FrameSupportPreimagesBounded).asInline.hash.toHex()
|
||||
: hash.toHex();
|
||||
}
|
||||
|
||||
export function getImageHash (status: PalletDemocracyReferendumStatus | ReferendumInfoTo239): HexString {
|
||||
return getImageHashBounded(
|
||||
(status as PalletDemocracyReferendumStatus).proposal ||
|
||||
(status as ReferendumInfoTo239).proposalHash
|
||||
);
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/api-derive', path: 'auto', type: 'auto', version: '9.5.2' };
|
||||
export const packageInfo = { name: '@polkadot/api-derive', path: 'auto', type: 'auto', version: '9.7.1' };
|
||||
|
||||
+15
-15
@@ -20,29 +20,29 @@
|
||||
"./detectPackage.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "9.5.2",
|
||||
"version": "9.7.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.19.4",
|
||||
"@polkadot/api-augment": "9.5.2",
|
||||
"@polkadot/api-base": "9.5.2",
|
||||
"@polkadot/api-derive": "9.5.2",
|
||||
"@babel/runtime": "^7.20.1",
|
||||
"@polkadot/api-augment": "9.7.1",
|
||||
"@polkadot/api-base": "9.7.1",
|
||||
"@polkadot/api-derive": "9.7.1",
|
||||
"@polkadot/keyring": "^10.1.11",
|
||||
"@polkadot/rpc-augment": "9.5.2",
|
||||
"@polkadot/rpc-core": "9.5.2",
|
||||
"@polkadot/rpc-provider": "9.5.2",
|
||||
"@polkadot/types": "9.5.2",
|
||||
"@polkadot/types-augment": "9.5.2",
|
||||
"@polkadot/types-codec": "9.5.2",
|
||||
"@polkadot/types-create": "9.5.2",
|
||||
"@polkadot/types-known": "9.5.2",
|
||||
"@polkadot/rpc-augment": "9.7.1",
|
||||
"@polkadot/rpc-core": "9.7.1",
|
||||
"@polkadot/rpc-provider": "9.7.1",
|
||||
"@polkadot/types": "9.7.1",
|
||||
"@polkadot/types-augment": "9.7.1",
|
||||
"@polkadot/types-codec": "9.7.1",
|
||||
"@polkadot/types-create": "9.7.1",
|
||||
"@polkadot/types-known": "9.7.1",
|
||||
"@polkadot/util": "^10.1.11",
|
||||
"@polkadot/util-crypto": "^10.1.11",
|
||||
"eventemitter3": "^4.0.7",
|
||||
"rxjs": "^7.5.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@polkadot/api-augment": "9.5.2",
|
||||
"@polkadot/types-support": "9.5.2"
|
||||
"@polkadot/api-augment": "9.7.1",
|
||||
"@polkadot/types-support": "9.7.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import type { StorageKey, Text, u64 } from '@polkadot/types';
|
||||
import type { Call, Hash, RuntimeVersion } from '@polkadot/types/interfaces';
|
||||
import type { DecoratedMeta } from '@polkadot/types/metadata/decorate/types';
|
||||
import type { StorageEntry } from '@polkadot/types/primitive/types';
|
||||
import type { AnyFunction, AnyTuple, CallFunction, Codec, DefinitionCallNamed, DefinitionRpc, DefinitionRpcSub, DefinitionsCall, DefinitionsCallEntry, DetectCodec, IMethod, IStorageKey, Registry, RegistryError, RegistryTypes } from '@polkadot/types/types';
|
||||
import type { AnyFunction, AnyJson, AnyTuple, CallFunction, Codec, DefinitionCallNamed, DefinitionRpc, DefinitionRpcSub, DefinitionsCall, DefinitionsCallEntry, DetectCodec, IMethod, IStorageKey, Registry, RegistryError, RegistryTypes } from '@polkadot/types/types';
|
||||
import type { HexString } from '@polkadot/util/types';
|
||||
import type { SubmittableExtrinsic } from '../submittable/types';
|
||||
import type { ApiDecoration, ApiInterfaceRx, ApiOptions, ApiTypes, AugmentedQuery, DecoratedErrors, DecoratedEvents, DecoratedRpc, DecorateMethod, GenericStorageEntryFunction, PaginationOptions, QueryableConsts, QueryableStorage, QueryableStorageEntry, QueryableStorageEntryAt, QueryableStorageMulti, QueryableStorageMultiArg, SubmittableExtrinsicFunction, SubmittableExtrinsics } from '../types';
|
||||
@@ -21,7 +21,7 @@ import { memo, RpcCore } from '@polkadot/rpc-core';
|
||||
import { WsProvider } from '@polkadot/rpc-provider';
|
||||
import { expandMetadata, GenericExtrinsic, Metadata, typeDefinitions, TypeRegistry } from '@polkadot/types';
|
||||
import { getSpecRuntime } from '@polkadot/types-known';
|
||||
import { arrayChunk, arrayFlatten, assertReturn, BN, compactStripLength, lazyMethod, lazyMethods, logger, nextTick, objectSpread, stringCamelCase, stringUpperFirst, u8aConcatStrict, u8aToHex } from '@polkadot/util';
|
||||
import { arrayChunk, arrayFlatten, assertReturn, BN, compactStripLength, lazyMethod, lazyMethods, logger, nextTick, objectSpread, stringCamelCase, stringify, stringUpperFirst, u8aConcatStrict, u8aToHex } from '@polkadot/util';
|
||||
import { blake2AsHex } from '@polkadot/util-crypto';
|
||||
|
||||
import { createSubmittable } from '../submittable';
|
||||
@@ -167,7 +167,9 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
|
||||
this._rx.registry = this.#registry;
|
||||
|
||||
const thisProvider = options.source
|
||||
? options.source._rpcCore.provider.clone()
|
||||
? options.source._rpcCore.provider.isClonable
|
||||
? options.source._rpcCore.provider.clone()
|
||||
: options.source._rpcCore.provider
|
||||
: (options.provider || new WsProvider());
|
||||
|
||||
this._decorateMethod = decorateMethod;
|
||||
@@ -401,15 +403,23 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
|
||||
const [k, { method, section }] = allKnown[i];
|
||||
|
||||
if (hasResults && !exposed.includes(k) && k !== 'rpc_methods') {
|
||||
if ((this._rpc as Record<string, Record<string, unknown>>)[section]) {
|
||||
delete (this._rpc as Record<string, Record<string, unknown>>)[section][method];
|
||||
delete (this._rx.rpc as Record<string, Record<string, unknown>>)[section][method];
|
||||
if ((this._rpc as unknown as Record<string, Record<string, unknown>>)[section]) {
|
||||
delete (this._rpc as unknown as Record<string, Record<string, unknown>>)[section][method];
|
||||
delete (this._rx.rpc as unknown as Record<string, Record<string, unknown>>)[section][method];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected _decorateRpc<ApiType extends ApiTypes> (rpc: RpcCore & RpcInterface, decorateMethod: DecorateMethod<ApiType>, input: Partial<DecoratedRpc<ApiType, RpcInterface>> = {}): DecoratedRpc<ApiType, RpcInterface> {
|
||||
private _rpcSubmitter<ApiType extends ApiTypes> (decorateMethod: DecorateMethod<ApiType>): DecoratedRpc<ApiType, RpcInterface> {
|
||||
const method = (method: string, ...params: any[]) => {
|
||||
return from(this._rpcCore.provider.send<AnyJson>(method, params.map((p) => stringify(p))));
|
||||
};
|
||||
|
||||
return decorateMethod(method) as DecoratedRpc<ApiType, RpcInterface>;
|
||||
}
|
||||
|
||||
protected _decorateRpc<ApiType extends ApiTypes> (rpc: RpcCore & RpcInterface, decorateMethod: DecorateMethod<ApiType>, input: Partial<DecoratedRpc<ApiType, RpcInterface>> = this._rpcSubmitter(decorateMethod)): DecoratedRpc<ApiType, RpcInterface> {
|
||||
const out: Record<string, Record<string, unknown>> = input;
|
||||
|
||||
const decorateFn = (section: string, method: string): unknown => {
|
||||
@@ -446,7 +456,7 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
|
||||
}
|
||||
}
|
||||
|
||||
return out as DecoratedRpc<ApiType, RpcInterface>;
|
||||
return out as unknown as DecoratedRpc<ApiType, RpcInterface>;
|
||||
}
|
||||
|
||||
// add all definition entries
|
||||
@@ -791,11 +801,7 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
|
||||
key.method === creator.method;
|
||||
|
||||
decorated.key = (...args: unknown[]): string =>
|
||||
u8aToHex(compactStripLength(creator(
|
||||
creator.meta.type.isPlain
|
||||
? undefined
|
||||
: args
|
||||
))[1]);
|
||||
u8aToHex(compactStripLength(creator(...args))[1]);
|
||||
|
||||
decorated.keyPrefix = (...keys: unknown[]): string =>
|
||||
u8aToHex(creator.keyPrefix(...keys));
|
||||
|
||||
@@ -271,7 +271,7 @@ export abstract class Init<ApiType extends ApiTypes> extends Decorate<ApiType> {
|
||||
|
||||
for (let s = 0; s < sections.length; s++) {
|
||||
const section = sections[s];
|
||||
const methods = Object.keys((source.rpc as Record<string, Record<string, unknown>>)[section]);
|
||||
const methods = Object.keys((source.rpc as unknown as Record<string, Record<string, unknown>>)[section]);
|
||||
|
||||
for (let m = 0; m < methods.length; m++) {
|
||||
rpcs.push(`${section}_${methods[m]}`);
|
||||
|
||||
@@ -269,7 +269,7 @@ async function tx (api: ApiPromise, pairs: TestKeyringMap): Promise<void> {
|
||||
});
|
||||
|
||||
// it allows for query & then using the submittable
|
||||
const second = api.tx.democracy.second(123, 5);
|
||||
const second = api.tx.democracy.second(123);
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
||||
await second.signAndSend('123', (result) => console.log(result));
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/api', path: 'auto', type: 'auto', version: '9.5.2' };
|
||||
export const packageInfo = { name: '@polkadot/api', path: 'auto', type: 'auto', version: '9.7.1' };
|
||||
|
||||
@@ -102,7 +102,7 @@ export function createClass <ApiType extends ApiTypes> ({ api, apiType, blockHas
|
||||
|
||||
// dry run an extrinsic
|
||||
public dryRun (account: AddressOrPair, optionsOrHash?: Partial<SignerOptions> | Uint8Array | string): SubmittableDryRunResult<ApiType> {
|
||||
if (!api.rpc.system || !api.rpc.system.dryRun) {
|
||||
if (!api.rpc.system?.dryRun) {
|
||||
throw new Error('The system.dryRun RPC call is not available in your environment');
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@ export function createClass <ApiType extends ApiTypes> ({ api, apiType, blockHas
|
||||
|
||||
// calculate the payment info for this transaction (if signed and submitted)
|
||||
public paymentInfo (account: AddressOrPair, optionsOrHash?: Partial<SignerOptions> | Uint8Array | string): SubmittablePaymentResult<ApiType> {
|
||||
if (!api.call.transactionPaymentApi || !api.call.transactionPaymentApi.queryInfo) {
|
||||
if (!api.call.transactionPaymentApi?.queryInfo) {
|
||||
throw new Error('The transactionPaymentApi.queryInfo runtime call is not available in your environment');
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# @polkadot/api-augment
|
||||
# @polkadot/rpc-augment
|
||||
|
||||
Generated augmentation.
|
||||
|
||||
@@ -20,13 +20,13 @@
|
||||
"./detectPackage.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "9.5.2",
|
||||
"version": "9.7.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.19.4",
|
||||
"@polkadot/rpc-core": "9.5.2",
|
||||
"@polkadot/types": "9.5.2",
|
||||
"@polkadot/types-codec": "9.5.2",
|
||||
"@babel/runtime": "^7.20.1",
|
||||
"@polkadot/rpc-core": "9.7.1",
|
||||
"@polkadot/types": "9.7.1",
|
||||
"@polkadot/types-codec": "9.7.1",
|
||||
"@polkadot/util": "^10.1.11"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/rpc-augment', path: 'auto', type: 'auto', version: '9.5.2' };
|
||||
export const packageInfo = { name: '@polkadot/rpc-augment', path: 'auto', type: 'auto', version: '9.7.1' };
|
||||
|
||||
@@ -20,18 +20,18 @@
|
||||
"./detectPackage.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "9.5.2",
|
||||
"version": "9.7.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.19.4",
|
||||
"@polkadot/rpc-augment": "9.5.2",
|
||||
"@polkadot/rpc-provider": "9.5.2",
|
||||
"@polkadot/types": "9.5.2",
|
||||
"@babel/runtime": "^7.20.1",
|
||||
"@polkadot/rpc-augment": "9.7.1",
|
||||
"@polkadot/rpc-provider": "9.7.1",
|
||||
"@polkadot/types": "9.7.1",
|
||||
"@polkadot/util": "^10.1.11",
|
||||
"rxjs": "^7.5.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@polkadot/keyring": "^10.1.11",
|
||||
"@polkadot/rpc-augment": "9.5.2"
|
||||
"@polkadot/rpc-augment": "9.7.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/rpc-core', path: 'auto', type: 'auto', version: '9.5.2' };
|
||||
export const packageInfo = { name: '@polkadot/rpc-core', path: 'auto', type: 'auto', version: '9.7.1' };
|
||||
|
||||
@@ -20,19 +20,19 @@
|
||||
"./detectPackage.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "9.5.2",
|
||||
"version": "9.7.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.19.4",
|
||||
"@babel/runtime": "^7.20.1",
|
||||
"@polkadot/keyring": "^10.1.11",
|
||||
"@polkadot/types": "9.5.2",
|
||||
"@polkadot/types-support": "9.5.2",
|
||||
"@polkadot/types": "9.7.1",
|
||||
"@polkadot/types-support": "9.7.1",
|
||||
"@polkadot/util": "^10.1.11",
|
||||
"@polkadot/util-crypto": "^10.1.11",
|
||||
"@polkadot/x-fetch": "^10.1.11",
|
||||
"@polkadot/x-global": "^10.1.11",
|
||||
"@polkadot/x-ws": "^10.1.11",
|
||||
"@substrate/connect": "0.7.14",
|
||||
"@substrate/connect": "0.7.16",
|
||||
"eventemitter3": "^4.0.7",
|
||||
"mock-socket": "^9.1.5",
|
||||
"nock": "^13.2.9"
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
|
||||
export { HttpProvider } from './http';
|
||||
export { packageInfo } from './packageInfo';
|
||||
export { WsProvider } from './ws';
|
||||
export { ScProvider } from './substrate-connect';
|
||||
export { WsProvider } from './ws';
|
||||
|
||||
@@ -97,6 +97,13 @@ export class HttpProvider implements ProviderInterface {
|
||||
return this.#stats;
|
||||
}
|
||||
|
||||
/**
|
||||
* @summary `true` when this provider supports clone()
|
||||
*/
|
||||
public get isClonable (): boolean {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @summary Whether the node is connected or not.
|
||||
* @return {boolean} true if connected
|
||||
|
||||
@@ -114,6 +114,10 @@ export class MockProvider implements ProviderInterface {
|
||||
}
|
||||
}
|
||||
|
||||
public get isClonable (): boolean {
|
||||
return false;
|
||||
}
|
||||
|
||||
public get isConnected (): boolean {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/rpc-provider', path: 'auto', type: 'auto', version: '9.5.2' };
|
||||
export const packageInfo = { name: '@polkadot/rpc-provider', path: 'auto', type: 'auto', version: '9.7.1' };
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// Copyright 2017-2022 @polkadot/rpc-provider authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { stringify } from '@polkadot/util';
|
||||
|
||||
export interface SmoldotHealth {
|
||||
isSyncing: boolean
|
||||
peers: number
|
||||
@@ -105,10 +107,7 @@ class InnerChecker {
|
||||
#isSyncing = false;
|
||||
#nextRequestId = 0;
|
||||
|
||||
constructor (
|
||||
healthCallback: (health: SmoldotHealth) => void,
|
||||
requestToSmoldot: (request: string) => void
|
||||
) {
|
||||
constructor (healthCallback: (health: SmoldotHealth) => void, requestToSmoldot: (request: string) => void) {
|
||||
this.#healthCallback = healthCallback;
|
||||
this.#requestToSmoldot = requestToSmoldot;
|
||||
}
|
||||
@@ -124,12 +123,12 @@ class InnerChecker {
|
||||
}
|
||||
|
||||
if (parsedRequest.id) {
|
||||
const newId = 'extern:' + JSON.stringify(parsedRequest.id);
|
||||
const newId = 'extern:' + stringify(parsedRequest.id);
|
||||
|
||||
parsedRequest.id = newId;
|
||||
}
|
||||
|
||||
this.#requestToSmoldot(JSON.stringify(parsedRequest));
|
||||
this.#requestToSmoldot(stringify(parsedRequest));
|
||||
};
|
||||
|
||||
responsePassThrough = (jsonRpcResponse: string): string | null => {
|
||||
@@ -220,7 +219,7 @@ class InnerChecker {
|
||||
parsedResponse.id = newId;
|
||||
}
|
||||
|
||||
return JSON.stringify(parsedResponse);
|
||||
return stringify(parsedResponse);
|
||||
};
|
||||
|
||||
update = (startNow: boolean): void => {
|
||||
@@ -241,12 +240,11 @@ class InnerChecker {
|
||||
}
|
||||
|
||||
// Actual request starting.
|
||||
this.#currentHealthCheckId = 'health-checker:'.concat(
|
||||
this.#nextRequestId.toString()
|
||||
);
|
||||
this.#currentHealthCheckId = `health-checker:${this.#nextRequestId}`;
|
||||
this.#nextRequestId += 1;
|
||||
|
||||
this.#requestToSmoldot(
|
||||
JSON.stringify({
|
||||
stringify({
|
||||
id: this.#currentHealthCheckId,
|
||||
jsonrpc: '2.0',
|
||||
method: 'system_health',
|
||||
@@ -284,12 +282,11 @@ class InnerChecker {
|
||||
throw new Error('Internal error in health checker');
|
||||
}
|
||||
|
||||
this.#currentSubunsubRequestId = 'health-checker:'.concat(
|
||||
this.#nextRequestId.toString()
|
||||
);
|
||||
this.#currentSubunsubRequestId = `health-checker:${this.#nextRequestId}`;
|
||||
this.#nextRequestId += 1;
|
||||
|
||||
this.#requestToSmoldot(
|
||||
JSON.stringify({
|
||||
stringify({
|
||||
id: this.#currentSubunsubRequestId,
|
||||
jsonrpc: '2.0',
|
||||
method: 'chain_subscribeNewHeads',
|
||||
@@ -303,12 +300,11 @@ class InnerChecker {
|
||||
throw new Error('Internal error in health checker');
|
||||
}
|
||||
|
||||
this.#currentSubunsubRequestId = 'health-checker:'.concat(
|
||||
this.#nextRequestId.toString()
|
||||
);
|
||||
this.#currentSubunsubRequestId = `health-checker:${this.#nextRequestId}`;
|
||||
this.#nextRequestId += 1;
|
||||
|
||||
this.#requestToSmoldot(
|
||||
JSON.stringify({
|
||||
stringify({
|
||||
id: this.#currentSubunsubRequestId,
|
||||
jsonrpc: '2.0',
|
||||
method: 'chain_unsubscribeNewHeads',
|
||||
@@ -332,11 +328,9 @@ export class HealthCheckError extends Error {
|
||||
return this.#cause;
|
||||
}
|
||||
|
||||
constructor (
|
||||
response: unknown,
|
||||
message = 'Got error response asking for system health'
|
||||
) {
|
||||
constructor (response: unknown, message = 'Got error response asking for system health') {
|
||||
super(message);
|
||||
|
||||
this.#cause = response;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,394 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/rpc-provider authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Config as ScConfig } from '@substrate/connect';
|
||||
import type { JsonRpcResponse, ProviderInterface, ProviderInterfaceCallback, ProviderInterfaceEmitCb, ProviderInterfaceEmitted } from '../types';
|
||||
|
||||
import { Chain, createScClient, ScClient, WellKnownChain } from '@substrate/connect';
|
||||
import EventEmitter from 'eventemitter3';
|
||||
|
||||
import { isError, logger, objectSpread } from '@polkadot/util';
|
||||
|
||||
import { RpcCoder } from '../coder';
|
||||
import { healthChecker } from './Health';
|
||||
|
||||
type ResponseCallback = (response: string | Error) => void
|
||||
|
||||
const l = logger('api-substrate-connect');
|
||||
|
||||
// These methods have been taken from:
|
||||
// https://github.com/paritytech/smoldot/blob/17425040ddda47d539556eeaf62b88c4240d1d42/src/json_rpc/methods.rs#L338-L462
|
||||
// It's important to take into account that smoldot is adding support to the new
|
||||
// json-rpc-interface https://paritytech.github.io/json-rpc-interface-spec/
|
||||
// However, at the moment this list only includes methods that belong to the "old" API
|
||||
const subscriptionUnsubscriptionMethods = new Map<string, string>([
|
||||
['author_submitAndWatchExtrinsic', 'author_unwatchExtrinsic'],
|
||||
['chain_subscribeAllHeads', 'chain_unsubscribeAllHeads'],
|
||||
['chain_subscribeFinalizedHeads', 'chain_unsubscribeFinalizedHeads'],
|
||||
['chain_subscribeFinalisedHeads', 'chain_subscribeFinalisedHeads'],
|
||||
['chain_subscribeNewHeads', 'chain_unsubscribeNewHeads'],
|
||||
['chain_subscribeNewHead', 'chain_unsubscribeNewHead'],
|
||||
['chain_subscribeRuntimeVersion', 'chain_unsubscribeRuntimeVersion'],
|
||||
['subscribe_newHead', 'unsubscribe_newHead'],
|
||||
['state_subscribeRuntimeVersion', 'state_unsubscribeRuntimeVersion'],
|
||||
['state_subscribeStorage', 'state_unsubscribeStorage']
|
||||
]);
|
||||
|
||||
const wellKnownChains = new Set(Object.values(WellKnownChain));
|
||||
const scClients = new WeakMap<ScProvider, ScClient>();
|
||||
|
||||
export { WellKnownChain };
|
||||
|
||||
interface ActiveSubs {
|
||||
type: string,
|
||||
method: string,
|
||||
params: any[],
|
||||
callback: ProviderInterfaceCallback
|
||||
}
|
||||
|
||||
export class ScProvider implements ProviderInterface {
|
||||
readonly #coder: RpcCoder = new RpcCoder();
|
||||
readonly #spec: string | WellKnownChain;
|
||||
readonly #sharedSandbox?: ScProvider;
|
||||
readonly #subscriptions: Map<string, [ResponseCallback, { unsubscribeMethod: string; id: string | number }]> = new Map();
|
||||
readonly #resubscribeMethods: Map<string, ActiveSubs> = new Map();
|
||||
readonly #requests: Map<number, ResponseCallback> = new Map();
|
||||
readonly #eventemitter: EventEmitter = new EventEmitter();
|
||||
#chain: Promise<Chain> | null = null;
|
||||
#isChainReady = false;
|
||||
|
||||
static WellKnownChain = WellKnownChain;
|
||||
|
||||
public constructor (spec: string | WellKnownChain, sharedSandbox?: ScProvider) {
|
||||
this.#spec = spec;
|
||||
this.#sharedSandbox = sharedSandbox;
|
||||
}
|
||||
|
||||
public get hasSubscriptions (): boolean {
|
||||
// Indicates that subscriptions are supported
|
||||
return true;
|
||||
}
|
||||
|
||||
public get isConnected (): boolean {
|
||||
return !!this.#chain && this.#isChainReady;
|
||||
}
|
||||
|
||||
public clone (): ProviderInterface {
|
||||
throw new Error('clone() is not supported.');
|
||||
}
|
||||
|
||||
// Config details can be found in @substrate/connect repo following the link:
|
||||
// https://github.com/paritytech/substrate-connect/blob/main/packages/connect/src/connector/index.ts
|
||||
async connect (config?: ScConfig, checkerFactory = healthChecker): Promise<void> {
|
||||
if (this.isConnected) {
|
||||
throw new Error('Already connected!');
|
||||
}
|
||||
|
||||
// it could happen that after emitting `disconnected` due to the fact taht
|
||||
// smoldot is syncing, the consumer tries to reconnect after a certain amount
|
||||
// of time... In which case we want to make sure that we don't create a new
|
||||
// chain.
|
||||
if (this.#chain) {
|
||||
await this.#chain;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.#sharedSandbox && !this.#sharedSandbox.isConnected) {
|
||||
await this.#sharedSandbox.connect();
|
||||
}
|
||||
|
||||
const client = this.#sharedSandbox
|
||||
? scClients.get(this.#sharedSandbox)
|
||||
: createScClient(config);
|
||||
|
||||
if (!client) {
|
||||
throw new Error('Unkown ScProvider!');
|
||||
}
|
||||
|
||||
scClients.set(this, client);
|
||||
|
||||
const hc = checkerFactory();
|
||||
|
||||
const onResponse = (res: string): void => {
|
||||
const hcRes = hc.responsePassThrough(res);
|
||||
|
||||
if (!hcRes) {
|
||||
return;
|
||||
}
|
||||
|
||||
const response = JSON.parse(hcRes) as JsonRpcResponse;
|
||||
let decodedResponse: string | Error;
|
||||
|
||||
try {
|
||||
decodedResponse = this.#coder.decodeResponse(response) as string;
|
||||
} catch (e) {
|
||||
decodedResponse = e as Error;
|
||||
}
|
||||
|
||||
// It's not a subscription message, but rather a standar RPC response
|
||||
if (response.params?.subscription === undefined || !response.method) {
|
||||
return this.#requests.get(response.id)?.(decodedResponse);
|
||||
}
|
||||
|
||||
// We are dealing with a subscription message
|
||||
const subscriptionId = `${response.method}::${response.params.subscription}`;
|
||||
|
||||
const callback = this.#subscriptions.get(subscriptionId)?.[0];
|
||||
|
||||
callback?.(decodedResponse);
|
||||
};
|
||||
|
||||
const addChain = wellKnownChains.has(this.#spec as WellKnownChain)
|
||||
? client.addWellKnownChain
|
||||
: client.addChain;
|
||||
|
||||
this.#chain = addChain(this.#spec as WellKnownChain, onResponse).then((chain) => {
|
||||
hc.setSendJsonRpc(chain.sendJsonRpc);
|
||||
|
||||
this.#isChainReady = false;
|
||||
|
||||
const cleanup = () => {
|
||||
// If there are any callbacks left, we have to reject/error them.
|
||||
// Otherwise, that would cause a memory leak.
|
||||
const disconnectionError = new Error('Disconnected');
|
||||
|
||||
this.#requests.forEach((cb) => cb(disconnectionError));
|
||||
this.#subscriptions.forEach(([cb]) => cb(disconnectionError));
|
||||
this.#subscriptions.clear();
|
||||
};
|
||||
|
||||
const staleSubscriptions: {
|
||||
unsubscribeMethod: string
|
||||
id: number | string
|
||||
}[] = [];
|
||||
|
||||
const killStaleSubscriptions = () => {
|
||||
if (staleSubscriptions.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const stale = staleSubscriptions.pop();
|
||||
|
||||
if (!stale) {
|
||||
throw new Error('Unable to get stale subscription');
|
||||
}
|
||||
|
||||
const { id, unsubscribeMethod } = stale;
|
||||
|
||||
Promise
|
||||
.race([
|
||||
this.send(unsubscribeMethod, [id]).catch(() => undefined),
|
||||
new Promise((resolve) => setTimeout(resolve, 500))
|
||||
])
|
||||
.then(killStaleSubscriptions)
|
||||
.catch(() => undefined);
|
||||
};
|
||||
|
||||
hc.start((health) => {
|
||||
const isReady =
|
||||
!health.isSyncing && (health.peers > 0 || !health.shouldHavePeers);
|
||||
|
||||
// if it's the same as before, then nothing has changed and we are done
|
||||
if (this.#isChainReady === isReady) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.#isChainReady = isReady;
|
||||
|
||||
if (!isReady) {
|
||||
// If we've reached this point, that means that the chain used to be "ready"
|
||||
// and now we are about to emit `disconnected`.
|
||||
//
|
||||
// This will cause the PolkadotJs API think that the connection is
|
||||
// actually dead. In reality the smoldot chain is not dead, of course.
|
||||
// However, we have to cleanup all the existing callbacks because when
|
||||
// the smoldot chain stops syncing, then we will emit `connected` and
|
||||
// the PolkadotJs API will try to re-create the previous
|
||||
// subscriptions and requests. Although, now is not a good moment
|
||||
// to be sending unsubscription messages to the smoldot chain, we
|
||||
// should wait until is no longer syncing to send the unsubscription
|
||||
// messages from the stale subscriptions of the previous connection.
|
||||
//
|
||||
// That's why -before we perform the cleanup of `this.#subscriptions`-
|
||||
// we keep the necessary information that we will need later on to
|
||||
// kill the stale subscriptions.
|
||||
[...this.#subscriptions.values()].forEach((s) => {
|
||||
staleSubscriptions.push(s[1]);
|
||||
});
|
||||
cleanup();
|
||||
|
||||
this.#eventemitter.emit('disconnected');
|
||||
} else {
|
||||
killStaleSubscriptions();
|
||||
|
||||
this.#eventemitter.emit('connected');
|
||||
|
||||
if (this.#resubscribeMethods.size) {
|
||||
this.#resubscribe();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return objectSpread({}, chain, {
|
||||
remove: () => {
|
||||
hc.stop();
|
||||
chain.remove();
|
||||
cleanup();
|
||||
},
|
||||
sendJsonRpc: hc.sendJsonRpc.bind(hc)
|
||||
});
|
||||
});
|
||||
|
||||
try {
|
||||
await this.#chain;
|
||||
} catch (e) {
|
||||
this.#chain = null;
|
||||
this.#eventemitter.emit('error', e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
#resubscribe = (): void => {
|
||||
const promises: any[] = [];
|
||||
|
||||
this.#resubscribeMethods.forEach((subDetails: ActiveSubs): void => {
|
||||
// only re-create subscriptions which are not in author (only area where
|
||||
// transactions are created, i.e. submissions such as 'author_submitAndWatchExtrinsic'
|
||||
// are not included (and will not be re-broadcast)
|
||||
if (subDetails.type.startsWith('author_')) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const promise: Promise<void> = new Promise((resolve) => {
|
||||
this.subscribe(subDetails.type, subDetails.method, subDetails.params, subDetails.callback).catch((error) => console.log(error));
|
||||
resolve();
|
||||
});
|
||||
|
||||
promises.push(promise);
|
||||
} catch (error) {
|
||||
l.error(error);
|
||||
}
|
||||
});
|
||||
|
||||
Promise.all(promises).catch((err) => l.log(err));
|
||||
};
|
||||
|
||||
async disconnect (): Promise<void> {
|
||||
if (!this.#chain) {
|
||||
return;
|
||||
}
|
||||
|
||||
const chain = await this.#chain;
|
||||
|
||||
this.#chain = null;
|
||||
this.#isChainReady = false;
|
||||
|
||||
try {
|
||||
chain.remove();
|
||||
} catch (_) {}
|
||||
|
||||
this.#eventemitter.emit('disconnected');
|
||||
}
|
||||
|
||||
public on (type: ProviderInterfaceEmitted, sub: ProviderInterfaceEmitCb): () => void {
|
||||
// It's possible. Although, quite unlikely, that by the time that polkadot
|
||||
// subscribes to the `connected` event, the Provider is already connected.
|
||||
// In that case, we must emit to let the consumer know that we are connected.
|
||||
if (type === 'connected' && this.isConnected) {
|
||||
sub();
|
||||
}
|
||||
|
||||
this.#eventemitter.on(type, sub);
|
||||
|
||||
return (): void => {
|
||||
this.#eventemitter.removeListener(type, sub);
|
||||
};
|
||||
}
|
||||
|
||||
public async send<T = any> (method: string, params: unknown[]): Promise<T> {
|
||||
if (!this.isConnected || !this.#chain) {
|
||||
throw new Error('Provider is not connected');
|
||||
}
|
||||
|
||||
const chain = await this.#chain;
|
||||
const [id, json] = this.#coder.encodeJson(method, params);
|
||||
|
||||
const result = new Promise<T>((resolve, reject): void => {
|
||||
this.#requests.set(id, (response) => {
|
||||
(isError(response) ? reject : resolve)(response as unknown as T);
|
||||
});
|
||||
|
||||
try {
|
||||
chain.sendJsonRpc(json);
|
||||
} catch (e) {
|
||||
this.#chain = null;
|
||||
|
||||
try {
|
||||
chain.remove();
|
||||
} catch (_) {}
|
||||
|
||||
this.#eventemitter.emit('error', e);
|
||||
}
|
||||
});
|
||||
|
||||
try {
|
||||
return await result;
|
||||
} finally {
|
||||
// let's ensure that once the Promise is resolved/rejected, then we remove
|
||||
// remove its entry from the internal #requests
|
||||
this.#requests.delete(id);
|
||||
}
|
||||
}
|
||||
|
||||
public async subscribe (type: string, method: string, params: any[], callback: ProviderInterfaceCallback): Promise<number | string> {
|
||||
if (!subscriptionUnsubscriptionMethods.has(method)) {
|
||||
throw new Error(`Unsupported subscribe method: ${method}`);
|
||||
}
|
||||
|
||||
const id = await this.send<number | string>(method, params);
|
||||
const subscriptionId = `${type}::${id}`;
|
||||
|
||||
const cb = (response: Error | string) => {
|
||||
if (response instanceof Error) {
|
||||
callback(response, undefined);
|
||||
} else {
|
||||
callback(null, response);
|
||||
}
|
||||
};
|
||||
|
||||
const unsubscribeMethod = subscriptionUnsubscriptionMethods.get(method);
|
||||
|
||||
if (!unsubscribeMethod) {
|
||||
throw new Error('Invalid unsubscribe method found');
|
||||
}
|
||||
|
||||
this.#resubscribeMethods.set(subscriptionId, { callback, method, params, type });
|
||||
|
||||
this.#subscriptions.set(subscriptionId, [cb, { id, unsubscribeMethod }]);
|
||||
|
||||
return id;
|
||||
}
|
||||
|
||||
public unsubscribe (type: string, method: string, id: number | string): Promise<boolean> {
|
||||
if (!this.isConnected) {
|
||||
throw new Error('Provider is not connected');
|
||||
}
|
||||
|
||||
const subscriptionId = `${type}::${id}`;
|
||||
|
||||
if (!this.#subscriptions.has(subscriptionId)) {
|
||||
return Promise.reject(
|
||||
new Error(`Unable to find active subscription=${subscriptionId}`)
|
||||
);
|
||||
}
|
||||
|
||||
this.#resubscribeMethods.delete(subscriptionId);
|
||||
this.#subscriptions.delete(subscriptionId);
|
||||
|
||||
return this.send(method, [id]);
|
||||
}
|
||||
}
|
||||
export type ScProviderClass = typeof ScProvider
|
||||
export type Config = ScConfig
|
||||
+2
-2
@@ -19,8 +19,8 @@
|
||||
// Jest has "some" issues with `await import` - we don't transform these
|
||||
|
||||
import type { Chain, JsonRpcCallback } from '@substrate/connect';
|
||||
import type { ScProviderClass } from '.';
|
||||
import type { HealthChecker, SmoldotHealth } from './Health';
|
||||
import type { ScProviderClass } from './ScProvider';
|
||||
|
||||
import { jest } from '@jest/globals';
|
||||
|
||||
@@ -198,7 +198,7 @@ const setChainSyncyingStatus = (isSyncing: boolean) => {
|
||||
};
|
||||
|
||||
beforeAll(async () => {
|
||||
({ ScProvider } = await import('./ScProvider'));
|
||||
({ ScProvider } = await import('.'));
|
||||
mockedConnector = (await import(
|
||||
'@substrate/connect'
|
||||
)) as unknown as ReturnType<typeof connectorFactory>;
|
||||
@@ -1,4 +1,399 @@
|
||||
// Copyright 2017-2022 @polkadot/rpc-provider authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export * from './ScProvider';
|
||||
import type { Config as ScConfig } from '@substrate/connect';
|
||||
import type { JsonRpcResponse, ProviderInterface, ProviderInterfaceCallback, ProviderInterfaceEmitCb, ProviderInterfaceEmitted } from '../types';
|
||||
|
||||
import { Chain, createScClient, ScClient, WellKnownChain } from '@substrate/connect';
|
||||
import EventEmitter from 'eventemitter3';
|
||||
|
||||
import { isError, logger, objectSpread } from '@polkadot/util';
|
||||
|
||||
import { RpcCoder } from '../coder';
|
||||
import { healthChecker } from './Health';
|
||||
|
||||
type ResponseCallback = (response: string | Error) => void
|
||||
|
||||
const l = logger('api-substrate-connect');
|
||||
|
||||
// These methods have been taken from:
|
||||
// https://github.com/paritytech/smoldot/blob/17425040ddda47d539556eeaf62b88c4240d1d42/src/json_rpc/methods.rs#L338-L462
|
||||
// It's important to take into account that smoldot is adding support to the new
|
||||
// json-rpc-interface https://paritytech.github.io/json-rpc-interface-spec/
|
||||
// However, at the moment this list only includes methods that belong to the "old" API
|
||||
const subscriptionUnsubscriptionMethods = new Map<string, string>([
|
||||
['author_submitAndWatchExtrinsic', 'author_unwatchExtrinsic'],
|
||||
['chain_subscribeAllHeads', 'chain_unsubscribeAllHeads'],
|
||||
['chain_subscribeFinalizedHeads', 'chain_unsubscribeFinalizedHeads'],
|
||||
['chain_subscribeFinalisedHeads', 'chain_subscribeFinalisedHeads'],
|
||||
['chain_subscribeNewHeads', 'chain_unsubscribeNewHeads'],
|
||||
['chain_subscribeNewHead', 'chain_unsubscribeNewHead'],
|
||||
['chain_subscribeRuntimeVersion', 'chain_unsubscribeRuntimeVersion'],
|
||||
['subscribe_newHead', 'unsubscribe_newHead'],
|
||||
['state_subscribeRuntimeVersion', 'state_unsubscribeRuntimeVersion'],
|
||||
['state_subscribeStorage', 'state_unsubscribeStorage']
|
||||
]);
|
||||
|
||||
const wellKnownChains = new Set(Object.values(WellKnownChain));
|
||||
const scClients = new WeakMap<ScProvider, ScClient>();
|
||||
|
||||
export { WellKnownChain };
|
||||
|
||||
interface ActiveSubs {
|
||||
type: string,
|
||||
method: string,
|
||||
params: any[],
|
||||
callback: ProviderInterfaceCallback
|
||||
}
|
||||
|
||||
export class ScProvider implements ProviderInterface {
|
||||
readonly #coder: RpcCoder = new RpcCoder();
|
||||
readonly #spec: string | WellKnownChain;
|
||||
readonly #sharedSandbox?: ScProvider;
|
||||
readonly #subscriptions: Map<string, [ResponseCallback, { unsubscribeMethod: string; id: string | number }]> = new Map();
|
||||
readonly #resubscribeMethods: Map<string, ActiveSubs> = new Map();
|
||||
readonly #requests: Map<number, ResponseCallback> = new Map();
|
||||
readonly #eventemitter: EventEmitter = new EventEmitter();
|
||||
#chain: Promise<Chain> | null = null;
|
||||
#isChainReady = false;
|
||||
|
||||
static WellKnownChain = WellKnownChain;
|
||||
|
||||
public constructor (spec: string | WellKnownChain, sharedSandbox?: ScProvider) {
|
||||
this.#spec = spec;
|
||||
this.#sharedSandbox = sharedSandbox;
|
||||
}
|
||||
|
||||
public get hasSubscriptions (): boolean {
|
||||
// Indicates that subscriptions are supported
|
||||
return true;
|
||||
}
|
||||
|
||||
public get isClonable (): boolean {
|
||||
return false;
|
||||
}
|
||||
|
||||
public get isConnected (): boolean {
|
||||
return !!this.#chain && this.#isChainReady;
|
||||
}
|
||||
|
||||
public clone (): ProviderInterface {
|
||||
throw new Error('clone() is not supported.');
|
||||
}
|
||||
|
||||
// Config details can be found in @substrate/connect repo following the link:
|
||||
// https://github.com/paritytech/substrate-connect/blob/main/packages/connect/src/connector/index.ts
|
||||
async connect (config?: ScConfig, checkerFactory = healthChecker): Promise<void> {
|
||||
if (this.isConnected) {
|
||||
throw new Error('Already connected!');
|
||||
}
|
||||
|
||||
// it could happen that after emitting `disconnected` due to the fact taht
|
||||
// smoldot is syncing, the consumer tries to reconnect after a certain amount
|
||||
// of time... In which case we want to make sure that we don't create a new
|
||||
// chain.
|
||||
if (this.#chain) {
|
||||
await this.#chain;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.#sharedSandbox && !this.#sharedSandbox.isConnected) {
|
||||
await this.#sharedSandbox.connect();
|
||||
}
|
||||
|
||||
const client = this.#sharedSandbox
|
||||
? scClients.get(this.#sharedSandbox)
|
||||
: createScClient(config);
|
||||
|
||||
if (!client) {
|
||||
throw new Error('Unkown ScProvider!');
|
||||
}
|
||||
|
||||
scClients.set(this, client);
|
||||
|
||||
const hc = checkerFactory();
|
||||
|
||||
const onResponse = (res: string): void => {
|
||||
const hcRes = hc.responsePassThrough(res);
|
||||
|
||||
if (!hcRes) {
|
||||
return;
|
||||
}
|
||||
|
||||
const response = JSON.parse(hcRes) as JsonRpcResponse;
|
||||
let decodedResponse: string | Error;
|
||||
|
||||
try {
|
||||
decodedResponse = this.#coder.decodeResponse(response) as string;
|
||||
} catch (e) {
|
||||
decodedResponse = e as Error;
|
||||
}
|
||||
|
||||
// It's not a subscription message, but rather a standar RPC response
|
||||
if (response.params?.subscription === undefined || !response.method) {
|
||||
return this.#requests.get(response.id)?.(decodedResponse);
|
||||
}
|
||||
|
||||
// We are dealing with a subscription message
|
||||
const subscriptionId = `${response.method}::${response.params.subscription}`;
|
||||
|
||||
const callback = this.#subscriptions.get(subscriptionId)?.[0];
|
||||
|
||||
callback?.(decodedResponse);
|
||||
};
|
||||
|
||||
const addChain = wellKnownChains.has(this.#spec as WellKnownChain)
|
||||
? client.addWellKnownChain
|
||||
: client.addChain;
|
||||
|
||||
this.#chain = addChain(this.#spec as WellKnownChain, onResponse).then((chain) => {
|
||||
hc.setSendJsonRpc(chain.sendJsonRpc);
|
||||
|
||||
this.#isChainReady = false;
|
||||
|
||||
const cleanup = () => {
|
||||
// If there are any callbacks left, we have to reject/error them.
|
||||
// Otherwise, that would cause a memory leak.
|
||||
const disconnectionError = new Error('Disconnected');
|
||||
|
||||
this.#requests.forEach((cb) => cb(disconnectionError));
|
||||
this.#subscriptions.forEach(([cb]) => cb(disconnectionError));
|
||||
this.#subscriptions.clear();
|
||||
};
|
||||
|
||||
const staleSubscriptions: {
|
||||
unsubscribeMethod: string
|
||||
id: number | string
|
||||
}[] = [];
|
||||
|
||||
const killStaleSubscriptions = () => {
|
||||
if (staleSubscriptions.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const stale = staleSubscriptions.pop();
|
||||
|
||||
if (!stale) {
|
||||
throw new Error('Unable to get stale subscription');
|
||||
}
|
||||
|
||||
const { id, unsubscribeMethod } = stale;
|
||||
|
||||
Promise
|
||||
.race([
|
||||
this.send(unsubscribeMethod, [id]).catch(() => undefined),
|
||||
new Promise((resolve) => setTimeout(resolve, 500))
|
||||
])
|
||||
.then(killStaleSubscriptions)
|
||||
.catch(() => undefined);
|
||||
};
|
||||
|
||||
hc.start((health) => {
|
||||
const isReady =
|
||||
!health.isSyncing && (health.peers > 0 || !health.shouldHavePeers);
|
||||
|
||||
// if it's the same as before, then nothing has changed and we are done
|
||||
if (this.#isChainReady === isReady) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.#isChainReady = isReady;
|
||||
|
||||
if (!isReady) {
|
||||
// If we've reached this point, that means that the chain used to be "ready"
|
||||
// and now we are about to emit `disconnected`.
|
||||
//
|
||||
// This will cause the PolkadotJs API think that the connection is
|
||||
// actually dead. In reality the smoldot chain is not dead, of course.
|
||||
// However, we have to cleanup all the existing callbacks because when
|
||||
// the smoldot chain stops syncing, then we will emit `connected` and
|
||||
// the PolkadotJs API will try to re-create the previous
|
||||
// subscriptions and requests. Although, now is not a good moment
|
||||
// to be sending unsubscription messages to the smoldot chain, we
|
||||
// should wait until is no longer syncing to send the unsubscription
|
||||
// messages from the stale subscriptions of the previous connection.
|
||||
//
|
||||
// That's why -before we perform the cleanup of `this.#subscriptions`-
|
||||
// we keep the necessary information that we will need later on to
|
||||
// kill the stale subscriptions.
|
||||
[...this.#subscriptions.values()].forEach((s) => {
|
||||
staleSubscriptions.push(s[1]);
|
||||
});
|
||||
cleanup();
|
||||
|
||||
this.#eventemitter.emit('disconnected');
|
||||
} else {
|
||||
killStaleSubscriptions();
|
||||
|
||||
this.#eventemitter.emit('connected');
|
||||
|
||||
if (this.#resubscribeMethods.size) {
|
||||
this.#resubscribe();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return objectSpread({}, chain, {
|
||||
remove: () => {
|
||||
hc.stop();
|
||||
chain.remove();
|
||||
cleanup();
|
||||
},
|
||||
sendJsonRpc: hc.sendJsonRpc.bind(hc)
|
||||
});
|
||||
});
|
||||
|
||||
try {
|
||||
await this.#chain;
|
||||
} catch (e) {
|
||||
this.#chain = null;
|
||||
this.#eventemitter.emit('error', e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
#resubscribe = (): void => {
|
||||
const promises: any[] = [];
|
||||
|
||||
this.#resubscribeMethods.forEach((subDetails: ActiveSubs): void => {
|
||||
// only re-create subscriptions which are not in author (only area where
|
||||
// transactions are created, i.e. submissions such as 'author_submitAndWatchExtrinsic'
|
||||
// are not included (and will not be re-broadcast)
|
||||
if (subDetails.type.startsWith('author_')) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const promise: Promise<void> = new Promise((resolve) => {
|
||||
this.subscribe(subDetails.type, subDetails.method, subDetails.params, subDetails.callback).catch((error) => console.log(error));
|
||||
resolve();
|
||||
});
|
||||
|
||||
promises.push(promise);
|
||||
} catch (error) {
|
||||
l.error(error);
|
||||
}
|
||||
});
|
||||
|
||||
Promise.all(promises).catch((err) => l.log(err));
|
||||
};
|
||||
|
||||
async disconnect (): Promise<void> {
|
||||
if (!this.#chain) {
|
||||
return;
|
||||
}
|
||||
|
||||
const chain = await this.#chain;
|
||||
|
||||
this.#chain = null;
|
||||
this.#isChainReady = false;
|
||||
|
||||
try {
|
||||
chain.remove();
|
||||
} catch (_) {}
|
||||
|
||||
this.#eventemitter.emit('disconnected');
|
||||
}
|
||||
|
||||
public on (type: ProviderInterfaceEmitted, sub: ProviderInterfaceEmitCb): () => void {
|
||||
// It's possible. Although, quite unlikely, that by the time that polkadot
|
||||
// subscribes to the `connected` event, the Provider is already connected.
|
||||
// In that case, we must emit to let the consumer know that we are connected.
|
||||
if (type === 'connected' && this.isConnected) {
|
||||
sub();
|
||||
}
|
||||
|
||||
this.#eventemitter.on(type, sub);
|
||||
|
||||
return (): void => {
|
||||
this.#eventemitter.removeListener(type, sub);
|
||||
};
|
||||
}
|
||||
|
||||
public async send<T = any> (method: string, params: unknown[]): Promise<T> {
|
||||
if (!this.isConnected || !this.#chain) {
|
||||
throw new Error('Provider is not connected');
|
||||
}
|
||||
|
||||
const chain = await this.#chain;
|
||||
const [id, json] = this.#coder.encodeJson(method, params);
|
||||
|
||||
const result = new Promise<T>((resolve, reject): void => {
|
||||
this.#requests.set(id, (response) => {
|
||||
(isError(response) ? reject : resolve)(response as unknown as T);
|
||||
});
|
||||
|
||||
try {
|
||||
chain.sendJsonRpc(json);
|
||||
} catch (e) {
|
||||
this.#chain = null;
|
||||
|
||||
try {
|
||||
chain.remove();
|
||||
} catch (_) {}
|
||||
|
||||
this.#eventemitter.emit('error', e);
|
||||
}
|
||||
});
|
||||
|
||||
try {
|
||||
return await result;
|
||||
} finally {
|
||||
// let's ensure that once the Promise is resolved/rejected, then we remove
|
||||
// remove its entry from the internal #requests
|
||||
this.#requests.delete(id);
|
||||
}
|
||||
}
|
||||
|
||||
public async subscribe (type: string, method: string, params: any[], callback: ProviderInterfaceCallback): Promise<number | string> {
|
||||
if (!subscriptionUnsubscriptionMethods.has(method)) {
|
||||
throw new Error(`Unsupported subscribe method: ${method}`);
|
||||
}
|
||||
|
||||
const id = await this.send<number | string>(method, params);
|
||||
const subscriptionId = `${type}::${id}`;
|
||||
|
||||
const cb = (response: Error | string) => {
|
||||
if (response instanceof Error) {
|
||||
callback(response, undefined);
|
||||
} else {
|
||||
callback(null, response);
|
||||
}
|
||||
};
|
||||
|
||||
const unsubscribeMethod = subscriptionUnsubscriptionMethods.get(method);
|
||||
|
||||
if (!unsubscribeMethod) {
|
||||
throw new Error('Invalid unsubscribe method found');
|
||||
}
|
||||
|
||||
this.#resubscribeMethods.set(subscriptionId, { callback, method, params, type });
|
||||
|
||||
this.#subscriptions.set(subscriptionId, [cb, { id, unsubscribeMethod }]);
|
||||
|
||||
return id;
|
||||
}
|
||||
|
||||
public unsubscribe (type: string, method: string, id: number | string): Promise<boolean> {
|
||||
if (!this.isConnected) {
|
||||
throw new Error('Provider is not connected');
|
||||
}
|
||||
|
||||
const subscriptionId = `${type}::${id}`;
|
||||
|
||||
if (!this.#subscriptions.has(subscriptionId)) {
|
||||
return Promise.reject(
|
||||
new Error(`Unable to find active subscription=${subscriptionId}`)
|
||||
);
|
||||
}
|
||||
|
||||
this.#resubscribeMethods.delete(subscriptionId);
|
||||
this.#subscriptions.delete(subscriptionId);
|
||||
|
||||
return this.send(method, [id]);
|
||||
}
|
||||
}
|
||||
|
||||
export type ScProviderClass = typeof ScProvider
|
||||
export type Config = ScConfig
|
||||
|
||||
@@ -49,8 +49,13 @@ export type ProviderInterfaceEmitted = 'connected' | 'disconnected' | 'error';
|
||||
export type ProviderInterfaceEmitCb = (value?: any) => any;
|
||||
|
||||
export interface ProviderInterface {
|
||||
/** true if the provider supports subscriptions (not available for HTTP) */
|
||||
readonly hasSubscriptions: boolean;
|
||||
/** true if the clone() functionality is available on the provider */
|
||||
readonly isClonable: boolean;
|
||||
/** true if the provider is currently connected (ws/sc has connection logic) */
|
||||
readonly isConnected: boolean;
|
||||
/** (optional) stats for the provider with connections/bytes */
|
||||
readonly stats?: ProviderStats;
|
||||
|
||||
clone (): ProviderInterface;
|
||||
|
||||
@@ -165,6 +165,13 @@ export class WsProvider implements ProviderInterface {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @summary `true` when this provider supports clone()
|
||||
*/
|
||||
public get isClonable (): boolean {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @summary Whether the node is connected or not.
|
||||
* @return {boolean} true if connected
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"./detectPackage.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "9.5.2",
|
||||
"version": "9.7.1",
|
||||
"main": "index.js",
|
||||
"bin": {
|
||||
"polkadot-types-chain-info": "./scripts/polkadot-types-chain-info.cjs",
|
||||
@@ -30,24 +30,24 @@
|
||||
"polkadot-types-internal-metadata": "./scripts/polkadot-types-internal-metadata.cjs"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.19.3",
|
||||
"@babel/core": "^7.20.2",
|
||||
"@babel/register": "^7.18.9",
|
||||
"@babel/runtime": "^7.19.4",
|
||||
"@polkadot/api": "9.5.2",
|
||||
"@polkadot/api-augment": "9.5.2",
|
||||
"@polkadot/rpc-augment": "9.5.2",
|
||||
"@polkadot/rpc-provider": "9.5.2",
|
||||
"@polkadot/types": "9.5.2",
|
||||
"@polkadot/types-augment": "9.5.2",
|
||||
"@polkadot/types-codec": "9.5.2",
|
||||
"@polkadot/types-create": "9.5.2",
|
||||
"@polkadot/types-support": "9.5.2",
|
||||
"@babel/runtime": "^7.20.1",
|
||||
"@polkadot/api": "9.7.1",
|
||||
"@polkadot/api-augment": "9.7.1",
|
||||
"@polkadot/rpc-augment": "9.7.1",
|
||||
"@polkadot/rpc-provider": "9.7.1",
|
||||
"@polkadot/types": "9.7.1",
|
||||
"@polkadot/types-augment": "9.7.1",
|
||||
"@polkadot/types-codec": "9.7.1",
|
||||
"@polkadot/types-create": "9.7.1",
|
||||
"@polkadot/types-support": "9.7.1",
|
||||
"@polkadot/util": "^10.1.11",
|
||||
"@polkadot/util-crypto": "^10.1.11",
|
||||
"@polkadot/x-ws": "^10.1.11",
|
||||
"handlebars": "^4.7.7",
|
||||
"websocket": "^1.0.34",
|
||||
"yargs": "^17.6.0"
|
||||
"yargs": "^17.6.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/websocket": "^1.0.5",
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/typegen', path: 'auto', type: 'auto', version: '9.5.2' };
|
||||
export const packageInfo = { name: '@polkadot/typegen', path: 'auto', type: 'auto', version: '9.7.1' };
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# @polkadot/api-augment
|
||||
# @polkadot/types-augment
|
||||
|
||||
Generated augmentation.
|
||||
|
||||
@@ -20,12 +20,12 @@
|
||||
"./detectPackage.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "9.5.2",
|
||||
"version": "9.7.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.19.4",
|
||||
"@polkadot/types": "9.5.2",
|
||||
"@polkadot/types-codec": "9.5.2",
|
||||
"@babel/runtime": "^7.20.1",
|
||||
"@polkadot/types": "9.7.1",
|
||||
"@polkadot/types-codec": "9.7.1",
|
||||
"@polkadot/util": "^10.1.11"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,12 @@
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
export default {
|
||||
/**
|
||||
* Lookup33: frame_support::traits::schedule::LookupError
|
||||
**/
|
||||
FrameSupportScheduleLookupError: {
|
||||
_enum: ['Unknown', 'BadFormat']
|
||||
},
|
||||
/**
|
||||
* Lookup73: polkadot_runtime_common::claims::pallet::Event<T>
|
||||
**/
|
||||
@@ -722,6 +728,25 @@ export default {
|
||||
V1: 'XcmV1MultiLocation'
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Lookup181: pallet_scheduler::ScheduledV3<frame_support::traits::schedule::MaybeHashed<polkadot_runtime::RuntimeCall, primitive_types::H256>, BlockNumber, polkadot_runtime::OriginCaller, sp_core::crypto::AccountId32>
|
||||
**/
|
||||
PalletSchedulerScheduledV3: {
|
||||
maybeId: 'Option<Bytes>',
|
||||
priority: 'u8',
|
||||
call: 'FrameSupportScheduleMaybeHashed',
|
||||
maybePeriodic: 'Option<(u32,u32)>',
|
||||
origin: 'PolkadotRuntimeOriginCaller'
|
||||
},
|
||||
/**
|
||||
* Lookup182: frame_support::traits::schedule::MaybeHashed<polkadot_runtime::RuntimeCall, primitive_types::H256>
|
||||
**/
|
||||
FrameSupportScheduleMaybeHashed: {
|
||||
_enum: {
|
||||
Value: 'Call',
|
||||
Hash: 'H256'
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Lookup213: polkadot_runtime::SessionKeys
|
||||
**/
|
||||
@@ -1850,6 +1875,27 @@ export default {
|
||||
Version: 'u32'
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Lookup530: pallet_democracy::PreimageStatus<sp_core::crypto::AccountId32, Balance, BlockNumber>
|
||||
**/
|
||||
PalletDemocracyPreimageStatus: {
|
||||
_enum: {
|
||||
Missing: 'u32',
|
||||
Available: {
|
||||
data: 'Bytes',
|
||||
provider: 'AccountId32',
|
||||
deposit: 'u128',
|
||||
since: 'u32',
|
||||
expiry: 'Option<u32>'
|
||||
}
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Lookup541: pallet_democracy::Releases
|
||||
**/
|
||||
PalletDemocracyReleases: {
|
||||
_enum: ['V1']
|
||||
},
|
||||
/**
|
||||
* Lookup560: polkadot_runtime_common::claims::pallet::Error<T>
|
||||
**/
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -8,9 +8,16 @@ import '@polkadot/types/lookup';
|
||||
import type { BitVec, Bytes, Compact, Enum, Null, Option, Result, Struct, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
|
||||
import type { ITuple } from '@polkadot/types-codec/types';
|
||||
import type { EthereumAddress } from '@polkadot/types/interfaces/eth';
|
||||
import type { AccountId32, H256, PerU16, Weight } from '@polkadot/types/interfaces/runtime';
|
||||
import type { AccountId32, Call, H256, PerU16, Weight } from '@polkadot/types/interfaces/runtime';
|
||||
|
||||
declare module '@polkadot/types/lookup' {
|
||||
/** @name FrameSupportScheduleLookupError (33) */
|
||||
interface FrameSupportScheduleLookupError extends Enum {
|
||||
readonly isUnknown: boolean;
|
||||
readonly isBadFormat: boolean;
|
||||
readonly type: 'Unknown' | 'BadFormat';
|
||||
}
|
||||
|
||||
/** @name PolkadotRuntimeCommonClaimsPalletEvent (73) */
|
||||
interface PolkadotRuntimeCommonClaimsPalletEvent extends Enum {
|
||||
readonly isClaimed: boolean;
|
||||
@@ -831,6 +838,24 @@ declare module '@polkadot/types/lookup' {
|
||||
readonly type: 'V0' | 'V1';
|
||||
}
|
||||
|
||||
/** @name PalletSchedulerScheduledV3 (181) */
|
||||
interface PalletSchedulerScheduledV3 extends Struct {
|
||||
readonly maybeId: Option<Bytes>;
|
||||
readonly priority: u8;
|
||||
readonly call: FrameSupportScheduleMaybeHashed;
|
||||
readonly maybePeriodic: Option<ITuple<[u32, u32]>>;
|
||||
readonly origin: PolkadotRuntimeOriginCaller;
|
||||
}
|
||||
|
||||
/** @name FrameSupportScheduleMaybeHashed (182) */
|
||||
interface FrameSupportScheduleMaybeHashed extends Enum {
|
||||
readonly isValue: boolean;
|
||||
readonly asValue: Call;
|
||||
readonly isHash: boolean;
|
||||
readonly asHash: H256;
|
||||
readonly type: 'Value' | 'Hash';
|
||||
}
|
||||
|
||||
/** @name PolkadotRuntimeSessionKeys (213) */
|
||||
interface PolkadotRuntimeSessionKeys extends Struct {
|
||||
readonly grandpa: SpFinalityGrandpaAppPublic;
|
||||
@@ -1813,6 +1838,27 @@ declare module '@polkadot/types/lookup' {
|
||||
readonly type: 'Assets' | 'Version';
|
||||
}
|
||||
|
||||
/** @name PalletDemocracyPreimageStatus (530) */
|
||||
interface PalletDemocracyPreimageStatus extends Enum {
|
||||
readonly isMissing: boolean;
|
||||
readonly asMissing: u32;
|
||||
readonly isAvailable: boolean;
|
||||
readonly asAvailable: {
|
||||
readonly data: Bytes;
|
||||
readonly provider: AccountId32;
|
||||
readonly deposit: u128;
|
||||
readonly since: u32;
|
||||
readonly expiry: Option<u32>;
|
||||
} & Struct;
|
||||
readonly type: 'Missing' | 'Available';
|
||||
}
|
||||
|
||||
/** @name PalletDemocracyReleases (541) */
|
||||
interface PalletDemocracyReleases extends Enum {
|
||||
readonly isV1: boolean;
|
||||
readonly type: 'V1';
|
||||
}
|
||||
|
||||
/** @name PolkadotRuntimeCommonClaimsPalletError (560) */
|
||||
interface PolkadotRuntimeCommonClaimsPalletError extends Enum {
|
||||
readonly isInvalidEthereumSignature: boolean;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/types-augment', path: 'auto', type: 'auto', version: '9.5.2' };
|
||||
export const packageInfo = { name: '@polkadot/types-augment', path: 'auto', type: 'auto', version: '9.7.1' };
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,3 @@
|
||||
# @polkadot/types-codec
|
||||
|
||||
Base scale-codec types.
|
||||
@@ -20,17 +20,17 @@
|
||||
"./detectPackage.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "9.5.2",
|
||||
"version": "9.7.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.19.4",
|
||||
"@babel/runtime": "^7.20.1",
|
||||
"@polkadot/util": "^10.1.11",
|
||||
"@polkadot/x-bigint": "^10.1.11"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@polkadot/types": "9.5.2",
|
||||
"@polkadot/types-augment": "9.5.2",
|
||||
"@polkadot/types-support": "9.5.2",
|
||||
"@polkadot/types": "9.7.1",
|
||||
"@polkadot/types-augment": "9.7.1",
|
||||
"@polkadot/types-support": "9.7.1",
|
||||
"@polkadot/util-crypto": "^10.1.11"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/types-codec', path: 'auto', type: 'auto', version: '9.5.2' };
|
||||
export const packageInfo = { name: '@polkadot/types-codec', path: 'auto', type: 'auto', version: '9.7.1' };
|
||||
|
||||
@@ -6,7 +6,7 @@ import type { Codec, CodecClass, Registry } from '../types';
|
||||
import { u8aToHex } from '@polkadot/util';
|
||||
|
||||
/** @internal */
|
||||
function formatFailure (registry: Registry, result: unknown[], { message }: Error, u8a: Uint8Array, i: number, count: number, Type: CodecClass, key?: string): string {
|
||||
function formatFailure (registry: Registry, fn: 'decodeU8a' | 'decodeU8aStruct' | 'decodeU8aVec', result: unknown[], { message }: Error, u8a: Uint8Array, i: number, count: number, Type: CodecClass, key?: string): string {
|
||||
let type = '';
|
||||
|
||||
try {
|
||||
@@ -15,9 +15,11 @@ function formatFailure (registry: Registry, result: unknown[], { message }: Erro
|
||||
// ignore
|
||||
}
|
||||
|
||||
// This is extra debugging info (we most-probably want this in in some way, shape or form,
|
||||
// but at this point not quite sure how to include and format it (it can be quite massive)
|
||||
// console.error(JSON.stringify(result, null, 2));
|
||||
|
||||
return `decodeU8a: failed at ${u8aToHex(u8a.subarray(0, 16))}…${key ? ` on ${key}` : ''} (index ${i}/${count})${type}:: ${message}`;
|
||||
return `${fn}: failed at ${u8aToHex(u8a.subarray(0, 16))}…${key ? ` on ${key}` : ''} (index ${i + 1}/${count})${type}:: ${message}`;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -44,7 +46,7 @@ export function decodeU8a <T extends Codec = Codec> (registry: Registry, result:
|
||||
i++;
|
||||
}
|
||||
} catch (error) {
|
||||
throw new Error(formatFailure(registry, result, error as Error, u8a.subarray(offset), i, count, Types[i], keys[i]));
|
||||
throw new Error(formatFailure(registry, 'decodeU8a', result, error as Error, u8a.subarray(offset), i, count, Types[i], keys[i]));
|
||||
}
|
||||
|
||||
return [result, offset];
|
||||
@@ -70,7 +72,7 @@ export function decodeU8aStruct (registry: Registry, result: [string, Codec][],
|
||||
i++;
|
||||
}
|
||||
} catch (error) {
|
||||
throw new Error(formatFailure(registry, result, error as Error, u8a.subarray(offset), i, count, Types[i], keys[i]));
|
||||
throw new Error(formatFailure(registry, 'decodeU8aStruct', result, error as Error, u8a.subarray(offset), i, count, Types[i], keys[i]));
|
||||
}
|
||||
|
||||
return [result, offset];
|
||||
@@ -96,7 +98,7 @@ export function decodeU8aVec <T extends Codec = Codec> (registry: Registry, resu
|
||||
i++;
|
||||
}
|
||||
} catch (error) {
|
||||
throw new Error(formatFailure(registry, result, error as Error, u8a.subarray(offset), i, count, Type));
|
||||
throw new Error(formatFailure(registry, 'decodeU8aVec', result, error as Error, u8a.subarray(offset), i, count, Type));
|
||||
}
|
||||
|
||||
return [offset, offset - startAt];
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# @polkadot/types-create
|
||||
|
||||
Base type-creation functionality.
|
||||
@@ -20,14 +20,14 @@
|
||||
"./detectPackage.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "9.5.2",
|
||||
"version": "9.7.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.19.4",
|
||||
"@polkadot/types-codec": "9.5.2",
|
||||
"@babel/runtime": "^7.20.1",
|
||||
"@polkadot/types-codec": "9.7.1",
|
||||
"@polkadot/util": "^10.1.11"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@polkadot/types": "9.5.2"
|
||||
"@polkadot/types": "9.7.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/types-create', path: 'auto', type: 'auto', version: '9.5.2' };
|
||||
export const packageInfo = { name: '@polkadot/types-create', path: 'auto', type: 'auto', version: '9.7.1' };
|
||||
|
||||
@@ -20,17 +20,17 @@
|
||||
"./detectPackage.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "9.5.2",
|
||||
"version": "9.7.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.19.4",
|
||||
"@babel/runtime": "^7.20.1",
|
||||
"@polkadot/networks": "^10.1.11",
|
||||
"@polkadot/types": "9.5.2",
|
||||
"@polkadot/types-codec": "9.5.2",
|
||||
"@polkadot/types-create": "9.5.2",
|
||||
"@polkadot/types": "9.7.1",
|
||||
"@polkadot/types-codec": "9.7.1",
|
||||
"@polkadot/types-create": "9.7.1",
|
||||
"@polkadot/util": "^10.1.11"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@polkadot/api": "9.5.2"
|
||||
"@polkadot/api": "9.7.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/types-known', path: 'auto', type: 'auto', version: '9.5.2' };
|
||||
export const packageInfo = { name: '@polkadot/types-known', path: 'auto', type: 'auto', version: '9.7.1' };
|
||||
|
||||
@@ -37,7 +37,10 @@ const versioned: OverrideVersionedType[] = [
|
||||
},
|
||||
{
|
||||
minmax: [4, 5],
|
||||
types: objectSpread({}, sharedTypes, mapXcmTypes('V1'))
|
||||
types: objectSpread({
|
||||
// As above, see https://github.com/polkadot-js/api/issues/5301
|
||||
DispatchError: 'DispatchErrorPre6First'
|
||||
}, sharedTypes, mapXcmTypes('V1'))
|
||||
},
|
||||
{
|
||||
// metadata V14
|
||||
|
||||
@@ -2488,6 +2488,76 @@ const upgrades: ChainUpgradesGenerated = [
|
||||
1
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
12532644,
|
||||
9291,
|
||||
[
|
||||
[
|
||||
"0xdf6acb689907609b",
|
||||
4
|
||||
],
|
||||
[
|
||||
"0x37e397fc7c91f5e4",
|
||||
1
|
||||
],
|
||||
[
|
||||
"0x40fe3ad401f8959a",
|
||||
6
|
||||
],
|
||||
[
|
||||
"0x17a6bc0d0062aeb3",
|
||||
1
|
||||
],
|
||||
[
|
||||
"0xd2bc9897eed08f15",
|
||||
3
|
||||
],
|
||||
[
|
||||
"0xf78b278be53f454c",
|
||||
2
|
||||
],
|
||||
[
|
||||
"0xaf2c0297a23e6d3d",
|
||||
2
|
||||
],
|
||||
[
|
||||
"0x49eaaf1b548a0cb0",
|
||||
1
|
||||
],
|
||||
[
|
||||
"0x91d5df18b0d2cf58",
|
||||
1
|
||||
],
|
||||
[
|
||||
"0xed99c5acb25eedf5",
|
||||
3
|
||||
],
|
||||
[
|
||||
"0xcbca25e39f142387",
|
||||
2
|
||||
],
|
||||
[
|
||||
"0x687ad44ad37f03c2",
|
||||
1
|
||||
],
|
||||
[
|
||||
"0xab3c0572291feb8b",
|
||||
1
|
||||
],
|
||||
[
|
||||
"0xbc9d89904f5b923f",
|
||||
1
|
||||
],
|
||||
[
|
||||
"0x37c8bb1350a9a2a8",
|
||||
1
|
||||
],
|
||||
[
|
||||
"0xf3ff14d5ab527059",
|
||||
1
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
|
||||
@@ -3596,6 +3596,76 @@ const upgrades: ChainUpgradesGenerated = [
|
||||
1
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
12841034,
|
||||
9300,
|
||||
[
|
||||
[
|
||||
"0xdf6acb689907609b",
|
||||
4
|
||||
],
|
||||
[
|
||||
"0x37e397fc7c91f5e4",
|
||||
1
|
||||
],
|
||||
[
|
||||
"0x40fe3ad401f8959a",
|
||||
6
|
||||
],
|
||||
[
|
||||
"0xd2bc9897eed08f15",
|
||||
3
|
||||
],
|
||||
[
|
||||
"0xf78b278be53f454c",
|
||||
2
|
||||
],
|
||||
[
|
||||
"0xaf2c0297a23e6d3d",
|
||||
3
|
||||
],
|
||||
[
|
||||
"0x49eaaf1b548a0cb0",
|
||||
1
|
||||
],
|
||||
[
|
||||
"0x91d5df18b0d2cf58",
|
||||
1
|
||||
],
|
||||
[
|
||||
"0xed99c5acb25eedf5",
|
||||
3
|
||||
],
|
||||
[
|
||||
"0xcbca25e39f142387",
|
||||
2
|
||||
],
|
||||
[
|
||||
"0x687ad44ad37f03c2",
|
||||
1
|
||||
],
|
||||
[
|
||||
"0xab3c0572291feb8b",
|
||||
1
|
||||
],
|
||||
[
|
||||
"0xbc9d89904f5b923f",
|
||||
1
|
||||
],
|
||||
[
|
||||
"0x37c8bb1350a9a2a8",
|
||||
1
|
||||
],
|
||||
[
|
||||
"0xf3ff14d5ab527059",
|
||||
1
|
||||
],
|
||||
[
|
||||
"0x17a6bc0d0062aeb3",
|
||||
1
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ const upgrades: ChainUpgradesManual = [
|
||||
[6321619, 9080], [6713249, 9090], [7217907, 9100], [7229126, 9110], [7560558, 9122],
|
||||
[8115869, 9140], [8638103, 9151], [9280179, 9170], [9738717, 9180], [10156856, 9190],
|
||||
[10458576, 9200], [10655116, 9220], [10879371, 9230], [11328884, 9250], [11532856, 9260],
|
||||
[11933818, 9270], [12217535, 9280], [12245277, 9281]
|
||||
[11933818, 9270], [12217535, 9280], [12245277, 9281], [12532644, 9291]
|
||||
];
|
||||
|
||||
export default upgrades;
|
||||
|
||||
@@ -16,7 +16,7 @@ const upgrades: ChainUpgradesManual = [
|
||||
[9406726, 9160], [9921066, 9170], [10007115, 9180], [10480973, 9190], [10578091, 9200],
|
||||
[10678509, 9210], [10811001, 9220], [11096116, 9230], [11409279, 9250], [11584820, 9251],
|
||||
[11716837, 9260], [11876919, 9261], [11987927, 9270], [12077324, 9271], [12301871, 9280],
|
||||
[12604343, 9290]
|
||||
[12604343, 9290], [12841034, 9300]
|
||||
];
|
||||
|
||||
export default upgrades;
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# @polkadot/types-known
|
||||
# @polkadot/types-support
|
||||
|
||||
Specific known base type overrides (e.g. `Address`, etc) for chains & specs. This does not contain user-specfic types.
|
||||
Supporting files for type operations, generally used in test environments.
|
||||
|
||||
@@ -20,10 +20,10 @@
|
||||
"./detectPackage.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "9.5.2",
|
||||
"version": "9.7.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.19.4",
|
||||
"@babel/runtime": "^7.20.1",
|
||||
"@polkadot/util": "^10.1.11"
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/types-support', path: 'auto', type: 'auto', version: '9.5.2' };
|
||||
export const packageInfo = { name: '@polkadot/types-support', path: 'auto', type: 'auto', version: '9.7.1' };
|
||||
|
||||
@@ -20,20 +20,20 @@
|
||||
"./detectPackage.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "9.5.2",
|
||||
"version": "9.7.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.19.4",
|
||||
"@babel/runtime": "^7.20.1",
|
||||
"@polkadot/keyring": "^10.1.11",
|
||||
"@polkadot/types-augment": "9.5.2",
|
||||
"@polkadot/types-codec": "9.5.2",
|
||||
"@polkadot/types-create": "9.5.2",
|
||||
"@polkadot/types-augment": "9.7.1",
|
||||
"@polkadot/types-codec": "9.7.1",
|
||||
"@polkadot/types-create": "9.7.1",
|
||||
"@polkadot/util": "^10.1.11",
|
||||
"@polkadot/util-crypto": "^10.1.11",
|
||||
"rxjs": "^7.5.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@polkadot/keyring": "^10.1.11",
|
||||
"@polkadot/types-support": "9.5.2"
|
||||
"@polkadot/types-support": "9.7.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,7 +84,10 @@ export default {
|
||||
TooManyConsumers: 'Null',
|
||||
Token: 'TokenError',
|
||||
Arithmetic: 'ArithmeticError',
|
||||
Transactional: 'TransactionalError'
|
||||
Transactional: 'TransactionalError',
|
||||
Exhausted: 'Null',
|
||||
Corruption: 'Null',
|
||||
Unavailable: 'Null'
|
||||
}
|
||||
},
|
||||
DispatchErrorPre6: {
|
||||
|
||||
@@ -123,7 +123,10 @@ export interface DispatchError extends Enum {
|
||||
readonly asArithmetic: ArithmeticError;
|
||||
readonly isTransactional: boolean;
|
||||
readonly asTransactional: TransactionalError;
|
||||
readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional';
|
||||
readonly isExhausted: boolean;
|
||||
readonly isCorruption: boolean;
|
||||
readonly isUnavailable: boolean;
|
||||
readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional' | 'Exhausted' | 'Corruption' | 'Unavailable';
|
||||
}
|
||||
|
||||
/** @name DispatchErrorModule */
|
||||
|
||||
@@ -430,12 +430,13 @@ function registerTypes (lookup: PortableRegistry, lookups: Record<string, string
|
||||
|
||||
const weightDef = lookup.getTypeDef(`Lookup${weight[0]}`);
|
||||
|
||||
// we have a complex structure
|
||||
if (Array.isArray(weightDef.sub) && weightDef.sub.length !== 1) {
|
||||
lookup.registry.register({
|
||||
Weight: 'SpWeightsWeightV2Weight'
|
||||
});
|
||||
}
|
||||
lookup.registry.register({
|
||||
Weight: Array.isArray(weightDef.sub) && weightDef.sub.length !== 1
|
||||
// we have a complex structure
|
||||
? 'SpWeightsWeightV2Weight'
|
||||
// single entry, fallback to weight V1
|
||||
: 'WeightV1'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -46,6 +46,11 @@ export const NO_RAW_ARGS: RawArgs = {
|
||||
keys: []
|
||||
};
|
||||
|
||||
/** @internal */
|
||||
function filterDefined (a: unknown): boolean {
|
||||
return !isUndefined(a);
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
function assertArgs ({ method, section }: CreateItemFn, { args, keys }: RawArgs): void {
|
||||
if (!Array.isArray(args)) {
|
||||
@@ -112,11 +117,6 @@ export function createKeyRaw (registry: Registry, itemFn: CreateItemBase, args:
|
||||
);
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
function filterDefined (a: unknown): boolean {
|
||||
return !isUndefined(a);
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
function createKey (registry: Registry, itemFn: CreateItemFn, args: RawArgs): Uint8Array {
|
||||
assertArgs(itemFn, args);
|
||||
|
||||
@@ -36,6 +36,10 @@ describe('decorateStorage', (): void => {
|
||||
expect(() => query.timestamp.now()).not.toThrow();
|
||||
});
|
||||
|
||||
it('should return a value if the storage function has the correct arguments', (): void => {
|
||||
expect(() => query.staking.erasStakers(1, keyring.alice.address)).not.toThrow();
|
||||
});
|
||||
|
||||
it('should return the correct length-prefixed storage key', (): void => {
|
||||
expect(
|
||||
u8aToHex(query.system.account(keyring.alice.address))
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/types', path: 'auto', type: 'auto', version: '9.5.2' };
|
||||
export const packageInfo = { name: '@polkadot/types', path: 'auto', type: 'auto', version: '9.7.1' };
|
||||
|
||||
Reference in New Issue
Block a user