Compare commits

..
117 Commits
Author SHA1 Message Date
github-actions[bot] 5aae48cc28 [CI Skip] release/stable 9.14.2
skip-checks: true
2023-02-19 11:19:41 +00:00
Jaco 4ab3b55383 9.14.2 (#5500) 2023-02-19 13:10:43 +02:00
github-actions[bot] 6ea6b90e03 [CI Skip] bump/beta 9.14.2-8-x
skip-checks: true
2023-02-19 10:45:23 +00:00
Jaco eb5c888cb8 Update metadata (#5499)
* Updata metadata

* Rebuild

* Adjust generation
2023-02-19 12:36:41 +02:00
github-actions[bot] cda07dfa0b [CI Skip] bump/beta 9.14.2-7-x
skip-checks: true
2023-02-18 10:50:26 +00:00
Jaco 4abae3200b Remove extraneous jest.mock usage (unused, no impact) (#5498) 2023-02-18 12:42:11 +02:00
github-actions[bot] b60895beb4 [CI Skip] bump/beta 9.14.2-6-x
skip-checks: true
2023-02-18 07:58:29 +00:00
Jaco 855d70a3b3 Remove __dirname usage in typegen (#5496) 2023-02-18 09:48:07 +02:00
github-actions[bot] 583d9bfe36 [CI Skip] bump/beta 9.14.2-5-x
skip-checks: true
2023-02-17 18:30:43 +00:00
Jaco d519611a25 Adjust test expectations (#5494) 2023-02-17 20:22:12 +02:00
github-actions[bot] 9a9bace8e8 [CI Skip] bump/beta 9.14.2-4-x
skip-checks: true
2023-02-17 10:08:40 +00:00
Jaco 40810f2fdb Cleanup tests (& fix ws.connect()) (#5493)
* Cleanup tests (& fix ws.connect())

* Await mock

* Adjust sc connect ordering
2023-02-17 11:57:34 +02:00
github-actions[bot] 361a77580e [CI Skip] bump/beta 9.14.2-3-x
skip-checks: true
2023-02-17 06:29:52 +00:00
Jaco ea45c7e689 Remove __dirname usages in tests (#5492) 2023-02-17 08:20:29 +02:00
github-actions[bot] cc1d51a6ca [CI Skip] bump/beta 9.14.2-2-x
skip-checks: true
2023-02-16 19:18:36 +00:00
Jaco b8233fb7b8 Adjust test expectations (#5490) 2023-02-16 21:10:17 +02:00
github-actions[bot] 5cbe80066d [CI Skip] bump/beta 9.14.2-1-x
skip-checks: true
2023-02-15 10:07:50 +00:00
Jaco 3f6c10256c Bump deps (#5486) 2023-02-15 11:56:46 +02:00
github-actions[bot] 609b2830b0 [CI Skip] bump/beta 9.14.2-0-x
skip-checks: true
2023-02-15 07:26:32 +00:00
Jaco b7bbd2d615 Fix CI release workflow (#5485) 2023-02-15 09:16:35 +02:00
Jaco 41d6429782 Use latest LTS for CI scripts (#5482) 2023-02-14 10:49:33 +02:00
github-actions[bot] ae168a00a9 [CI Skip] release/stable 9.14.1
skip-checks: true
2023-02-12 13:31:21 +00:00
Jaco 79694d8a95 9.14.1 (#5481)
* 9.14.1

* Rebuild metadata
2023-02-12 15:22:48 +02:00
github-actions[bot] 95be64cbd7 [CI Skip] bump/beta 9.13.7-1-x
skip-checks: true
2023-02-07 12:26:53 +00:00
Jaco 76bf7a0079 Alias for Runtime{Call, Event} types (#5477)
* Alias for Runtime{Call, Event} types

* CHANGELOG
2023-02-07 14:17:29 +02:00
github-actions[bot] 142390f27d [CI Skip] bump/beta 9.13.7-0-x
skip-checks: true
2023-02-05 12:18:54 +00:00
Jaco d0145ce58c Bump dev (#5476) 2023-02-05 14:10:25 +02:00
github-actions[bot] 9217f83870 [CI Skip] release/stable 9.13.6
skip-checks: true
2023-02-05 11:35:16 +00:00
Jaco cf261724c3 9.13.6 (#5475) 2023-02-05 13:26:52 +02:00
github-actions[bot] 375afb5dff [CI Skip] bump/beta 9.13.6-5-x
skip-checks: true
2023-02-05 08:08:53 +00:00
Jaco 9e5779644c Bump dev (#5474) 2023-02-05 09:57:56 +02:00
github-actions[bot] a6a92837e4 [CI Skip] bump/beta 9.13.6-4-x
skip-checks: true
2023-02-04 15:40:31 +00:00
Aleš Ferlan d84f40dd77 fix: use H160 for address in getTransactionCount (#5472) 2023-02-04 17:31:53 +02:00
github-actions[bot] 5183c28d5e [CI Skip] bump/beta 9.13.6-3-x
skip-checks: true
2023-02-03 22:30:29 +00:00
Jaco 5ed3ea51d3 Add script to retrieve local meta/rpc/version (#5471)
* Add script to retrieve local meta/rpc/version

* Filter _unknown_

* Cleanup

* Additional
2023-02-04 00:22:36 +02:00
github-actions[bot] 39d76c969d [CI Skip] bump/beta 9.13.6-2-x
skip-checks: true
2023-02-03 13:08:35 +00:00
Jaco 5cf4c4edbe Overrides for deployed Weight 1.5 chains (#5469) 2023-02-03 15:00:46 +02:00
github-actions[bot] f6c376a3e7 [CI Skip] bump/beta 9.13.6-1-x
skip-checks: true
2023-02-03 08:58:09 +00:00
Jaco d9a2265b0f Bump deps (incl. TS) (#5468) 2023-02-03 10:48:46 +02:00
github-actions[bot] 0c1b1c48f2 [CI Skip] bump/beta 9.13.6-0-x
skip-checks: true
2023-02-02 11:11:44 +00:00
Jaco 7c24998e28 Adjust PortableRegistry aliases (w/o any Weight) (#5466) 2023-02-02 13:03:48 +02:00
github-actions[bot] bf442a4bd4 [CI Skip] release/stable 9.13.5
skip-checks: true
2023-02-02 09:52:22 +00:00
Jaco 40f432badb Adjust for aliasses for Weight 1.5 (#5465)
* Adjust for aliasses for Weight 1.5

* 9.13.5
2023-02-02 11:43:24 +02:00
github-actions[bot] 15a8681ba0 [CI Skip] release/stable 9.13.4
skip-checks: true
2023-02-01 07:48:32 +00:00
Jaco 61ed6e97f4 9.13.4 (#5463) 2023-02-01 09:37:31 +02:00
github-actions[bot] eee4bf51d6 [CI Skip] release/stable 9.13.3
skip-checks: true
2023-02-01 06:28:13 +00:00
Jaco b9cbb9e2e8 Adjust Weight alias for WeightV0 injection (#5462)
* Adjust Weight alias for WeightV0 injection

* 9.13.3
2023-02-01 08:20:06 +02:00
github-actions[bot] ed426108f2 [CI Skip] release/stable 9.13.2
skip-checks: true
2023-01-29 07:25:40 +00:00
Jaco c168615305 Allow null as valid param to Int/UInt (#5458) 2023-01-29 09:17:21 +02:00
Jaco 680ae0222a Bump eventemitter 3 (#5457) 2023-01-29 09:14:57 +02:00
github-actions[bot] dc3d34e4df [CI Skip] release/stable 9.13.1
skip-checks: true
2023-01-29 06:01:16 +00:00
Jaco d356fa4da6 9.13.1 (#5456) 2023-01-29 07:53:24 +02:00
github-actions[bot] 90eafdd820 [CI Skip] bump/beta 9.12.2-12-x
skip-checks: true
2023-01-28 09:58:20 +00:00
Jaco 263fca2510 Bump static metadata (#5455) 2023-01-28 11:50:32 +02:00
github-actions[bot] 04dcb490c3 [CI Skip] bump/beta 9.12.2-11-x
skip-checks: true
2023-01-28 08:00:05 +00:00
Jaco e8a96523b7 Bump util (#5454) 2023-01-28 09:49:10 +02:00
github-actions[bot] 226886acf7 [CI Skip] bump/beta 9.12.2-10-x
skip-checks: true
2023-01-28 07:18:40 +00:00
Jaco b544f24bcf Runtime definition cleanups (& CHANGELOG) (#5450)
* Runtime definition cleanups (& CHANGELOG)

* Adjust to pre-v3 levels

* Full CHANGELOG
2023-01-28 09:07:44 +02:00
github-actions[bot] f7ad6e09ed [CI Skip] bump/beta 9.12.2-9-x
skip-checks: true
2023-01-28 06:54:36 +00:00
Jaco 1d8abf1110 Add (unused) ability to filter rpcs/calls from chain info (#5453)
* Add (unused) ability to filter rpcs/calls from chain info

* Explicitly sort api versions

* Named tuples

* Re-order sorting

* Allow future name configurability

* Pass runtimeName to generators

* Remove unneeded lint overrides

* Allow doc root override

* Use chain name
2023-01-28 08:45:35 +02:00
github-actions[bot] fee281fcb4 [CI Skip] bump/beta 9.12.2-8-x
skip-checks: true
2023-01-27 08:28:57 +00:00
Jaco 1facb7dd71 Bump dev (#5451)
* Bump dev

* Bump dev
2023-01-27 10:21:06 +02:00
github-actions[bot] a96d7c789e [CI Skip] bump/beta 9.12.2-7-x
skip-checks: true
2023-01-27 04:52:46 +00:00
Stephen SheltonandJaco cc4e4b236d Add transaction-payment runtime API V3 (#5430)
* Add transaction-payment runtime API V3

* Apply suggestions from code review

* Update packages/types/src/interfaces/payment/runtime.ts

* Update packages/types/src/interfaces/payment/runtime.ts

* Apply suggestions from code review

* Handle query_info vs query_call_info correctly

Co-authored-by: Jaco <jacogr@gmail.com>
2023-01-27 06:43:02 +02:00
github-actions[bot] 932efb6ef5 [CI Skip] bump/beta 9.12.2-6-x
skip-checks: true
2023-01-26 09:59:38 +00:00
Jaco bf6c23eb86 Add composite base object (#5448)
* Add composite base object

* Missing toRawType
2023-01-26 11:51:40 +02:00
github-actions[bot] df1754eb2a [CI Skip] bump/beta 9.12.2-5-x
skip-checks: true
2023-01-26 07:33:50 +00:00
Jaco 1ce1f0a981 Remove unused BigInt extension (#5447) 2023-01-26 09:25:01 +02:00
github-actions[bot] 29537ea283 [CI Skip] bump/beta 9.12.2-4-x
skip-checks: true
2023-01-26 06:57:42 +00:00
Jaco 0b45618c5f Tighten up TS type with LookupString introduction (#5446)
* Tighten up TS type with LookupString introduction

* Adjust typegen
2023-01-26 08:49:53 +02:00
github-actions[bot] 48079d6f1a [CI Skip] bump/beta 9.12.2-3-x
skip-checks: true
2023-01-26 05:05:58 +00:00
Jaco 1531ac847c Apply JSDoc comments onto PortableRegistry (#5443) 2023-01-26 06:58:07 +02:00
github-actions[bot] 66f569e214 [CI Skip] bump/beta 9.12.2-2-x
skip-checks: true
2023-01-26 04:38:14 +00:00
Jaco db71aeea41 Swap (pre-detect, typegen) Weight alias to latest (#5445) 2023-01-26 06:30:17 +02:00
github-actions[bot] 1c8e0babac [CI Skip] bump/beta 9.12.2-1-x
skip-checks: true
2023-01-25 07:55:20 +00:00
Jaco 416ac1a619 Weight detect from PortableRegistry -> TypeRegistry (#5442)
* Weight detect from PortableRegistry -> TypeRegistry

* Re-use setLookup

* Revert last

* Expand comments

* Cast for type detect

* Get actual classes for construction
2023-01-25 09:45:55 +02:00
github-actions[bot] ab805808c5 [CI Skip] bump/beta 9.12.2-0-x
skip-checks: true
2023-01-25 07:42:50 +00:00
Jaco cf577a29da Bump GH actions (#5444) 2023-01-25 09:34:55 +02:00
github-actions[bot] 94d2fd0147 [CI Skip] release/stable 9.12.1
skip-checks: true
2023-01-22 12:53:52 +00:00
Jaco e745d802df 9.12.1 (#5438)
* 9.12.1

* CHANGELOG
2023-01-22 14:45:06 +02:00
Jaco cd1dca9bfa Bump static metadata (#5439)
* Bump static metadata

* Remove specific events tests (only for v2, on v3 now)

* Remove unused deps

* Commit yarn.lock
2023-01-22 14:16:16 +02:00
github-actions[bot] b0ec03bdd5 [CI Skip] bump/beta 9.11.4-12-x
skip-checks: true
2023-01-22 07:47:10 +00:00
Jaco becccf6323 Ensure api.queryMulti returns empty result when no keys are provided (#5436) 2023-01-22 09:36:08 +02:00
github-actions[bot] 10cb508783 [CI Skip] bump/beta 9.11.4-11-x
skip-checks: true
2023-01-22 07:11:42 +00:00
Jaco cf9d2d6049 Bump dev (& remove duplicated files) (#5437) 2023-01-22 09:01:44 +02:00
github-actions[bot] 3e490736fd [CI Skip] bump/beta 9.11.4-10-x
skip-checks: true
2023-01-20 21:35:28 +00:00
Jaco 95e7edd48f Apply memo(...) on batched storage subscriptions (#5435) 2023-01-20 23:26:45 +02:00
github-actions[bot] 6f8ca717c8 [CI Skip] bump/beta 9.11.4-9-x
skip-checks: true
2023-01-20 18:24:19 +00:00
Jaco f480cdc1ca Add explicit Array checks to Vec/Tuple decoding (#5434)
* Add explicit Array checks to Vec/Tuple decoding

* Fixes for tests

* Remove extra else

* Revert Text changes (keep it pin-point)

* No need for isU8a check (already handled)

* Result length check

* stringify logged object
2023-01-20 20:15:30 +02:00
github-actions[bot] beca267b66 [CI Skip] bump/beta 9.11.4-8-x
skip-checks: true
2023-01-20 15:38:20 +00:00
Jaco f270fe693b Align struct .entries() looping between functions (#5433) 2023-01-20 17:30:16 +02:00
github-actions[bot] a7f96a19ca [CI Skip] bump/beta 9.11.4-7-x
skip-checks: true
2023-01-19 13:17:09 +00:00
Jaco e759d32bcf Revert all recent $ renames (#5429)
* Revert "[CI Skip] bump/beta 9.11.4-6-x"

This reverts commit 7ee4f7aaf8.

* Revert "Rename Code .registry to .$registry (#5428)"

This reverts commit dd6826fadd.

* Revert "[CI Skip] bump/beta 9.11.4-5-x"

This reverts commit abc68bf2e2.

* Revert "Convert encodedLength to $encodedLength (#5426)"

This reverts commit ccab89304b.

* Revert "[CI Skip] bump/beta 9.11.4-4-x"

This reverts commit 044465eee4.

* Revert "Rename inspect() to inspectU8a() (#5425)"

This reverts commit 42af205546.

* Revert "[CI Skip] bump/beta 9.11.4-3-x"

This reverts commit 545ad50097.

* Revert "Move .isEmpty to $isEmpty (#5424)"

This reverts commit 6f19084a4d.

* Revert "[CI Skip] bump/beta 9.11.4-2-x"

This reverts commit 4688291ecf.

* Revert "Warn on deprecated getter usage (#5423)"

This reverts commit da1cf9d64e.

* Revert "[CI Skip] bump/beta 9.11.4-1-x"

This reverts commit 96a3ef51f0.

* Revert "Revert "[CI Skip] bump/beta 9.11.4-1-x""

This reverts commit 2eca0730a630d587878f12c141e21ea631dcdd19.

* Revert "Revert "[CI Skip] bump/beta 9.11.4-2-x""

This reverts commit 66284b40692071aa03a1064997c9402fc0b0987c.

* Revert "Revert "[CI Skip] bump/beta 9.11.4-3-x""

This reverts commit 9b820eaefccdb7b51d893000e5480d11e5195e22.

* Revert "Revert "[CI Skip] bump/beta 9.11.4-4-x""

This reverts commit cb5149adf98a5eefd8da61b8793707f85deb7c09.

* Revert "Revert "[CI Skip] bump/beta 9.11.4-5-x""

This reverts commit 489a64439860fefba163695ec36b319dcb1eeddc.

* Revert "Revert "[CI Skip] bump/beta 9.11.4-6-x""

This reverts commit 34a0fd4e2784a1b40ea8e06534d1f39328250e7a.

* Adjust linebreaks

* Adjust isStorageFallback naming

* Fix build
2023-01-19 15:06:29 +02:00
github-actions[bot] 7ee4f7aaf8 [CI Skip] bump/beta 9.11.4-6-x
skip-checks: true
2023-01-19 12:03:22 +00:00
Jaco dd6826fadd Rename Code .registry to .$registry (#5428)
* Adapt $registry getter, deprecate registry

* warnGet adjustments

* Additional adjustments
2023-01-19 13:54:34 +02:00
github-actions[bot] abc68bf2e2 [CI Skip] bump/beta 9.11.4-5-x
skip-checks: true
2023-01-19 11:25:40 +00:00
Jaco ccab89304b Convert encodedLength to $encodedLength (#5426) 2023-01-19 13:17:33 +02:00
github-actions[bot] 044465eee4 [CI Skip] bump/beta 9.11.4-4-x
skip-checks: true
2023-01-19 10:52:59 +00:00
Jaco 42af205546 Rename inspect() to inspectU8a() (#5425)
* Rename inspect() to inspectU8a()

* Additional adjustments
2023-01-19 12:42:49 +02:00
github-actions[bot] 545ad50097 [CI Skip] bump/beta 9.11.4-3-x
skip-checks: true
2023-01-19 09:16:02 +00:00
Jaco 6f19084a4d Move .isEmpty to $isEmpty (#5424)
* Move .isEmpty to $isEmpty

* Adjust usages
2023-01-19 11:07:29 +02:00
github-actions[bot] 4688291ecf [CI Skip] bump/beta 9.11.4-2-x
skip-checks: true
2023-01-19 08:06:43 +00:00
Jaco da1cf9d64e Warn on deprecated getter usage (#5423)
* Warn on deprecated getter usage

* Adjust warning message

* Make read-only interafces for deprecations

* Re-word Codec deprecation messages

* Re-adjust warning messages

* Fix getter return

* Explicit deprecation holder
2023-01-19 09:56:34 +02:00
github-actions[bot] 96a3ef51f0 [CI Skip] bump/beta 9.11.4-1-x
skip-checks: true
2023-01-19 07:01:57 +00:00
Jaco 2eb453c4ce Cleanup class variable linebreaks (#5422) 2023-01-19 08:52:14 +02:00
github-actions[bot] 12bf338e40 [CI Skip] bump/beta 9.11.4-0-x
skip-checks: true
2023-01-18 20:08:15 +00:00
Jaco 923f569d77 Add $isStorageFallback on Codec interface (#5421)
* Add $isStorageFallback on Codec interface

* Rename in CHANGELOG

* Update specs with new naming

* Small formatting adjustments

* Abstract values

* Adjust initialU8a expectation

* Mark old interface as deprecated (& type to never)

* Adjust @deprecated comments

* Add deprecated interfaces to all
2023-01-18 21:58:06 +02:00
github-actions[bot] 263fce1e7d [CI Skip] release/stable 9.11.3
skip-checks: true
2023-01-15 10:54:58 +00:00
Jaco f780c017e2 9.11.3 (#5418) 2023-01-15 12:45:18 +02:00
github-actions[bot] 87a1ae7d44 [CI Skip] bump/beta 9.11.3-1-x
skip-checks: true
2023-01-15 10:36:20 +00:00
Jaco 3cdd608e6e Bump metadata (#5417) 2023-01-15 12:27:42 +02:00
github-actions[bot] 394d4aee96 [CI Skip] bump/beta 9.11.3-0-x
skip-checks: true
2023-01-15 08:55:13 +00:00
Jaco 732dd26bd9 Bump deps (#5416) 2023-01-15 10:47:11 +02:00
github-actions[bot] ebb9f055c1 [CI Skip] release/stable 9.11.2
skip-checks: true
2023-01-13 08:14:10 +00:00
Jaco 2f34c0c6e8 9.11.2 (#5415) 2023-01-13 10:05:41 +02:00
github-actions[bot] 41617c1dfb [CI Skip] bump/beta 9.11.2-0-x
skip-checks: true
2023-01-13 07:52:29 +00:00
Jaco 6ff3577853 Adjust democracy preimages retrieval (#5413)
* Adjust democracy preimages retrieval

* Remove log
2023-01-13 09:41:52 +02:00
218 changed files with 32209 additions and 29661 deletions
+2 -1
View File
@@ -6,7 +6,8 @@ const base = require('@polkadot/dev/config/eslint.cjs');
module.exports = {
...base,
ignorePatterns: [
...base.ignorePatterns
...base.ignorePatterns,
'/scripts'
],
parserOptions: {
...base.parserOptions,
+1 -1
View File
@@ -9,7 +9,7 @@ jobs:
if: "! startsWith(github.event.head_commit.message, '[CI Skip]') && (!github.event.pull_request || github.event.pull_request.head.repo.full_name == github.repository)"
runs-on: ubuntu-latest
steps:
- uses: jacogr/action-approve@9d6ce78d26f23ad29d009d034822cf773f2cb50e
- uses: jacogr/action-approve@795afd1dd096a2071d7ec98740661af4e853b7da
with:
authors: jacogr
labels: -auto
+1 -1
View File
@@ -8,7 +8,7 @@ jobs:
merge:
runs-on: ubuntu-latest
steps:
- uses: jacogr/action-merge@3b4b49af8a8644bf5cbb5409ee236abe04eeb1b0
- uses: jacogr/action-merge@d2d64b4545acd93b0a9575177d3d215ae3f92029
with:
checks: build,lint,test
labels: -auto
+4 -1
View File
@@ -11,7 +11,10 @@ jobs:
env:
YARN_ENABLE_SCRIPTS: false
steps:
- uses: actions/checkout@7884fcad6b5d53d10323aee724dc68d8b9096a2e
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 'lts/*'
- uses: denoland/setup-deno@004814556e37c54a2f6e31384c9e18e983317366
with:
deno-version: vx.x.x
+4 -1
View File
@@ -19,10 +19,13 @@ jobs:
GH_RELEASE_GITHUB_API_TOKEN: ${{ secrets.GH_PAT_BOT }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
steps:
- uses: actions/checkout@7884fcad6b5d53d10323aee724dc68d8b9096a2e
- uses: actions/checkout@v3
with:
fetch-depth: 0
token: ${{ secrets.GH_PAT_BOT }}
- uses: actions/setup-node@v3
with:
node-version: 'lts/*'
- name: ${{ matrix.step }}
run: |
yarn install --immutable | grep -v 'YN0013'
+100
View File
@@ -1,5 +1,105 @@
# CHANGELOG
## 9.14.2 Feb 19, 2023
Changes:
- Don't allow `WsProvider.connect()` on an open connection (creates resource leaks)
- Adjust typegen to use metadata-defined aliases in query return decoration
- Update to latest Polkadot, Kusama & Substrate metadata
## 9.14.1 Feb 12, 2023
Changes:
- Extract aliases for `*_runtime::Runtime{Call, Event}` from metadata
- Update to latest Polkadot, Kusama & Substrate metadata
## 9.13.6 Feb 5, 2023
Contributed:
- Align `eth_getTransactionCount` with frontier (Thanks to https://github.com/alko89)
Changes:
- Additional override for `Compact<{ refTime: u64 }>` chains
- Add script to retrieve local rpc, version & metadata for typegen
## 9.13.5 Feb 2, 2023
Changes:
- Adjust `Weight` alias for 1.5 chains
- Ensure correct registry is pass through for runtime TS generation
## 9.13.4 Feb 1, 2023
Changes:
- None from 9.13.3 (The previous version had npm registry publishing issues)
## 9.13.3 Feb 1, 2023
Changes:
- Adjust `Weight` alias detection to cater for `WeightV0/u32` overrides (e.g. early Kusama blocks)
## 9.13.2 Jan 29, 2023
Changes:
- Allow null as valid param to Int/UInt
## 9.13.1 Jan 29, 2023
Contributed:
- Add support for V3 of `TransactionPaymentApi` (Thanks to https://github.com/notlesh)
Changes:
- Adjust `Weight` alias detection (moved from `PortableRegistry` -> `Registry`)
- Move default (typegen) weight alias to `WeightV2` (does not affect runtime detection)
- Prepare metadata docs from chain generation for future cli arguments
- Add base type object for (future) composite types
- Apply additional JSDoc comments into `PortableRegistry`
- Update to latest Polkadot, Kusama & Substrate metadata
## 9.12.1 Jan 22, 2023
Changes:
- Add `isStorageFallback` on the `Codec` interface. (`true` if entry was created from a metadata fallback value from an empty storage item)
- Ensure `api.queryMulti` returns empty result when no keys are provided
- Add explicit Array checks on `Vec/Tuple` inputs
- Align `Struct.{toU8a/toPrimitive/toHuman/toJSON}` population of results
- Apply memoization to batched API queries
- Update to latest Polkadot, Kusama & Substrate metadata
## 9.11.3 Jan 15, 2023
Changes:
- Update to latest Polkadot, Kusama & Substrate metadata
## 9.11.2 Jan 13, 2023
Changes:
- Ensure `derive.democracy.preimages` retrieves correctly from (current-gen) `preimage`
## 9.11.1 Jan 8, 2023
- **Breaking change** For users of `ScProvider` you now need to explicitly pass `@substrate/connect` as a parameter. This means the code needs to be adjusted as follows -
+3 -1
View File
@@ -1,4 +1,4 @@
3316 Jaco 9.11.1 (#5407)
3374 Jaco 9.14.2 (#5500)
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)
@@ -46,6 +46,7 @@
2 Zannis Kalampoukis fix: Typegen handles structs and vectors of structs without erroring (#4743)
2 扩散性百万甜面包 Typo, deocrateMethod -> decorateMethod (#1594)
1 Alan Sapede Adds Eth feeHistory & maxPriorityFeePerGas rpc (#4956)
1 Aleš Ferlan fix: use H160 for address in getTransactionCount (#5472)
1 Brad Larson [NEW] Support for custom headers with providers (#2423)
1 Btwiuse Arch Add side effect check workaround (#4994) (#5009)
1 chriswmercer little readme tweak (#279)
@@ -105,6 +106,7 @@
1 serge make WS provider timeout configurable (#4758)
1 Sergei Pepyakin INK! -> ink! (#1347)
1 Shunji Zhan small polish (#5276)
1 Stephen Shelton Add transaction-payment runtime API V3 (#5430)
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)
+12 -11
View File
@@ -11,10 +11,10 @@
},
"sideEffects": false,
"type": "module",
"version": "9.11.1",
"version": "9.14.2",
"versions": {
"git": "9.11.1",
"npm": "9.11.1"
"git": "9.14.2",
"npm": "9.14.2"
},
"workspaces": [
"packages/*"
@@ -23,28 +23,29 @@
"build": "yarn build:interfaces && polkadot-dev-build-ts",
"build:extra": "(cd packages/typegen && copyfiles scripts/* build)",
"build:interfaces": "polkadot-types-internal-interfaces",
"build:metadata": "yarn build:interfaces && yarn test:one packages/types/src/metadata/v14",
"build:metadata": "yarn build:interfaces && polkadot-dev-run-test packages/types/src/metadata/v14",
"build:release": "polkadot-ci-ghact-build",
"build:rollup": "polkadot-exec-rollup --config",
"build:upgrades": "yarn test:one packages/types-known/src/upgrades/e2e",
"build:upgrades": "polkadot-dev-run-test upgrades/e2e",
"chain:info": "polkadot-types-chain-info",
"clean": "polkadot-dev-clean-build",
"deno": "yarn polkadot-dev-deno-map && yarn build && deno check --import-map=import_map.json mod.ts",
"lint": "polkadot-dev-run-lint",
"postinstall": "polkadot-dev-yarn-only",
"test": "NODE_OPTIONS=--experimental-vm-modules polkadot-dev-run-test --coverage --forceExit --runInBand --testPathIgnorePatterns e2e",
"test:one": "NODE_OPTIONS=--experimental-vm-modules polkadot-dev-run-test --detectOpenHandles --forceExit"
"test": "polkadot-dev-run-test --env jest --coverage --forceExit --runInBand ^e2e",
"test:node": "polkadot-dev-run-test --env node ^e2e",
"test:one": "polkadot-dev-run-test --detectOpenHandles --forceExit"
},
"devDependencies": {
"@babel/core": "^7.20.12",
"@babel/register": "^7.18.9",
"@babel/runtime": "^7.20.7",
"@polkadot/dev": "^0.67.177",
"@babel/runtime": "^7.20.13",
"@polkadot/dev": "^0.68.38",
"@polkadot/typegen": "workspace:packages/typegen",
"@types/jest": "^29.2.5",
"@types/jest": "^29.4.0",
"copyfiles": "^2.4.1"
},
"resolutions": {
"typescript": "^4.9.4"
"typescript": "^4.9.5"
}
}
-201
View File
@@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+8 -11
View File
@@ -20,18 +20,15 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "9.11.1",
"version": "9.14.2",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.20.7",
"@polkadot/api-base": "9.11.1",
"@polkadot/rpc-augment": "9.11.1",
"@polkadot/types": "9.11.1",
"@polkadot/types-augment": "9.11.1",
"@polkadot/types-codec": "9.11.1",
"@polkadot/util": "^10.2.3"
},
"devDependencies": {
"@polkadot/types-support": "9.11.1"
"@babel/runtime": "^7.20.13",
"@polkadot/api-base": "9.14.2",
"@polkadot/rpc-augment": "9.14.2",
"@polkadot/types": "9.14.2",
"@polkadot/types-augment": "9.14.2",
"@polkadot/types-codec": "9.14.2",
"@polkadot/util": "^10.4.2"
}
}
+27 -16
View File
@@ -33,18 +33,6 @@ declare module '@polkadot/api-base/types/consts' {
**/
[key: string]: Codec;
};
authorship: {
/**
* The number of blocks back we should accept uncles.
* This means that we will deal with uncle-parents that are
* `UncleGenerations + 1` before `now`.
**/
uncleGenerations: u32 & AugmentedConst<ApiType>;
/**
* Generic const
**/
[key: string]: Codec;
};
babe: {
/**
* The amount of time, in slots, that each epoch should last.
@@ -399,6 +387,15 @@ declare module '@polkadot/api-base/types/consts' {
* Max Authorities in use
**/
maxAuthorities: u32 & AugmentedConst<ApiType>;
/**
* The maximum number of entries to keep in the set id to session index mapping.
*
* Since the `SetIdSession` map is only used for validating equivocations this
* value should relate to the bonding duration of whatever staking system is
* being used (if any). If equivocation handling is not enabled then this value
* can be zero.
**/
maxSetIdSessionEntries: u64 & AugmentedConst<ApiType>;
/**
* Generic const
**/
@@ -540,6 +537,10 @@ declare module '@polkadot/api-base/types/consts' {
* this value multiplied by `Period`.
**/
queueCount: u32 & AugmentedConst<ApiType>;
/**
* The name for the reserve ID.
**/
reserveId: U8aFixed & AugmentedConst<ApiType>;
/**
* The maximum proportion which may be thawed and the period over which it is reset.
**/
@@ -616,18 +617,28 @@ declare module '@polkadot/api-base/types/consts' {
/**
* The maximum number of candidates in a phragmen election.
*
* Warning: The election happens onchain, and this value will determine
* the size of the election. When this limit is reached no more
* candidates are accepted in the election.
* Warning: This impacts the size of the election which is run onchain. Chose wisely, and
* consider how it will impact `T::WeightInfo::election_phragmen`.
*
* When this limit is reached no more candidates are accepted in the election.
**/
maxCandidates: u32 & AugmentedConst<ApiType>;
/**
* The maximum number of voters to allow in a phragmen election.
*
* Warning: This impacts the size of the election which is run onchain.
* Warning: This impacts the size of the election which is run onchain. Chose wisely, and
* consider how it will impact `T::WeightInfo::election_phragmen`.
*
* When the limit is reached the new voters are ignored.
**/
maxVoters: u32 & AugmentedConst<ApiType>;
/**
* Maximum numbers of votes per voter.
*
* Warning: This impacts the size of the election which is run onchain. Chose wisely, and
* consider how it will impact `T::WeightInfo::election_phragmen`.
**/
maxVotesPerVoter: u32 & AugmentedConst<ApiType>;
/**
* Identifier for the elections-phragmen pallet's lock
**/
+72 -50
View File
@@ -45,40 +45,6 @@ declare module '@polkadot/api-base/types/errors' {
**/
[key: string]: AugmentedError<ApiType>;
};
authorship: {
/**
* The uncle is genesis.
**/
GenesisUncle: AugmentedError<ApiType>;
/**
* The uncle parent not in the chain.
**/
InvalidUncleParent: AugmentedError<ApiType>;
/**
* The uncle isn't recent enough to be included.
**/
OldUncle: AugmentedError<ApiType>;
/**
* The uncle is too high in chain.
**/
TooHighUncle: AugmentedError<ApiType>;
/**
* Too many uncles.
**/
TooManyUncles: AugmentedError<ApiType>;
/**
* The uncle is already included.
**/
UncleAlreadyIncluded: AugmentedError<ApiType>;
/**
* Uncles already set in the block.
**/
UnclesAlreadySet: AugmentedError<ApiType>;
/**
* Generic error
**/
[key: string]: AugmentedError<ApiType>;
};
babe: {
/**
* A given equivocation report is valid but already previously reported.
@@ -509,6 +475,10 @@ declare module '@polkadot/api-base/types/errors' {
* The given account did not vote on the referendum.
**/
NotVoter: AugmentedError<ApiType>;
/**
* The preimage does not exist.
**/
PreimageNotExist: AugmentedError<ApiType>;
/**
* Proposal still blacklisted
**/
@@ -724,6 +694,10 @@ declare module '@polkadot/api-base/types/errors' {
* No track exists for the proposal origin.
**/
NoTrack: AugmentedError<ApiType>;
/**
* The preimage does not exist.
**/
PreimageNotExist: AugmentedError<ApiType>;
/**
* The queue of the track is empty.
**/
@@ -1036,6 +1010,18 @@ declare module '@polkadot/api-base/types/errors' {
[key: string]: AugmentedError<ApiType>;
};
nis: {
/**
* The receipt is already communal.
**/
AlreadyCommunal: AugmentedError<ApiType>;
/**
* There are enough funds for what is required.
**/
AlreadyFunded: AugmentedError<ApiType>;
/**
* The receipt is already private.
**/
AlreadyPrivate: AugmentedError<ApiType>;
/**
* The amount of the bid is less than the minimum allowed.
**/
@@ -1053,10 +1039,6 @@ declare module '@polkadot/api-base/types/errors' {
* The duration of the bid is less than one.
**/
DurationTooSmall: AugmentedError<ApiType>;
/**
* There are enough funds for what is required.
**/
Funded: AugmentedError<ApiType>;
/**
* The operation would result in a receipt worth an insignficant value.
**/
@@ -1065,30 +1047,30 @@ declare module '@polkadot/api-base/types/errors' {
* Bond not yet at expiry date.
**/
NotExpired: AugmentedError<ApiType>;
/**
* The given bid for retraction is not found.
**/
NotFound: AugmentedError<ApiType>;
/**
* Not the owner of the receipt.
**/
NotOwner: AugmentedError<ApiType>;
/**
* The portion supplied is beyond the value of the receipt.
**/
PortionTooBig: AugmentedError<ApiType>;
/**
* The thaw throttle has been reached for this period.
**/
Throttled: AugmentedError<ApiType>;
/**
* The portion supplied is beyond the value of the receipt.
**/
TooMuch: AugmentedError<ApiType>;
/**
* Not enough funds are held to pay out.
**/
Unfunded: AugmentedError<ApiType>;
/**
* Bond index is unknown.
* The given bid for retraction is not found.
**/
Unknown: AugmentedError<ApiType>;
UnknownBid: AugmentedError<ApiType>;
/**
* Receipt index is unknown.
**/
UnknownReceipt: AugmentedError<ApiType>;
/**
* Generic error
**/
@@ -1471,13 +1453,21 @@ declare module '@polkadot/api-base/types/errors' {
**/
InvalidSignature: AugmentedError<ApiType>;
/**
* Too many spam slots used by some specific validator.
* A dispute vote from a malicious backer.
**/
PotentialSpam: AugmentedError<ApiType>;
MaliciousBacker: AugmentedError<ApiType>;
/**
* No backing votes were provides along dispute statements.
**/
MissingBackingVotes: AugmentedError<ApiType>;
/**
* A dispute where there are only votes on one side.
**/
SingleSidedDispute: AugmentedError<ApiType>;
/**
* Unconfirmed dispute statement sets provided.
**/
UnconfirmedDispute: AugmentedError<ApiType>;
/**
* Validator index on statement is out of bounds for session.
**/
@@ -1740,6 +1730,10 @@ declare module '@polkadot/api-base/types/errors' {
* No track exists for the proposal origin.
**/
NoTrack: AugmentedError<ApiType>;
/**
* The preimage does not exist.
**/
PreimageNotExist: AugmentedError<ApiType>;
/**
* The queue of the track is empty.
**/
@@ -2313,6 +2307,10 @@ declare module '@polkadot/api-base/types/errors' {
[key: string]: AugmentedError<ApiType>;
};
xcmPallet: {
/**
* The given account is not an identifiable sovereign account for any location.
**/
AccountNotSovereign: AugmentedError<ApiType>;
/**
* The location is invalid since it already has a subscription from us.
**/
@@ -2338,14 +2336,34 @@ declare module '@polkadot/api-base/types/errors' {
* The assets to be sent are empty.
**/
Empty: AugmentedError<ApiType>;
/**
* The operation required fees to be paid which the initiator could not meet.
**/
FeesNotMet: AugmentedError<ApiType>;
/**
* The message execution fails the filter.
**/
Filtered: AugmentedError<ApiType>;
/**
* The unlock operation cannot succeed because there are still users of the lock.
**/
InUse: AugmentedError<ApiType>;
/**
* Invalid asset for the operation.
**/
InvalidAsset: AugmentedError<ApiType>;
/**
* Origin is invalid for sending.
**/
InvalidOrigin: AugmentedError<ApiType>;
/**
* A remote lock with the corresponding data could not be found.
**/
LockNotFound: AugmentedError<ApiType>;
/**
* The owner does not own (all) of the asset that they wish to do the operation on.
**/
LowBalance: AugmentedError<ApiType>;
/**
* The referenced subscription could not be found.
**/
@@ -2359,6 +2377,10 @@ declare module '@polkadot/api-base/types/errors' {
* Too many assets have been attempted for transfer.
**/
TooManyAssets: AugmentedError<ApiType>;
/**
* The asset owner has too many locks on the asset.
**/
TooManyLocks: AugmentedError<ApiType>;
/**
* The desired destination was unreachable, generally because there is a no way of routing
* to it.
@@ -1,43 +0,0 @@
// Copyright 2017-2023 @polkadot/api-augment authors & contributors
// SPDX-License-Identifier: Apache-2.0
import '@polkadot/api-augment/kusama';
import type { PolkadotRuntimeParachainsUmpPalletEvent, XcmV2TraitsOutcome } from '@polkadot/types/lookup';
import { Metadata, TypeRegistry } from '@polkadot/types';
import metadataStatic from '@polkadot/types-support/metadata/static-kusama';
const registry = new TypeRegistry();
const metadata = new Metadata(registry, metadataStatic);
registry.setMetadata(metadata);
describe('correct types', (): void => {
it('correctly creates XcmV2TraitsOutcome', (): void => {
const test = registry.createType<XcmV2TraitsOutcome>('XcmV2TraitsOutcome', {
Incomplete: [3_000_000_000, 'BadOrigin']
});
expect(test.toHuman()).toEqual({
Incomplete: [
'3,000,000,000',
'BadOrigin'
]
});
expect(test.isIncomplete).toEqual(true);
expect(test.asIncomplete.toHuman()).toEqual([
'3,000,000,000',
'BadOrigin'
]);
});
it('correctly creates PolkadotRuntimeParachainsUmpPalletEvent', (): void => {
const test = registry.createType<PolkadotRuntimeParachainsUmpPalletEvent>('PolkadotRuntimeParachainsUmpPalletEvent', '0x02112233445566778811223344556677881122334455667788112233445566778801005ed0b20000000006');
expect(test.asExecutedUpward[1].asIncomplete.toHuman()).toEqual([
'3,000,000,000',
'BadOrigin'
]);
});
});
+109 -29
View File
@@ -10,7 +10,7 @@ import type { Bytes, Null, Option, Result, U8aFixed, Vec, bool, u128, u16, u32,
import type { ITuple } from '@polkadot/types-codec/types';
import type { EthereumAddress } from '@polkadot/types/interfaces/eth';
import type { AccountId32, H256, Perbill, Perquintill } from '@polkadot/types/interfaces/runtime';
import type { FrameSupportDispatchDispatchInfo, FrameSupportDispatchPostDispatchInfo, FrameSupportPreimagesBounded, FrameSupportTokensMiscBalanceStatus, KusamaRuntimeProxyType, PalletConvictionVotingTally, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletElectionProviderMultiPhaseElectionCompute, PalletImOnlineSr25519AppSr25519Public, PalletMultisigTimepoint, PalletNominationPoolsPoolState, PalletRankedCollectiveTally, PalletRankedCollectiveVoteRecord, PalletStakingExposure, PalletStakingValidatorPrefs, PolkadotParachainPrimitivesHrmpChannelId, PolkadotPrimitivesV2CandidateReceipt, PolkadotRuntimeParachainsDisputesDisputeLocation, PolkadotRuntimeParachainsDisputesDisputeResult, SpFinalityGrandpaAppPublic, SpNposElectionsElectionScore, SpRuntimeDispatchError, SpRuntimeDispatchErrorWithPostInfo, SpWeightsWeightV2Weight, XcmV1MultiLocation, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
import type { FrameSupportDispatchDispatchInfo, FrameSupportDispatchPostDispatchInfo, FrameSupportPreimagesBounded, FrameSupportTokensMiscBalanceStatus, KusamaRuntimeProxyType, PalletConvictionVotingTally, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletElectionProviderMultiPhaseElectionCompute, PalletElectionProviderMultiPhasePhase, PalletImOnlineSr25519AppSr25519Public, PalletMultisigTimepoint, PalletNominationPoolsPoolState, PalletRankedCollectiveTally, PalletRankedCollectiveVoteRecord, PalletStakingExposure, PalletStakingForcing, PalletStakingValidatorPrefs, PolkadotParachainPrimitivesHrmpChannelId, PolkadotPrimitivesV2CandidateReceipt, PolkadotRuntimeParachainsDisputesDisputeLocation, PolkadotRuntimeParachainsDisputesDisputeResult, SpFinalityGrandpaAppPublic, SpNposElectionsElectionScore, SpRuntimeDispatchError, SpRuntimeDispatchErrorWithPostInfo, SpWeightsWeightV2Weight, XcmV3MultiLocation, XcmV3MultiassetMultiAssets, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
export type __AugmentedEvent<ApiType extends ApiTypes> = AugmentedEvent<ApiType>;
@@ -281,6 +281,18 @@ declare module '@polkadot/api-base/types/events' {
* An external proposal has been tabled.
**/
ExternalTabled: AugmentedEvent<ApiType, []>;
/**
* Metadata for a proposal or a referendum has been cleared.
**/
MetadataCleared: AugmentedEvent<ApiType, [owner: PalletDemocracyMetadataOwner, hash_: H256], { owner: PalletDemocracyMetadataOwner, hash_: H256 }>;
/**
* Metadata for a proposal or a referendum has been set.
**/
MetadataSet: AugmentedEvent<ApiType, [owner: PalletDemocracyMetadataOwner, hash_: H256], { owner: PalletDemocracyMetadataOwner, hash_: H256 }>;
/**
* Metadata has been transferred to new owner.
**/
MetadataTransferred: AugmentedEvent<ApiType, [prevOwner: PalletDemocracyMetadataOwner, owner: PalletDemocracyMetadataOwner, hash_: H256], { prevOwner: PalletDemocracyMetadataOwner, owner: PalletDemocracyMetadataOwner, hash_: H256 }>;
/**
* A proposal has been rejected by referendum.
**/
@@ -337,14 +349,14 @@ declare module '@polkadot/api-base/types/events' {
* The election has been finalized, with the given computation and score.
**/
ElectionFinalized: AugmentedEvent<ApiType, [compute: PalletElectionProviderMultiPhaseElectionCompute, score: SpNposElectionsElectionScore], { compute: PalletElectionProviderMultiPhaseElectionCompute, score: SpNposElectionsElectionScore }>;
/**
* There was a phase transition in a given round.
**/
PhaseTransitioned: AugmentedEvent<ApiType, [from: PalletElectionProviderMultiPhasePhase, to: PalletElectionProviderMultiPhasePhase, round: u32], { from: PalletElectionProviderMultiPhasePhase, to: PalletElectionProviderMultiPhasePhase, round: u32 }>;
/**
* An account has been rewarded for their signed submission being finalized.
**/
Rewarded: AugmentedEvent<ApiType, [account: AccountId32, value: u128], { account: AccountId32, value: u128 }>;
/**
* The signed phase of the given round has started.
**/
SignedPhaseStarted: AugmentedEvent<ApiType, [round: u32], { round: u32 }>;
/**
* An account has been slashed for submitting an invalid signed submission.
**/
@@ -352,16 +364,13 @@ declare module '@polkadot/api-base/types/events' {
/**
* A solution was stored with the given compute.
*
* If the solution is signed, this means that it hasn't yet been processed. If the
* solution is unsigned, this means that it has also been processed.
*
* The `bool` is `true` when a previous solution was ejected to make room for this one.
* The `origin` indicates the origin of the solution. If `origin` is `Some(AccountId)`,
* the stored solution was submited in the signed phase by a miner with the `AccountId`.
* Otherwise, the solution was stored either during the unsigned phase or by
* `T::ForceOrigin`. The `bool` is `true` when a previous solution was ejected to make
* room for this one.
**/
SolutionStored: AugmentedEvent<ApiType, [compute: PalletElectionProviderMultiPhaseElectionCompute, prevEjected: bool], { compute: PalletElectionProviderMultiPhaseElectionCompute, prevEjected: bool }>;
/**
* The unsigned phase of the given round has started.
**/
UnsignedPhaseStarted: AugmentedEvent<ApiType, [round: u32], { round: u32 }>;
SolutionStored: AugmentedEvent<ApiType, [compute: PalletElectionProviderMultiPhaseElectionCompute, origin: Option<AccountId32>, prevEjected: bool], { compute: PalletElectionProviderMultiPhaseElectionCompute, origin: Option<AccountId32>, prevEjected: bool }>;
/**
* Generic event
**/
@@ -373,12 +382,12 @@ declare module '@polkadot/api-base/types/events' {
**/
BatchChecked: AugmentedEvent<ApiType, [eras: Vec<u32>], { eras: Vec<u32> }>;
/**
* A batch was terminated.
* A batch of a given size was terminated.
*
* This is always follows by a number of `Unstaked` or `Slashed` events, marking the end
* of the batch. A new batch will be created upon next block.
**/
BatchFinished: AugmentedEvent<ApiType, []>;
BatchFinished: AugmentedEvent<ApiType, [size_: u32], { size_: u32 }>;
/**
* An internal error happened. Operations will be paused now.
**/
@@ -454,6 +463,14 @@ declare module '@polkadot/api-base/types/events' {
* A referendum has been killed.
**/
Killed: AugmentedEvent<ApiType, [index: u32, tally: PalletRankedCollectiveTally], { index: u32, tally: PalletRankedCollectiveTally }>;
/**
* Metadata for a referendum has been cleared.
**/
MetadataCleared: AugmentedEvent<ApiType, [index: u32, hash_: H256], { index: u32, hash_: H256 }>;
/**
* Metadata for a referendum has been set.
**/
MetadataSet: AugmentedEvent<ApiType, [index: u32, hash_: H256], { index: u32, hash_: H256 }>;
/**
* A proposal has been rejected by referendum.
**/
@@ -1028,6 +1045,14 @@ declare module '@polkadot/api-base/types/events' {
* A referendum has been killed.
**/
Killed: AugmentedEvent<ApiType, [index: u32, tally: PalletConvictionVotingTally], { index: u32, tally: PalletConvictionVotingTally }>;
/**
* Metadata for a referendum has been cleared.
**/
MetadataCleared: AugmentedEvent<ApiType, [index: u32, hash_: H256], { index: u32, hash_: H256 }>;
/**
* Metadata for a referendum has been set.
**/
MetadataSet: AugmentedEvent<ApiType, [index: u32, hash_: H256], { index: u32, hash_: H256 }>;
/**
* A proposal has been rejected by referendum.
**/
@@ -1158,6 +1183,10 @@ declare module '@polkadot/api-base/types/events' {
* A new \[max\] member count has been set
**/
NewMaxMembers: AugmentedEvent<ApiType, [max: u32], { max: u32 }>;
/**
* A group of members has been choosen as Skeptics
**/
SkepticsChosen: AugmentedEvent<ApiType, [skeptics: Vec<AccountId32>], { skeptics: Vec<AccountId32> }>;
/**
* A suspended member has been judged.
**/
@@ -1205,6 +1234,10 @@ declare module '@polkadot/api-base/types/events' {
* the remainder from the maximum amount of reward.
**/
EraPaid: AugmentedEvent<ApiType, [eraIndex: u32, validatorPayout: u128, remainder: u128], { eraIndex: u32, validatorPayout: u128, remainder: u128 }>;
/**
* A new force era mode was set.
**/
ForceEra: AugmentedEvent<ApiType, [mode: PalletStakingForcing], { mode: PalletStakingForcing }>;
/**
* A nominator has been kicked from a validator.
**/
@@ -1437,7 +1470,7 @@ declare module '@polkadot/api-base/types/events' {
* Upward message executed with the given outcome.
* \[ id, outcome \]
**/
ExecutedUpward: AugmentedEvent<ApiType, [U8aFixed, XcmV2TraitsOutcome]>;
ExecutedUpward: AugmentedEvent<ApiType, [U8aFixed, XcmV3TraitsOutcome]>;
/**
* Upward message is invalid XCM.
* \[ id \]
@@ -1554,19 +1587,45 @@ declare module '@polkadot/api-base/types/events' {
*
* \[ hash, origin, assets \]
**/
AssetsClaimed: AugmentedEvent<ApiType, [H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;
AssetsClaimed: AugmentedEvent<ApiType, [H256, XcmV3MultiLocation, XcmVersionedMultiAssets]>;
/**
* Some assets have been placed in an asset trap.
*
* \[ hash, origin, assets \]
**/
AssetsTrapped: AugmentedEvent<ApiType, [H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;
AssetsTrapped: AugmentedEvent<ApiType, [H256, XcmV3MultiLocation, XcmVersionedMultiAssets]>;
/**
* Execution of an XCM message was attempted.
*
* \[ outcome \]
**/
Attempted: AugmentedEvent<ApiType, [XcmV2TraitsOutcome]>;
Attempted: AugmentedEvent<ApiType, [XcmV3TraitsOutcome]>;
/**
* Fees were paid from a location for an operation (often for using `SendXcm`).
*
* \[ paying location, fees \]
**/
FeesPaid: AugmentedEvent<ApiType, [XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>;
/**
* Expected query response has been received but the querier location of the response does
* not match the expected. The query remains registered for a later, valid, response to
* be received and acted upon.
*
* \[ origin location, id, expected querier, maybe actual querier \]
**/
InvalidQuerier: AugmentedEvent<ApiType, [XcmV3MultiLocation, u64, XcmV3MultiLocation, Option<XcmV3MultiLocation>]>;
/**
* Expected query response has been received but the expected querier location placed in
* storage by this runtime previously cannot be decoded. The query remains registered.
*
* This is unexpected (since a location placed in storage in a previously executing
* runtime should be readable prior to query timeout) and dangerous since the possibly
* valid response will be dropped. Manual governance intervention is probably going to be
* needed.
*
* \[ origin location, id \]
**/
InvalidQuerierVersion: AugmentedEvent<ApiType, [XcmV3MultiLocation, u64]>;
/**
* Expected query response has been received but the origin location of the response does
* not match that expected. The query remains registered for a later, valid, response to
@@ -1574,7 +1633,7 @@ declare module '@polkadot/api-base/types/events' {
*
* \[ origin location, id, expected location \]
**/
InvalidResponder: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;
InvalidResponder: AugmentedEvent<ApiType, [XcmV3MultiLocation, u64, Option<XcmV3MultiLocation>]>;
/**
* Expected query response has been received but the expected origin location placed in
* storage by this runtime previously cannot be decoded. The query remains registered.
@@ -1586,7 +1645,7 @@ declare module '@polkadot/api-base/types/events' {
*
* \[ origin location, id \]
**/
InvalidResponderVersion: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64]>;
InvalidResponderVersion: AugmentedEvent<ApiType, [XcmV3MultiLocation, u64]>;
/**
* Query response has been received and query is removed. The registered notification has
* been dispatched and executed successfully.
@@ -1630,14 +1689,14 @@ declare module '@polkadot/api-base/types/events' {
*
* \[ location, query ID, error \]
**/
NotifyTargetSendFail: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64, XcmV2TraitsError]>;
NotifyTargetSendFail: AugmentedEvent<ApiType, [XcmV3MultiLocation, u64, XcmV3TraitsError]>;
/**
* Query response has been received and is ready for taking with `take_response`. There is
* no registered notification call.
*
* \[ id, response \]
**/
ResponseReady: AugmentedEvent<ApiType, [u64, XcmV2Response]>;
ResponseReady: AugmentedEvent<ApiType, [u64, XcmV3Response]>;
/**
* Received query response has been read and removed.
*
@@ -1649,14 +1708,14 @@ declare module '@polkadot/api-base/types/events' {
*
* \[ origin, destination, message \]
**/
Sent: AugmentedEvent<ApiType, [XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;
Sent: AugmentedEvent<ApiType, [XcmV3MultiLocation, XcmV3MultiLocation, XcmV3Xcm]>;
/**
* The supported version of a location has been changed. This might be through an
* automatic notification or a manual intervention.
*
* \[ location, XCM version \]
**/
SupportedVersionChanged: AugmentedEvent<ApiType, [XcmV1MultiLocation, u32]>;
SupportedVersionChanged: AugmentedEvent<ApiType, [XcmV3MultiLocation, u32]>;
/**
* Query response received which does not match a registered query. This may be because a
* matching query was never registered, it may be because it is a duplicate response, or
@@ -1664,13 +1723,34 @@ declare module '@polkadot/api-base/types/events' {
*
* \[ origin location, id \]
**/
UnexpectedResponse: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64]>;
UnexpectedResponse: AugmentedEvent<ApiType, [XcmV3MultiLocation, u64]>;
/**
* An XCM version change notification message has been attempted to be sent.
*
* \[ destination, result \]
* The cost of sending it (borne by the chain) is included.
*
* \[ destination, result, cost \]
**/
VersionChangeNotified: AugmentedEvent<ApiType, [XcmV1MultiLocation, u32]>;
VersionChangeNotified: AugmentedEvent<ApiType, [XcmV3MultiLocation, u32, XcmV3MultiassetMultiAssets]>;
/**
* We have requested that a remote chain sends us XCM version change notifications.
*
* \[ destination location, cost \]
**/
VersionNotifyRequested: AugmentedEvent<ApiType, [XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>;
/**
* A remote has requested XCM version change notification from us and we have honored it.
* A version information message is sent to them and its cost is included.
*
* \[ destination location, cost \]
**/
VersionNotifyStarted: AugmentedEvent<ApiType, [XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>;
/**
* We have requested that a remote chain stops sending us XCM version change notifications.
*
* \[ destination location, cost \]
**/
VersionNotifyUnrequested: AugmentedEvent<ApiType, [XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>;
/**
* Generic event
**/
+71 -21
View File
@@ -7,11 +7,11 @@ import '@polkadot/api-base/types/storage';
import type { ApiTypes, AugmentedQuery, QueryableStorageEntry } from '@polkadot/api-base/types';
import type { Data } from '@polkadot/types';
import type { Bytes, Null, Option, U8aFixed, Vec, WrapperOpaque, bool, u128, u16, u32, u64 } from '@polkadot/types-codec';
import type { BTreeSet, Bytes, Null, Option, U8aFixed, Vec, WrapperOpaque, bool, u128, u16, u32, u64 } from '@polkadot/types-codec';
import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
import type { EthereumAddress } from '@polkadot/types/interfaces/eth';
import type { AccountId32, Call, H256, Perbill, Percent } from '@polkadot/types/interfaces/runtime';
import type { FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, KusamaRuntimeSessionKeys, PalletAuthorshipUncleEntryItem, PalletBagsListListBag, PalletBagsListListNode, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletBountiesBounty, PalletChildBountiesChildBounty, PalletCollectiveVotes, PalletConvictionVotingVoteVoting, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletElectionProviderMultiPhasePhase, PalletElectionProviderMultiPhaseReadySolution, PalletElectionProviderMultiPhaseRoundSnapshot, PalletElectionProviderMultiPhaseSignedSignedSubmission, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenSeatHolder, PalletElectionsPhragmenVoter, PalletFastUnstakeUnstakeRequest, PalletGrandpaStoredPendingChange, PalletGrandpaStoredState, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletImOnlineBoundedOpaqueNetworkState, PalletImOnlineSr25519AppSr25519Public, PalletMultisigMultisig, PalletNisBid, PalletNisReceiptRecord, PalletNisSummaryRecord, PalletNominationPoolsBondedPoolInner, PalletNominationPoolsPoolMember, PalletNominationPoolsRewardPool, PalletNominationPoolsSubPools, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletRankedCollectiveMemberRecord, PalletRankedCollectiveVoteRecord, PalletRecoveryActiveRecovery, PalletRecoveryRecoveryConfig, PalletReferendaReferendumInfoConvictionVotingTally, PalletReferendaReferendumInfoRankedCollectiveTally, PalletSchedulerScheduled, PalletSocietyBid, PalletSocietyBidKind, PalletSocietyVote, PalletSocietyVouchingStatus, PalletStakingActiveEraInfo, PalletStakingEraRewardPoints, PalletStakingExposure, PalletStakingForcing, PalletStakingNominations, PalletStakingRewardDestination, PalletStakingSlashingSlashingSpans, PalletStakingSlashingSpanRecord, PalletStakingStakingLedger, PalletStakingUnappliedSlash, PalletStakingValidatorPrefs, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletXcmQueryStatus, PalletXcmVersionMigrationStage, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotParachainPrimitivesHrmpChannelId, PolkadotPrimitivesV2AssignmentAppPublic, PolkadotPrimitivesV2CandidateCommitments, PolkadotPrimitivesV2CoreOccupied, PolkadotPrimitivesV2DisputeState, PolkadotPrimitivesV2ScrapedOnChainVotes, PolkadotPrimitivesV2SessionInfo, PolkadotPrimitivesV2UpgradeGoAhead, PolkadotPrimitivesV2UpgradeRestriction, PolkadotPrimitivesV2ValidatorAppPublic, PolkadotRuntimeCommonClaimsStatementKind, PolkadotRuntimeCommonCrowdloanFundInfo, PolkadotRuntimeCommonParasRegistrarParaInfo, PolkadotRuntimeParachainsConfigurationHostConfiguration, PolkadotRuntimeParachainsHrmpHrmpChannel, PolkadotRuntimeParachainsHrmpHrmpOpenChannelRequest, PolkadotRuntimeParachainsInclusionAvailabilityBitfieldRecord, PolkadotRuntimeParachainsInclusionCandidatePendingAvailability, PolkadotRuntimeParachainsInitializerBufferedSessionChange, PolkadotRuntimeParachainsParasParaGenesisArgs, PolkadotRuntimeParachainsParasParaLifecycle, PolkadotRuntimeParachainsParasParaPastCodeMeta, PolkadotRuntimeParachainsParasPvfCheckActiveVoteState, PolkadotRuntimeParachainsSchedulerCoreAssignment, PolkadotRuntimeParachainsSchedulerParathreadClaimQueue, SpConsensusBabeAppPublic, SpConsensusBabeBabeEpochConfiguration, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusBabeDigestsPreDigest, SpCoreCryptoKeyTypeId, SpNposElectionsElectionScore, SpRuntimeDigest, SpStakingOffenceOffenceDetails, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
import type { FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, KusamaRuntimeSessionKeys, PalletBagsListListBag, PalletBagsListListNode, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletBountiesBounty, PalletChildBountiesChildBounty, PalletCollectiveVotes, PalletConvictionVotingVoteVoting, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletElectionProviderMultiPhasePhase, PalletElectionProviderMultiPhaseReadySolution, PalletElectionProviderMultiPhaseRoundSnapshot, PalletElectionProviderMultiPhaseSignedSignedSubmission, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenSeatHolder, PalletElectionsPhragmenVoter, PalletFastUnstakeUnstakeRequest, PalletGrandpaStoredPendingChange, PalletGrandpaStoredState, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletImOnlineBoundedOpaqueNetworkState, PalletImOnlineSr25519AppSr25519Public, PalletMultisigMultisig, PalletNisBid, PalletNisReceiptRecord, PalletNisSummaryRecord, PalletNominationPoolsBondedPoolInner, PalletNominationPoolsPoolMember, PalletNominationPoolsRewardPool, PalletNominationPoolsSubPools, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletRankedCollectiveMemberRecord, PalletRankedCollectiveVoteRecord, PalletRecoveryActiveRecovery, PalletRecoveryRecoveryConfig, PalletReferendaReferendumInfoConvictionVotingTally, PalletReferendaReferendumInfoRankedCollectiveTally, PalletSchedulerScheduled, PalletSocietyBid, PalletSocietyBidKind, PalletSocietyVote, PalletSocietyVouchingStatus, PalletStakingActiveEraInfo, PalletStakingEraRewardPoints, PalletStakingExposure, PalletStakingForcing, PalletStakingNominations, PalletStakingRewardDestination, PalletStakingSlashingSlashingSpans, PalletStakingSlashingSpanRecord, PalletStakingStakingLedger, PalletStakingUnappliedSlash, PalletStakingValidatorPrefs, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotParachainPrimitivesHrmpChannelId, PolkadotPrimitivesV2AssignmentAppPublic, PolkadotPrimitivesV2CandidateCommitments, PolkadotPrimitivesV2CoreOccupied, PolkadotPrimitivesV2DisputeState, PolkadotPrimitivesV2ScrapedOnChainVotes, PolkadotPrimitivesV2SessionInfo, PolkadotPrimitivesV2UpgradeGoAhead, PolkadotPrimitivesV2UpgradeRestriction, PolkadotPrimitivesV2ValidatorAppPublic, PolkadotPrimitivesVstagingExecutorParams, PolkadotRuntimeCommonClaimsStatementKind, PolkadotRuntimeCommonCrowdloanFundInfo, PolkadotRuntimeCommonParasRegistrarParaInfo, PolkadotRuntimeParachainsConfigurationHostConfiguration, PolkadotRuntimeParachainsHrmpHrmpChannel, PolkadotRuntimeParachainsHrmpHrmpOpenChannelRequest, PolkadotRuntimeParachainsInclusionAvailabilityBitfieldRecord, PolkadotRuntimeParachainsInclusionCandidatePendingAvailability, PolkadotRuntimeParachainsInitializerBufferedSessionChange, PolkadotRuntimeParachainsParasParaGenesisArgs, PolkadotRuntimeParachainsParasParaLifecycle, PolkadotRuntimeParachainsParasParaPastCodeMeta, PolkadotRuntimeParachainsParasPvfCheckActiveVoteState, PolkadotRuntimeParachainsSchedulerCoreAssignment, PolkadotRuntimeParachainsSchedulerParathreadClaimQueue, SpConsensusBabeAppPublic, SpConsensusBabeBabeEpochConfiguration, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusBabeDigestsPreDigest, SpCoreCryptoKeyTypeId, SpNposElectionsElectionScore, SpRuntimeDigest, SpStakingOffenceOffenceDetails, SpWeightsWeightV2Weight, XcmVersionedAssetId, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
import type { Observable } from '@polkadot/types/types';
export type __AugmentedQuery<ApiType extends ApiTypes> = AugmentedQuery<ApiType, () => unknown>;
@@ -53,14 +53,6 @@ declare module '@polkadot/api-base/types/storage' {
* Author of current block.
**/
author: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Whether uncles were already set in this block.
**/
didSetUncles: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Uncles
**/
uncles: AugmentedQuery<ApiType, () => Observable<Vec<PalletAuthorshipUncleEntryItem>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Generic query
**/
@@ -411,6 +403,15 @@ declare module '@polkadot/api-base/types/storage' {
* `ReferendumCount` if there isn't a unbaked referendum.
**/
lowestUnbaked: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
/**
* General information concerning any proposal or referendum.
* The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON
* dump or IPFS hash of a JSON file.
*
* Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)
* large preimages.
**/
metadataOf: AugmentedQuery<ApiType, (arg: PalletDemocracyMetadataOwner | { External: any } | { Proposal: any } | { Referendum: any } | string | Uint8Array) => Observable<Option<H256>>, [PalletDemocracyMetadataOwner]> & QueryableStorageEntry<ApiType, [PalletDemocracyMetadataOwner]>;
/**
* The referendum to be tabled whenever it would be valid to table an external proposal.
* This happens when a referendum needs to be tabled and one of two conditions are met:
@@ -569,6 +570,8 @@ declare module '@polkadot/api-base/types/storage' {
* The map of all accounts wishing to be unstaked.
*
* Keeps track of `AccountId` wishing to unstake and it's corresponding deposit.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
queue: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<u128>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
@@ -610,6 +613,15 @@ declare module '@polkadot/api-base/types/storage' {
* The number of referenda being decided currently.
**/
decidingCount: AugmentedQuery<ApiType, (arg: u16 | AnyNumber | Uint8Array) => Observable<u32>, [u16]> & QueryableStorageEntry<ApiType, [u16]>;
/**
* The metadata is a general information concerning the referendum.
* The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON
* dump or IPFS hash of a JSON file.
*
* Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)
* large preimages.
**/
metadataOf: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<H256>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
/**
* The next free referendum index, aka the number of referenda started so far.
**/
@@ -648,6 +660,12 @@ declare module '@polkadot/api-base/types/storage' {
* A mapping from grandpa set ID to the index of the *most recent* session for which its
* members were responsible.
*
* This is only used for validating equivocation proofs. An equivocation proof must
* contains a key-ownership proof for a given session, therefore we need a way to tie
* together sessions and GRANDPA set ids, i.e. we need to validate that a validator
* was the owner of a given key on a given session, and what the active set ID was
* during that session.
*
* TWOX-NOTE: `SetId` is not under user control.
**/
setIdSession: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>;
@@ -1003,6 +1021,8 @@ declare module '@polkadot/api-base/types/storage' {
minJoinBond: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Active members.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
poolMembers: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<PalletNominationPoolsPoolMember>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
@@ -1276,6 +1296,11 @@ declare module '@polkadot/api-base/types/storage' {
[key: string]: QueryableStorageEntry<ApiType>;
};
parasDisputes: {
/**
* Backing votes stored for each dispute.
* This storage is used for slashing.
**/
backersOnDisputes: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: H256 | string | Uint8Array) => Observable<Option<BTreeSet<u32>>>, [u32, H256]> & QueryableStorageEntry<ApiType, [u32, H256]>;
/**
* All ongoing or concluded disputes for the last several sessions.
**/
@@ -1297,14 +1322,6 @@ declare module '@polkadot/api-base/types/storage' {
* references sessions.
**/
lastPrunedSession: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Maps session indices to a vector indicating the number of potentially-spam disputes
* each validator is participating in. Potentially-spam disputes are remote disputes which have
* fewer than `byzantine_threshold + 1` validators.
*
* The i'th entry of the vector corresponds to the i'th validator in the session.
**/
spamSlots: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<Vec<u32>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
/**
* Generic query
**/
@@ -1325,6 +1342,10 @@ declare module '@polkadot/api-base/types/storage' {
* The earliest session for which previous session info is stored.
**/
earliestStoredSession: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Executor parameter set for a given session index
**/
sessionExecutorParams: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<PolkadotPrimitivesVstagingExecutorParams>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
/**
* Session information in a rolling window.
* Should have an entry in range `EarliestStoredSession..=CurrentSessionIndex`.
@@ -1448,6 +1469,15 @@ declare module '@polkadot/api-base/types/storage' {
* The number of referenda being decided currently.
**/
decidingCount: AugmentedQuery<ApiType, (arg: u16 | AnyNumber | Uint8Array) => Observable<u32>, [u16]> & QueryableStorageEntry<ApiType, [u16]>;
/**
* The metadata is a general information concerning the referendum.
* The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON
* dump or IPFS hash of a JSON file.
*
* Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)
* large preimages.
**/
metadataOf: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<H256>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
/**
* The next free referendum index, aka the number of referenda started so far.
**/
@@ -1653,6 +1683,8 @@ declare module '@polkadot/api-base/types/storage' {
activeEra: AugmentedQuery<ApiType, () => Observable<Option<PalletStakingActiveEraInfo>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Map from all locked "stash" accounts to the controller account.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
bonded: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<AccountId32>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
@@ -1813,6 +1845,8 @@ declare module '@polkadot/api-base/types/storage' {
*
* Lastly, if any of the nominators become non-decodable, they can be chilled immediately via
* [`Call::chill_other`] dispatchable by anyone.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
nominators: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<PalletStakingNominations>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
@@ -1833,6 +1867,8 @@ declare module '@polkadot/api-base/types/storage' {
offendingValidators: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[u32, bool]>>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Where the reward payment should be made. Keyed by stash.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
payee: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<PalletStakingRewardDestination>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
@@ -1860,6 +1896,8 @@ declare module '@polkadot/api-base/types/storage' {
validatorCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
/**
* The map from (wannabe) validator stash key to the preferences of that validator.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
validators: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<PalletStakingValidatorPrefs>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
@@ -2064,6 +2102,10 @@ declare module '@polkadot/api-base/types/storage' {
[key: string]: QueryableStorageEntry<ApiType>;
};
ump: {
/**
* Counter for the related counted storage map
**/
counterForOverweight: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
/**
* The ordered list of `ParaId`s that have a `RelayDispatchQueue` entry.
*
@@ -2176,6 +2218,10 @@ declare module '@polkadot/api-base/types/storage' {
* The current migration's stage, if any.
**/
currentMigration: AugmentedQuery<ApiType, () => Observable<Option<PalletXcmVersionMigrationStage>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Fungible assets which we know are locked on this chain.
**/
lockedFungibles: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<Vec<ITuple<[u128, XcmVersionedMultiLocation]>>>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
* The ongoing queries.
**/
@@ -2184,6 +2230,10 @@ declare module '@polkadot/api-base/types/storage' {
* The latest available query index.
**/
queryCounter: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Fungible assets which we know are locked on a remote chain.
**/
remoteLockedFungibles: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array, arg3: XcmVersionedAssetId | { V3: any } | string | Uint8Array) => Observable<Option<PalletXcmRemoteLockedFungibleRecord>>, [u32, AccountId32, XcmVersionedAssetId]> & QueryableStorageEntry<ApiType, [u32, AccountId32, XcmVersionedAssetId]>;
/**
* Default version to encode XCM when latest version of destination is unknown. If `None`,
* then the destinations whose XCM version is unknown are considered unreachable.
@@ -2192,7 +2242,7 @@ declare module '@polkadot/api-base/types/storage' {
/**
* The Latest versions that we know various locations support.
**/
supportedVersion: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array) => Observable<Option<u32>>, [u32, XcmVersionedMultiLocation]> & QueryableStorageEntry<ApiType, [u32, XcmVersionedMultiLocation]>;
supportedVersion: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array) => Observable<Option<u32>>, [u32, XcmVersionedMultiLocation]> & QueryableStorageEntry<ApiType, [u32, XcmVersionedMultiLocation]>;
/**
* Destinations whose latest XCM version we would like to know. Duplicates not allowed, and
* the `u32` counter is the number of times that a send to the destination has been attempted,
@@ -2202,12 +2252,12 @@ declare module '@polkadot/api-base/types/storage' {
/**
* All locations that we have requested version notifications from.
**/
versionNotifiers: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array) => Observable<Option<u64>>, [u32, XcmVersionedMultiLocation]> & QueryableStorageEntry<ApiType, [u32, XcmVersionedMultiLocation]>;
versionNotifiers: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array) => Observable<Option<u64>>, [u32, XcmVersionedMultiLocation]> & QueryableStorageEntry<ApiType, [u32, XcmVersionedMultiLocation]>;
/**
* The target locations that are subscribed to our version changes, as well as the most recent
* of our versions we informed them of.
**/
versionNotifyTargets: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array) => Observable<Option<ITuple<[u64, u64, u32]>>>, [u32, XcmVersionedMultiLocation]> & QueryableStorageEntry<ApiType, [u32, XcmVersionedMultiLocation]>;
versionNotifyTargets: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array) => Observable<Option<ITuple<[u64, SpWeightsWeightV2Weight, u32]>>>, [u32, XcmVersionedMultiLocation]> & QueryableStorageEntry<ApiType, [u32, XcmVersionedMultiLocation]>;
/**
* Generic query
**/
+19 -3
View File
@@ -19,7 +19,7 @@ import type { OpaqueMetadata } from '@polkadot/types/interfaces/metadata';
import type { MmrBatchProof, MmrEncodableOpaqueLeaf, MmrError, MmrLeafIndex, MmrProof } from '@polkadot/types/interfaces/mmr';
import type { CandidateCommitments, CandidateEvent, CommittedCandidateReceipt, CoreState, GroupRotationInfo, InboundDownwardMessage, InboundHrmpMessage, OccupiedCoreAssumption, ParaId, ParaValidatorIndex, PersistedValidationData, PvfCheckStatement, ScrapedOnChainVotes, SessionInfo, ValidationCode, ValidationCodeHash, ValidatorSignature } from '@polkadot/types/interfaces/parachains';
import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment';
import type { AccountId, Balance, Block, Call, Hash, Header, Index, KeyTypeId, Slot, ValidatorId } from '@polkadot/types/interfaces/runtime';
import type { AccountId, Balance, Block, Call, Hash, Header, Index, KeyTypeId, Slot, ValidatorId, Weight } from '@polkadot/types/interfaces/runtime';
import type { SessionIndex } from '@polkadot/types/interfaces/session';
import type { RuntimeVersion } from '@polkadot/types/interfaces/state';
import type { ApplyExtrinsicResult } from '@polkadot/types/interfaces/system';
@@ -333,7 +333,7 @@ declare module '@polkadot/api-base/types/calls' {
**/
[key: string]: DecoratedCallBase<ApiType>;
};
/** 0x37c8bb1350a9a2a8/2 */
/** 0x37c8bb1350a9a2a8/3 */
transactionPaymentApi: {
/**
* The transaction fee details
@@ -343,12 +343,20 @@ declare module '@polkadot/api-base/types/calls' {
* The transaction info
**/
queryInfo: AugmentedCall<ApiType, (uxt: Extrinsic | IExtrinsic | string | Uint8Array, len: u32 | AnyNumber | Uint8Array) => Observable<RuntimeDispatchInfo>>;
/**
* Query the output of the current LengthToFee given some input
**/
queryLengthToFee: AugmentedCall<ApiType, (length: u32 | AnyNumber | Uint8Array) => Observable<Balance>>;
/**
* Query the output of the current WeightToFee given some input
**/
queryWeightToFee: AugmentedCall<ApiType, (weight: Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => Observable<Balance>>;
/**
* Generic call
**/
[key: string]: DecoratedCallBase<ApiType>;
};
/** 0xf3ff14d5ab527059/2 */
/** 0xf3ff14d5ab527059/3 */
transactionPaymentCallApi: {
/**
* The call fee details
@@ -358,6 +366,14 @@ declare module '@polkadot/api-base/types/calls' {
* The call info
**/
queryCallInfo: AugmentedCall<ApiType, (call: Call | IMethod | string | Uint8Array, len: u32 | AnyNumber | Uint8Array) => Observable<RuntimeDispatchInfo>>;
/**
* Query the output of the current LengthToFee given some input
**/
queryLengthToFee: AugmentedCall<ApiType, (length: u32 | AnyNumber | Uint8Array) => Observable<Balance>>;
/**
* Query the output of the current WeightToFee given some input
**/
queryWeightToFee: AugmentedCall<ApiType, (weight: Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => Observable<Balance>>;
/**
* Generic call
**/
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -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.11.1' };
export const packageInfo = { name: '@polkadot/api-augment', path: 'auto', type: 'auto', version: '9.14.2' };
+23 -16
View File
@@ -33,18 +33,6 @@ declare module '@polkadot/api-base/types/consts' {
**/
[key: string]: Codec;
};
authorship: {
/**
* The number of blocks back we should accept uncles.
* This means that we will deal with uncle-parents that are
* `UncleGenerations + 1` before `now`.
**/
uncleGenerations: u32 & AugmentedConst<ApiType>;
/**
* Generic const
**/
[key: string]: Codec;
};
babe: {
/**
* The amount of time, in slots, that each epoch should last.
@@ -350,6 +338,15 @@ declare module '@polkadot/api-base/types/consts' {
* Max Authorities in use
**/
maxAuthorities: u32 & AugmentedConst<ApiType>;
/**
* The maximum number of entries to keep in the set id to session index mapping.
*
* Since the `SetIdSession` map is only used for validating equivocations this
* value should relate to the bonding duration of whatever staking system is
* being used (if any). If equivocation handling is not enabled then this value
* can be zero.
**/
maxSetIdSessionEntries: u64 & AugmentedConst<ApiType>;
/**
* Generic const
**/
@@ -485,18 +482,28 @@ declare module '@polkadot/api-base/types/consts' {
/**
* The maximum number of candidates in a phragmen election.
*
* Warning: The election happens onchain, and this value will determine
* the size of the election. When this limit is reached no more
* candidates are accepted in the election.
* Warning: This impacts the size of the election which is run onchain. Chose wisely, and
* consider how it will impact `T::WeightInfo::election_phragmen`.
*
* When this limit is reached no more candidates are accepted in the election.
**/
maxCandidates: u32 & AugmentedConst<ApiType>;
/**
* The maximum number of voters to allow in a phragmen election.
*
* Warning: This impacts the size of the election which is run onchain.
* Warning: This impacts the size of the election which is run onchain. Chose wisely, and
* consider how it will impact `T::WeightInfo::election_phragmen`.
*
* When the limit is reached the new voters are ignored.
**/
maxVoters: u32 & AugmentedConst<ApiType>;
/**
* Maximum numbers of votes per voter.
*
* Warning: This impacts the size of the election which is run onchain. Chose wisely, and
* consider how it will impact `T::WeightInfo::election_phragmen`.
**/
maxVotesPerVoter: u32 & AugmentedConst<ApiType>;
/**
* Identifier for the elections-phragmen pallet's lock
**/
+42 -36
View File
@@ -45,40 +45,6 @@ declare module '@polkadot/api-base/types/errors' {
**/
[key: string]: AugmentedError<ApiType>;
};
authorship: {
/**
* The uncle is genesis.
**/
GenesisUncle: AugmentedError<ApiType>;
/**
* The uncle parent not in the chain.
**/
InvalidUncleParent: AugmentedError<ApiType>;
/**
* The uncle isn't recent enough to be included.
**/
OldUncle: AugmentedError<ApiType>;
/**
* The uncle is too high in chain.
**/
TooHighUncle: AugmentedError<ApiType>;
/**
* Too many uncles.
**/
TooManyUncles: AugmentedError<ApiType>;
/**
* The uncle is already included.
**/
UncleAlreadyIncluded: AugmentedError<ApiType>;
/**
* Uncles already set in the block.
**/
UnclesAlreadySet: AugmentedError<ApiType>;
/**
* Generic error
**/
[key: string]: AugmentedError<ApiType>;
};
babe: {
/**
* A given equivocation report is valid but already previously reported.
@@ -454,6 +420,10 @@ declare module '@polkadot/api-base/types/errors' {
* The given account did not vote on the referendum.
**/
NotVoter: AugmentedError<ApiType>;
/**
* The preimage does not exist.
**/
PreimageNotExist: AugmentedError<ApiType>;
/**
* Proposal still blacklisted
**/
@@ -1223,13 +1193,21 @@ declare module '@polkadot/api-base/types/errors' {
**/
InvalidSignature: AugmentedError<ApiType>;
/**
* Too many spam slots used by some specific validator.
* A dispute vote from a malicious backer.
**/
PotentialSpam: AugmentedError<ApiType>;
MaliciousBacker: AugmentedError<ApiType>;
/**
* No backing votes were provides along dispute statements.
**/
MissingBackingVotes: AugmentedError<ApiType>;
/**
* A dispute where there are only votes on one side.
**/
SingleSidedDispute: AugmentedError<ApiType>;
/**
* Unconfirmed dispute statement sets provided.
**/
UnconfirmedDispute: AugmentedError<ApiType>;
/**
* Validator index on statement is out of bounds for session.
**/
@@ -1837,6 +1815,10 @@ declare module '@polkadot/api-base/types/errors' {
[key: string]: AugmentedError<ApiType>;
};
xcmPallet: {
/**
* The given account is not an identifiable sovereign account for any location.
**/
AccountNotSovereign: AugmentedError<ApiType>;
/**
* The location is invalid since it already has a subscription from us.
**/
@@ -1862,14 +1844,34 @@ declare module '@polkadot/api-base/types/errors' {
* The assets to be sent are empty.
**/
Empty: AugmentedError<ApiType>;
/**
* The operation required fees to be paid which the initiator could not meet.
**/
FeesNotMet: AugmentedError<ApiType>;
/**
* The message execution fails the filter.
**/
Filtered: AugmentedError<ApiType>;
/**
* The unlock operation cannot succeed because there are still users of the lock.
**/
InUse: AugmentedError<ApiType>;
/**
* Invalid asset for the operation.
**/
InvalidAsset: AugmentedError<ApiType>;
/**
* Origin is invalid for sending.
**/
InvalidOrigin: AugmentedError<ApiType>;
/**
* A remote lock with the corresponding data could not be found.
**/
LockNotFound: AugmentedError<ApiType>;
/**
* The owner does not own (all) of the asset that they wish to do the operation on.
**/
LowBalance: AugmentedError<ApiType>;
/**
* The referenced subscription could not be found.
**/
@@ -1883,6 +1885,10 @@ declare module '@polkadot/api-base/types/errors' {
* Too many assets have been attempted for transfer.
**/
TooManyAssets: AugmentedError<ApiType>;
/**
* The asset owner has too many locks on the asset.
**/
TooManyLocks: AugmentedError<ApiType>;
/**
* The desired destination was unreachable, generally because there is a no way of routing
* to it.
+89 -29
View File
@@ -10,7 +10,7 @@ import type { Bytes, Null, Option, Result, U8aFixed, Vec, bool, u128, u16, u32,
import type { ITuple } from '@polkadot/types-codec/types';
import type { EthereumAddress } from '@polkadot/types/interfaces/eth';
import type { AccountId32, H256, Perbill } from '@polkadot/types/interfaces/runtime';
import type { FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletElectionProviderMultiPhaseElectionCompute, PalletImOnlineSr25519AppSr25519Public, PalletMultisigTimepoint, PalletNominationPoolsPoolState, PalletStakingExposure, PalletStakingValidatorPrefs, PolkadotParachainPrimitivesHrmpChannelId, PolkadotPrimitivesV2CandidateReceipt, PolkadotRuntimeParachainsDisputesDisputeLocation, PolkadotRuntimeParachainsDisputesDisputeResult, PolkadotRuntimeProxyType, SpFinalityGrandpaAppPublic, SpNposElectionsElectionScore, SpRuntimeDispatchError, SpWeightsWeightV2Weight, XcmV1MultiLocation, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
import type { FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletElectionProviderMultiPhaseElectionCompute, PalletElectionProviderMultiPhasePhase, PalletImOnlineSr25519AppSr25519Public, PalletMultisigTimepoint, PalletNominationPoolsPoolState, PalletStakingExposure, PalletStakingForcing, PalletStakingValidatorPrefs, PolkadotParachainPrimitivesHrmpChannelId, PolkadotPrimitivesV2CandidateReceipt, PolkadotRuntimeParachainsDisputesDisputeLocation, PolkadotRuntimeParachainsDisputesDisputeResult, PolkadotRuntimeProxyType, SpFinalityGrandpaAppPublic, SpNposElectionsElectionScore, SpRuntimeDispatchError, SpWeightsWeightV2Weight, XcmV3MultiLocation, XcmV3MultiassetMultiAssets, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
export type __AugmentedEvent<ApiType extends ApiTypes> = AugmentedEvent<ApiType>;
@@ -267,6 +267,18 @@ declare module '@polkadot/api-base/types/events' {
* An external proposal has been tabled.
**/
ExternalTabled: AugmentedEvent<ApiType, []>;
/**
* Metadata for a proposal or a referendum has been cleared.
**/
MetadataCleared: AugmentedEvent<ApiType, [owner: PalletDemocracyMetadataOwner, hash_: H256], { owner: PalletDemocracyMetadataOwner, hash_: H256 }>;
/**
* Metadata for a proposal or a referendum has been set.
**/
MetadataSet: AugmentedEvent<ApiType, [owner: PalletDemocracyMetadataOwner, hash_: H256], { owner: PalletDemocracyMetadataOwner, hash_: H256 }>;
/**
* Metadata has been transferred to new owner.
**/
MetadataTransferred: AugmentedEvent<ApiType, [prevOwner: PalletDemocracyMetadataOwner, owner: PalletDemocracyMetadataOwner, hash_: H256], { prevOwner: PalletDemocracyMetadataOwner, owner: PalletDemocracyMetadataOwner, hash_: H256 }>;
/**
* A proposal has been rejected by referendum.
**/
@@ -323,14 +335,14 @@ declare module '@polkadot/api-base/types/events' {
* The election has been finalized, with the given computation and score.
**/
ElectionFinalized: AugmentedEvent<ApiType, [compute: PalletElectionProviderMultiPhaseElectionCompute, score: SpNposElectionsElectionScore], { compute: PalletElectionProviderMultiPhaseElectionCompute, score: SpNposElectionsElectionScore }>;
/**
* There was a phase transition in a given round.
**/
PhaseTransitioned: AugmentedEvent<ApiType, [from: PalletElectionProviderMultiPhasePhase, to: PalletElectionProviderMultiPhasePhase, round: u32], { from: PalletElectionProviderMultiPhasePhase, to: PalletElectionProviderMultiPhasePhase, round: u32 }>;
/**
* An account has been rewarded for their signed submission being finalized.
**/
Rewarded: AugmentedEvent<ApiType, [account: AccountId32, value: u128], { account: AccountId32, value: u128 }>;
/**
* The signed phase of the given round has started.
**/
SignedPhaseStarted: AugmentedEvent<ApiType, [round: u32], { round: u32 }>;
/**
* An account has been slashed for submitting an invalid signed submission.
**/
@@ -338,16 +350,13 @@ declare module '@polkadot/api-base/types/events' {
/**
* A solution was stored with the given compute.
*
* If the solution is signed, this means that it hasn't yet been processed. If the
* solution is unsigned, this means that it has also been processed.
*
* The `bool` is `true` when a previous solution was ejected to make room for this one.
* The `origin` indicates the origin of the solution. If `origin` is `Some(AccountId)`,
* the stored solution was submited in the signed phase by a miner with the `AccountId`.
* Otherwise, the solution was stored either during the unsigned phase or by
* `T::ForceOrigin`. The `bool` is `true` when a previous solution was ejected to make
* room for this one.
**/
SolutionStored: AugmentedEvent<ApiType, [compute: PalletElectionProviderMultiPhaseElectionCompute, prevEjected: bool], { compute: PalletElectionProviderMultiPhaseElectionCompute, prevEjected: bool }>;
/**
* The unsigned phase of the given round has started.
**/
UnsignedPhaseStarted: AugmentedEvent<ApiType, [round: u32], { round: u32 }>;
SolutionStored: AugmentedEvent<ApiType, [compute: PalletElectionProviderMultiPhaseElectionCompute, origin: Option<AccountId32>, prevEjected: bool], { compute: PalletElectionProviderMultiPhaseElectionCompute, origin: Option<AccountId32>, prevEjected: bool }>;
/**
* Generic event
**/
@@ -359,12 +368,12 @@ declare module '@polkadot/api-base/types/events' {
**/
BatchChecked: AugmentedEvent<ApiType, [eras: Vec<u32>], { eras: Vec<u32> }>;
/**
* A batch was terminated.
* A batch of a given size was terminated.
*
* This is always follows by a number of `Unstaked` or `Slashed` events, marking the end
* of the batch. A new batch will be created upon next block.
**/
BatchFinished: AugmentedEvent<ApiType, []>;
BatchFinished: AugmentedEvent<ApiType, [size_: u32], { size_: u32 }>;
/**
* An internal error happened. Operations will be paused now.
**/
@@ -871,6 +880,10 @@ declare module '@polkadot/api-base/types/events' {
* the remainder from the maximum amount of reward.
**/
EraPaid: AugmentedEvent<ApiType, [eraIndex: u32, validatorPayout: u128, remainder: u128], { eraIndex: u32, validatorPayout: u128, remainder: u128 }>;
/**
* A new force era mode was set.
**/
ForceEra: AugmentedEvent<ApiType, [mode: PalletStakingForcing], { mode: PalletStakingForcing }>;
/**
* A nominator has been kicked from a validator.
**/
@@ -1103,7 +1116,7 @@ declare module '@polkadot/api-base/types/events' {
* Upward message executed with the given outcome.
* \[ id, outcome \]
**/
ExecutedUpward: AugmentedEvent<ApiType, [U8aFixed, XcmV2TraitsOutcome]>;
ExecutedUpward: AugmentedEvent<ApiType, [U8aFixed, XcmV3TraitsOutcome]>;
/**
* Upward message is invalid XCM.
* \[ id \]
@@ -1211,19 +1224,45 @@ declare module '@polkadot/api-base/types/events' {
*
* \[ hash, origin, assets \]
**/
AssetsClaimed: AugmentedEvent<ApiType, [H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;
AssetsClaimed: AugmentedEvent<ApiType, [H256, XcmV3MultiLocation, XcmVersionedMultiAssets]>;
/**
* Some assets have been placed in an asset trap.
*
* \[ hash, origin, assets \]
**/
AssetsTrapped: AugmentedEvent<ApiType, [H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;
AssetsTrapped: AugmentedEvent<ApiType, [H256, XcmV3MultiLocation, XcmVersionedMultiAssets]>;
/**
* Execution of an XCM message was attempted.
*
* \[ outcome \]
**/
Attempted: AugmentedEvent<ApiType, [XcmV2TraitsOutcome]>;
Attempted: AugmentedEvent<ApiType, [XcmV3TraitsOutcome]>;
/**
* Fees were paid from a location for an operation (often for using `SendXcm`).
*
* \[ paying location, fees \]
**/
FeesPaid: AugmentedEvent<ApiType, [XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>;
/**
* Expected query response has been received but the querier location of the response does
* not match the expected. The query remains registered for a later, valid, response to
* be received and acted upon.
*
* \[ origin location, id, expected querier, maybe actual querier \]
**/
InvalidQuerier: AugmentedEvent<ApiType, [XcmV3MultiLocation, u64, XcmV3MultiLocation, Option<XcmV3MultiLocation>]>;
/**
* Expected query response has been received but the expected querier location placed in
* storage by this runtime previously cannot be decoded. The query remains registered.
*
* This is unexpected (since a location placed in storage in a previously executing
* runtime should be readable prior to query timeout) and dangerous since the possibly
* valid response will be dropped. Manual governance intervention is probably going to be
* needed.
*
* \[ origin location, id \]
**/
InvalidQuerierVersion: AugmentedEvent<ApiType, [XcmV3MultiLocation, u64]>;
/**
* Expected query response has been received but the origin location of the response does
* not match that expected. The query remains registered for a later, valid, response to
@@ -1231,7 +1270,7 @@ declare module '@polkadot/api-base/types/events' {
*
* \[ origin location, id, expected location \]
**/
InvalidResponder: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;
InvalidResponder: AugmentedEvent<ApiType, [XcmV3MultiLocation, u64, Option<XcmV3MultiLocation>]>;
/**
* Expected query response has been received but the expected origin location placed in
* storage by this runtime previously cannot be decoded. The query remains registered.
@@ -1243,7 +1282,7 @@ declare module '@polkadot/api-base/types/events' {
*
* \[ origin location, id \]
**/
InvalidResponderVersion: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64]>;
InvalidResponderVersion: AugmentedEvent<ApiType, [XcmV3MultiLocation, u64]>;
/**
* Query response has been received and query is removed. The registered notification has
* been dispatched and executed successfully.
@@ -1287,14 +1326,14 @@ declare module '@polkadot/api-base/types/events' {
*
* \[ location, query ID, error \]
**/
NotifyTargetSendFail: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64, XcmV2TraitsError]>;
NotifyTargetSendFail: AugmentedEvent<ApiType, [XcmV3MultiLocation, u64, XcmV3TraitsError]>;
/**
* Query response has been received and is ready for taking with `take_response`. There is
* no registered notification call.
*
* \[ id, response \]
**/
ResponseReady: AugmentedEvent<ApiType, [u64, XcmV2Response]>;
ResponseReady: AugmentedEvent<ApiType, [u64, XcmV3Response]>;
/**
* Received query response has been read and removed.
*
@@ -1306,14 +1345,14 @@ declare module '@polkadot/api-base/types/events' {
*
* \[ origin, destination, message \]
**/
Sent: AugmentedEvent<ApiType, [XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;
Sent: AugmentedEvent<ApiType, [XcmV3MultiLocation, XcmV3MultiLocation, XcmV3Xcm]>;
/**
* The supported version of a location has been changed. This might be through an
* automatic notification or a manual intervention.
*
* \[ location, XCM version \]
**/
SupportedVersionChanged: AugmentedEvent<ApiType, [XcmV1MultiLocation, u32]>;
SupportedVersionChanged: AugmentedEvent<ApiType, [XcmV3MultiLocation, u32]>;
/**
* Query response received which does not match a registered query. This may be because a
* matching query was never registered, it may be because it is a duplicate response, or
@@ -1321,13 +1360,34 @@ declare module '@polkadot/api-base/types/events' {
*
* \[ origin location, id \]
**/
UnexpectedResponse: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64]>;
UnexpectedResponse: AugmentedEvent<ApiType, [XcmV3MultiLocation, u64]>;
/**
* An XCM version change notification message has been attempted to be sent.
*
* \[ destination, result \]
* The cost of sending it (borne by the chain) is included.
*
* \[ destination, result, cost \]
**/
VersionChangeNotified: AugmentedEvent<ApiType, [XcmV1MultiLocation, u32]>;
VersionChangeNotified: AugmentedEvent<ApiType, [XcmV3MultiLocation, u32, XcmV3MultiassetMultiAssets]>;
/**
* We have requested that a remote chain sends us XCM version change notifications.
*
* \[ destination location, cost \]
**/
VersionNotifyRequested: AugmentedEvent<ApiType, [XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>;
/**
* A remote has requested XCM version change notification from us and we have honored it.
* A version information message is sent to them and its cost is included.
*
* \[ destination location, cost \]
**/
VersionNotifyStarted: AugmentedEvent<ApiType, [XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>;
/**
* We have requested that a remote chain stops sending us XCM version change notifications.
*
* \[ destination location, cost \]
**/
VersionNotifyUnrequested: AugmentedEvent<ApiType, [XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>;
/**
* Generic event
**/
+53 -21
View File
@@ -7,11 +7,11 @@ import '@polkadot/api-base/types/storage';
import type { ApiTypes, AugmentedQuery, QueryableStorageEntry } from '@polkadot/api-base/types';
import type { Data } from '@polkadot/types';
import type { Bytes, Null, Option, U8aFixed, Vec, WrapperOpaque, bool, u128, u32, u64 } from '@polkadot/types-codec';
import type { BTreeSet, Bytes, Null, Option, U8aFixed, Vec, WrapperOpaque, bool, u128, u32, u64 } from '@polkadot/types-codec';
import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
import type { EthereumAddress } from '@polkadot/types/interfaces/eth';
import type { AccountId32, Call, H256, Perbill, Percent } from '@polkadot/types/interfaces/runtime';
import type { FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, PalletAuthorshipUncleEntryItem, PalletBagsListListBag, PalletBagsListListNode, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletBountiesBounty, PalletChildBountiesChildBounty, PalletCollectiveVotes, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletElectionProviderMultiPhasePhase, PalletElectionProviderMultiPhaseReadySolution, PalletElectionProviderMultiPhaseRoundSnapshot, PalletElectionProviderMultiPhaseSignedSignedSubmission, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenSeatHolder, PalletElectionsPhragmenVoter, PalletFastUnstakeUnstakeRequest, PalletGrandpaStoredPendingChange, PalletGrandpaStoredState, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletImOnlineBoundedOpaqueNetworkState, PalletImOnlineSr25519AppSr25519Public, PalletMultisigMultisig, PalletNominationPoolsBondedPoolInner, PalletNominationPoolsPoolMember, PalletNominationPoolsRewardPool, PalletNominationPoolsSubPools, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletSchedulerScheduled, PalletStakingActiveEraInfo, PalletStakingEraRewardPoints, PalletStakingExposure, PalletStakingForcing, PalletStakingNominations, PalletStakingRewardDestination, PalletStakingSlashingSlashingSpans, PalletStakingSlashingSpanRecord, PalletStakingStakingLedger, PalletStakingUnappliedSlash, PalletStakingValidatorPrefs, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletXcmQueryStatus, PalletXcmVersionMigrationStage, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotParachainPrimitivesHrmpChannelId, PolkadotPrimitivesV2AssignmentAppPublic, PolkadotPrimitivesV2CandidateCommitments, PolkadotPrimitivesV2CoreOccupied, PolkadotPrimitivesV2DisputeState, PolkadotPrimitivesV2ScrapedOnChainVotes, PolkadotPrimitivesV2SessionInfo, PolkadotPrimitivesV2UpgradeGoAhead, PolkadotPrimitivesV2UpgradeRestriction, PolkadotPrimitivesV2ValidatorAppPublic, PolkadotRuntimeCommonClaimsStatementKind, PolkadotRuntimeCommonCrowdloanFundInfo, PolkadotRuntimeCommonParasRegistrarParaInfo, PolkadotRuntimeParachainsConfigurationHostConfiguration, PolkadotRuntimeParachainsHrmpHrmpChannel, PolkadotRuntimeParachainsHrmpHrmpOpenChannelRequest, PolkadotRuntimeParachainsInclusionAvailabilityBitfieldRecord, PolkadotRuntimeParachainsInclusionCandidatePendingAvailability, PolkadotRuntimeParachainsInitializerBufferedSessionChange, PolkadotRuntimeParachainsParasParaGenesisArgs, PolkadotRuntimeParachainsParasParaLifecycle, PolkadotRuntimeParachainsParasParaPastCodeMeta, PolkadotRuntimeParachainsParasPvfCheckActiveVoteState, PolkadotRuntimeParachainsSchedulerCoreAssignment, PolkadotRuntimeParachainsSchedulerParathreadClaimQueue, PolkadotRuntimeSessionKeys, SpConsensusBabeAppPublic, SpConsensusBabeBabeEpochConfiguration, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusBabeDigestsPreDigest, SpCoreCryptoKeyTypeId, SpNposElectionsElectionScore, SpRuntimeDigest, SpStakingOffenceOffenceDetails, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
import type { FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, PalletBagsListListBag, PalletBagsListListNode, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletBountiesBounty, PalletChildBountiesChildBounty, PalletCollectiveVotes, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletElectionProviderMultiPhasePhase, PalletElectionProviderMultiPhaseReadySolution, PalletElectionProviderMultiPhaseRoundSnapshot, PalletElectionProviderMultiPhaseSignedSignedSubmission, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenSeatHolder, PalletElectionsPhragmenVoter, PalletFastUnstakeUnstakeRequest, PalletGrandpaStoredPendingChange, PalletGrandpaStoredState, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletImOnlineBoundedOpaqueNetworkState, PalletImOnlineSr25519AppSr25519Public, PalletMultisigMultisig, PalletNominationPoolsBondedPoolInner, PalletNominationPoolsPoolMember, PalletNominationPoolsRewardPool, PalletNominationPoolsSubPools, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletSchedulerScheduled, PalletStakingActiveEraInfo, PalletStakingEraRewardPoints, PalletStakingExposure, PalletStakingForcing, PalletStakingNominations, PalletStakingRewardDestination, PalletStakingSlashingSlashingSpans, PalletStakingSlashingSpanRecord, PalletStakingStakingLedger, PalletStakingUnappliedSlash, PalletStakingValidatorPrefs, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotParachainPrimitivesHrmpChannelId, PolkadotPrimitivesV2AssignmentAppPublic, PolkadotPrimitivesV2CandidateCommitments, PolkadotPrimitivesV2CoreOccupied, PolkadotPrimitivesV2DisputeState, PolkadotPrimitivesV2ScrapedOnChainVotes, PolkadotPrimitivesV2SessionInfo, PolkadotPrimitivesV2UpgradeGoAhead, PolkadotPrimitivesV2UpgradeRestriction, PolkadotPrimitivesV2ValidatorAppPublic, PolkadotPrimitivesVstagingExecutorParams, PolkadotRuntimeCommonClaimsStatementKind, PolkadotRuntimeCommonCrowdloanFundInfo, PolkadotRuntimeCommonParasRegistrarParaInfo, PolkadotRuntimeParachainsConfigurationHostConfiguration, PolkadotRuntimeParachainsHrmpHrmpChannel, PolkadotRuntimeParachainsHrmpHrmpOpenChannelRequest, PolkadotRuntimeParachainsInclusionAvailabilityBitfieldRecord, PolkadotRuntimeParachainsInclusionCandidatePendingAvailability, PolkadotRuntimeParachainsInitializerBufferedSessionChange, PolkadotRuntimeParachainsParasParaGenesisArgs, PolkadotRuntimeParachainsParasParaLifecycle, PolkadotRuntimeParachainsParasParaPastCodeMeta, PolkadotRuntimeParachainsParasPvfCheckActiveVoteState, PolkadotRuntimeParachainsSchedulerCoreAssignment, PolkadotRuntimeParachainsSchedulerParathreadClaimQueue, PolkadotRuntimeSessionKeys, SpConsensusBabeAppPublic, SpConsensusBabeBabeEpochConfiguration, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusBabeDigestsPreDigest, SpCoreCryptoKeyTypeId, SpNposElectionsElectionScore, SpRuntimeDigest, SpStakingOffenceOffenceDetails, SpWeightsWeightV2Weight, XcmVersionedAssetId, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
import type { Observable } from '@polkadot/types/types';
export type __AugmentedQuery<ApiType extends ApiTypes> = AugmentedQuery<ApiType, () => unknown>;
@@ -53,14 +53,6 @@ declare module '@polkadot/api-base/types/storage' {
* Author of current block.
**/
author: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Whether uncles were already set in this block.
**/
didSetUncles: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Uncles
**/
uncles: AugmentedQuery<ApiType, () => Observable<Vec<PalletAuthorshipUncleEntryItem>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Generic query
**/
@@ -394,6 +386,15 @@ declare module '@polkadot/api-base/types/storage' {
* `ReferendumCount` if there isn't a unbaked referendum.
**/
lowestUnbaked: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
/**
* General information concerning any proposal or referendum.
* The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON
* dump or IPFS hash of a JSON file.
*
* Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)
* large preimages.
**/
metadataOf: AugmentedQuery<ApiType, (arg: PalletDemocracyMetadataOwner | { External: any } | { Proposal: any } | { Referendum: any } | string | Uint8Array) => Observable<Option<H256>>, [PalletDemocracyMetadataOwner]> & QueryableStorageEntry<ApiType, [PalletDemocracyMetadataOwner]>;
/**
* The referendum to be tabled whenever it would be valid to table an external proposal.
* This happens when a referendum needs to be tabled and one of two conditions are met:
@@ -552,6 +553,8 @@ declare module '@polkadot/api-base/types/storage' {
* The map of all accounts wishing to be unstaked.
*
* Keeps track of `AccountId` wishing to unstake and it's corresponding deposit.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
queue: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<u128>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
@@ -577,6 +580,12 @@ declare module '@polkadot/api-base/types/storage' {
* A mapping from grandpa set ID to the index of the *most recent* session for which its
* members were responsible.
*
* This is only used for validating equivocation proofs. An equivocation proof must
* contains a key-ownership proof for a given session, therefore we need a way to tie
* together sessions and GRANDPA set ids, i.e. we need to validate that a validator
* was the owner of a given key on a given session, and what the active set ID was
* during that session.
*
* TWOX-NOTE: `SetId` is not under user control.
**/
setIdSession: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>;
@@ -856,6 +865,8 @@ declare module '@polkadot/api-base/types/storage' {
minJoinBond: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Active members.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
poolMembers: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<PalletNominationPoolsPoolMember>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
@@ -1129,6 +1140,11 @@ declare module '@polkadot/api-base/types/storage' {
[key: string]: QueryableStorageEntry<ApiType>;
};
parasDisputes: {
/**
* Backing votes stored for each dispute.
* This storage is used for slashing.
**/
backersOnDisputes: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: H256 | string | Uint8Array) => Observable<Option<BTreeSet<u32>>>, [u32, H256]> & QueryableStorageEntry<ApiType, [u32, H256]>;
/**
* All ongoing or concluded disputes for the last several sessions.
**/
@@ -1150,14 +1166,6 @@ declare module '@polkadot/api-base/types/storage' {
* references sessions.
**/
lastPrunedSession: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Maps session indices to a vector indicating the number of potentially-spam disputes
* each validator is participating in. Potentially-spam disputes are remote disputes which have
* fewer than `byzantine_threshold + 1` validators.
*
* The i'th entry of the vector corresponds to the i'th validator in the session.
**/
spamSlots: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<Vec<u32>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
/**
* Generic query
**/
@@ -1178,6 +1186,10 @@ declare module '@polkadot/api-base/types/storage' {
* The earliest session for which previous session info is stored.
**/
earliestStoredSession: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Executor parameter set for a given session index
**/
sessionExecutorParams: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<PolkadotPrimitivesVstagingExecutorParams>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
/**
* Session information in a rolling window.
* Should have an entry in range `EarliestStoredSession..=CurrentSessionIndex`.
@@ -1387,6 +1399,8 @@ declare module '@polkadot/api-base/types/storage' {
activeEra: AugmentedQuery<ApiType, () => Observable<Option<PalletStakingActiveEraInfo>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Map from all locked "stash" accounts to the controller account.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
bonded: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<AccountId32>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
@@ -1547,6 +1561,8 @@ declare module '@polkadot/api-base/types/storage' {
*
* Lastly, if any of the nominators become non-decodable, they can be chilled immediately via
* [`Call::chill_other`] dispatchable by anyone.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
nominators: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<PalletStakingNominations>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
@@ -1567,6 +1583,8 @@ declare module '@polkadot/api-base/types/storage' {
offendingValidators: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[u32, bool]>>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Where the reward payment should be made. Keyed by stash.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
payee: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<PalletStakingRewardDestination>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
@@ -1594,6 +1612,8 @@ declare module '@polkadot/api-base/types/storage' {
validatorCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
/**
* The map from (wannabe) validator stash key to the preferences of that validator.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
validators: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<PalletStakingValidatorPrefs>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
@@ -1798,6 +1818,10 @@ declare module '@polkadot/api-base/types/storage' {
[key: string]: QueryableStorageEntry<ApiType>;
};
ump: {
/**
* Counter for the related counted storage map
**/
counterForOverweight: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
/**
* The ordered list of `ParaId`s that have a `RelayDispatchQueue` entry.
*
@@ -1903,6 +1927,10 @@ declare module '@polkadot/api-base/types/storage' {
* The current migration's stage, if any.
**/
currentMigration: AugmentedQuery<ApiType, () => Observable<Option<PalletXcmVersionMigrationStage>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Fungible assets which we know are locked on this chain.
**/
lockedFungibles: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<Vec<ITuple<[u128, XcmVersionedMultiLocation]>>>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
* The ongoing queries.
**/
@@ -1911,6 +1939,10 @@ declare module '@polkadot/api-base/types/storage' {
* The latest available query index.
**/
queryCounter: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Fungible assets which we know are locked on a remote chain.
**/
remoteLockedFungibles: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array, arg3: XcmVersionedAssetId | { V3: any } | string | Uint8Array) => Observable<Option<PalletXcmRemoteLockedFungibleRecord>>, [u32, AccountId32, XcmVersionedAssetId]> & QueryableStorageEntry<ApiType, [u32, AccountId32, XcmVersionedAssetId]>;
/**
* Default version to encode XCM when latest version of destination is unknown. If `None`,
* then the destinations whose XCM version is unknown are considered unreachable.
@@ -1919,7 +1951,7 @@ declare module '@polkadot/api-base/types/storage' {
/**
* The Latest versions that we know various locations support.
**/
supportedVersion: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array) => Observable<Option<u32>>, [u32, XcmVersionedMultiLocation]> & QueryableStorageEntry<ApiType, [u32, XcmVersionedMultiLocation]>;
supportedVersion: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array) => Observable<Option<u32>>, [u32, XcmVersionedMultiLocation]> & QueryableStorageEntry<ApiType, [u32, XcmVersionedMultiLocation]>;
/**
* Destinations whose latest XCM version we would like to know. Duplicates not allowed, and
* the `u32` counter is the number of times that a send to the destination has been attempted,
@@ -1929,12 +1961,12 @@ declare module '@polkadot/api-base/types/storage' {
/**
* All locations that we have requested version notifications from.
**/
versionNotifiers: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array) => Observable<Option<u64>>, [u32, XcmVersionedMultiLocation]> & QueryableStorageEntry<ApiType, [u32, XcmVersionedMultiLocation]>;
versionNotifiers: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array) => Observable<Option<u64>>, [u32, XcmVersionedMultiLocation]> & QueryableStorageEntry<ApiType, [u32, XcmVersionedMultiLocation]>;
/**
* The target locations that are subscribed to our version changes, as well as the most recent
* of our versions we informed them of.
**/
versionNotifyTargets: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array) => Observable<Option<ITuple<[u64, u64, u32]>>>, [u32, XcmVersionedMultiLocation]> & QueryableStorageEntry<ApiType, [u32, XcmVersionedMultiLocation]>;
versionNotifyTargets: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array) => Observable<Option<ITuple<[u64, SpWeightsWeightV2Weight, u32]>>>, [u32, XcmVersionedMultiLocation]> & QueryableStorageEntry<ApiType, [u32, XcmVersionedMultiLocation]>;
/**
* Generic query
**/
+19 -3
View File
@@ -19,7 +19,7 @@ import type { OpaqueMetadata } from '@polkadot/types/interfaces/metadata';
import type { MmrBatchProof, MmrEncodableOpaqueLeaf, MmrError, MmrLeafIndex, MmrProof } from '@polkadot/types/interfaces/mmr';
import type { CandidateCommitments, CandidateEvent, CommittedCandidateReceipt, CoreState, GroupRotationInfo, InboundDownwardMessage, InboundHrmpMessage, OccupiedCoreAssumption, ParaId, ParaValidatorIndex, PersistedValidationData, PvfCheckStatement, ScrapedOnChainVotes, SessionInfo, ValidationCode, ValidationCodeHash, ValidatorSignature } from '@polkadot/types/interfaces/parachains';
import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment';
import type { AccountId, Balance, Block, Call, Hash, Header, Index, KeyTypeId, Slot, ValidatorId } from '@polkadot/types/interfaces/runtime';
import type { AccountId, Balance, Block, Call, Hash, Header, Index, KeyTypeId, Slot, ValidatorId, Weight } from '@polkadot/types/interfaces/runtime';
import type { SessionIndex } from '@polkadot/types/interfaces/session';
import type { RuntimeVersion } from '@polkadot/types/interfaces/state';
import type { ApplyExtrinsicResult } from '@polkadot/types/interfaces/system';
@@ -333,7 +333,7 @@ declare module '@polkadot/api-base/types/calls' {
**/
[key: string]: DecoratedCallBase<ApiType>;
};
/** 0x37c8bb1350a9a2a8/2 */
/** 0x37c8bb1350a9a2a8/3 */
transactionPaymentApi: {
/**
* The transaction fee details
@@ -343,12 +343,20 @@ declare module '@polkadot/api-base/types/calls' {
* The transaction info
**/
queryInfo: AugmentedCall<ApiType, (uxt: Extrinsic | IExtrinsic | string | Uint8Array, len: u32 | AnyNumber | Uint8Array) => Observable<RuntimeDispatchInfo>>;
/**
* Query the output of the current LengthToFee given some input
**/
queryLengthToFee: AugmentedCall<ApiType, (length: u32 | AnyNumber | Uint8Array) => Observable<Balance>>;
/**
* Query the output of the current WeightToFee given some input
**/
queryWeightToFee: AugmentedCall<ApiType, (weight: Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => Observable<Balance>>;
/**
* Generic call
**/
[key: string]: DecoratedCallBase<ApiType>;
};
/** 0xf3ff14d5ab527059/2 */
/** 0xf3ff14d5ab527059/3 */
transactionPaymentCallApi: {
/**
* The call fee details
@@ -358,6 +366,14 @@ declare module '@polkadot/api-base/types/calls' {
* The call info
**/
queryCallInfo: AugmentedCall<ApiType, (call: Call | IMethod | string | Uint8Array, len: u32 | AnyNumber | Uint8Array) => Observable<RuntimeDispatchInfo>>;
/**
* Query the output of the current LengthToFee given some input
**/
queryLengthToFee: AugmentedCall<ApiType, (length: u32 | AnyNumber | Uint8Array) => Observable<Balance>>;
/**
* Query the output of the current WeightToFee given some input
**/
queryWeightToFee: AugmentedCall<ApiType, (weight: Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => Observable<Balance>>;
/**
* Generic call
**/
File diff suppressed because it is too large Load Diff
+35 -30
View File
@@ -79,18 +79,6 @@ declare module '@polkadot/api-base/types/consts' {
**/
[key: string]: Codec;
};
authorship: {
/**
* The number of blocks back we should accept uncles.
* This means that we will deal with uncle-parents that are
* `UncleGenerations + 1` before `now`.
**/
uncleGenerations: u32 & AugmentedConst<ApiType>;
/**
* Generic const
**/
[key: string]: Codec;
};
babe: {
/**
* The amount of time, in slots, that each epoch should last.
@@ -243,6 +231,10 @@ declare module '@polkadot/api-base/types/consts' {
* The maximum length of a contract code in bytes. This limit applies to the instrumented
* version of the code. Therefore `instantiate_with_code` can fail even when supplying
* a wasm binary below this maximum size.
*
* The value should be chosen carefully taking into the account the overall memory limit
* your runtime has, as well as the [maximum allowed callstack
* depth](#associatedtype.CallStack). Look into the `integrity_test()` for some insights.
**/
maxCodeLen: u32 & AugmentedConst<ApiType>;
/**
@@ -469,18 +461,28 @@ declare module '@polkadot/api-base/types/consts' {
/**
* The maximum number of candidates in a phragmen election.
*
* Warning: The election happens onchain, and this value will determine
* the size of the election. When this limit is reached no more
* candidates are accepted in the election.
* Warning: This impacts the size of the election which is run onchain. Chose wisely, and
* consider how it will impact `T::WeightInfo::election_phragmen`.
*
* When this limit is reached no more candidates are accepted in the election.
**/
maxCandidates: u32 & AugmentedConst<ApiType>;
/**
* The maximum number of voters to allow in a phragmen election.
*
* Warning: This impacts the size of the election which is run onchain.
* Warning: This impacts the size of the election which is run onchain. Chose wisely, and
* consider how it will impact `T::WeightInfo::election_phragmen`.
*
* When the limit is reached the new voters are ignored.
**/
maxVoters: u32 & AugmentedConst<ApiType>;
/**
* Maximum numbers of votes per voter.
*
* Warning: This impacts the size of the election which is run onchain. Chose wisely, and
* consider how it will impact `T::WeightInfo::election_phragmen`.
**/
maxVotesPerVoter: u32 & AugmentedConst<ApiType>;
/**
* Identifier for the elections-phragmen pallet's lock
**/
@@ -523,6 +525,15 @@ declare module '@polkadot/api-base/types/consts' {
* Max Authorities in use
**/
maxAuthorities: u32 & AugmentedConst<ApiType>;
/**
* The maximum number of entries to keep in the set id to session index mapping.
*
* Since the `SetIdSession` map is only used for validating equivocations this
* value should relate to the bonding duration of whatever staking system is
* being used (if any). If equivocation handling is not enabled then this value
* can be zero.
**/
maxSetIdSessionEntries: u64 & AugmentedConst<ApiType>;
/**
* Generic const
**/
@@ -692,6 +703,10 @@ declare module '@polkadot/api-base/types/consts' {
* The maximum length of an attribute key.
**/
keyLimit: u32 & AugmentedConst<ApiType>;
/**
* The max number of attributes a user could set per call.
**/
maxAttributesPerCall: u32 & AugmentedConst<ApiType>;
/**
* The max duration in blocks for deadlines.
**/
@@ -771,6 +786,10 @@ declare module '@polkadot/api-base/types/consts' {
* this value multiplied by `Period`.
**/
queueCount: u32 & AugmentedConst<ApiType>;
/**
* The name for the reserve ID.
**/
reserveId: U8aFixed & AugmentedConst<ApiType>;
/**
* The maximum proportion which may be thawed and the period over which it is reset.
**/
@@ -805,20 +824,6 @@ declare module '@polkadot/api-base/types/consts' {
**/
[key: string]: Codec;
};
preimage: {
/**
* The base deposit for placing a preimage on chain.
**/
baseDeposit: u128 & AugmentedConst<ApiType>;
/**
* The per-byte deposit for placing a preimage on chain.
**/
byteDeposit: u128 & AugmentedConst<ApiType>;
/**
* Generic const
**/
[key: string]: Codec;
};
proxy: {
/**
* The base amount of currency needed to reserve for creating an announcement.
+58 -56
View File
@@ -245,40 +245,6 @@ declare module '@polkadot/api-base/types/errors' {
**/
[key: string]: AugmentedError<ApiType>;
};
authorship: {
/**
* The uncle is genesis.
**/
GenesisUncle: AugmentedError<ApiType>;
/**
* The uncle parent not in the chain.
**/
InvalidUncleParent: AugmentedError<ApiType>;
/**
* The uncle isn't recent enough to be included.
**/
OldUncle: AugmentedError<ApiType>;
/**
* The uncle is too high in chain.
**/
TooHighUncle: AugmentedError<ApiType>;
/**
* Too many uncles.
**/
TooManyUncles: AugmentedError<ApiType>;
/**
* The uncle is already included.
**/
UncleAlreadyIncluded: AugmentedError<ApiType>;
/**
* Uncles already set in the block.
**/
UnclesAlreadySet: AugmentedError<ApiType>;
/**
* Generic error
**/
[key: string]: AugmentedError<ApiType>;
};
babe: {
/**
* A given equivocation report is valid but already previously reported.
@@ -448,10 +414,6 @@ declare module '@polkadot/api-base/types/errors' {
* Contract trapped during execution.
**/
ContractTrapped: AugmentedError<ApiType>;
/**
* The debug message specified to `seal_debug_message` does contain invalid UTF-8.
**/
DebugMessageInvalidUTF8: AugmentedError<ApiType>;
/**
* Input passed to a contract API function failed to decode as expected type.
**/
@@ -468,10 +430,6 @@ declare module '@polkadot/api-base/types/errors' {
* A contract with the same AccountId already exists.
**/
DuplicateContract: AugmentedError<ApiType>;
/**
* 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.
**/
@@ -718,6 +676,10 @@ declare module '@polkadot/api-base/types/errors' {
* The given account did not vote on the referendum.
**/
NotVoter: AugmentedError<ApiType>;
/**
* The preimage does not exist.
**/
PreimageNotExist: AugmentedError<ApiType>;
/**
* Proposal still blacklisted
**/
@@ -1218,6 +1180,10 @@ declare module '@polkadot/api-base/types/errors' {
* The approval had a deadline that expired, so the approval isn't valid anymore.
**/
ApprovalExpired: AugmentedError<ApiType>;
/**
* The provided attribute can't be found.
**/
AttributeNotFound: AugmentedError<ApiType>;
/**
* The witness data given does not match the current state of the chain.
**/
@@ -1242,6 +1208,10 @@ declare module '@polkadot/api-base/types/errors' {
* The provided data is incorrect.
**/
IncorrectData: AugmentedError<ApiType>;
/**
* The provided metadata might be too long.
**/
IncorrectMetadata: AugmentedError<ApiType>;
/**
* The item is locked (non-transferable).
**/
@@ -1266,6 +1236,10 @@ declare module '@polkadot/api-base/types/errors' {
* Item's metadata is locked.
**/
LockedItemMetadata: AugmentedError<ApiType>;
/**
* Can't set more attributes per one call.
**/
MaxAttributesLimitReached: AugmentedError<ApiType>;
/**
* The max supply is locked and can't be changed.
**/
@@ -1278,6 +1252,10 @@ declare module '@polkadot/api-base/types/errors' {
* The provided max supply is less than the number of items a collection already has.
**/
MaxSupplyTooSmall: AugmentedError<ApiType>;
/**
* The given item has no metadata set.
**/
MetadataNotFound: AugmentedError<ApiType>;
/**
* The method is disabled by system settings.
**/
@@ -1342,6 +1320,10 @@ declare module '@polkadot/api-base/types/errors' {
* The duration provided should be less than or equal to `MaxDeadlineDuration`.
**/
WrongDuration: AugmentedError<ApiType>;
/**
* The extrinsic was sent by the wrong origin.
**/
WrongOrigin: AugmentedError<ApiType>;
/**
* The owner turned out to be different to what was expected.
**/
@@ -1350,12 +1332,28 @@ declare module '@polkadot/api-base/types/errors' {
* The provided setting can't be set.
**/
WrongSetting: AugmentedError<ApiType>;
/**
* The provided signature is incorrect.
**/
WrongSignature: AugmentedError<ApiType>;
/**
* Generic error
**/
[key: string]: AugmentedError<ApiType>;
};
nis: {
/**
* The receipt is already communal.
**/
AlreadyCommunal: AugmentedError<ApiType>;
/**
* There are enough funds for what is required.
**/
AlreadyFunded: AugmentedError<ApiType>;
/**
* The receipt is already private.
**/
AlreadyPrivate: AugmentedError<ApiType>;
/**
* The amount of the bid is less than the minimum allowed.
**/
@@ -1373,10 +1371,6 @@ declare module '@polkadot/api-base/types/errors' {
* The duration of the bid is less than one.
**/
DurationTooSmall: AugmentedError<ApiType>;
/**
* There are enough funds for what is required.
**/
Funded: AugmentedError<ApiType>;
/**
* The operation would result in a receipt worth an insignficant value.
**/
@@ -1385,30 +1379,30 @@ declare module '@polkadot/api-base/types/errors' {
* Bond not yet at expiry date.
**/
NotExpired: AugmentedError<ApiType>;
/**
* The given bid for retraction is not found.
**/
NotFound: AugmentedError<ApiType>;
/**
* Not the owner of the receipt.
**/
NotOwner: AugmentedError<ApiType>;
/**
* The portion supplied is beyond the value of the receipt.
**/
PortionTooBig: AugmentedError<ApiType>;
/**
* The thaw throttle has been reached for this period.
**/
Throttled: AugmentedError<ApiType>;
/**
* The portion supplied is beyond the value of the receipt.
**/
TooMuch: AugmentedError<ApiType>;
/**
* Not enough funds are held to pay out.
**/
Unfunded: AugmentedError<ApiType>;
/**
* Bond index is unknown.
* The given bid for retraction is not found.
**/
Unknown: AugmentedError<ApiType>;
UnknownBid: AugmentedError<ApiType>;
/**
* Receipt index is unknown.
**/
UnknownReceipt: AugmentedError<ApiType>;
/**
* Generic error
**/
@@ -1671,6 +1665,10 @@ declare module '@polkadot/api-base/types/errors' {
* No track exists for the proposal origin.
**/
NoTrack: AugmentedError<ApiType>;
/**
* The preimage does not exist.
**/
PreimageNotExist: AugmentedError<ApiType>;
/**
* The queue of the track is empty.
**/
@@ -1795,6 +1793,10 @@ declare module '@polkadot/api-base/types/errors' {
* No track exists for the proposal origin.
**/
NoTrack: AugmentedError<ApiType>;
/**
* The preimage does not exist.
**/
PreimageNotExist: AugmentedError<ApiType>;
/**
* The queue of the track is empty.
**/
+57 -17
View File
@@ -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, Perbill, Perquintill } from '@polkadot/types/interfaces/runtime';
import type { FrameSupportDispatchDispatchInfo, FrameSupportDispatchPostDispatchInfo, FrameSupportMessagesProcessMessageError, FrameSupportPreimagesBounded, FrameSupportTokensMiscAttributeNamespace, FrameSupportTokensMiscBalanceStatus, KitchensinkRuntimeProxyType, PalletAllianceCid, PalletAllianceUnscrupulousItem, PalletConvictionVotingTally, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletElectionProviderMultiPhaseElectionCompute, PalletImOnlineSr25519AppSr25519Public, PalletMessageQueueMockHelpersMessageOrigin, PalletMultisigTimepoint, PalletNftsPriceWithDirection, PalletNominationPoolsPoolState, PalletRankedCollectiveTally, PalletRankedCollectiveVoteRecord, PalletStakingExposure, PalletStakingValidatorPrefs, PalletStateTrieMigrationError, PalletStateTrieMigrationMigrationCompute, SpFinalityGrandpaAppPublic, SpNposElectionsElectionScore, SpRuntimeDispatchError, SpRuntimeDispatchErrorWithPostInfo, SpWeightsWeightV2Weight } from '@polkadot/types/lookup';
import type { FrameSupportDispatchDispatchInfo, FrameSupportDispatchPostDispatchInfo, FrameSupportMessagesProcessMessageError, FrameSupportPreimagesBounded, FrameSupportTokensMiscAttributeNamespace, FrameSupportTokensMiscBalanceStatus, KitchensinkRuntimeProxyType, PalletAllianceCid, PalletAllianceUnscrupulousItem, PalletConvictionVotingTally, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletElectionProviderMultiPhaseElectionCompute, PalletElectionProviderMultiPhasePhase, PalletImOnlineSr25519AppSr25519Public, PalletMessageQueueMockHelpersMessageOrigin, PalletMultisigTimepoint, PalletNftsPriceWithDirection, PalletNominationPoolsPoolState, PalletRankedCollectiveTally, PalletRankedCollectiveVoteRecord, PalletStakingExposure, PalletStakingForcing, PalletStakingValidatorPrefs, PalletStateTrieMigrationError, PalletStateTrieMigrationMigrationCompute, SpFinalityGrandpaAppPublic, SpNposElectionsElectionScore, SpRuntimeDispatchError, SpRuntimeDispatchErrorWithPostInfo, SpWeightsWeightV2Weight } from '@polkadot/types/lookup';
export type __AugmentedEvent<ApiType extends ApiTypes> = AugmentedEvent<ApiType>;
@@ -165,7 +165,7 @@ declare module '@polkadot/api-base/types/events' {
/**
* Some assets were issued.
**/
Issued: AugmentedEvent<ApiType, [assetId: u32, owner: AccountId32, totalSupply: u128], { assetId: u32, owner: AccountId32, totalSupply: u128 }>;
Issued: AugmentedEvent<ApiType, [assetId: u32, owner: AccountId32, amount: u128], { assetId: u32, owner: AccountId32, amount: u128 }>;
/**
* Metadata has been cleared for an asset.
**/
@@ -437,6 +437,18 @@ declare module '@polkadot/api-base/types/events' {
* An external proposal has been tabled.
**/
ExternalTabled: AugmentedEvent<ApiType, []>;
/**
* Metadata for a proposal or a referendum has been cleared.
**/
MetadataCleared: AugmentedEvent<ApiType, [owner: PalletDemocracyMetadataOwner, hash_: H256], { owner: PalletDemocracyMetadataOwner, hash_: H256 }>;
/**
* Metadata for a proposal or a referendum has been set.
**/
MetadataSet: AugmentedEvent<ApiType, [owner: PalletDemocracyMetadataOwner, hash_: H256], { owner: PalletDemocracyMetadataOwner, hash_: H256 }>;
/**
* Metadata has been transferred to new owner.
**/
MetadataTransferred: AugmentedEvent<ApiType, [prevOwner: PalletDemocracyMetadataOwner, owner: PalletDemocracyMetadataOwner, hash_: H256], { prevOwner: PalletDemocracyMetadataOwner, owner: PalletDemocracyMetadataOwner, hash_: H256 }>;
/**
* A proposal has been rejected by referendum.
**/
@@ -493,14 +505,14 @@ declare module '@polkadot/api-base/types/events' {
* The election has been finalized, with the given computation and score.
**/
ElectionFinalized: AugmentedEvent<ApiType, [compute: PalletElectionProviderMultiPhaseElectionCompute, score: SpNposElectionsElectionScore], { compute: PalletElectionProviderMultiPhaseElectionCompute, score: SpNposElectionsElectionScore }>;
/**
* There was a phase transition in a given round.
**/
PhaseTransitioned: AugmentedEvent<ApiType, [from: PalletElectionProviderMultiPhasePhase, to: PalletElectionProviderMultiPhasePhase, round: u32], { from: PalletElectionProviderMultiPhasePhase, to: PalletElectionProviderMultiPhasePhase, round: u32 }>;
/**
* An account has been rewarded for their signed submission being finalized.
**/
Rewarded: AugmentedEvent<ApiType, [account: AccountId32, value: u128], { account: AccountId32, value: u128 }>;
/**
* The signed phase of the given round has started.
**/
SignedPhaseStarted: AugmentedEvent<ApiType, [round: u32], { round: u32 }>;
/**
* An account has been slashed for submitting an invalid signed submission.
**/
@@ -508,16 +520,13 @@ declare module '@polkadot/api-base/types/events' {
/**
* A solution was stored with the given compute.
*
* If the solution is signed, this means that it hasn't yet been processed. If the
* solution is unsigned, this means that it has also been processed.
*
* The `bool` is `true` when a previous solution was ejected to make room for this one.
* The `origin` indicates the origin of the solution. If `origin` is `Some(AccountId)`,
* the stored solution was submited in the signed phase by a miner with the `AccountId`.
* Otherwise, the solution was stored either during the unsigned phase or by
* `T::ForceOrigin`. The `bool` is `true` when a previous solution was ejected to make
* room for this one.
**/
SolutionStored: AugmentedEvent<ApiType, [compute: PalletElectionProviderMultiPhaseElectionCompute, prevEjected: bool], { compute: PalletElectionProviderMultiPhaseElectionCompute, prevEjected: bool }>;
/**
* The unsigned phase of the given round has started.
**/
UnsignedPhaseStarted: AugmentedEvent<ApiType, [round: u32], { round: u32 }>;
SolutionStored: AugmentedEvent<ApiType, [compute: PalletElectionProviderMultiPhaseElectionCompute, origin: Option<AccountId32>, prevEjected: bool], { compute: PalletElectionProviderMultiPhaseElectionCompute, origin: Option<AccountId32>, prevEjected: bool }>;
/**
* Generic event
**/
@@ -572,12 +581,12 @@ declare module '@polkadot/api-base/types/events' {
**/
BatchChecked: AugmentedEvent<ApiType, [eras: Vec<u32>], { eras: Vec<u32> }>;
/**
* A batch was terminated.
* A batch of a given size was terminated.
*
* This is always follows by a number of `Unstaked` or `Slashed` events, marking the end
* of the batch. A new batch will be created upon next block.
**/
BatchFinished: AugmentedEvent<ApiType, []>;
BatchFinished: AugmentedEvent<ApiType, [size_: u32], { size_: u32 }>;
/**
* An internal error happened. Operations will be paused now.
**/
@@ -1033,6 +1042,13 @@ declare module '@polkadot/api-base/types/events' {
**/
[key: string]: AugmentedEvent<ApiType>;
};
pov: {
TestEvent: AugmentedEvent<ApiType, []>;
/**
* Generic event
**/
[key: string]: AugmentedEvent<ApiType>;
};
preimage: {
/**
* A preimage has ben cleared.
@@ -1136,6 +1152,14 @@ declare module '@polkadot/api-base/types/events' {
* A referendum has been killed.
**/
Killed: AugmentedEvent<ApiType, [index: u32, tally: PalletRankedCollectiveTally], { index: u32, tally: PalletRankedCollectiveTally }>;
/**
* Metadata for a referendum has been cleared.
**/
MetadataCleared: AugmentedEvent<ApiType, [index: u32, hash_: H256], { index: u32, hash_: H256 }>;
/**
* Metadata for a referendum has been set.
**/
MetadataSet: AugmentedEvent<ApiType, [index: u32, hash_: H256], { index: u32, hash_: H256 }>;
/**
* A proposal has been rejected by referendum.
**/
@@ -1222,6 +1246,14 @@ declare module '@polkadot/api-base/types/events' {
* A referendum has been killed.
**/
Killed: AugmentedEvent<ApiType, [index: u32, tally: PalletConvictionVotingTally], { index: u32, tally: PalletConvictionVotingTally }>;
/**
* Metadata for a referendum has been cleared.
**/
MetadataCleared: AugmentedEvent<ApiType, [index: u32, hash_: H256], { index: u32, hash_: H256 }>;
/**
* Metadata for a referendum has been set.
**/
MetadataSet: AugmentedEvent<ApiType, [index: u32, hash_: H256], { index: u32, hash_: H256 }>;
/**
* A proposal has been rejected by referendum.
**/
@@ -1337,6 +1369,10 @@ declare module '@polkadot/api-base/types/events' {
* A new \[max\] member count has been set
**/
NewMaxMembers: AugmentedEvent<ApiType, [max: u32], { max: u32 }>;
/**
* A group of members has been choosen as Skeptics
**/
SkepticsChosen: AugmentedEvent<ApiType, [skeptics: Vec<AccountId32>], { skeptics: Vec<AccountId32> }>;
/**
* A suspended member has been judged.
**/
@@ -1384,6 +1420,10 @@ declare module '@polkadot/api-base/types/events' {
* the remainder from the maximum amount of reward.
**/
EraPaid: AugmentedEvent<ApiType, [eraIndex: u32, validatorPayout: u128, remainder: u128], { eraIndex: u32, validatorPayout: u128, remainder: u128 }>;
/**
* A new force era mode was set.
**/
ForceEra: AugmentedEvent<ApiType, [mode: PalletStakingForcing], { mode: PalletStakingForcing }>;
/**
* A nominator has been kicked from a validator.
**/
+89 -9
View File
@@ -10,7 +10,7 @@ import type { Data } from '@polkadot/types';
import type { BTreeSet, 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, FrameSupportPreimagesBounded, FrameSupportTokensMiscAttributeNamespace, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, KitchensinkRuntimeSessionKeys, PalletAllianceCid, PalletAllianceMemberRole, PalletAssetsApproval, PalletAssetsAssetAccount, PalletAssetsAssetDetails, PalletAssetsAssetMetadata, PalletAuthorshipUncleEntryItem, PalletBagsListListBag, PalletBagsListListNode, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletBountiesBounty, PalletChildBountiesChildBounty, PalletCollectiveVotes, PalletContractsStorageContractInfo, PalletContractsStorageDeletedContract, PalletContractsWasmOwnerInfo, PalletContractsWasmPrefabWasmModule, PalletConvictionVotingVoteVoting, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletElectionProviderMultiPhasePhase, PalletElectionProviderMultiPhaseReadySolution, PalletElectionProviderMultiPhaseRoundSnapshot, PalletElectionProviderMultiPhaseSignedSignedSubmission, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenSeatHolder, PalletElectionsPhragmenVoter, PalletFastUnstakeUnstakeRequest, PalletGrandpaStoredPendingChange, PalletGrandpaStoredState, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletImOnlineBoundedOpaqueNetworkState, PalletImOnlineSr25519AppSr25519Public, PalletLotteryLotteryConfig, PalletMessageQueueBookState, PalletMessageQueueMockHelpersMessageOrigin, PalletMessageQueuePage, PalletMultisigMultisig, PalletNftsAttributeDeposit, PalletNftsCollectionConfig, PalletNftsCollectionDetails, PalletNftsCollectionMetadata, PalletNftsItemConfig, PalletNftsItemDetails, PalletNftsItemMetadata, PalletNftsPendingSwap, PalletNisBid, PalletNisReceiptRecord, PalletNisSummaryRecord, PalletNominationPoolsBondedPoolInner, PalletNominationPoolsPoolMember, PalletNominationPoolsRewardPool, PalletNominationPoolsSubPools, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletRankedCollectiveMemberRecord, PalletRankedCollectiveVoteRecord, PalletRecoveryActiveRecovery, PalletRecoveryRecoveryConfig, PalletReferendaReferendumInfoConvictionVotingTally, PalletReferendaReferendumInfoRankedCollectiveTally, PalletSchedulerScheduled, PalletSocietyBid, PalletSocietyBidKind, PalletSocietyVote, PalletSocietyVouchingStatus, PalletStakingActiveEraInfo, PalletStakingEraRewardPoints, PalletStakingExposure, PalletStakingForcing, PalletStakingNominations, 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, FrameSupportTokensMiscAttributeNamespace, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, KitchensinkRuntimeSessionKeys, PalletAllianceCid, PalletAllianceMemberRole, PalletAssetsApproval, PalletAssetsAssetAccount, PalletAssetsAssetDetails, PalletAssetsAssetMetadata, PalletBagsListListBag, PalletBagsListListNode, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletBountiesBounty, PalletChildBountiesChildBounty, PalletCollectiveVotes, PalletContractsStorageContractInfo, PalletContractsStorageDeletedContract, PalletContractsWasmOwnerInfo, PalletContractsWasmPrefabWasmModule, PalletConvictionVotingVoteVoting, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletElectionProviderMultiPhasePhase, PalletElectionProviderMultiPhaseReadySolution, PalletElectionProviderMultiPhaseRoundSnapshot, PalletElectionProviderMultiPhaseSignedSignedSubmission, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenSeatHolder, PalletElectionsPhragmenVoter, PalletFastUnstakeUnstakeRequest, PalletGrandpaStoredPendingChange, PalletGrandpaStoredState, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletImOnlineBoundedOpaqueNetworkState, PalletImOnlineSr25519AppSr25519Public, PalletLotteryLotteryConfig, PalletMessageQueueBookState, PalletMessageQueueMockHelpersMessageOrigin, PalletMessageQueuePage, PalletMultisigMultisig, PalletNftsAttributeDeposit, PalletNftsCollectionConfig, PalletNftsCollectionDetails, PalletNftsCollectionMetadata, PalletNftsItemConfig, PalletNftsItemDetails, PalletNftsItemMetadata, PalletNftsPendingSwap, PalletNisBid, PalletNisReceiptRecord, PalletNisSummaryRecord, PalletNominationPoolsBondedPoolInner, PalletNominationPoolsPoolMember, PalletNominationPoolsRewardPool, PalletNominationPoolsSubPools, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletRankedCollectiveMemberRecord, PalletRankedCollectiveVoteRecord, PalletRecoveryActiveRecovery, PalletRecoveryRecoveryConfig, PalletReferendaReferendumInfoConvictionVotingTally, PalletReferendaReferendumInfoRankedCollectiveTally, PalletSchedulerScheduled, PalletSocietyBid, PalletSocietyBidKind, PalletSocietyVote, PalletSocietyVouchingStatus, PalletStakingActiveEraInfo, PalletStakingEraRewardPoints, PalletStakingExposure, PalletStakingForcing, PalletStakingNominations, 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>;
@@ -128,14 +128,6 @@ declare module '@polkadot/api-base/types/storage' {
* Author of current block.
**/
author: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Whether uncles were already set in this block.
**/
didSetUncles: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Uncles
**/
uncles: AugmentedQuery<ApiType, () => Observable<Vec<PalletAuthorshipUncleEntryItem>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Generic query
**/
@@ -234,6 +226,17 @@ declare module '@polkadot/api-base/types/storage' {
* epoch.
**/
segmentIndex: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
/**
* A list of the last 100 skipped epochs and the corresponding session index
* when the epoch was skipped.
*
* This is only used for validating equivocation proofs. An equivocation proof
* must contains a key-ownership proof for a given session, therefore we need a
* way to tie together sessions and epoch indices, i.e. we need to validate that
* a validator was the owner of a given key on a given session, and what the
* active epoch index was during that session.
**/
skippedEpochs: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[u64, u32]>>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay.
**/
@@ -471,6 +474,15 @@ declare module '@polkadot/api-base/types/storage' {
* `ReferendumCount` if there isn't a unbaked referendum.
**/
lowestUnbaked: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
/**
* General information concerning any proposal or referendum.
* The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON
* dump or IPFS hash of a JSON file.
*
* Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)
* large preimages.
**/
metadataOf: AugmentedQuery<ApiType, (arg: PalletDemocracyMetadataOwner | { External: any } | { Proposal: any } | { Referendum: any } | string | Uint8Array) => Observable<Option<H256>>, [PalletDemocracyMetadataOwner]> & QueryableStorageEntry<ApiType, [PalletDemocracyMetadataOwner]>;
/**
* The referendum to be tabled whenever it would be valid to table an external proposal.
* This happens when a referendum needs to be tabled and one of two conditions are met:
@@ -647,6 +659,8 @@ declare module '@polkadot/api-base/types/storage' {
* The map of all accounts wishing to be unstaked.
*
* Keeps track of `AccountId` wishing to unstake and it's corresponding deposit.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
queue: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<u128>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
@@ -672,6 +686,12 @@ declare module '@polkadot/api-base/types/storage' {
* A mapping from grandpa set ID to the index of the *most recent* session for which its
* members were responsible.
*
* This is only used for validating equivocation proofs. An equivocation proof must
* contains a key-ownership proof for a given session, therefore we need a way to tie
* together sessions and GRANDPA set ids, i.e. we need to validate that a validator
* was the owner of a given key on a given session, and what the active set ID was
* during that session.
*
* TWOX-NOTE: `SetId` is not under user control.
**/
setIdSession: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>;
@@ -1008,6 +1028,8 @@ declare module '@polkadot/api-base/types/storage' {
minJoinBond: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Active members.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
poolMembers: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<PalletNominationPoolsPoolMember>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
@@ -1055,6 +1077,38 @@ declare module '@polkadot/api-base/types/storage' {
**/
[key: string]: QueryableStorageEntry<ApiType>;
};
pov: {
/**
* A value with a MEL bound of 32 byte.
**/
boundedValue: AugmentedQuery<ApiType, () => Observable<Option<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;
doubleMap1M: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
/**
* 4MiB value.
**/
largeValue: AugmentedQuery<ApiType, () => Observable<Option<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;
largeValue2: AugmentedQuery<ApiType, () => Observable<Option<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* A map with a maximum of 16M entries.
**/
map16M: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
/**
* A map with a maximum of 1M entries.
**/
map1M: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
unboundedMap: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<Vec<u32>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
unboundedMap2: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<Vec<u32>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
/**
* A value without a MEL bound.
**/
unboundedValue: AugmentedQuery<ApiType, () => Observable<Option<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;
value: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>;
value2: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Generic query
**/
[key: string]: QueryableStorageEntry<ApiType>;
};
preimage: {
preimageFor: AugmentedQuery<ApiType, (arg: ITuple<[H256, u32]> | [H256 | string | Uint8Array, u32 | AnyNumber | Uint8Array]) => Observable<Option<Bytes>>, [ITuple<[H256, u32]>]> & QueryableStorageEntry<ApiType, [ITuple<[H256, u32]>]>;
/**
@@ -1127,6 +1181,15 @@ declare module '@polkadot/api-base/types/storage' {
* The number of referenda being decided currently.
**/
decidingCount: AugmentedQuery<ApiType, (arg: u16 | AnyNumber | Uint8Array) => Observable<u32>, [u16]> & QueryableStorageEntry<ApiType, [u16]>;
/**
* The metadata is a general information concerning the referendum.
* The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON
* dump or IPFS hash of a JSON file.
*
* Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)
* large preimages.
**/
metadataOf: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<H256>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
/**
* The next free referendum index, aka the number of referenda started so far.
**/
@@ -1175,6 +1238,15 @@ declare module '@polkadot/api-base/types/storage' {
* The number of referenda being decided currently.
**/
decidingCount: AugmentedQuery<ApiType, (arg: u16 | AnyNumber | Uint8Array) => Observable<u32>, [u16]> & QueryableStorageEntry<ApiType, [u16]>;
/**
* The metadata is a general information concerning the referendum.
* The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON
* dump or IPFS hash of a JSON file.
*
* Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)
* large preimages.
**/
metadataOf: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<H256>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
/**
* The next free referendum index, aka the number of referenda started so far.
**/
@@ -1334,6 +1406,8 @@ declare module '@polkadot/api-base/types/storage' {
activeEra: AugmentedQuery<ApiType, () => Observable<Option<PalletStakingActiveEraInfo>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Map from all locked "stash" accounts to the controller account.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
bonded: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<AccountId32>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
@@ -1494,6 +1568,8 @@ declare module '@polkadot/api-base/types/storage' {
*
* Lastly, if any of the nominators become non-decodable, they can be chilled immediately via
* [`Call::chill_other`] dispatchable by anyone.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
nominators: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<PalletStakingNominations>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
@@ -1514,6 +1590,8 @@ declare module '@polkadot/api-base/types/storage' {
offendingValidators: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[u32, bool]>>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Where the reward payment should be made. Keyed by stash.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
payee: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<PalletStakingRewardDestination>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
@@ -1541,6 +1619,8 @@ declare module '@polkadot/api-base/types/storage' {
validatorCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
/**
* The map from (wannabe) validator stash key to the preferences of that validator.
*
* TWOX-NOTE: SAFE since `AccountId` is a secure hash.
**/
validators: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<PalletStakingValidatorPrefs>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
+19 -3
View File
@@ -18,7 +18,7 @@ import type { AuthorityList, GrandpaEquivocationProof, SetId } from '@polkadot/t
import type { OpaqueMetadata } from '@polkadot/types/interfaces/metadata';
import type { MmrBatchProof, MmrEncodableOpaqueLeaf, MmrError, MmrLeafIndex, MmrProof } from '@polkadot/types/interfaces/mmr';
import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment';
import type { AccountId, Balance, Block, Call, Hash, Header, Index, KeyTypeId, Slot, WeightV2 } from '@polkadot/types/interfaces/runtime';
import type { AccountId, Balance, Block, Call, Hash, Header, Index, KeyTypeId, Slot, Weight, WeightV2 } from '@polkadot/types/interfaces/runtime';
import type { RuntimeVersion } from '@polkadot/types/interfaces/state';
import type { ApplyExtrinsicResult } from '@polkadot/types/interfaces/system';
import type { TransactionSource, TransactionValidity } from '@polkadot/types/interfaces/txqueue';
@@ -264,7 +264,7 @@ declare module '@polkadot/api-base/types/calls' {
**/
[key: string]: DecoratedCallBase<ApiType>;
};
/** 0x37c8bb1350a9a2a8/2 */
/** 0x37c8bb1350a9a2a8/3 */
transactionPaymentApi: {
/**
* The transaction fee details
@@ -274,12 +274,20 @@ declare module '@polkadot/api-base/types/calls' {
* The transaction info
**/
queryInfo: AugmentedCall<ApiType, (uxt: Extrinsic | IExtrinsic | string | Uint8Array, len: u32 | AnyNumber | Uint8Array) => Observable<RuntimeDispatchInfo>>;
/**
* Query the output of the current LengthToFee given some input
**/
queryLengthToFee: AugmentedCall<ApiType, (length: u32 | AnyNumber | Uint8Array) => Observable<Balance>>;
/**
* Query the output of the current WeightToFee given some input
**/
queryWeightToFee: AugmentedCall<ApiType, (weight: Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => Observable<Balance>>;
/**
* Generic call
**/
[key: string]: DecoratedCallBase<ApiType>;
};
/** 0xf3ff14d5ab527059/2 */
/** 0xf3ff14d5ab527059/3 */
transactionPaymentCallApi: {
/**
* The call fee details
@@ -289,6 +297,14 @@ declare module '@polkadot/api-base/types/calls' {
* The call info
**/
queryCallInfo: AugmentedCall<ApiType, (call: Call | IMethod | string | Uint8Array, len: u32 | AnyNumber | Uint8Array) => Observable<RuntimeDispatchInfo>>;
/**
* Query the output of the current LengthToFee given some input
**/
queryLengthToFee: AugmentedCall<ApiType, (length: u32 | AnyNumber | Uint8Array) => Observable<Balance>>;
/**
* Query the output of the current WeightToFee given some input
**/
queryWeightToFee: AugmentedCall<ApiType, (weight: Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => Observable<Balance>>;
/**
* Generic call
**/
File diff suppressed because it is too large Load Diff
+1 -2
View File
@@ -15,7 +15,6 @@
{ "path": "../rpc-augment/tsconfig.build.json" },
{ "path": "../types/tsconfig.build.json" },
{ "path": "../types-codec/tsconfig.build.json" },
{ "path": "../types-augment/tsconfig.build.json" },
{ "path": "../types-support/tsconfig.build.json" }
{ "path": "../types-augment/tsconfig.build.json" }
]
}
-201
View File
@@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+5 -5
View File
@@ -20,13 +20,13 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "9.11.1",
"version": "9.14.2",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.20.7",
"@polkadot/rpc-core": "9.11.1",
"@polkadot/types": "9.11.1",
"@polkadot/util": "^10.2.3",
"@babel/runtime": "^7.20.13",
"@polkadot/rpc-core": "9.14.2",
"@polkadot/types": "9.14.2",
"@polkadot/util": "^10.4.2",
"rxjs": "^7.8.0"
}
}
+1 -1
View File
@@ -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.11.1' };
export const packageInfo = { name: '@polkadot/api-base', path: 'auto', type: 'auto', version: '9.14.2' };
-201
View File
@@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+10 -10
View File
@@ -20,20 +20,20 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "9.11.1",
"version": "9.14.2",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.20.7",
"@polkadot/api": "9.11.1",
"@polkadot/types": "9.11.1",
"@polkadot/types-codec": "9.11.1",
"@polkadot/types-create": "9.11.1",
"@polkadot/util": "^10.2.3",
"@polkadot/util-crypto": "^10.2.3",
"@babel/runtime": "^7.20.13",
"@polkadot/api": "9.14.2",
"@polkadot/types": "9.14.2",
"@polkadot/types-codec": "9.14.2",
"@polkadot/types-create": "9.14.2",
"@polkadot/util": "^10.4.2",
"@polkadot/util-crypto": "^10.4.2",
"rxjs": "^7.8.0"
},
"devDependencies": {
"@polkadot/api-augment": "9.11.1",
"@polkadot/keyring": "^10.2.3"
"@polkadot/api-augment": "9.14.2",
"@polkadot/keyring": "^10.4.2"
}
}
+18 -16
View File
@@ -5,6 +5,7 @@ import type { Registry } from '@polkadot/types/types';
import fs from 'fs';
import path from 'path';
import process from 'process';
import { TypeDefInfo } from '@polkadot/types/types';
import { blake2AsHex } from '@polkadot/util-crypto';
@@ -41,6 +42,9 @@ interface JSONAbi {
}
}
// FIXME When Jest is removed with ESM tests, this should be converted to use import.meta.url
const cmpPath = path.join(process.cwd(), 'packages/api-contract/src/test/compare');
function stringifyInfo (key: string, value: unknown): unknown {
return key === 'info'
? TypeDefInfo[value as number]
@@ -82,25 +86,23 @@ describe('Abi', (): void => {
});
describe('TypeDef', (): void => {
Object.keys(abis).forEach((abiName) => {
it(`initializes from a contract ABI (${abiName})`, (): void => {
const abi = new Abi(abis[abiName]);
const json = stringifyJson(abi.registry);
const cmpPath = path.join(__dirname, `../test/compare/${abiName}.test.json`);
it.each(Object.keys(abis))('initializes from a contract ABI: %s', (abiName): void => {
const abi = new Abi(abis[abiName]);
const json = stringifyJson(abi.registry);
const cmpFile = path.join(cmpPath, `${abiName}.test.json`);
const cmpText = fs.readFileSync(cmpFile, 'utf-8');
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
expect(JSON.parse(json)).toEqual(require(cmpPath));
} catch (error) {
if (process.env.GITHUB_REPOSITORY) {
console.error(json);
try {
expect(JSON.parse(json)).toEqual(JSON.parse(cmpText));
} catch (error) {
if (process.env.GITHUB_REPOSITORY) {
console.error(json);
throw error;
}
fs.writeFileSync(cmpPath, json, { flag: 'w' });
throw error;
}
});
fs.writeFileSync(cmpFile, json, { flag: 'w' });
}
});
});
+7 -13
View File
@@ -75,19 +75,13 @@ function parseJson (json: Record<string, unknown>, chainProperties?: ChainProper
}
export class Abi {
public readonly events: AbiEvent[];
public readonly constructors: AbiConstructor[];
public readonly info: ContractProjectInfo;
public readonly json: Record<string, unknown>;
public readonly messages: AbiMessage[];
public readonly metadata: ContractMetadataLatest;
public readonly registry: Registry;
readonly events: AbiEvent[];
readonly constructors: AbiConstructor[];
readonly info: ContractProjectInfo;
readonly json: Record<string, unknown>;
readonly messages: AbiMessage[];
readonly metadata: ContractMetadataLatest;
readonly registry: Registry;
constructor (abiJson: Record<string, unknown> | string, chainProperties?: ChainProperties) {
[this.json, this.registry, this.metadata, this.info] = parseJson(
+2 -4
View File
@@ -11,12 +11,10 @@ import { isFunction } from '@polkadot/util';
import { Abi } from '../Abi';
export abstract class Base<ApiType extends ApiTypes> {
public readonly abi: Abi;
public readonly api: ApiBase<ApiType>;
readonly abi: Abi;
readonly api: ApiBase<ApiType>;
protected readonly _decorateMethod: DecorateMethod<ApiType>;
protected readonly _isWeightV1: boolean;
constructor (api: ApiBase<ApiType>, abi: string | Record<string, unknown> | Abi, decorateMethod: DecorateMethod<ApiType>) {
+2 -2
View File
@@ -23,7 +23,7 @@ export interface BlueprintConstructor<ApiType extends ApiTypes> {
}
export class BlueprintSubmittableResult<ApiType extends ApiTypes> extends SubmittableResult {
public readonly contract?: Contract<ApiType>;
readonly contract?: Contract<ApiType>;
constructor (result: ISubmittableResult, contract?: Contract<ApiType>) {
super(result);
@@ -36,7 +36,7 @@ export class Blueprint<ApiType extends ApiTypes> extends Base<ApiType> {
/**
* @description The on-chain code hash for this blueprint
*/
public readonly codeHash: Hash;
readonly codeHash: Hash;
readonly #tx: MapConstructorExec<ApiType> = {};
+3 -1
View File
@@ -3,6 +3,7 @@
import fs from 'fs';
import path from 'path';
import process from 'process';
import { toPromiseMethod } from '@polkadot/api';
@@ -12,7 +13,8 @@ import v1contractFlipper from '../test/contracts/ink/v1/flipper.contract.json' a
import { Code } from './Code';
import { mockApi } from './mock';
const v0wasmFlipper = fs.readFileSync(path.join(__dirname, '../test/contracts/ink/v0/flipper.wasm'));
// FIXME When Jest is removed with ESM tests, this should be converted to use import.meta.url
const v0wasmFlipper = fs.readFileSync(path.join(process.cwd(), 'packages/api-contract/src/test/contracts/ink/v0/flipper.wasm'), 'utf-8');
describe('Code', (): void => {
it('can construct with an individual ABI/WASM combo', (): void => {
+3 -3
View File
@@ -25,8 +25,8 @@ export interface CodeConstructor<ApiType extends ApiTypes> {
}
export class CodeSubmittableResult<ApiType extends ApiTypes> extends SubmittableResult {
public readonly blueprint?: Blueprint<ApiType>;
public readonly contract?: Contract<ApiType>;
readonly blueprint?: Blueprint<ApiType>;
readonly contract?: Contract<ApiType>;
constructor (result: ISubmittableResult, blueprint?: Blueprint<ApiType>, contract?: Contract<ApiType>) {
super(result);
@@ -37,7 +37,7 @@ export class CodeSubmittableResult<ApiType extends ApiTypes> extends Submittable
}
export class Code<ApiType extends ApiTypes> extends Base<ApiType> {
public readonly code: Uint8Array;
readonly code: Uint8Array;
readonly #tx: MapConstructorExec<ApiType> = {};
+2 -3
View File
@@ -42,7 +42,7 @@ function createTx <ApiType extends ApiTypes> (meta: AbiMessage, fn: (options: Co
}
export class ContractSubmittableResult extends SubmittableResult {
public readonly contractEvents?: DecodedEvent[];
readonly contractEvents?: DecodedEvent[];
constructor (result: ISubmittableResult, contractEvents?: DecodedEvent[]) {
super(result);
@@ -55,10 +55,9 @@ export class Contract<ApiType extends ApiTypes> extends Base<ApiType> {
/**
* @description The on-chain address for this contract
*/
public readonly address: AccountId;
readonly address: AccountId;
readonly #query: MapMessageQuery<ApiType> = {};
readonly #tx: MapMessageTx<ApiType> = {};
constructor (api: ApiBase<ApiType>, abi: string | Record<string, unknown> | Abi, address: string | AccountId, decorateMethod: DecorateMethod<ApiType>) {
+1 -1
View File
@@ -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.11.1' };
export const packageInfo = { name: '@polkadot/api-contract', path: 'auto', type: 'auto', version: '9.14.2' };
-201
View File
@@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+15 -15
View File
@@ -20,25 +20,25 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "9.11.1",
"version": "9.14.2",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.20.7",
"@polkadot/api": "9.11.1",
"@polkadot/api-augment": "9.11.1",
"@polkadot/api-base": "9.11.1",
"@polkadot/rpc-core": "9.11.1",
"@polkadot/types": "9.11.1",
"@polkadot/types-codec": "9.11.1",
"@polkadot/util": "^10.2.3",
"@polkadot/util-crypto": "^10.2.3",
"@babel/runtime": "^7.20.13",
"@polkadot/api": "9.14.2",
"@polkadot/api-augment": "9.14.2",
"@polkadot/api-base": "9.14.2",
"@polkadot/rpc-core": "9.14.2",
"@polkadot/types": "9.14.2",
"@polkadot/types-codec": "9.14.2",
"@polkadot/util": "^10.4.2",
"@polkadot/util-crypto": "^10.4.2",
"rxjs": "^7.8.0"
},
"devDependencies": {
"@polkadot/api": "9.11.1",
"@polkadot/api-augment": "9.11.1",
"@polkadot/rpc-augment": "9.11.1",
"@polkadot/rpc-provider": "9.11.1",
"@polkadot/types-support": "9.11.1"
"@polkadot/api": "9.14.2",
"@polkadot/api-augment": "9.14.2",
"@polkadot/rpc-augment": "9.14.2",
"@polkadot/rpc-provider": "9.14.2",
"@polkadot/types-support": "9.14.2"
}
}
+12 -5
View File
@@ -76,7 +76,9 @@ function parseImage (api: DeriveApi, [proposalHash, status, bytes]: [HexString,
return { at: BN_ZERO, balance, proposal, proposalHash, proposer };
}
function getDemocracyImages (api: DeriveApi, hashes: (Hash | Uint8Array | string)[]): Observable<(DeriveProposalImage | undefined)[]> {
function getDemocracyImages (api: DeriveApi, bounded: (Hash | Uint8Array | string | FrameSupportPreimagesBounded)[]): Observable<(DeriveProposalImage | undefined)[]> {
const hashes = bounded.map((b) => getImageHashBounded(b));
return api.query.democracy.preimages.multi<Option<PreimageStatus>>(hashes).pipe(
map((images): (DeriveProposalImage | undefined)[] =>
images.map((imageOpt) => parseDemocracy(api, imageOpt))
@@ -86,6 +88,7 @@ function getDemocracyImages (api: DeriveApi, hashes: (Hash | Uint8Array | string
function getImages (api: DeriveApi, bounded: (FrameSupportPreimagesBounded | Uint8Array | string)[]): Observable<(DeriveProposalImage | undefined)[]> {
const hashes = bounded.map((b) => getImageHashBounded(b));
const bytesType = api.registry.lookup.getTypeDef(api.query.preimage.preimageFor.creator.meta.type.asMap.key).type;
return api.query.preimage.statusFor.multi(hashes).pipe(
switchMap((optStatus) => {
@@ -93,9 +96,13 @@ function getImages (api: DeriveApi, bounded: (FrameSupportPreimagesBounded | Uin
const keys = statuses
.map((s, i) =>
s
? s.isRequested
? [hashes[i], s.asRequested.len.unwrapOr(0)]
: [hashes[i], s.asUnrequested.len]
? bytesType === 'H256'
// first generation
? hashes[i]
// current generation (H256,u32)
: s.isRequested
? [hashes[i], s.asRequested.len.unwrapOr(0)]
: [hashes[i], s.asUnrequested.len]
: null
)
.filter((p) => !!p);
@@ -121,7 +128,7 @@ export function preimages (instanceId: string, api: DeriveApi): (hashes: (Hash |
return memo(instanceId, (hashes: (Hash | Uint8Array | string | FrameSupportPreimagesBounded)[]): Observable<(DeriveProposalImage | undefined)[]> =>
hashes.length
? isFunction(api.query.democracy.preimages)
? getDemocracyImages(api, hashes as string[])
? getDemocracyImages(api, hashes)
: isFunction(api.query.preimage.preimageFor)
? getImages(api, hashes)
: of([])
@@ -51,14 +51,14 @@ function parse ([proposals, images, optDepositors]: Result): DeriveProposal[] {
export function proposals (instanceId: string, api: DeriveApi): () => Observable<DeriveProposal[]> {
return memo(instanceId, (): Observable<DeriveProposal[]> =>
isFunction(api.query.democracy?.publicProps) && isFunction(api.query.democracy?.preimages)
isFunction(api.query.democracy?.publicProps)
? api.query.democracy.publicProps().pipe(
switchMap((proposals) =>
proposals.length
? combineLatest([
of(proposals),
api.derive.democracy.preimages(
proposals.map(([, hash]) => hash as unknown as Uint8Array)
proposals.map(([, hash]) => hash)
),
api.query.democracy.depositOf.multi(
proposals.map(([index]) => index)
+10 -14
View File
@@ -27,19 +27,20 @@ const testFunction = (api: ApiRx): any => {
};
};
function waitReady (api: ApiRx): Promise<ApiRx> {
return new Promise<ApiRx>((resolve) =>
api.isReady.subscribe((api) => resolve(api))
);
}
describe('derive', (): void => {
const registry = new TypeRegistry();
describe('builtin', (): void => {
const api = new ApiRx({ provider: new MockProvider(registry), registry });
beforeAll((done): void => {
api.isReady.subscribe(() => done());
});
afterAll(async () => {
await api.disconnect();
});
beforeAll(() => waitReady(api));
afterAll(() => api.disconnect());
testFunction(api)('accounts', 'idAndIndex', []);
testFunction(api)('accounts', 'idToIndex', []);
@@ -81,13 +82,8 @@ describe('derive', (): void => {
throwOnConnect: true
});
beforeAll((done): void => {
api.isReady.subscribe(() => done());
});
afterAll(async () => {
await api.disconnect();
});
beforeAll(() => waitReady(api));
afterAll(() => api.disconnect());
// override
testFunction(api)('balances', 'fees', ['a', 'b']);
+1 -1
View File
@@ -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.11.1' };
export const packageInfo = { name: '@polkadot/api-derive', path: 'auto', type: 'auto', version: '9.14.2' };
-201
View File
@@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+19 -19
View File
@@ -20,29 +20,29 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "9.11.1",
"version": "9.14.2",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.20.7",
"@polkadot/api-augment": "9.11.1",
"@polkadot/api-base": "9.11.1",
"@polkadot/api-derive": "9.11.1",
"@polkadot/keyring": "^10.2.3",
"@polkadot/rpc-augment": "9.11.1",
"@polkadot/rpc-core": "9.11.1",
"@polkadot/rpc-provider": "9.11.1",
"@polkadot/types": "9.11.1",
"@polkadot/types-augment": "9.11.1",
"@polkadot/types-codec": "9.11.1",
"@polkadot/types-create": "9.11.1",
"@polkadot/types-known": "9.11.1",
"@polkadot/util": "^10.2.3",
"@polkadot/util-crypto": "^10.2.3",
"eventemitter3": "^4.0.7",
"@babel/runtime": "^7.20.13",
"@polkadot/api-augment": "9.14.2",
"@polkadot/api-base": "9.14.2",
"@polkadot/api-derive": "9.14.2",
"@polkadot/keyring": "^10.4.2",
"@polkadot/rpc-augment": "9.14.2",
"@polkadot/rpc-core": "9.14.2",
"@polkadot/rpc-provider": "9.14.2",
"@polkadot/types": "9.14.2",
"@polkadot/types-augment": "9.14.2",
"@polkadot/types-codec": "9.14.2",
"@polkadot/types-create": "9.14.2",
"@polkadot/types-known": "9.14.2",
"@polkadot/util": "^10.4.2",
"@polkadot/util-crypto": "^10.4.2",
"eventemitter3": "^5.0.0",
"rxjs": "^7.8.0"
},
"devDependencies": {
"@polkadot/api-augment": "9.11.1",
"@polkadot/types-support": "9.11.1"
"@polkadot/api-augment": "9.14.2",
"@polkadot/types-support": "9.14.2"
}
}
+50 -68
View File
@@ -60,65 +60,38 @@ function getAtQueryFn<ApiType extends ApiTypes> (api: ApiDecoration<ApiType>, {
export abstract class Decorate<ApiType extends ApiTypes> extends Events {
readonly #instanceId: string;
#registry: Registry;
readonly #runtimeLog: Record<string, boolean> = {};
#registry: Registry;
#storageGetQ: [Observable<Codec[]>, [StorageEntry, unknown[]][]][] = [];
#storageSubQ: [Observable<Codec[]>, [StorageEntry, unknown[]][]][] = [];
// HACK Use BN import so decorateDerive works... yes, wtf.
protected __phantom = new BN(0);
protected _type: ApiTypes;
protected _call: QueryableCalls<ApiType> = {} as QueryableCalls<ApiType>;
protected _consts: QueryableConsts<ApiType> = {} as QueryableConsts<ApiType>;
protected _derive?: ReturnType<Decorate<ApiType>['_decorateDerive']>;
protected _errors: DecoratedErrors<ApiType> = {} as DecoratedErrors<ApiType>;
protected _events: DecoratedEvents<ApiType> = {} as DecoratedEvents<ApiType>;
protected _extrinsics?: SubmittableExtrinsics<ApiType>;
protected _extrinsicType = GenericExtrinsic.LATEST_EXTRINSIC_VERSION;
protected _genesisHash?: Hash;
protected _isConnected: BehaviorSubject<boolean>;
protected _isReady = false;
protected _query: QueryableStorage<ApiType> = {} as QueryableStorage<ApiType>;
protected _queryMulti?: QueryableStorageMulti<ApiType>;
protected _rpc?: DecoratedRpc<ApiType, RpcInterface>;
protected _rpcCore: RpcCore & RpcInterface;
protected _runtimeMap: Record<HexString, string> = {};
protected _runtimeChain?: Text;
protected _runtimeMetadata?: Metadata;
protected _runtimeVersion?: RuntimeVersion;
protected _rx: ApiInterfaceRx = { call: {} as QueryableCalls<'rxjs'>, consts: {} as QueryableConsts<'rxjs'>, query: {} as QueryableStorage<'rxjs'>, tx: {} as SubmittableExtrinsics<'rxjs'> } as ApiInterfaceRx;
protected readonly _options: ApiOptions;
protected _query: QueryableStorage<ApiType> = {} as QueryableStorage<ApiType>;
protected _queryMulti?: QueryableStorageMulti<ApiType>;
protected _rpc?: DecoratedRpc<ApiType, RpcInterface>;
protected _rpcCore: RpcCore & RpcInterface;
protected _runtimeMap: Record<HexString, string> = {};
protected _runtimeChain?: Text;
protected _runtimeMetadata?: Metadata;
protected _runtimeVersion?: RuntimeVersion;
protected _rx: ApiInterfaceRx = {
call: {} as QueryableCalls<'rxjs'>,
consts: {} as QueryableConsts<'rxjs'>,
query: {} as QueryableStorage<'rxjs'>,
tx: {} as SubmittableExtrinsics<'rxjs'>
} as ApiInterfaceRx;
protected _type: ApiTypes;
/**
* This is the one and only method concrete children classes need to implement.
* It's a higher-order function, which takes one argument
@@ -390,8 +363,10 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
}
}
const filterKey = (k: string) => !allKeys.includes(k);
const unknown = exposed.filter(filterKey);
const unknown = exposed.filter((k: string) =>
!allKeys.includes(k) &&
!k.includes('_unstable_')
);
if (unknown.length && !this._options.noInitWarn) {
l.warn(`RPC methods not decorated: ${unknown.join(', ')}`);
@@ -614,39 +589,44 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
protected _decorateMulti<ApiType extends ApiTypes> (decorateMethod: DecorateMethod<ApiType>): QueryableStorageMulti<ApiType> {
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
return decorateMethod((keys: QueryableStorageMultiArg<ApiType>[]): Observable<Codec[]> =>
(this.hasSubscriptions
? this._rpcCore.state.subscribeStorage
: this._rpcCore.state.queryStorageAt
)(keys.map((args: QueryableStorageMultiArg<ApiType>): [StorageEntry, ...unknown[]] =>
Array.isArray(args)
? args[0].creator.meta.type.isPlain
? [args[0].creator]
: args[0].creator.meta.type.asMap.hashers.length === 1
? [args[0].creator, args.slice(1)]
: [args[0].creator, ...args.slice(1)]
: [args.creator]
))
keys.length
? (this.hasSubscriptions
? this._rpcCore.state.subscribeStorage
: this._rpcCore.state.queryStorageAt
)(keys.map((args: QueryableStorageMultiArg<ApiType>): [StorageEntry, ...unknown[]] =>
Array.isArray(args)
? args[0].creator.meta.type.isPlain
? [args[0].creator]
: args[0].creator.meta.type.asMap.hashers.length === 1
? [args[0].creator, args.slice(1)]
: [args[0].creator, ...args.slice(1)]
: [args.creator]
))
: of([])
);
}
protected _decorateMultiAt<ApiType extends ApiTypes> (atApi: ApiDecoration<ApiType>, decorateMethod: DecorateMethod<ApiType>, blockHash: Uint8Array | string): QueryableStorageMulti<ApiType> {
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
return decorateMethod((calls: QueryableStorageMultiArg<ApiType>[]): Observable<Codec[]> =>
this._rpcCore.state.queryStorageAt(
calls.map((args: QueryableStorageMultiArg<ApiType>) => {
if (Array.isArray(args)) {
const { creator } = getAtQueryFn(atApi, args[0].creator);
calls.length
? this._rpcCore.state.queryStorageAt(
calls.map((args: QueryableStorageMultiArg<ApiType>) => {
if (Array.isArray(args)) {
const { creator } = getAtQueryFn(atApi, args[0].creator);
return creator.meta.type.isPlain
? [creator]
: creator.meta.type.asMap.hashers.length === 1
? [creator, args.slice(1)]
: [creator, ...args.slice(1)];
}
return creator.meta.type.isPlain
? [creator]
: creator.meta.type.asMap.hashers.length === 1
? [creator, args.slice(1)]
: [creator, ...args.slice(1)];
}
return [getAtQueryFn(atApi, args.creator).creator];
}),
blockHash));
return [getAtQueryFn(atApi, args.creator).creator];
}),
blockHash)
: of([])
);
}
protected _decorateExtrinsics<ApiType extends ApiTypes> ({ tx }: DecoratedMeta, decorateMethod: DecorateMethod<ApiType>): SubmittableExtrinsics<ApiType> {
@@ -869,7 +849,7 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
nextTick((): void => {
// get all the calls in this instance, resolve with it
// and then clear the queue so we don't add more
// (anyhting after this will be added to a new queue)
// (anything after this will be added to a new queue)
const calls = queue[queueIdx][1];
delete queue[queueIdx];
@@ -898,7 +878,7 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
// Decorate the base storage call. In the case or rxjs or promise-without-callback (await)
// we make a subscription, alternatively we push this through a single-shot query
private _decorateStorageCall<ApiType extends ApiTypes> (creator: StorageEntry, decorateMethod: DecorateMethod<ApiType>): ReturnType<DecorateMethod<ApiType>> {
return decorateMethod((...args: unknown[]): Observable<Codec> => {
const memoed = memo(this.#instanceId, (...args: unknown[]): Observable<Codec> => {
const call = extractStorageArgs(this.#registry, creator, args);
if (!this.hasSubscriptions) {
@@ -906,7 +886,9 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
}
return this._queueStorage(call, this.#storageSubQ);
}, {
});
return decorateMethod(memoed, {
methodName: creator.method,
overrideNoSub: (...args: unknown[]) =>
this._queueStorage(extractStorageArgs(this.#registry, creator, args), this.#storageGetQ)
-4
View File
@@ -31,13 +31,9 @@ function textToString (t: Text): string {
export abstract class Init<ApiType extends ApiTypes> extends Decorate<ApiType> {
#atLast: [string, ApiDecoration<ApiType>] | null = null;
#healthTimer: ReturnType<typeof setInterval> | null = null;
#registries: VersionedRegistry<ApiType>[] = [];
#updateSub?: Subscription | null = null;
#waitingRegistries: Record<HexString, Promise<VersionedRegistry<ApiType>>> = {};
constructor (options: ApiOptions, type: ApiTypes, decorateMethod: DecorateMethod<ApiType>) {
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/api', path: 'auto', type: 'auto', version: '9.11.1' };
export const packageInfo = { name: '@polkadot/api', path: 'auto', type: 'auto', version: '9.14.2' };
-6
View File
@@ -14,17 +14,11 @@ export interface CombinatorFunction {
export class Combinator<T extends unknown[] = unknown[]> {
#allHasFired = false;
#callback: CombinatorCallback<T>;
#fired: boolean[] = [];
#fns: CombinatorFunction[] = [];
#isActive = true;
#results: unknown[] = [];
#subscriptions: UnsubscribePromise[] = [];
constructor (fns: (CombinatorFunction | [CombinatorFunction, ...unknown[]])[], callback: CombinatorCallback<T>) {
-3
View File
@@ -4,8 +4,6 @@
import type { HexString } from '@polkadot/util/types';
import type { SubmittableExtrinsic } from '../types';
import { jest } from '@jest/globals';
import { createPair } from '@polkadot/keyring/pair';
import { createTestKeyring } from '@polkadot/keyring/testing';
import { MockProvider } from '@polkadot/rpc-provider/mock';
@@ -47,7 +45,6 @@ describe('ApiPromise', (): void => {
}
beforeEach((): void => {
jest.setTimeout(10000);
provider = new MockProvider(registry);
});
+8 -8
View File
@@ -35,21 +35,21 @@ function extractInfo (events: EventRecord[] = []): DispatchInfo | undefined {
}
export class SubmittableResult implements ISubmittableResult {
public readonly dispatchError?: DispatchError;
readonly dispatchError?: DispatchError;
public readonly dispatchInfo?: DispatchInfo;
readonly dispatchInfo?: DispatchInfo;
public readonly internalError?: Error;
readonly internalError?: Error;
public readonly events: EventRecord[];
readonly events: EventRecord[];
public readonly status: ExtrinsicStatus;
readonly status: ExtrinsicStatus;
public readonly txHash: Hash;
readonly txHash: Hash;
public readonly txIndex?: number;
readonly txIndex?: number;
public readonly blockNumber?: BlockNumber;
readonly blockNumber?: BlockNumber;
constructor ({ blockNumber, dispatchError, dispatchInfo, events, internalError, status, txHash, txIndex }: SubmittableResultValue) {
this.dispatchError = dispatchError || extractError(events);
@@ -11,9 +11,7 @@ let id = 0;
export class SingleAccountSigner implements Signer {
readonly #keyringPair: KeyringPair;
readonly #registry: Registry;
readonly #signDelay: number;
constructor (registry: Registry, keyringPair: KeyringPair, signDelay = 0) {
+4 -5
View File
@@ -4,15 +4,14 @@
import { augmentObject } from './augmentObject';
describe('augmentObject', (): void => {
let spy: any;
let spy: jest.SpyInstance;
beforeEach((): void => {
spy = jest.spyOn(console, 'warn');
});
afterEach((): void => {
// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
spy.mockClear();
spy.mockRestore();
});
it('logs added/removed sections and methods', (): void => {
@@ -24,12 +23,12 @@ describe('augmentObject', (): void => {
expect(spy).toHaveBeenCalledWith(
expect.anything(),
expect.stringContaining('API/AUGMENT'),
expect.stringMatching(/API\/AUGMENT/),
'api.test: Found 1 added and 1 removed modules:\n\t added: new\n\tremoved: baz'
);
expect(spy).toHaveBeenCalledWith(
expect.anything(),
expect.stringContaining('API/AUGMENT'),
expect.stringMatching(/API\/AUGMENT/),
'api.test: Found 2 added and 3 removed calls:\n\t added: bar.b, foo.d\n\tremoved: bar.a, bar.c, foo.c'
);
});
-201
View File
@@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+6 -6
View File
@@ -20,13 +20,13 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "9.11.1",
"version": "9.14.2",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.20.7",
"@polkadot/rpc-core": "9.11.1",
"@polkadot/types": "9.11.1",
"@polkadot/types-codec": "9.11.1",
"@polkadot/util": "^10.2.3"
"@babel/runtime": "^7.20.13",
"@polkadot/rpc-core": "9.14.2",
"@polkadot/types": "9.14.2",
"@polkadot/types-codec": "9.14.2",
"@polkadot/util": "^10.4.2"
}
}
+1 -1
View File
@@ -275,7 +275,7 @@ declare module '@polkadot/rpc-core/types/jsonrpc' {
/**
* Returns the number of transactions sent from given address at given time (block number).
**/
getTransactionCount: AugmentedRpc<(hash: H256 | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<U256>>;
getTransactionCount: AugmentedRpc<(address: H160 | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<U256>>;
/**
* Returns transaction receipt by transaction hash.
**/
+1 -1
View File
@@ -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.11.1' };
export const packageInfo = { name: '@polkadot/rpc-augment', path: 'auto', type: 'auto', version: '9.14.2' };
-201
View File
@@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+8 -8
View File
@@ -20,18 +20,18 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "9.11.1",
"version": "9.14.2",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.20.7",
"@polkadot/rpc-augment": "9.11.1",
"@polkadot/rpc-provider": "9.11.1",
"@polkadot/types": "9.11.1",
"@polkadot/util": "^10.2.3",
"@babel/runtime": "^7.20.13",
"@polkadot/rpc-augment": "9.14.2",
"@polkadot/rpc-provider": "9.14.2",
"@polkadot/types": "9.14.2",
"@polkadot/util": "^10.4.2",
"rxjs": "^7.8.0"
},
"devDependencies": {
"@polkadot/keyring": "^10.2.3",
"@polkadot/rpc-augment": "9.11.1"
"@polkadot/keyring": "^10.4.2",
"@polkadot/rpc-augment": "9.14.2"
}
}
+4 -7
View File
@@ -85,7 +85,6 @@ function isTreatAsHex (key: StorageKey): boolean {
*/
export class RpcCore {
#instanceId: string;
#registryDefault: Registry;
#getBlockRegistry?: (blockHash: Uint8Array) => Promise<{ registry: Registry }>;
@@ -93,11 +92,9 @@ export class RpcCore {
readonly #storageCache = new Map<string, Codec>();
public readonly mapping = new Map<string, DefinitionRpcExt>();
public readonly provider: ProviderInterface;
public readonly sections: string[] = [];
readonly mapping = new Map<string, DefinitionRpcExt>();
readonly provider: ProviderInterface;
readonly sections: string[] = [];
/**
* @constructor
@@ -483,7 +480,7 @@ export class RpcCore {
: meta.modifier.isOptional
? registry.createTypeUnsafe(type, [input], { blockHash, isPedantic: true })
: input
], { blockHash, isOptional: meta.modifier.isOptional, isPedantic: !meta.modifier.isOptional });
], { blockHash, isFallback: isEmpty && !!meta.fallback, isOptional: meta.modifier.isOptional, isPedantic: !meta.modifier.isOptional });
} catch (error) {
throw new Error(`Unable to decode storage ${key.section || 'unknown'}.${key.method || 'unknown'}:${entryNum}: ${(error as Error).message}`);
}
+1 -1
View File
@@ -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.11.1' };
export const packageInfo = { name: '@polkadot/rpc-core', path: 'auto', type: 'auto', version: '9.14.2' };
-5
View File
@@ -1,16 +1,11 @@
// Copyright 2017-2023 @polkadot/api-derive authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { jest } from '@jest/globals';
import { of, timer } from 'rxjs';
import { drr } from '.';
describe('drr', (): void => {
beforeEach((): void => {
jest.setTimeout(15000);
});
it('should not fire twice the same value', (done): void => {
let count = 0;
-201
View File
@@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+15 -15
View File
@@ -20,26 +20,26 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "9.11.1",
"version": "9.14.2",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.20.7",
"@polkadot/keyring": "^10.2.3",
"@polkadot/types": "9.11.1",
"@polkadot/types-support": "9.11.1",
"@polkadot/util": "^10.2.3",
"@polkadot/util-crypto": "^10.2.3",
"@polkadot/x-fetch": "^10.2.3",
"@polkadot/x-global": "^10.2.3",
"@polkadot/x-ws": "^10.2.3",
"eventemitter3": "^4.0.7",
"mock-socket": "^9.1.5",
"nock": "^13.2.9"
"@babel/runtime": "^7.20.13",
"@polkadot/keyring": "^10.4.2",
"@polkadot/types": "9.14.2",
"@polkadot/types-support": "9.14.2",
"@polkadot/util": "^10.4.2",
"@polkadot/util-crypto": "^10.4.2",
"@polkadot/x-fetch": "^10.4.2",
"@polkadot/x-global": "^10.4.2",
"@polkadot/x-ws": "^10.4.2",
"eventemitter3": "^5.0.0",
"mock-socket": "^9.2.1",
"nock": "^13.3.0"
},
"devDependencies": {
"@substrate/connect": "0.7.18"
"@substrate/connect": "0.7.19"
},
"optionalDependencies": {
"@substrate/connect": "0.7.18"
"@substrate/connect": "0.7.19"
}
}
-4
View File
@@ -36,13 +36,9 @@ const l = logger('api-http');
*/
export class HttpProvider implements ProviderInterface {
readonly #callCache = new LRUCache();
readonly #coder: RpcCoder;
readonly #endpoint: string;
readonly #headers: Record<string, string>;
readonly #stats: ProviderStats;
/**
+5 -3
View File
@@ -6,7 +6,9 @@ import type { Mock } from '../mock/types';
import { mockHttp, TEST_HTTP_URL } from '../mock/mockHttp';
import { HttpProvider } from './';
describe('send', (): void => {
// Does not work with Node 18 (native fetch)
// See https://github.com/nock/nock/issues/2397
describe.skip('send', (): void => {
let http: HttpProvider;
let mock: Mock;
@@ -14,9 +16,9 @@ describe('send', (): void => {
http = new HttpProvider(TEST_HTTP_URL);
});
afterEach((): void => {
afterEach(async () => {
if (mock) {
mock.done();
await mock.done();
}
});
+2 -1
View File
@@ -7,7 +7,7 @@
const DEFAULT_CAPACITY = 128;
class LRUNode {
public readonly key: string;
readonly key: string;
public next: LRUNode;
public prev: LRUNode;
@@ -21,6 +21,7 @@ class LRUNode {
// https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU
export class LRUCache {
readonly capacity: number;
readonly #data: Map<string, unknown> = new Map();
readonly #refs: Map<string, LRUNode> = new Map();
+1 -5
View File
@@ -69,11 +69,7 @@ export function mockWs (requests: Request[], wsUrl: string = TEST_WS_URL): Scope
let requestCount = 0;
const scope: Scope = {
body: {},
done: (): void => {
server.stop((): void => {
// ignore
});
},
done: () => new Promise<void>((resolve) => server.stop(resolve)),
requests: 0,
server
};
+1 -1
View File
@@ -14,7 +14,7 @@ export interface Mock {
body: Record<string, Record<string, unknown>>;
requests: number;
server: Server;
done: () => Record<string, unknown>;
done: () => Promise<void>;
}
export type MockStateSubscriptionCallback = (error: Error | null, value: any) => void;
+1 -1
View File
@@ -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.11.1' };
export const packageInfo = { name: '@polkadot/rpc-provider', path: 'auto', type: 'auto', version: '9.14.2' };
@@ -21,18 +21,33 @@
import type Sc from '@substrate/connect';
import type { HealthChecker, SmoldotHealth } from './types';
import { jest } from '@jest/globals';
import { ScProvider } from '.';
const wait = (ms: number) => new Promise((res) => setTimeout(res, ms));
type MockChain = Sc.Chain & {
_spec: () => string
_recevedRequests: () => string[]
_isTerminated: () => boolean
_triggerCallback: (response: string | {}) => void
_setTerminateInterceptor: (fn: () => void) => void
_setSendJsonRpcInterceptor: (fn: (rpc: string) => void) => void
_getLatestRequest: () => string
}
type MockedHealthChecker = HealthChecker & {
_isActive: () => boolean
_triggerHealthUpdate: (update: SmoldotHealth) => void
}
const healthCheckerMock = (): MockedHealthChecker => {
enum WellKnownChain {
polkadot = 'polkadot',
ksmcc3 = 'ksmcc3',
rococo_v2_2 = 'rococo_v2_2',
westend2 = 'westend2'
}
const wait = (ms: number) => new Promise((res) => setTimeout(res, ms));
function healthCheckerMock (): MockedHealthChecker {
let cb: (health: SmoldotHealth) => void = () => {};
let sendJsonRpc: (request: string) => void = () => {};
@@ -57,9 +72,9 @@ const healthCheckerMock = (): MockedHealthChecker => {
cb(update);
}
};
};
}
const healthCheckerFactory = () => {
function healthCheckerFactory () {
const _healthCheckers: MockedHealthChecker[] = [];
return {
@@ -73,21 +88,9 @@ const healthCheckerFactory = () => {
_healthCheckers,
_latestHealthChecker: () => _healthCheckers.slice(-1)[0]
};
};
jest.mock('./Health', () => healthCheckerFactory());
type MockChain = Sc.Chain & {
_spec: () => string
_recevedRequests: () => string[]
_isTerminated: () => boolean
_triggerCallback: (response: string | {}) => void
_setTerminateInterceptor: (fn: () => void) => void
_setSendJsonRpcInterceptor: (fn: (rpc: string) => void) => void
_getLatestRequest: () => string
}
const getFakeChain = (spec: string, callback: Sc.JsonRpcCallback): MockChain => {
function getFakeChain (spec: string, callback: Sc.JsonRpcCallback): MockChain {
const _receivedRequests: string[] = [];
let _isTerminated = false;
@@ -119,9 +122,9 @@ const getFakeChain = (spec: string, callback: Sc.JsonRpcCallback): MockChain =>
},
_getLatestRequest: () => _receivedRequests[_receivedRequests.length - 1]
};
};
}
const getFakeClient = () => {
function getFakeClient () {
const chains: MockChain[] = [];
let addChainInterceptor: Promise<void> = Promise.resolve();
let addWellKnownChainInterceptor: Promise<void> = Promise.resolve();
@@ -154,16 +157,9 @@ const getFakeClient = () => {
return result;
})
};
};
enum WellKnownChain {
polkadot = 'polkadot',
ksmcc3 = 'ksmcc3',
rococo_v2_2 = 'rococo_v2_2',
westend2 = 'westend2'
}
const connectorFactory = () => {
function connectorFactory () {
const clients: ReturnType<typeof getFakeClient>[] = [];
const latestClient = () => clients[clients.length - 1];
@@ -181,26 +177,26 @@ const connectorFactory = () => {
latestChain: () =>
latestClient()._chains()[latestClient()._chains().length - 1]
};
};
}
let mockSc: typeof Sc & { latestChain: () => MockChain };
let mockedHealthChecker: ReturnType<typeof healthCheckerFactory>;
const getCurrentHealthChecker = () => mockedHealthChecker._latestHealthChecker();
const setChainSyncyingStatus = (isSyncing: boolean) => {
function setChainSyncyingStatus (isSyncing: boolean) {
getCurrentHealthChecker()._triggerHealthUpdate({
isSyncing,
peers: 1,
shouldHavePeers: true
});
};
}
beforeAll(() => {
mockSc = connectorFactory() as unknown as typeof Sc & { latestChain: () => MockChain };
mockedHealthChecker = healthCheckerFactory();
});
let mockSc: typeof Sc & { latestChain: () => MockChain };
let mockedHealthChecker: ReturnType<typeof healthCheckerFactory>;
const getCurrentHealthChecker = () => mockedHealthChecker._latestHealthChecker();
describe('ScProvider', () => {
beforeAll(() => {
mockSc = connectorFactory() as unknown as typeof Sc & { latestChain: () => MockChain };
mockedHealthChecker = healthCheckerFactory();
});
describe('on', () => {
it('emits `connected` as soon as the chain is not syncing', async () => {
const provider = new ScProvider(mockSc, '');
@@ -251,16 +247,15 @@ describe('ScProvider', () => {
setChainSyncyingStatus(false);
const onConnected = jest.fn();
provider.on('connected', onConnected);
const onDisconnected = jest.fn();
provider.on('connected', onConnected);
provider.on('disconnected', onDisconnected);
expect(onConnected).toHaveBeenCalled();
expect(onDisconnected).not.toHaveBeenCalled();
onConnected.mockRestore();
onConnected.mockReset();
setChainSyncyingStatus(true);
expect(onConnected).not.toHaveBeenCalled();
@@ -284,7 +279,7 @@ describe('ScProvider', () => {
await provider.connect(undefined, mockedHealthChecker.healthChecker);
expect(() => provider.clone()).toThrowError();
expect(() => provider.clone()).toThrow();
});
});
@@ -306,9 +301,9 @@ describe('ScProvider', () => {
setChainSyncyingStatus(false);
await expect(provider.connect(undefined, mockedHealthChecker.healthChecker)).rejects.toThrowError(
'Already connected!'
);
await expect(
provider.connect(undefined, mockedHealthChecker.healthChecker)
).rejects.toThrow(/Already connected/);
});
});
@@ -328,9 +323,8 @@ describe('ScProvider', () => {
const provider = new ScProvider(mockSc, '');
await provider.connect(undefined, mockedHealthChecker.healthChecker);
await provider.disconnect();
await expect(provider.disconnect()).resolves.not.toThrow();
await provider.disconnect();
});
});
@@ -402,9 +396,9 @@ describe('ScProvider', () => {
throw new Error('boom!');
});
await expect(provider.send('getData', ['foo'])).rejects.toThrowError(
'Disconnected'
);
await expect(
provider.send('getData', ['foo'])
).rejects.toThrow(/Disconnected/);
expect(provider.isConnected).toBe(false);
});
});
@@ -551,8 +545,7 @@ describe('ScProvider', () => {
expect(token).toBe(unsubscribeToken);
expect(cb).toHaveBeenCalledTimes(1);
expect(cb.mock.lastCall![0]).toBeInstanceOf(Error);
expect(cb.mock.lastCall![1]).toBe(undefined);
expect(cb).toHaveBeenLastCalledWith(expect.any(Error), undefined);
});
it('errors when subscribing to an unsupported method', async () => {
@@ -561,11 +554,11 @@ describe('ScProvider', () => {
await provider.connect(undefined, mockedHealthChecker.healthChecker);
setChainSyncyingStatus(false);
await wait(0);
await wait(0);
await expect(
provider.subscribe('foo', 'bar', ['baz'], () => {})
).rejects.toThrowError('Unsupported subscribe method: bar');
).rejects.toThrow(/Unsupported subscribe method: bar/);
});
});
@@ -577,9 +570,9 @@ describe('ScProvider', () => {
setChainSyncyingStatus(false);
await expect(provider.unsubscribe('', '', '')).rejects.toThrowError(
'Unable to find active subscription=::'
);
await expect(
provider.unsubscribe('', '', '')
).rejects.toThrow(/Unable to find active subscription/);
});
});
@@ -60,6 +60,7 @@ export class ScProvider implements ProviderInterface {
readonly #requests: Map<number, ResponseCallback> = new Map();
readonly #wellKnownChains: Set<ScType.WellKnownChain>;
readonly #eventemitter: EventEmitter = new EventEmitter();
#chain: Promise<ScType.Chain> | null = null;
#isChainReady = false;
+52 -46
View File
@@ -3,97 +3,104 @@
import type { Mock } from '../mock/types';
import { jest } from '@jest/globals';
import { mockWs } from '../mock/mockWs';
import { WsProvider } from './';
const TEST_WS_URL = 'ws://localhost-connect.spec.ts:9988';
function sleepMs (ms = 0): Promise<void> {
function sleep (ms = 100): Promise<void> {
return new Promise((resolve) => setTimeout(resolve, ms));
}
describe('onConnect', (): void => {
let mocks: Mock[];
let provider: WsProvider | null;
beforeEach((): void => {
jest.setTimeout(30000);
mocks = [mockWs([], TEST_WS_URL)];
});
afterEach((): void => {
jest.setTimeout(5000);
mocks.forEach((m) => {
if (m) {
m.done();
}
});
afterEach(async () => {
if (provider) {
await provider.disconnect();
await sleep();
provider = null;
}
await Promise.all(mocks.map((m) => m.done()));
await sleep();
});
it('Does not connect when autoConnect is false', async () => {
const provider: WsProvider = new WsProvider(TEST_WS_URL, 0);
provider = new WsProvider(TEST_WS_URL, 0);
await sleep();
await sleepMs(100); // Hack to give the provider time to connect
expect(provider.isConnected).toBe(false);
await provider.connect();
await sleepMs(100); // Hack to give the provider time to connect
await sleep();
expect(provider.isConnected).toBe(true);
await provider.disconnect();
await sleep();
await sleepMs(100); // Hack to give the provider time to connect
expect(provider.isConnected).toBe(false);
});
it('Does connect when autoConnect is true', async () => {
const provider: WsProvider = new WsProvider(TEST_WS_URL, 1);
provider = new WsProvider(TEST_WS_URL, 1);
await sleep();
await sleepMs(100); // Hack to give the provider time to connect
expect(provider.isConnected).toBe(true);
await provider.disconnect();
});
it('Creates a new WebSocket instance by calling the connect() method', async () => {
const provider: WsProvider = new WsProvider(TEST_WS_URL, false);
provider = new WsProvider(TEST_WS_URL, false);
expect(provider.isConnected).toBe(false);
expect(mocks[0].server.clients().length).toBe(0);
await provider.connect();
await sleepMs(100); // Hack to give the provider time to connect
await sleep();
expect(provider.isConnected).toBe(true);
expect(mocks[0].server.clients()).toHaveLength(1);
await provider.disconnect();
});
it('Connects to first endpoint when an array is given', async () => {
const provider: WsProvider = new WsProvider([TEST_WS_URL], 1);
provider = new WsProvider([TEST_WS_URL], 1);
await provider.connect();
await sleepMs(100); // Hack to give the provider time to connect
await sleep();
expect(provider.isConnected).toBe(true);
expect(mocks[0].server.clients()).toHaveLength(1);
});
it('Does not allow connect() on already-connected', async () => {
provider = new WsProvider([TEST_WS_URL], 1);
await sleep();
expect(provider.isConnected).toBe(true);
await provider.disconnect();
await expect(
provider.connect()
).rejects.toThrow(/already connected/);
});
it('Connects to the second endpoint when the first is unreachable', async () => {
/* eslint-disable @typescript-eslint/no-empty-function */
jest.spyOn(console, 'error').mockImplementation((): void => {});
const endpoints: string[] = ['ws://localhost-unreachable-connect.spec.ts:9956', TEST_WS_URL];
const endpoints: string[] = ['ws://localhost-connect.spec.ts:9956', TEST_WS_URL];
const provider: WsProvider = new WsProvider(endpoints, 1);
provider = new WsProvider(endpoints, 1);
await sleepMs(100); // Hack to give the provider time to connect
await sleep();
expect(mocks[0].server.clients()).toHaveLength(1);
expect(provider.isConnected).toBe(true);
await provider.disconnect();
});
it('Connects to the second endpoint when the first is dropped', async () => {
@@ -101,22 +108,22 @@ describe('onConnect', (): void => {
mocks.push(mockWs([], endpoints[1]));
const provider: WsProvider = new WsProvider(endpoints, 1);
provider = new WsProvider(endpoints, 1);
await sleep();
await sleepMs(100); // Hack to give the provider time to connect
// Check that first server is connected
expect(mocks[0].server.clients()).toHaveLength(1);
expect(mocks[1].server.clients()).toHaveLength(0);
// Close connection from first server
mocks[0].server.clients()[0].close();
await sleepMs(100);
await sleep();
// Check that second server is connected
expect(mocks[1].server.clients()).toHaveLength(1);
expect(provider.isConnected).toBe(true);
await provider.disconnect();
});
it('Round-robin of endpoints on WsProvider', async () => {
@@ -138,22 +145,21 @@ describe('onConnect', (): void => {
mocks[3],
mocks[0]
];
const provider: WsProvider = new WsProvider(endpoints, 1);
for (let round = 0; round < 5; round++) {
provider = new WsProvider(endpoints, 1);
for (let round = 0; round < 2; round++) {
for (let mock = 0; mock < mocks.length; mock++) {
await sleepMs(100); // Hack to give the provider time to connect
await sleep();
// Check that first server is connected and the next one isn't
// Wwe are connected, the current mock has the connection and the next doesn't
expect(provider.isConnected).toBe(true);
expect(mocks[mock].server.clients()).toHaveLength(1);
expect(mockNext[mock].server.clients()).toHaveLength(0);
expect(provider.isConnected).toBe(true);
// Close connection from first server
mocks[mock].server.clients()[0].close();
}
}
await provider.disconnect();
});
});
+4 -4
View File
@@ -22,7 +22,7 @@ function createWs (requests: Request[], autoConnect = 1000, headers?: Record<str
describe('Ws', (): void => {
afterEach(async () => {
if (mock) {
mock.done();
await mock.done();
}
if (provider) {
@@ -58,7 +58,7 @@ describe('Endpoint Parsing', (): void => {
it('Throws when WsProvider endpoint is an invalid string', () => {
expect(
() => new WsProvider('http://127.0.0.1:9955', 0)
).toThrowError(/^Endpoint should start with /);
).toThrow(/^Endpoint should start with /);
});
it('Succeeds when WsProvider endpoint is a valid array', () => {
@@ -73,7 +73,7 @@ describe('Endpoint Parsing', (): void => {
expect(
() => new WsProvider(endpoints, 0)
).toThrowError('WsProvider requires at least one Endpoint');
).toThrow('WsProvider requires at least one Endpoint');
});
it('Throws when WsProvider endpoint is an invalid array', () => {
@@ -81,6 +81,6 @@ describe('Endpoint Parsing', (): void => {
expect(
() => new WsProvider(endpoints, 0)
).toThrowError(/^Endpoint should start with /);
).toThrow(/^Endpoint should start with /);
});
});
+4 -14
View File
@@ -81,35 +81,21 @@ function eraseRecord<T> (record: Record<string, T>, cb?: (item: T) => void): voi
*/
export class WsProvider implements ProviderInterface {
readonly #callCache = new LRUCache();
readonly #coder: RpcCoder;
readonly #endpoints: string[];
readonly #headers: Record<string, string>;
readonly #eventemitter: EventEmitter;
readonly #handlers: Record<string, WsStateAwaiting> = {};
readonly #isReadyPromise: Promise<WsProvider>;
readonly #stats: ProviderStats;
readonly #waitingForId: Record<string, JsonRpcResponse> = {};
#autoConnectMs: number;
#endpointIndex: number;
#isConnected = false;
#subscriptions: Record<string, WsStateSubscription> = {};
#timeoutId?: ReturnType<typeof setInterval> | null = null;
#websocket: WebSocket | null;
#timeout: number;
/**
@@ -202,6 +188,10 @@ export class WsProvider implements ProviderInterface {
*/
// eslint-disable-next-line @typescript-eslint/require-await
public async connect (): Promise<void> {
if (this.#websocket) {
throw new Error('WebSocket is already connected');
}
try {
this.#endpointIndex = (this.#endpointIndex + 1) % this.#endpoints.length;
+1 -1
View File
@@ -36,7 +36,7 @@ describe('send', (): void => {
global.WebSocket = globalWs;
if (mock) {
mock.done();
await mock.done();
}
if (provider) {
@@ -36,7 +36,7 @@ describe('subscribe', (): void => {
global.WebSocket = globalWs;
if (mock) {
mock.done();
await mock.done();
}
if (provider) {
@@ -36,7 +36,7 @@ describe('subscribe', (): void => {
global.WebSocket = globalWs;
if (mock) {
mock.done();
await mock.done();
}
if (provider) {
-201
View File
@@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+15 -15
View File
@@ -20,7 +20,7 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "9.11.1",
"version": "9.14.2",
"main": "index.js",
"bin": {
"polkadot-types-chain-info": "./scripts/polkadot-types-chain-info.cjs",
@@ -32,25 +32,25 @@
"dependencies": {
"@babel/core": "^7.20.12",
"@babel/register": "^7.18.9",
"@babel/runtime": "^7.20.7",
"@polkadot/api": "9.11.1",
"@polkadot/api-augment": "9.11.1",
"@polkadot/rpc-augment": "9.11.1",
"@polkadot/rpc-provider": "9.11.1",
"@polkadot/types": "9.11.1",
"@polkadot/types-augment": "9.11.1",
"@polkadot/types-codec": "9.11.1",
"@polkadot/types-create": "9.11.1",
"@polkadot/types-support": "9.11.1",
"@polkadot/util": "^10.2.3",
"@polkadot/util-crypto": "^10.2.3",
"@polkadot/x-ws": "^10.2.3",
"@babel/runtime": "^7.20.13",
"@polkadot/api": "9.14.2",
"@polkadot/api-augment": "9.14.2",
"@polkadot/rpc-augment": "9.14.2",
"@polkadot/rpc-provider": "9.14.2",
"@polkadot/types": "9.14.2",
"@polkadot/types-augment": "9.14.2",
"@polkadot/types-codec": "9.14.2",
"@polkadot/types-create": "9.14.2",
"@polkadot/types-support": "9.14.2",
"@polkadot/util": "^10.4.2",
"@polkadot/util-crypto": "^10.4.2",
"@polkadot/x-ws": "^10.4.2",
"handlebars": "^4.7.7",
"websocket": "^1.0.34",
"yargs": "^17.6.2"
},
"devDependencies": {
"@types/websocket": "^1.0.5",
"@types/yargs": "^17.0.19"
"@types/yargs": "^17.0.22"
}
}
+2 -2
View File
@@ -9,7 +9,7 @@ import yargs from 'yargs';
import { Definitions } from '@polkadot/types/types';
import { formatNumber } from '@polkadot/util';
import { generateDefaultCalls, generateDefaultConsts, generateDefaultErrors, generateDefaultEvents, generateDefaultQuery, generateDefaultRpc, generateDefaultTx } from './generate';
import { generateDefaultConsts, generateDefaultErrors, generateDefaultEvents, generateDefaultQuery, generateDefaultRpc, generateDefaultRuntime, generateDefaultTx } from './generate';
import { assertDir, assertFile, getMetadataViaWs, HEADER, writeFile } from './util';
function generate (metaHex: HexString, pkg: string | undefined, output: string, isStrict?: boolean): void {
@@ -45,8 +45,8 @@ function generate (metaHex: HexString, pkg: string | undefined, output: string,
generateDefaultEvents(path.join(outputPath, 'augment-api-events.ts'), metaHex, extraTypes, isStrict, customLookupDefinitions);
generateDefaultQuery(path.join(outputPath, 'augment-api-query.ts'), metaHex, extraTypes, isStrict, customLookupDefinitions);
generateDefaultRpc(path.join(outputPath, 'augment-api-rpc.ts'), extraTypes);
generateDefaultRuntime(path.join(outputPath, 'augment-api-runtime.ts'), metaHex, extraTypes, isStrict, customLookupDefinitions);
generateDefaultTx(path.join(outputPath, 'augment-api-tx.ts'), metaHex, extraTypes, isStrict, customLookupDefinitions);
generateDefaultCalls(path.join(outputPath, 'augment-api-runtime.ts'), metaHex, extraTypes, isStrict, customLookupDefinitions);
writeFile(path.join(outputPath, 'augment-api.ts'), (): string =>
[
+1 -1
View File
@@ -8,6 +8,6 @@ export { generateDefaultInterface } from './interfaceRegistry';
export { generateDefaultLookup } from './lookup';
export { generateDefaultQuery } from './query';
export { generateDefaultRpc } from './rpc';
export { generateDefaultCalls } from './runtime';
export { generateDefaultRuntime } from './runtime';
export { generateDefaultTsDef } from './tsDef';
export { generateDefaultTx } from './tx';
+2 -4
View File
@@ -50,16 +50,14 @@ function entrySignature (lookup: PortableRegistry, allDefs: Record<string, Modul
storageEntry.modifier.isOptional
? 'Option'
: null,
defValue.lookupName
? undefined
: defValue.type
defValue.lookupName || defValue.type
]);
return [
storageEntry.modifier.isOptional,
keyDefs.map((k) => formatType(registry, allDefs, k.lookupName || k.type, imports)).join(', '),
keyTypes.map((t, i) => `arg${keyTypes.length === 1 ? '' : (i + 1)}: ${t}`).join(', '),
formatType(registry, allDefs, outputType, imports)
outputType.lookupName || formatType(registry, allDefs, outputType, imports)
];
}
+6 -6
View File
@@ -2,7 +2,7 @@
// SPDX-License-Identifier: Apache-2.0
import type { Metadata } from '@polkadot/types/metadata/Metadata';
import type { DefinitionCallNamed, Definitions } from '@polkadot/types/types';
import type { DefinitionCallNamed, Definitions, Registry } from '@polkadot/types/types';
import type { HexString } from '@polkadot/util/types';
import type { ExtraTypes } from './types';
@@ -67,7 +67,7 @@ function getDefs (apis: Apis | null, defs: Record<string, Definitions>): Record<
}
/** @internal */
export function generateCallTypes (meta: Metadata, dest: string, extraTypes: ExtraTypes, isStrict: boolean, customLookupDefinitions?: Definitions): void {
export function generateCallTypes (registry: Registry, meta: Metadata, dest: string, extraTypes: ExtraTypes, isStrict: boolean, customLookupDefinitions?: Definitions): void {
writeFile(dest, (): string => {
const allTypes: ExtraTypes = {
'@polkadot/types-augment': {
@@ -83,8 +83,7 @@ export function generateCallTypes (meta: Metadata, dest: string, extraTypes: Ext
// find the system.Version in metadata
let apis: Apis | null = null;
const { pallets, registry } = meta.asLatest;
const sysp = pallets.find(({ name }) => name.eq('System'));
const sysp = meta.asLatest.pallets.find(({ name }) => name.eq('System'));
if (sysp) {
const verc = sysp.constants.find(({ name }) => name.eq('Version'));
@@ -163,10 +162,11 @@ export function generateCallTypes (meta: Metadata, dest: string, extraTypes: Ext
});
}
export function generateDefaultCalls (dest: string, data: HexString, extraTypes: ExtraTypes = {}, isStrict = false, customLookupDefinitions?: Definitions): void {
const { metadata } = initMeta(data, extraTypes);
export function generateDefaultRuntime (dest: string, data: HexString, extraTypes: ExtraTypes = {}, isStrict = false, customLookupDefinitions?: Definitions): void {
const { metadata, registry } = initMeta(data, extraTypes);
generateCallTypes(
registry,
metadata,
dest,
extraTypes,
+2 -2
View File
@@ -7,7 +7,7 @@ import kusama from '@polkadot/types-support/metadata/static-kusama';
import polkadot from '@polkadot/types-support/metadata/static-polkadot';
import substrate from '@polkadot/types-support/metadata/static-substrate';
import { generateDefaultCalls, generateDefaultConsts, generateDefaultErrors, generateDefaultEvents, generateDefaultInterface, generateDefaultLookup, generateDefaultQuery, generateDefaultRpc, generateDefaultTsDef, generateDefaultTx } from './generate';
import { generateDefaultConsts, generateDefaultErrors, generateDefaultEvents, generateDefaultInterface, generateDefaultLookup, generateDefaultQuery, generateDefaultRpc, generateDefaultRuntime, generateDefaultTsDef, generateDefaultTx } from './generate';
const BASE = 'packages/api-augment/src';
const METAS = Object.entries<HexString>({ kusama, polkadot, substrate });
@@ -26,7 +26,7 @@ export function main (): void {
generateDefaultErrors(`${BASE}/${name}/errors.ts`, staticMeta);
generateDefaultEvents(`${BASE}/${name}/events.ts`, staticMeta);
generateDefaultQuery(`${BASE}/${name}/query.ts`, staticMeta);
generateDefaultRuntime(`${BASE}/${name}/runtime.ts`, staticMeta);
generateDefaultTx(`${BASE}/${name}/tx.ts`, staticMeta);
generateDefaultCalls(`${BASE}/${name}/runtime.ts`, staticMeta);
}
}
+84 -59
View File
@@ -14,6 +14,7 @@ import { Text } from '@polkadot/types/primitive';
import { unwrapStorageType } from '@polkadot/types/primitive/StorageKey';
import rpcdata from '@polkadot/types-support/metadata/static-substrate';
import { stringCamelCase, stringLowerFirst } from '@polkadot/util';
import { blake2AsHex } from '@polkadot/util-crypto';
interface SectionItem {
link?: string;
@@ -34,15 +35,7 @@ interface Page {
sections: Section[];
}
const STATIC_TEXT = '\n\n(NOTE: These were generated from a static/snapshot view of a recent Substrate master node. Some items may not be available in older nodes, or in any customized implementations.)';
const DESC_CONSTANTS = `The following sections contain the module constants, also known as parameter types. These can only be changed as part of a runtime upgrade. On the api, these are exposed via \`api.consts.<module>.<method>\`. ${STATIC_TEXT}`;
const DESC_EXTRINSICS = `The following sections contain Extrinsics methods are part of the default Substrate runtime. On the api, these are exposed via \`api.tx.<module>.<method>\`. ${STATIC_TEXT}`;
const DESC_ERRORS = `This page lists the errors that can be encountered in the different modules. ${STATIC_TEXT}`;
const DESC_EVENTS = `Events are emitted for certain operations on the runtime. The following sections describe the events that are part of the default Substrate runtime. ${STATIC_TEXT}`;
const DESC_RPC = 'The following sections contain known RPC methods that may be available on specific nodes (depending on configuration and available pallets) and allow you to interact with the actual node, query, and submit.';
const DESC_RUNTIME = 'The following section contains known runtime calls that may be available on specific runtimes (depending on configuration and available pallets). These call directly into the WASM runtime for queries and operations.';
const DESC_STORAGE = `The following sections contain Storage methods are part of the default Substrate runtime. On the api, these are exposed via \`api.query.<module>.<method>\`. ${STATIC_TEXT}`;
const headerFn = (runtimeDesc: string) => `\n\n(NOTE: These were generated from a static/snapshot view of a recent ${runtimeDesc}. Some items may not be available in older nodes, or in any customized implementations.)`;
/** @internal */
function docsVecToMarkdown (docLines: Vec<Text>, indent = 0): string {
@@ -119,7 +112,6 @@ function renderPage (page: Page): string {
function sortByName<T extends { name: Codec | string }> (a: T, b: T): number {
// case insensitive (all-uppercase) sorting
// eslint-disable-next-line @typescript-eslint/no-unsafe-return,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
return a.name.toString().toUpperCase().localeCompare(b.name.toString().toUpperCase());
}
@@ -130,14 +122,12 @@ function getSiName (lookup: PortableRegistry, type: SiLookupTypeId): string {
}
/** @internal */
function addRpc (): string {
const sections = Object
.keys(definitions)
.filter((key) => Object.keys(definitions[key as 'babe'].rpc || {}).length !== 0);
function addRpc (_runtimeDesc: string, rpcMethods?: string[]): string {
return renderPage({
description: DESC_RPC,
sections: sections
description: 'The following sections contain known RPC methods that may be available on specific nodes (depending on configuration and available pallets) and allow you to interact with the actual node, query, and submit.',
sections: Object
.keys(definitions)
.filter((key) => Object.keys(definitions[key as 'babe'].rpc || {}).length !== 0)
.sort()
.reduce((all: Section[], _sectionName): Section[] => {
const section = definitions[_sectionName as 'babe'];
@@ -148,6 +138,15 @@ function addRpc (): string {
.forEach((methodName) => {
const method = (section.rpc || {})[methodName];
const sectionName = method.aliasSection || _sectionName;
const jsonrpc = (method.endpoint || `${sectionName}_${methodName}`);
if (rpcMethods) {
// if we are passing the rpcMethods params and we cannot find this method, skip it
if (jsonrpc !== 'rpc_methods' && !rpcMethods.includes(jsonrpc)) {
return;
}
}
const topName = method.aliasSection ? `${_sectionName}/${method.aliasSection}` : _sectionName;
let container = all.find(({ name }) => name === topName);
@@ -162,7 +161,6 @@ function addRpc (): string {
return name + (isOptional ? '?' : '') + ': `' + type + '`';
}).join(', ');
const type = '`' + method.type + '`';
const jsonrpc = (method.endpoint || `${sectionName}_${methodName}`);
const item: SectionItem = {
interface: '`' + `api.rpc.${sectionName}.${methodName}` + '`',
jsonrpc: '`' + jsonrpc + '`',
@@ -185,38 +183,53 @@ function addRpc (): string {
}
/** @internal */
function addRuntime (): string {
const sections = Object
.keys(definitions)
.filter((key) => Object.keys(definitions[key as 'babe'].runtime || {}).length !== 0);
function addRuntime (_runtimeDesc: string, apis?: [apiHash: string, apiVersion: number][]): string {
return renderPage({
description: DESC_RUNTIME,
sections: sections
description: 'The following section contains known runtime calls that may be available on specific runtimes (depending on configuration and available pallets). These call directly into the WASM runtime for queries and operations.',
sections: Object
.keys(definitions)
.filter((key) => Object.keys(definitions[key as 'babe'].runtime || {}).length !== 0)
.sort()
.reduce((all: Section[], _sectionName): Section[] => {
Object
.entries(definitions[_sectionName as 'babe'].runtime || {})
.forEach(([apiName, [{ methods }]]) => {
const container: Section = { items: [], name: apiName };
.forEach(([apiName, versions]) => {
versions
.sort((a, b) => b.version - a.version)
.forEach(({ methods, version }, index) => {
if (apis) {
// if we are passing the api hashes and we cannot find this one, skip it
const apiHash = blake2AsHex(apiName, 64);
const api = apis.find(([hash]) => hash === apiHash);
all.push(container);
if (!api || api[1] !== version) {
return;
}
} else if (index) {
// we only want the highest version
return;
}
Object
.entries(methods)
.sort(([a], [b]) => a.localeCompare(b))
.forEach(([methodName, { description, params, type }]): void => {
const args = params.map(({ name, type }): string => {
// eslint-disable-next-line @typescript-eslint/restrict-plus-operands
return name + ': `' + type + '`';
}).join(', ');
const container: Section = { items: [], name: apiName };
container.items.push({
interface: '`' + `api.call.${stringCamelCase(apiName)}.${stringCamelCase(methodName)}` + '`',
name: `${stringCamelCase(methodName)}(${args}): ${'`' + type + '`'}`,
runtime: '`' + `${apiName}_${methodName}` + '`',
summary: description
});
all.push(container);
Object
.entries(methods)
.sort(([a], [b]) => a.localeCompare(b))
.forEach(([methodName, { description, params, type }]): void => {
const args = params.map(({ name, type }): string => {
// eslint-disable-next-line @typescript-eslint/restrict-plus-operands
return name + ': `' + type + '`';
}).join(', ');
container.items.push({
interface: '`' + `api.call.${stringCamelCase(apiName)}.${stringCamelCase(methodName)}` + '`',
name: `${stringCamelCase(methodName)}(${args}): ${'`' + type + '`'}`,
runtime: '`' + `${apiName}_${methodName}` + '`',
summary: description
});
});
});
});
@@ -227,9 +240,9 @@ function addRuntime (): string {
}
/** @internal */
function addConstants ({ lookup, pallets }: MetadataLatest): string {
function addConstants (runtimeDesc: string, { lookup, pallets }: MetadataLatest): string {
return renderPage({
description: DESC_CONSTANTS,
description: `The following sections contain the module constants, also known as parameter types. These can only be changed as part of a runtime upgrade. On the api, these are exposed via \`api.consts.<module>.<method>\`. ${headerFn(runtimeDesc)}`,
sections: pallets
.sort(sortByName)
.filter(({ constants }) => !constants.isEmpty)
@@ -256,7 +269,7 @@ function addConstants ({ lookup, pallets }: MetadataLatest): string {
}
/** @internal */
function addStorage ({ lookup, pallets, registry }: MetadataLatest): string {
function addStorage (runtimeDesc: string, { lookup, pallets, registry }: MetadataLatest): string {
const { substrate } = getSubstrateStorage(registry);
const moduleSections = pallets
.sort(sortByName)
@@ -294,7 +307,7 @@ function addStorage ({ lookup, pallets, registry }: MetadataLatest): string {
});
return renderPage({
description: DESC_STORAGE,
description: `The following sections contain Storage methods are part of the ${runtimeDesc}. On the api, these are exposed via \`api.query.<module>.<method>\`. ${headerFn(runtimeDesc)}`,
sections: moduleSections.concat([{
description: 'These are well-known keys that are always available to the runtime implementation of any Substrate-based network.',
items: Object.entries(substrate).map(([name, { meta }]) => {
@@ -317,9 +330,9 @@ function addStorage ({ lookup, pallets, registry }: MetadataLatest): string {
}
/** @internal */
function addExtrinsics ({ lookup, pallets }: MetadataLatest): string {
function addExtrinsics (runtimeDesc: string, { lookup, pallets }: MetadataLatest): string {
return renderPage({
description: DESC_EXTRINSICS,
description: `The following sections contain Extrinsics methods are part of the ${runtimeDesc}. On the api, these are exposed via \`api.tx.<module>.<method>\`. ${headerFn(runtimeDesc)}`,
sections: pallets
.sort(sortByName)
.filter(({ calls }) => calls.isSome)
@@ -349,9 +362,9 @@ function addExtrinsics ({ lookup, pallets }: MetadataLatest): string {
}
/** @internal */
function addEvents ({ lookup, pallets }: MetadataLatest): string {
function addEvents (runtimeDesc: string, { lookup, pallets }: MetadataLatest): string {
return renderPage({
description: DESC_EVENTS,
description: `Events are emitted for certain operations on the runtime. The following sections describe the events that are part of the ${runtimeDesc}. ${headerFn(runtimeDesc)}`,
sections: pallets
.sort(sortByName)
.filter(({ events }) => events.isSome)
@@ -377,9 +390,9 @@ function addEvents ({ lookup, pallets }: MetadataLatest): string {
}
/** @internal */
function addErrors ({ lookup, pallets }: MetadataLatest): string {
function addErrors (runtimeDesc: string, { lookup, pallets }: MetadataLatest): string {
return renderPage({
description: DESC_ERRORS,
description: `This page lists the errors that can be encountered in the different modules. ${headerFn(runtimeDesc)}`,
sections: pallets
.sort(sortByName)
.filter(({ errors }) => errors.isSome)
@@ -420,11 +433,23 @@ export function main (): void {
const latest = metadata.asLatest;
writeFile('docs/substrate/rpc.md', addRpc());
writeFile('docs/substrate/runtime.md', addRuntime());
writeFile('docs/substrate/constants.md', addConstants(latest));
writeFile('docs/substrate/storage.md', addStorage(latest));
writeFile('docs/substrate/extrinsics.md', addExtrinsics(latest));
writeFile('docs/substrate/events.md', addEvents(latest));
writeFile('docs/substrate/errors.md', addErrors(latest));
// TODO Make can make this a variable passed in via args if we want to generate
// for different chain types
const chainName = 'Substrate';
const runtimeDesc = `default ${chainName} runtime`;
const docRoot = `docs/${chainName.toLowerCase()}`;
// TODO Pass the result from `rpc_methods` (done via util/wsMeta.ts -> getRpcMethodsViaWs)
// into here if we want to have a per-chain overview
writeFile(`${docRoot}/rpc.md`, addRpc(runtimeDesc));
// TODO Pass the result from `state_getRuntimeVersion` (done via util/wsMeta.ts -> getRuntimeVersionViaWs)
// into here if we want to have a per-chain overview
writeFile(`${docRoot}/runtime.md`, addRuntime(runtimeDesc));
writeFile(`${docRoot}/constants.md`, addConstants(runtimeDesc, latest));
writeFile(`${docRoot}/storage.md`, addStorage(runtimeDesc, latest));
writeFile(`${docRoot}/extrinsics.md`, addExtrinsics(runtimeDesc, latest));
writeFile(`${docRoot}/events.md`, addEvents(runtimeDesc, latest));
writeFile(`${docRoot}/errors.md`, addErrors(runtimeDesc, latest));
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/typegen', path: 'auto', type: 'auto', version: '9.11.1' };
export const packageInfo = { name: '@polkadot/typegen', path: 'auto', type: 'auto', version: '9.14.2' };
+2 -1
View File
@@ -3,6 +3,7 @@
import fs from 'fs';
import path from 'path';
import process from 'process';
import { packageInfo } from '../packageInfo';
@@ -25,7 +26,7 @@ export function writeFile (dest: string, generator: () => string, noLog?: boolea
export function readTemplate (template: string): string {
// Inside the api repo itself, it will be 'auto'
const rootDir = packageInfo.path === 'auto'
? path.join(__dirname, '..')
? path.join(process.cwd(), 'packages/typegen/src')
: packageInfo.path;
// NOTE With cjs in a subdir, search one lower as well
+2 -1
View File
@@ -4,6 +4,7 @@
/* eslint-disable @typescript-eslint/no-unused-vars */
import type { AnyString, Registry } from '@polkadot/types/types';
import type { LookupString } from '@polkadot/types-codec/types';
import type { TypeDef } from '@polkadot/types-create/types';
import Handlebars from 'handlebars';
@@ -189,7 +190,7 @@ const formatters: Record<TypeDefInfo, (registry: Registry, typeDef: TypeDef, def
},
[TypeDefInfo.Si]: (registry: Registry, typeDef: TypeDef, definitions: Record<string, ModuleTypes>, imports: TypeImports, withShortcut: boolean) => {
return formatType(registry, definitions, registry.lookup.getTypeDef(typeDef.type), imports, withShortcut);
return formatType(registry, definitions, registry.lookup.getTypeDef(typeDef.type as LookupString), imports, withShortcut);
},
[TypeDefInfo.Struct]: (registry: Registry, typeDef: TypeDef, definitions: Record<string, ModuleTypes>, imports: TypeImports, withShortcut: boolean) => {
+13 -1
View File
@@ -5,7 +5,7 @@ import type { HexString } from '@polkadot/util/types';
import { WebSocket } from '@polkadot/x-ws';
async function getWsData <T> (endpoint: string, method: 'state_getMetadata' | 'state_getRuntimeVersion'): Promise<T> {
async function getWsData <T> (endpoint: string, method: 'rpc_methods' | 'state_getMetadata' | 'state_getRuntimeVersion'): Promise<T> {
return new Promise((resolve): void => {
try {
const websocket = new WebSocket(endpoint);
@@ -44,3 +44,15 @@ async function getWsData <T> (endpoint: string, method: 'state_getMetadata' | 's
export async function getMetadataViaWs (endpoint: string): Promise<HexString> {
return getWsData<HexString>(endpoint, 'state_getMetadata');
}
export async function getRpcMethodsViaWs (endpoint: string): Promise<string[]> {
const result = await getWsData<{ methods: string[] }>(endpoint, 'rpc_methods');
return result.methods;
}
export async function getRuntimeVersionViaWs (endpoint: string): Promise<[apiHash: string, apiVersion: number][]> {
const result = await getWsData<{ apis: [string, number][] }>(endpoint, 'state_getRuntimeVersion');
return result.apis;
}
-201
View File
@@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+5 -5
View File
@@ -20,12 +20,12 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "9.11.1",
"version": "9.14.2",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.20.7",
"@polkadot/types": "9.11.1",
"@polkadot/types-codec": "9.11.1",
"@polkadot/util": "^10.2.3"
"@babel/runtime": "^7.20.13",
"@polkadot/types": "9.14.2",
"@polkadot/types-codec": "9.14.2",
"@polkadot/util": "^10.4.2"
}
}
+5 -5
View File
@@ -16,7 +16,7 @@ export default {
authorityDiscovery: 'SpAuthorityDiscoveryAppPublic'
},
/**
* Lookup149: kusama_runtime::OriginCaller
* Lookup150: kusama_runtime::OriginCaller
**/
KusamaRuntimeOriginCaller: {
_enum: {
@@ -123,19 +123,19 @@ export default {
}
},
/**
* Lookup153: kusama_runtime::governance::origins::pallet_custom_origins::Origin
* Lookup154: kusama_runtime::governance::origins::pallet_custom_origins::Origin
**/
KusamaRuntimeGovernanceOriginsPalletCustomOriginsOrigin: {
_enum: ['StakingAdmin', 'Treasurer', 'FellowshipAdmin', 'GeneralAdmin', 'AuctionAdmin', 'LeaseAdmin', 'ReferendumCanceller', 'ReferendumKiller', 'SmallTipper', 'BigTipper', 'SmallSpender', 'MediumSpender', 'BigSpender', 'WhitelistedCaller', 'FellowshipInitiates', 'Fellows', 'FellowshipExperts', 'FellowshipMasters', 'Fellowship1Dan', 'Fellowship2Dan', 'Fellowship3Dan', 'Fellowship4Dan', 'Fellowship5Dan', 'Fellowship6Dan', 'Fellowship7Dan', 'Fellowship8Dan', 'Fellowship9Dan']
},
/**
* Lookup230: kusama_runtime::ProxyType
* Lookup231: kusama_runtime::ProxyType
**/
KusamaRuntimeProxyType: {
_enum: ['Any', 'NonTransfer', 'Governance', 'Staking', 'IdentityJudgement', 'CancelProxy', 'Auction', 'Society']
},
/**
* Lookup240: kusama_runtime::NposCompactSolution24
* Lookup241: kusama_runtime::NposCompactSolution24
**/
KusamaRuntimeNposCompactSolution24: {
votes1: 'Vec<(Compact<u32>,Compact<u16>)>',
@@ -164,7 +164,7 @@ export default {
votes24: 'Vec<(Compact<u32>,[(Compact<u16>,Compact<PerU16>);23],Compact<u16>)>'
},
/**
* Lookup855: kusama_runtime::Runtime
* Lookup876: kusama_runtime::Runtime
**/
KusamaRuntimeRuntime: 'Null'
};

Some files were not shown because too many files have changed in this diff Show More