Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7ecd00a4e6 | ||
|
|
6239818c26 | ||
|
|
6af22f41c7 | ||
|
|
77c3a701d0 | ||
|
|
46b17a466c | ||
|
|
e592c6c878 | ||
|
|
ef37586dfc | ||
|
|
5856ce24cc | ||
|
|
8b79056bf9 | ||
|
|
70e0f19ade | ||
|
|
cf1e242c17 | ||
|
|
68856e9692 | ||
|
|
e0626c3dad | ||
|
|
277ea92fda | ||
|
|
aec6694028 | ||
|
|
533abb76f7 | ||
|
|
7660bab86b | ||
|
|
f7c1b6e81b | ||
|
|
b6e9b29570 | ||
|
|
519d9c8fa9 | ||
|
|
ad905db53b | ||
|
|
0a0aa742b4 | ||
|
|
dfbb06a4d6 | ||
|
|
82e71fd51e | ||
|
|
a8b88af97a | ||
|
|
eee36537de | ||
|
|
20a75eafb6 | ||
|
|
00d3a1174b | ||
|
|
e293c7c1cf | ||
|
|
3c8cd499c4 | ||
|
|
cb3816df78 | ||
|
|
fcfcbb2d97 | ||
|
|
321b80ed63 | ||
|
|
73eaa9fe17 | ||
|
|
4d8910f3da | ||
|
|
e6806ed7f9 | ||
|
|
218abf9568 | ||
|
|
a1df864681 | ||
|
|
45640edcff | ||
|
|
53655019b5 | ||
|
|
a1f8bedb6d | ||
|
|
9d1af1eaeb | ||
|
|
38bfd26511 | ||
|
|
1beaf9f208 | ||
|
|
29c29978dd | ||
|
|
a8d1dd0637 | ||
|
|
74571dcd26 | ||
|
|
54b4c2620a | ||
|
|
da05828e74 | ||
|
|
fa935156e1 | ||
|
|
19510c1ede | ||
|
|
97b5c699b1 | ||
|
|
d2befda86e | ||
|
|
740348b48f | ||
|
|
9e2a5cf532 | ||
|
|
6df466d9ea | ||
|
|
e2a2ac2842 | ||
|
|
5adc846e45 | ||
|
|
75aa310837 | ||
|
|
ce0523eb1c | ||
|
|
eb0370bb66 | ||
|
|
5eb491dc67 | ||
|
|
b50294ab0f | ||
|
|
e1cb62d2d2 | ||
|
|
8ed0ef2295 | ||
|
|
956e173323 | ||
|
|
b8a37ba438 | ||
|
|
e7669c2b00 | ||
|
|
6c309a503d | ||
|
|
3cf67c975a | ||
|
|
077914364c | ||
|
|
56e4cbdb27 | ||
|
|
60bfdae734 | ||
|
|
1cf4d6b9b8 | ||
|
|
40cd9ff51f | ||
|
|
c7e6e40030 | ||
|
|
97d0bcbfd4 | ||
|
|
6ca84425d1 |
+3
-2
@@ -1,5 +1,6 @@
|
|||||||
24
|
25
|
||||||
1.4.2
|
1.4.2
|
||||||
1.6.2
|
1.6.2
|
||||||
1.11.2
|
1.11.2
|
||||||
1.12.21.17.2
|
1.12.2
|
||||||
|
1.17.2
|
||||||
|
|||||||
+86
File diff suppressed because one or more lines are too long
Vendored
-56
File diff suppressed because one or more lines are too long
+1
-1
@@ -8,4 +8,4 @@ plugins:
|
|||||||
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.js
|
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.js
|
||||||
spec: "@yarnpkg/plugin-interactive-tools"
|
spec: "@yarnpkg/plugin-interactive-tools"
|
||||||
|
|
||||||
yarnPath: .yarn/releases/yarn-rc.js
|
yarnPath: .yarn/releases/yarn-2.1.1.js
|
||||||
|
|||||||
@@ -1,7 +1,62 @@
|
|||||||
# CHANGELOG
|
# CHANGELOG
|
||||||
|
|
||||||
|
## 1.30.1 Aug 24, 2020
|
||||||
|
|
||||||
|
Upgrade priority: Low, unless using the `proposeParachain` module.
|
||||||
|
|
||||||
|
- Adjust balance retrievals to check for `system.account` for new/old determination
|
||||||
|
- Add types for the new `proposeParachain` module (as per Rococo)
|
||||||
|
- Adjust `Address` <-> `LookupSource` definitions (no external impact, both in existence)
|
||||||
|
- Add Ethereum-compatible `Ethereum{AccountId, LookupSource}` types, underlying `H160`
|
||||||
|
- Allow for configurable hashers via `registry.setHasher(...)` (defaults to `blake2AsU8a`)
|
||||||
|
- `@polkadot/util` 3.3
|
||||||
|
|
||||||
|
## 1.29.1 Aug 17, 2020
|
||||||
|
|
||||||
|
Upgrade priority: Low, unless on bleeding-edge chain with new compact `CompactAssignments`.
|
||||||
|
|
||||||
|
- **Important** The Substrate `CompactAssignments` type has changed for better space utilization. On older chains, supply `CompactAssignments: 'CompactAssignmentsTo257'`
|
||||||
|
- Clean tx cookbook param expansion (Thanks to https://github.com/swswsw)
|
||||||
|
- Add additional `Fixed{I,U}{64,128}` and `{I,U}32F32` types
|
||||||
|
- Add `desiredRunnersUp` to council derives
|
||||||
|
- Cleanup indices/AccountId combination derive lookups
|
||||||
|
- `@polkadot/util` 3.2
|
||||||
|
|
||||||
|
## 1.28.1 Aug 10, 2020
|
||||||
|
|
||||||
|
Upgrade priority: Low, unless using Centrifuge or parachains
|
||||||
|
|
||||||
|
- Update Centrifuge types to latest (Thanks to https://github.com/mikiquantum)
|
||||||
|
- Add cookbook entry for viewing block extrinsics
|
||||||
|
- Support types for time-delay proxies
|
||||||
|
- Update types for parachains
|
||||||
|
- `@polkadot/util` 3.1
|
||||||
|
- `@polkadot/wasm-crypto` 1.3
|
||||||
|
|
||||||
|
## 1.27.1 Aug 3, 2020
|
||||||
|
|
||||||
|
Upgrade priority: Low, unless using the Rococo chain
|
||||||
|
|
||||||
|
- Remove outdated example poc-3 RPC reference (Thanks to https://github.com/swswsw)
|
||||||
|
- Raw/Bytes `toHuman` detects ASCII sequence for text output
|
||||||
|
- Add know types for the Rococo chain
|
||||||
|
|
||||||
|
## 1.26.1 Jul 27, 2020
|
||||||
|
|
||||||
|
Upgrade priority: Low
|
||||||
|
|
||||||
|
- Update docs for the new `system.accountNextIndex` (Thanks to https://github.com/shawntabrizi)
|
||||||
|
- Update contracts call parameter typing (Thanks to https://github.com/kwingram25)
|
||||||
|
- Adjust votingBalance to only return `freeBalance` (only council voting is free + reserved)
|
||||||
|
- Additional checks for referenced Vec sub-type deconstruction in typegen
|
||||||
|
- Allow for API `typesBundle` option to inject a group of chain versions types
|
||||||
|
- Update metadata static tests for latest Substrate
|
||||||
|
- `@polkadot/util` 3.0
|
||||||
|
|
||||||
## 1.25.1 Jul 20, 2020
|
## 1.25.1 Jul 20, 2020
|
||||||
|
|
||||||
|
Upgrade priority: Medium, especially if using contracts.
|
||||||
|
|
||||||
- **Important** Contract RPC result updated on Substrate, on older chains supply `ContractExecResult: 'ContractExecResultTo255'`
|
- **Important** Contract RPC result updated on Substrate, on older chains supply `ContractExecResult: 'ContractExecResultTo255'`
|
||||||
- Support for custom HTTP headers in providers (Thanks to https://github.com/brad-larson)
|
- Support for custom HTTP headers in providers (Thanks to https://github.com/brad-larson)
|
||||||
- Update known types for Centrifuge (Thanks to https://github.com/philipstanislaus)
|
- Update known types for Centrifuge (Thanks to https://github.com/philipstanislaus)
|
||||||
|
|||||||
@@ -42,3 +42,20 @@ const header = await api.derive.chain.getHeader();
|
|||||||
|
|
||||||
console.log(`#${header.number}: ${header.author}`);
|
console.log(`#${header.number}: ${header.author}`);
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## How do I view block extrinsic information?
|
||||||
|
|
||||||
|
The transactions are included in a signed block as part of the extrinsics - some of these will be unsigned and generated by the block author and some of these may be submitted from external sources and be signed. (Some palettes do use unsigned transactions, so signed/unsigned is not an indication of origin). To retrieve the block and display the transaction information, we can do the following -
|
||||||
|
|
||||||
|
```js
|
||||||
|
// no blockHash is specified, so we retrieve the latest
|
||||||
|
const signedBlock = await this.api.rpc.chain.getBlock();
|
||||||
|
|
||||||
|
// the information for each of the contained extrinsics
|
||||||
|
signedBlock.block.extrinsics.forEach((ex, index) => {
|
||||||
|
// the extrinsics are decoded by the API
|
||||||
|
console.log(index, ex.toHuman());
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
In the above `.toHuman()` is used to format into a human-readable representation. You can inspect/extract specific fields from the decoded extrinsic as required, for instance `ex.method.section` would return the pallete that executed this transaction.
|
||||||
|
|||||||
+6
-6
@@ -16,9 +16,9 @@ const info = await api.tx.balances
|
|||||||
|
|
||||||
// log relevant info, partialFee is Balance, estimated for current
|
// log relevant info, partialFee is Balance, estimated for current
|
||||||
console.log(`
|
console.log(`
|
||||||
class=${class.toString()},
|
class=${info.class.toString()},
|
||||||
weight=${weight.toString()},
|
weight=${info.weight.toString()},
|
||||||
partialFee=${partialFee.toHuman()}
|
partialFee=${info.partialFee.toHuman()}
|
||||||
`);
|
`);
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -97,12 +97,12 @@ api.tx.utility
|
|||||||
|
|
||||||
## How do I take the pending tx pool into account in my nonce?
|
## How do I take the pending tx pool into account in my nonce?
|
||||||
|
|
||||||
The `system.account` query will always contain the current state, i.e. it will reflect the nonce for the last known block. As such when sending multiple transactions in quick succession (see batching above), there may be transactions in the pool that has the same nonce that `signAndSend` would apply - this call doesn't do any magic, it simply reads the state for the nonce. Since we can specify options to the `signandSend` operation, we can override the nonce, either by manually incrementing it o querying it via `nextNonce`.
|
The `system.account` query will always contain the current state, i.e. it will reflect the nonce for the last known block. As such when sending multiple transactions in quick succession (see batching above), there may be transactions in the pool that has the same nonce that `signAndSend` would apply - this call doesn't do any magic, it simply reads the state for the nonce. Since we can specify options to the `signAndSend` operation, we can override the nonce, either by manually incrementing it or querying it via `rpc.system.accountNextIndex`.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
for (let i = 0; i < 10; i++) {
|
for (let i = 0; i < 10; i++) {
|
||||||
// retrieve the nextNonce, taking txs in the pool into account
|
// retrieve sender's next index/nonce, taking txs in the pool into account
|
||||||
const nonce = await api.rpc.account.nextNonce(sender);
|
const nonce = await api.rpc.system.accountNextIndex(sender);
|
||||||
|
|
||||||
// send, just retrieving the hash, not waiting on status
|
// send, just retrieving the hash, not waiting on status
|
||||||
const txhash = await api.tx.balances
|
const txhash = await api.tx.balances
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { ApiPromise, WsProvider } from '@polkadot/api';
|
|||||||
|
|
||||||
...
|
...
|
||||||
// Construct
|
// Construct
|
||||||
const wsProvider = new WsProvider('wss://poc-3.polkadot.io');
|
const wsProvider = new WsProvider('wss://rpc.polkadot.io');
|
||||||
const api = await ApiPromise.create({ provider: wsProvider });
|
const api = await ApiPromise.create({ provider: wsProvider });
|
||||||
|
|
||||||
// Do something
|
// Do something
|
||||||
|
|||||||
+1
-1
@@ -9,5 +9,5 @@
|
|||||||
"packages": [
|
"packages": [
|
||||||
"packages/*"
|
"packages/*"
|
||||||
],
|
],
|
||||||
"version": "1.25.1"
|
"version": "1.30.1"
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-7
@@ -24,15 +24,15 @@
|
|||||||
"test:watch": "polkadot-dev-run-test --watch"
|
"test:watch": "polkadot-dev-run-test --watch"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.10.5",
|
"@babel/core": "^7.11.4",
|
||||||
"@babel/register": "^7.10.5",
|
"@babel/register": "^7.10.5",
|
||||||
"@babel/runtime": "^7.10.5",
|
"@babel/runtime": "^7.11.2",
|
||||||
"@polkadot/dev": "^0.55.27",
|
"@polkadot/dev": "^0.55.39",
|
||||||
"@polkadot/ts": "^0.3.29",
|
"@polkadot/ts": "^0.3.39",
|
||||||
"@polkadot/typegen": "workspace:packages/typegen",
|
"@polkadot/typegen": "workspace:packages/typegen",
|
||||||
"@types/jest": "^26.0.5",
|
"@types/jest": "^26.0.10",
|
||||||
"@vuepress/plugin-search": "^1.5.2",
|
"@vuepress/plugin-search": "^1.5.4",
|
||||||
"copyfiles": "^2.3.0"
|
"copyfiles": "^2.3.0"
|
||||||
},
|
},
|
||||||
"version": "1.25.1"
|
"version": "1.30.1"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@polkadot/api-contract",
|
"name": "@polkadot/api-contract",
|
||||||
"version": "1.25.1",
|
"version": "1.30.1",
|
||||||
"description": "Interfaces for interacting with contracts and contract ABIs",
|
"description": "Interfaces for interacting with contracts and contract ABIs",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
@@ -26,12 +26,12 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/api-contract#readme",
|
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/api-contract#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.10.5",
|
"@babel/runtime": "^7.11.2",
|
||||||
"@polkadot/api": "1.25.1",
|
"@polkadot/api": "1.30.1",
|
||||||
"@polkadot/rpc-core": "1.25.1",
|
"@polkadot/rpc-core": "1.30.1",
|
||||||
"@polkadot/types": "1.25.1",
|
"@polkadot/types": "1.30.1",
|
||||||
"@polkadot/util": "^2.18.1",
|
"@polkadot/util": "^3.3.1",
|
||||||
"bn.js": "^5.1.2",
|
"bn.js": "^5.1.3",
|
||||||
"rxjs": "^6.6.0"
|
"rxjs": "^6.6.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
import { ApiTypes, DecorateMethod, ObsInnerType } from '@polkadot/api/types';
|
import { ApiTypes, DecorateMethod, ObsInnerType } from '@polkadot/api/types';
|
||||||
import { AccountId, Address, ContractExecResult } from '@polkadot/types/interfaces';
|
import { AccountId, Address, ContractExecResult } from '@polkadot/types/interfaces';
|
||||||
import { Codec, IKeyringPair } from '@polkadot/types/types';
|
import { Codec, CodecArg, IKeyringPair } from '@polkadot/types/types';
|
||||||
import { ApiObject, ContractABIMessage, ContractABIPre, ContractCallOutcome } from '../types';
|
import { ApiObject, ContractABIMessage, ContractABIPre, ContractCallOutcome } from '../types';
|
||||||
|
|
||||||
import BN from 'bn.js';
|
import BN from 'bn.js';
|
||||||
@@ -38,9 +38,9 @@ export default class Contract<ApiType extends ApiTypes> extends BaseWithTxAndRpc
|
|||||||
this.address = this.registry.createType('Address', address);
|
this.address = this.registry.createType('Address', address);
|
||||||
}
|
}
|
||||||
|
|
||||||
public call (as: 'rpc', message: string, value: BN | number, gasLimit: BN | number, ...params: any[]): ContractCall<ApiType, 'rpc'>;
|
public call (as: 'rpc', message: string, value: BN | number, gasLimit: BN | number, ...params: CodecArg[]): ContractCall<ApiType, 'rpc'>;
|
||||||
public call (as: 'tx', message: string, value: BN | number, gasLimit: BN | number, ...params: any[]): ContractCall<ApiType, 'tx'>;
|
public call (as: 'tx', message: string, value: BN | number, gasLimit: BN | number, ...params: CodecArg[]): ContractCall<ApiType, 'tx'>;
|
||||||
public call<CallType extends ContractCallTypes> (as: CallType, message: string, value: BN | number, gasLimit: BN | number, ...params: any[]): ContractCall<ApiType, CallType> {
|
public call<CallType extends ContractCallTypes> (as: CallType, message: string, value: BN | number, gasLimit: BN | number, ...params: CodecArg[]): ContractCall<ApiType, CallType> {
|
||||||
const { def, fn } = this.getMessage(message);
|
const { def, fn } = this.getMessage(message);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -67,7 +67,7 @@ export default class Contract<ApiType extends ApiTypes> extends BaseWithTxAndRpc
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private _createOutcome (result: ContractExecResult, origin: AccountId, message: ContractABIMessage, params: any[]): ContractCallOutcome {
|
private _createOutcome (result: ContractExecResult, origin: AccountId, message: ContractABIMessage, params: CodecArg[]): ContractCallOutcome {
|
||||||
let output: Codec | null = null;
|
let output: Codec | null = null;
|
||||||
|
|
||||||
if (result.isSuccess) {
|
if (result.isSuccess) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@polkadot/api-derive",
|
"name": "@polkadot/api-derive",
|
||||||
"version": "1.25.1",
|
"version": "1.30.1",
|
||||||
"description": "Common functions used across Polkadot, derived from RPC calls and storage queries.",
|
"description": "Common functions used across Polkadot, derived from RPC calls and storage queries.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
@@ -27,18 +27,18 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/api-derive#readme",
|
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/api-derive#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.10.5",
|
"@babel/runtime": "^7.11.2",
|
||||||
"@polkadot/api": "1.25.1",
|
"@polkadot/api": "1.30.1",
|
||||||
"@polkadot/rpc-core": "1.25.1",
|
"@polkadot/rpc-core": "1.30.1",
|
||||||
"@polkadot/rpc-provider": "1.25.1",
|
"@polkadot/rpc-provider": "1.30.1",
|
||||||
"@polkadot/types": "1.25.1",
|
"@polkadot/types": "1.30.1",
|
||||||
"@polkadot/util": "^2.18.1",
|
"@polkadot/util": "^3.3.1",
|
||||||
"@polkadot/util-crypto": "^2.18.1",
|
"@polkadot/util-crypto": "^3.3.1",
|
||||||
"bn.js": "^5.1.2",
|
"bn.js": "^5.1.3",
|
||||||
"memoizee": "^0.4.14",
|
"memoizee": "^0.4.14",
|
||||||
"rxjs": "^6.6.0"
|
"rxjs": "^6.6.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@polkadot/keyring": "^2.18.1"
|
"@polkadot/keyring": "^3.3.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ function retrieve (api: ApiInterfaceRx, address: Address | AccountId | AccountIn
|
|||||||
|
|
||||||
const accountIndex = api.registry.createType('AccountIndex', decoded);
|
const accountIndex = api.registry.createType('AccountIndex', decoded);
|
||||||
|
|
||||||
return api.derive.accounts.indexToId(accountIndex).pipe(
|
return api.derive.accounts.indexToId(accountIndex.toString()).pipe(
|
||||||
map((accountId): AccountIdAndIndex => [accountId, accountIndex])
|
map((accountId): AccountIdAndIndex => [accountId, accountIndex])
|
||||||
);
|
);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ function calcBalances (api: ApiInterfaceRx, [accountId, [freeBalance, reservedBa
|
|||||||
frozenFee,
|
frozenFee,
|
||||||
frozenMisc,
|
frozenMisc,
|
||||||
reservedBalance,
|
reservedBalance,
|
||||||
votingBalance: api.registry.createType('Balance', freeBalance.add(reservedBalance))
|
votingBalance: api.registry.createType('Balance', freeBalance.toBn())
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ export function all (api: ApiInterfaceRx): (address: AccountIndex | AccountId |
|
|||||||
? combineLatest([
|
? combineLatest([
|
||||||
of(account),
|
of(account),
|
||||||
api.derive.chain.bestNumber(),
|
api.derive.chain.bestNumber(),
|
||||||
isFunction(api.query.balances.account)
|
isFunction(api.query.system.account) || isFunction(api.query.balances.account)
|
||||||
? queryCurrent(api, account.accountId)
|
? queryCurrent(api, account.accountId)
|
||||||
: queryOld(api, account.accountId)
|
: queryOld(api, account.accountId)
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -4,13 +4,13 @@
|
|||||||
|
|
||||||
import { AccountId, Balance, BlockNumber } from '@polkadot/types/interfaces';
|
import { AccountId, Balance, BlockNumber } from '@polkadot/types/interfaces';
|
||||||
import { ITuple } from '@polkadot/types/types';
|
import { ITuple } from '@polkadot/types/types';
|
||||||
|
import { DeriveElectionsInfo } from './types';
|
||||||
|
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { map } from 'rxjs/operators';
|
import { map } from 'rxjs/operators';
|
||||||
import { ApiInterfaceRx } from '@polkadot/api/types';
|
import { ApiInterfaceRx } from '@polkadot/api/types';
|
||||||
import { Vec, u32 } from '@polkadot/types';
|
import { Vec, u32 } from '@polkadot/types';
|
||||||
|
|
||||||
import { DeriveElectionsInfo } from '../types';
|
|
||||||
import { memo } from '../util';
|
import { memo } from '../util';
|
||||||
|
|
||||||
function sortAccounts ([, balanceA]: ITuple<[AccountId, Balance]>, [, balanceB]: ITuple<[AccountId, Balance]>): number {
|
function sortAccounts ([, balanceA]: ITuple<[AccountId, Balance]>, [, balanceB]: ITuple<[AccountId, Balance]>): number {
|
||||||
@@ -30,6 +30,7 @@ function queryElections (api: ApiInterfaceRx): Observable<DeriveElectionsInfo> {
|
|||||||
candidacyBond: api.consts[section].candidacyBond as Balance,
|
candidacyBond: api.consts[section].candidacyBond as Balance,
|
||||||
candidateCount: api.registry.createType('u32', candidates.length),
|
candidateCount: api.registry.createType('u32', candidates.length),
|
||||||
candidates,
|
candidates,
|
||||||
|
desiredRunnersUp: api.consts[section].desiredRunnersUp as u32,
|
||||||
desiredSeats: api.consts[section].desiredMembers as u32,
|
desiredSeats: api.consts[section].desiredMembers as u32,
|
||||||
members: members.length
|
members: members.length
|
||||||
? members.sort(sortAccounts)
|
? members.sort(sortAccounts)
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
// Copyright 2017-2020 @polkadot/api-derive authors & contributors
|
||||||
|
// This software may be modified and distributed under the terms
|
||||||
|
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||||
|
|
||||||
|
import { AccountId, Balance, BlockNumber, SetIndex, VoteIndex } from '@polkadot/types/interfaces';
|
||||||
|
|
||||||
|
import { u32 } from '@polkadot/types';
|
||||||
|
|
||||||
|
export interface DeriveElectionsInfo {
|
||||||
|
candidates: AccountId[];
|
||||||
|
candidateCount: u32;
|
||||||
|
candidacyBond?: Balance;
|
||||||
|
desiredRunnersUp: u32;
|
||||||
|
desiredSeats: u32;
|
||||||
|
members: [AccountId, Balance][];
|
||||||
|
nextVoterSet?: SetIndex;
|
||||||
|
runnersUp: [AccountId, Balance][];
|
||||||
|
termDuration: BlockNumber;
|
||||||
|
voteCount?: VoteIndex;
|
||||||
|
voterCount?: SetIndex;
|
||||||
|
votingBond?: Balance;
|
||||||
|
}
|
||||||
@@ -3,13 +3,14 @@
|
|||||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||||
|
|
||||||
import type BN from 'bn.js';
|
import type BN from 'bn.js';
|
||||||
import { AccountId, Balance, BalanceLock, BalanceLockTo212, BalanceOf, Bid, BidKind, BlockNumber, Hash, Index, Proposal, ProposalIndex, SetIndex, SocietyVote, StrikeCount, TreasuryProposal, Votes, VoteIndex, VouchingStatus } from '@polkadot/types/interfaces';
|
import { AccountId, Balance, BalanceLock, BalanceLockTo212, BalanceOf, Bid, BidKind, BlockNumber, Hash, Index, Proposal, ProposalIndex, SetIndex, SocietyVote, StrikeCount, TreasuryProposal, Votes, VouchingStatus } from '@polkadot/types/interfaces';
|
||||||
|
|
||||||
import { u32 } from '@polkadot/types';
|
import { u32 } from '@polkadot/types';
|
||||||
|
|
||||||
export * from './accounts/types';
|
export * from './accounts/types';
|
||||||
export * from './council/types';
|
export * from './council/types';
|
||||||
export * from './democracy/types';
|
export * from './democracy/types';
|
||||||
|
export * from './elections/types';
|
||||||
export * from './parachains/types';
|
export * from './parachains/types';
|
||||||
export * from './session/types';
|
export * from './session/types';
|
||||||
export * from './staking/types';
|
export * from './staking/types';
|
||||||
@@ -59,20 +60,6 @@ export interface DeriveCollectiveProposal {
|
|||||||
|
|
||||||
export type DeriveCollectiveProposals = DeriveCollectiveProposal[];
|
export type DeriveCollectiveProposals = DeriveCollectiveProposal[];
|
||||||
|
|
||||||
export interface DeriveElectionsInfo {
|
|
||||||
candidates: AccountId[];
|
|
||||||
candidateCount: u32;
|
|
||||||
candidacyBond?: Balance;
|
|
||||||
desiredSeats: u32;
|
|
||||||
members: [AccountId, Balance][];
|
|
||||||
nextVoterSet?: SetIndex;
|
|
||||||
runnersUp: [AccountId, Balance][];
|
|
||||||
termDuration: BlockNumber;
|
|
||||||
voteCount?: VoteIndex;
|
|
||||||
voterCount?: SetIndex;
|
|
||||||
votingBond?: Balance;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface DeriveFees {
|
export interface DeriveFees {
|
||||||
creationFee: Balance;
|
creationFee: Balance;
|
||||||
existentialDeposit: Balance;
|
existentialDeposit: Balance;
|
||||||
|
|||||||
+15
-15
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@polkadot/api",
|
"name": "@polkadot/api",
|
||||||
"version": "1.25.1",
|
"version": "1.30.1",
|
||||||
"description": "Promise and RxJS wrappers around the Polkadot JS RPC",
|
"description": "Promise and RxJS wrappers around the Polkadot JS RPC",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
@@ -26,21 +26,21 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/api#readme",
|
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/api#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.10.5",
|
"@babel/runtime": "^7.11.2",
|
||||||
"@polkadot/api-derive": "1.25.1",
|
"@polkadot/api-derive": "1.30.1",
|
||||||
"@polkadot/keyring": "^2.18.1",
|
"@polkadot/keyring": "^3.3.1",
|
||||||
"@polkadot/metadata": "1.25.1",
|
"@polkadot/metadata": "1.30.1",
|
||||||
"@polkadot/rpc-core": "1.25.1",
|
"@polkadot/rpc-core": "1.30.1",
|
||||||
"@polkadot/rpc-provider": "1.25.1",
|
"@polkadot/rpc-provider": "1.30.1",
|
||||||
"@polkadot/types": "1.25.1",
|
"@polkadot/types": "1.30.1",
|
||||||
"@polkadot/types-known": "1.25.1",
|
"@polkadot/types-known": "1.30.1",
|
||||||
"@polkadot/util": "^2.18.1",
|
"@polkadot/util": "^3.3.1",
|
||||||
"@polkadot/util-crypto": "^2.18.1",
|
"@polkadot/util-crypto": "^3.3.1",
|
||||||
"bn.js": "^5.1.2",
|
"bn.js": "^5.1.3",
|
||||||
"eventemitter3": "^4.0.4",
|
"eventemitter3": "^4.0.5",
|
||||||
"rxjs": "^6.6.0"
|
"rxjs": "^6.6.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@polkadot/keyring": "^2.18.1"
|
"@polkadot/keyring": "^3.3.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,8 +16,9 @@ import { SetId, StoredPendingChange, StoredState } from '@polkadot/types/interfa
|
|||||||
import { RegistrarInfo, Registration } from '@polkadot/types/interfaces/identity';
|
import { RegistrarInfo, Registration } from '@polkadot/types/interfaces/identity';
|
||||||
import { AuthIndex } from '@polkadot/types/interfaces/imOnline';
|
import { AuthIndex } from '@polkadot/types/interfaces/imOnline';
|
||||||
import { DeferredOffenceOf, Kind, OffenceDetails, OpaqueTimeSlot, ReportIdOf } from '@polkadot/types/interfaces/offences';
|
import { DeferredOffenceOf, Kind, OffenceDetails, OpaqueTimeSlot, ReportIdOf } from '@polkadot/types/interfaces/offences';
|
||||||
|
import { ProxyType } from '@polkadot/types/interfaces/proxy';
|
||||||
import { ActiveRecovery, RecoveryConfig } from '@polkadot/types/interfaces/recovery';
|
import { ActiveRecovery, RecoveryConfig } from '@polkadot/types/interfaces/recovery';
|
||||||
import { AccountId, AccountIndex, Balance, BalanceOf, BlockNumber, ExtrinsicsWeight, Hash, KeyTypeId, Moment, OpaqueCall, Perbill, ProxyType, Releases, ValidatorId } from '@polkadot/types/interfaces/runtime';
|
import { AccountId, AccountIndex, Balance, BalanceOf, BlockNumber, ExtrinsicsWeight, Hash, KeyTypeId, Moment, OpaqueCall, Perbill, Releases, ValidatorId } from '@polkadot/types/interfaces/runtime';
|
||||||
import { Scheduled, TaskAddress } from '@polkadot/types/interfaces/scheduler';
|
import { Scheduled, TaskAddress } from '@polkadot/types/interfaces/scheduler';
|
||||||
import { Keys, SessionIndex } from '@polkadot/types/interfaces/session';
|
import { Keys, SessionIndex } from '@polkadot/types/interfaces/session';
|
||||||
import { Bid, BidKind, SocietyVote, StrikeCount, VouchingStatus } from '@polkadot/types/interfaces/society';
|
import { Bid, BidKind, SocietyVote, StrikeCount, VouchingStatus } from '@polkadot/types/interfaces/society';
|
||||||
|
|||||||
@@ -13,7 +13,8 @@ import { Extrinsic, Signature } from '@polkadot/types/interfaces/extrinsics';
|
|||||||
import { GrandpaEquivocationProof, KeyOwnerProof } from '@polkadot/types/interfaces/grandpa';
|
import { GrandpaEquivocationProof, KeyOwnerProof } from '@polkadot/types/interfaces/grandpa';
|
||||||
import { IdentityFields, IdentityInfo, IdentityJudgement, RegistrarIndex } from '@polkadot/types/interfaces/identity';
|
import { IdentityFields, IdentityInfo, IdentityJudgement, RegistrarIndex } from '@polkadot/types/interfaces/identity';
|
||||||
import { Heartbeat } from '@polkadot/types/interfaces/imOnline';
|
import { Heartbeat } from '@polkadot/types/interfaces/imOnline';
|
||||||
import { AccountId, AccountIndex, Address, Balance, BalanceOf, BlockNumber, Call, ChangesTrieConfiguration, Hash, Header, KeyValue, LookupSource, Moment, OpaqueCall, Perbill, Percent, ProxyType, Weight } from '@polkadot/types/interfaces/runtime';
|
import { ProxyType } from '@polkadot/types/interfaces/proxy';
|
||||||
|
import { AccountId, AccountIndex, Address, Balance, BalanceOf, BlockNumber, Call, ChangesTrieConfiguration, Hash, Header, KeyValue, LookupSource, Moment, OpaqueCall, Perbill, Percent, Weight } from '@polkadot/types/interfaces/runtime';
|
||||||
import { Period, Priority } from '@polkadot/types/interfaces/scheduler';
|
import { Period, Priority } from '@polkadot/types/interfaces/scheduler';
|
||||||
import { Keys } from '@polkadot/types/interfaces/session';
|
import { Keys } from '@polkadot/types/interfaces/session';
|
||||||
import { SocietyJudgement } from '@polkadot/types/interfaces/society';
|
import { SocietyJudgement } from '@polkadot/types/interfaces/society';
|
||||||
@@ -63,7 +64,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* not assumed to be in the overlay.
|
* not assumed to be in the overlay.
|
||||||
* # </weight>
|
* # </weight>
|
||||||
**/
|
**/
|
||||||
forceTransfer: AugmentedSubmittable<(source: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array, dest: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array, value: Compact<Balance> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
forceTransfer: AugmentedSubmittable<(source: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, dest: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, value: Compact<Balance> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Set the balances of a given account.
|
* Set the balances of a given account.
|
||||||
*
|
*
|
||||||
@@ -84,7 +85,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* - DB Weight: 1 Read, 1 Write to `who`
|
* - DB Weight: 1 Read, 1 Write to `who`
|
||||||
* # </weight>
|
* # </weight>
|
||||||
**/
|
**/
|
||||||
setBalance: AugmentedSubmittable<(who: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array, newFree: Compact<Balance> | AnyNumber | Uint8Array, newReserved: Compact<Balance> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
setBalance: AugmentedSubmittable<(who: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, newFree: Compact<Balance> | AnyNumber | Uint8Array, newReserved: Compact<Balance> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Transfer some liquid free balance to another account.
|
* Transfer some liquid free balance to another account.
|
||||||
*
|
*
|
||||||
@@ -114,7 +115,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* - Origin account is already in memory, so no DB operations for them.
|
* - Origin account is already in memory, so no DB operations for them.
|
||||||
* # </weight>
|
* # </weight>
|
||||||
**/
|
**/
|
||||||
transfer: AugmentedSubmittable<(dest: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array, value: Compact<Balance> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
transfer: AugmentedSubmittable<(dest: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, value: Compact<Balance> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Same as the [`transfer`] call, but with a check that the transfer will not kill the
|
* Same as the [`transfer`] call, but with a check that the transfer will not kill the
|
||||||
* origin account.
|
* origin account.
|
||||||
@@ -128,7 +129,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* - DB Weight: 1 Read and 1 Write to dest (sender is in overlay already)
|
* - DB Weight: 1 Read and 1 Write to dest (sender is in overlay already)
|
||||||
* #</weight>
|
* #</weight>
|
||||||
**/
|
**/
|
||||||
transferKeepAlive: AugmentedSubmittable<(dest: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array, value: Compact<Balance> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
transferKeepAlive: AugmentedSubmittable<(dest: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, value: Compact<Balance> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
};
|
};
|
||||||
contracts: {
|
contracts: {
|
||||||
[index: string]: SubmittableExtrinsicFunction<ApiType>;
|
[index: string]: SubmittableExtrinsicFunction<ApiType>;
|
||||||
@@ -141,7 +142,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* * If no account exists and the call value is not less than `existential_deposit`,
|
* * If no account exists and the call value is not less than `existential_deposit`,
|
||||||
* a regular account will be created and any value will be transferred.
|
* a regular account will be created and any value will be transferred.
|
||||||
**/
|
**/
|
||||||
call: AugmentedSubmittable<(dest: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array, value: Compact<BalanceOf> | AnyNumber | Uint8Array, gasLimit: Compact<Gas> | AnyNumber | Uint8Array, data: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
call: AugmentedSubmittable<(dest: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, value: Compact<BalanceOf> | AnyNumber | Uint8Array, gasLimit: Compact<Gas> | AnyNumber | Uint8Array, data: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Allows block producers to claim a small reward for evicting a contract. If a block producer
|
* Allows block producers to claim a small reward for evicting a contract. If a block producer
|
||||||
* fails to do so, a regular users will be allowed to claim the reward.
|
* fails to do so, a regular users will be allowed to claim the reward.
|
||||||
@@ -739,7 +740,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* Else, since this is a root call and will go into phragmen, we assume full block for now.
|
* Else, since this is a root call and will go into phragmen, we assume full block for now.
|
||||||
* # </weight>
|
* # </weight>
|
||||||
**/
|
**/
|
||||||
removeMember: AugmentedSubmittable<(who: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array, hasReplacement: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
removeMember: AugmentedSubmittable<(who: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, hasReplacement: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Remove `origin` as a voter. This removes the lock and returns the bond.
|
* Remove `origin` as a voter. This removes the lock and returns the bond.
|
||||||
*
|
*
|
||||||
@@ -890,6 +891,16 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
};
|
};
|
||||||
grandpa: {
|
grandpa: {
|
||||||
[index: string]: SubmittableExtrinsicFunction<ApiType>;
|
[index: string]: SubmittableExtrinsicFunction<ApiType>;
|
||||||
|
/**
|
||||||
|
* Note that the current authority set of the GRANDPA finality gadget has
|
||||||
|
* stalled. This will trigger a forced authority set change at the beginning
|
||||||
|
* of the next session, to be enacted `delay` blocks after that. The delay
|
||||||
|
* should be high enough to safely assume that the block signalling the
|
||||||
|
* forced change will not be re-orged (e.g. 1000 blocks). The GRANDPA voters
|
||||||
|
* will start the new authority set using the given finalized block as base.
|
||||||
|
* Only callable by root.
|
||||||
|
**/
|
||||||
|
noteStalled: AugmentedSubmittable<(delay: BlockNumber | AnyNumber | Uint8Array, bestFinalizedBlockNumber: BlockNumber | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Report voter equivocation/misbehavior. This method will verify the
|
* Report voter equivocation/misbehavior. This method will verify the
|
||||||
* equivocation proof and validate the given key ownership proof
|
* equivocation proof and validate the given key ownership proof
|
||||||
@@ -937,7 +948,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* The dispatch origin for this call must be _Signed_ and the sender must have a registered
|
* The dispatch origin for this call must be _Signed_ and the sender must have a registered
|
||||||
* sub identity of `sub`.
|
* sub identity of `sub`.
|
||||||
**/
|
**/
|
||||||
addSub: AugmentedSubmittable<(sub: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array, data: Data | { None: any } | { Raw: any } | { BlakeTwo256: any } | { Sha256: any } | { Keccak256: any } | { ShaThree256: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
addSub: AugmentedSubmittable<(sub: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, data: Data | { None: any } | { Raw: any } | { BlakeTwo256: any } | { Sha256: any } | { Keccak256: any } | { ShaThree256: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Cancel a previous request.
|
* Cancel a previous request.
|
||||||
*
|
*
|
||||||
@@ -1000,7 +1011,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* - One event.
|
* - One event.
|
||||||
* # </weight>
|
* # </weight>
|
||||||
**/
|
**/
|
||||||
killIdentity: AugmentedSubmittable<(target: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
killIdentity: AugmentedSubmittable<(target: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Provide a judgement for an account's identity.
|
* Provide a judgement for an account's identity.
|
||||||
*
|
*
|
||||||
@@ -1022,7 +1033,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* - One event.
|
* - One event.
|
||||||
* # </weight>
|
* # </weight>
|
||||||
**/
|
**/
|
||||||
provideJudgement: AugmentedSubmittable<(regIndex: Compact<RegistrarIndex> | AnyNumber | Uint8Array, target: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array, judgement: IdentityJudgement | { Unknown: any } | { FeePaid: any } | { Reasonable: any } | { KnownGood: any } | { OutOfDate: any } | { LowQuality: any } | { Erroneous: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
provideJudgement: AugmentedSubmittable<(regIndex: Compact<RegistrarIndex> | AnyNumber | Uint8Array, target: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, judgement: IdentityJudgement | { Unknown: any } | { FeePaid: any } | { Reasonable: any } | { KnownGood: any } | { OutOfDate: any } | { LowQuality: any } | { Erroneous: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Remove the sender as a sub-account.
|
* Remove the sender as a sub-account.
|
||||||
*
|
*
|
||||||
@@ -1045,14 +1056,14 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* The dispatch origin for this call must be _Signed_ and the sender must have a registered
|
* The dispatch origin for this call must be _Signed_ and the sender must have a registered
|
||||||
* sub identity of `sub`.
|
* sub identity of `sub`.
|
||||||
**/
|
**/
|
||||||
removeSub: AugmentedSubmittable<(sub: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
removeSub: AugmentedSubmittable<(sub: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Alter the associated name of the given sub-account.
|
* Alter the associated name of the given sub-account.
|
||||||
*
|
*
|
||||||
* The dispatch origin for this call must be _Signed_ and the sender must have a registered
|
* The dispatch origin for this call must be _Signed_ and the sender must have a registered
|
||||||
* sub identity of `sub`.
|
* sub identity of `sub`.
|
||||||
**/
|
**/
|
||||||
renameSub: AugmentedSubmittable<(sub: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array, data: Data | { None: any } | { Raw: any } | { BlakeTwo256: any } | { Sha256: any } | { Keccak256: any } | { ShaThree256: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
renameSub: AugmentedSubmittable<(sub: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, data: Data | { None: any } | { Raw: any } | { BlakeTwo256: any } | { Sha256: any } | { Keccak256: any } | { ShaThree256: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Request a judgement from a registrar.
|
* Request a judgement from a registrar.
|
||||||
*
|
*
|
||||||
@@ -2154,7 +2165,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* Total Complexity: O(M + logM + C)
|
* Total Complexity: O(M + logM + C)
|
||||||
* # </weight>
|
* # </weight>
|
||||||
**/
|
**/
|
||||||
vote: AugmentedSubmittable<(candidate: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array, approve: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
vote: AugmentedSubmittable<(candidate: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, approve: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* As a member, vouch for someone to join society by placing a bid on their behalf.
|
* As a member, vouch for someone to join society by placing a bid on their behalf.
|
||||||
*
|
*
|
||||||
@@ -2229,7 +2240,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* - Write: Bonded, Payee, [Origin Account], Locks, Ledger
|
* - Write: Bonded, Payee, [Origin Account], Locks, Ledger
|
||||||
* # </weight>
|
* # </weight>
|
||||||
**/
|
**/
|
||||||
bond: AugmentedSubmittable<(controller: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array, value: Compact<BalanceOf> | AnyNumber | Uint8Array, payee: RewardDestination | 'Staked'|'Stash'|'Controller' | number | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
bond: AugmentedSubmittable<(controller: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, value: Compact<BalanceOf> | AnyNumber | Uint8Array, payee: RewardDestination | 'Staked'|'Stash'|'Controller' | number | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Add some extra amount that have appeared in the stash `free_balance` into the balance up
|
* Add some extra amount that have appeared in the stash `free_balance` into the balance up
|
||||||
* for staking.
|
* for staking.
|
||||||
@@ -2374,7 +2385,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* - Writes: Validators, Nominators
|
* - Writes: Validators, Nominators
|
||||||
* # </weight>
|
* # </weight>
|
||||||
**/
|
**/
|
||||||
nominate: AugmentedSubmittable<(targets: Vec<LookupSource> | (LookupSource | Address | AccountId | AccountIndex | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>>;
|
nominate: AugmentedSubmittable<(targets: Vec<LookupSource> | (LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Pay out all the stakers behind a single validator for a single era.
|
* Pay out all the stakers behind a single validator for a single era.
|
||||||
*
|
*
|
||||||
@@ -2469,7 +2480,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* - Write: Bonded, Ledger New Controller, Ledger Old Controller
|
* - Write: Bonded, Ledger New Controller, Ledger Old Controller
|
||||||
* # </weight>
|
* # </weight>
|
||||||
**/
|
**/
|
||||||
setController: AugmentedSubmittable<(controller: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
setController: AugmentedSubmittable<(controller: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Set `HistoryDepth` value. This function will delete any history information
|
* Set `HistoryDepth` value. This function will delete any history information
|
||||||
* when `HistoryDepth` is reduced.
|
* when `HistoryDepth` is reduced.
|
||||||
@@ -2700,7 +2711,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* - One DB change.
|
* - One DB change.
|
||||||
* # </weight>
|
* # </weight>
|
||||||
**/
|
**/
|
||||||
setKey: AugmentedSubmittable<(updated: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
setKey: AugmentedSubmittable<(updated: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Authenticates the sudo key and dispatches a function call with `Root` origin.
|
* Authenticates the sudo key and dispatches a function call with `Root` origin.
|
||||||
*
|
*
|
||||||
@@ -2727,7 +2738,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* - Weight of derivative `call` execution + 10,000.
|
* - Weight of derivative `call` execution + 10,000.
|
||||||
* # </weight>
|
* # </weight>
|
||||||
**/
|
**/
|
||||||
sudoAs: AugmentedSubmittable<(who: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array, call: Call | { callIndex?: any; args?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
sudoAs: AugmentedSubmittable<(who: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, call: Call | { callIndex?: any; args?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Authenticates the sudo key and dispatches a function call with `Root` origin.
|
* Authenticates the sudo key and dispatches a function call with `Root` origin.
|
||||||
* This function does not check the weight of the call, and instead allows the
|
* This function does not check the weight of the call, and instead allows the
|
||||||
@@ -3111,7 +3122,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* - DbWrites: `ProposalCount`, `Proposals`, `origin account`
|
* - DbWrites: `ProposalCount`, `Proposals`, `origin account`
|
||||||
* # </weight>
|
* # </weight>
|
||||||
**/
|
**/
|
||||||
proposeSpend: AugmentedSubmittable<(value: Compact<BalanceOf> | AnyNumber | Uint8Array, beneficiary: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
proposeSpend: AugmentedSubmittable<(value: Compact<BalanceOf> | AnyNumber | Uint8Array, beneficiary: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Reject a proposed spend. The original deposit will be slashed.
|
* Reject a proposed spend. The original deposit will be slashed.
|
||||||
*
|
*
|
||||||
@@ -3292,7 +3303,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* - Using 100 µs fixed. Assuming less than 50 locks on any user, else we may want factor in number of locks.
|
* - Using 100 µs fixed. Assuming less than 50 locks on any user, else we may want factor in number of locks.
|
||||||
* # </weight>
|
* # </weight>
|
||||||
**/
|
**/
|
||||||
forceVestedTransfer: AugmentedSubmittable<(source: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array, target: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array, schedule: VestingInfo | { locked?: any; perBlock?: any; startingBlock?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
forceVestedTransfer: AugmentedSubmittable<(source: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, target: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, schedule: VestingInfo | { locked?: any; perBlock?: any; startingBlock?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Unlock any vested funds of the sender account.
|
* Unlock any vested funds of the sender account.
|
||||||
*
|
*
|
||||||
@@ -3334,7 +3345,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* - Using 50 µs fixed. Assuming less than 50 locks on any user, else we may want factor in number of locks.
|
* - Using 50 µs fixed. Assuming less than 50 locks on any user, else we may want factor in number of locks.
|
||||||
* # </weight>
|
* # </weight>
|
||||||
**/
|
**/
|
||||||
vestOther: AugmentedSubmittable<(target: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
vestOther: AugmentedSubmittable<(target: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
/**
|
/**
|
||||||
* Create a vested transfer.
|
* Create a vested transfer.
|
||||||
*
|
*
|
||||||
@@ -3355,7 +3366,7 @@ declare module '@polkadot/api/types/submittable' {
|
|||||||
* - Using 100 µs fixed. Assuming less than 50 locks on any user, else we may want factor in number of locks.
|
* - Using 100 µs fixed. Assuming less than 50 locks on any user, else we may want factor in number of locks.
|
||||||
* # </weight>
|
* # </weight>
|
||||||
**/
|
**/
|
||||||
vestedTransfer: AugmentedSubmittable<(target: LookupSource | Address | AccountId | AccountIndex | string | Uint8Array, schedule: VestingInfo | { locked?: any; perBlock?: any; startingBlock?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
vestedTransfer: AugmentedSubmittable<(target: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, schedule: VestingInfo | { locked?: any; perBlock?: any; startingBlock?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import { Observable, Subscription, of } from 'rxjs';
|
|||||||
import { map, switchMap } from 'rxjs/operators';
|
import { map, switchMap } from 'rxjs/operators';
|
||||||
import { Metadata, Text } from '@polkadot/types';
|
import { Metadata, Text } from '@polkadot/types';
|
||||||
import { LATEST_EXTRINSIC_VERSION } from '@polkadot/types/extrinsic/Extrinsic';
|
import { LATEST_EXTRINSIC_VERSION } from '@polkadot/types/extrinsic/Extrinsic';
|
||||||
import { getMetadataTypes, getSpecTypes } from '@polkadot/types-known';
|
import { getMetadataTypes, getSpecAlias, getSpecTypes } from '@polkadot/types-known';
|
||||||
import { logger } from '@polkadot/util';
|
import { logger } from '@polkadot/util';
|
||||||
import { cryptoWaitReady } from '@polkadot/util-crypto';
|
import { cryptoWaitReady } from '@polkadot/util-crypto';
|
||||||
|
|
||||||
@@ -35,6 +35,7 @@ export default abstract class Init<ApiType extends ApiTypes> extends Decorate<Ap
|
|||||||
this.registry.setKnownTypes({
|
this.registry.setKnownTypes({
|
||||||
types: options.types,
|
types: options.types,
|
||||||
typesAlias: options.typesAlias,
|
typesAlias: options.typesAlias,
|
||||||
|
typesBundle: options.typesBundle,
|
||||||
typesChain: options.typesChain,
|
typesChain: options.typesChain,
|
||||||
typesSpec: options.typesSpec
|
typesSpec: options.typesSpec
|
||||||
});
|
});
|
||||||
@@ -147,6 +148,33 @@ export default abstract class Init<ApiType extends ApiTypes> extends Decorate<Ap
|
|||||||
).subscribe();
|
).subscribe();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private _adjustBundleTypes (chain: Text, specName: Text): void {
|
||||||
|
// adjust known type aliases
|
||||||
|
this.registry.knownTypes.typesAlias = getSpecAlias(this.registry, chain, specName);
|
||||||
|
|
||||||
|
// FIXME For the first round, we are not adjusting the user-injected RPCs
|
||||||
|
// inject any user-level RPCs now that we have the chain/spec
|
||||||
|
// this._rpcCore.addUserInterfaces(getSpecRpc(this.registry, chain, specName));
|
||||||
|
|
||||||
|
// const extraRpc = this._decorateRpc(this._rpcCore, this._decorateMethod);
|
||||||
|
|
||||||
|
// // FIXME this is a mess
|
||||||
|
// Object.entries(extraRpc).forEach(([section, value]): void => {
|
||||||
|
// if (this._rpc) {
|
||||||
|
// if (!this._rpc[section as 'author']) {
|
||||||
|
// this._rpc[section as 'author'] = {} as DecoratedRpcSection<ApiType, RpcInterface['author']>;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// Object.entries(value).forEach(([name, method]): void => {
|
||||||
|
// if (this._rpc && !this._rpc[section as 'author'][name as 'hasKey']) {
|
||||||
|
// // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
||||||
|
// this._rpc[section as 'author'][name as 'hasKey'] = method;
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
}
|
||||||
|
|
||||||
private async _metaFromChain (optMetadata: Record<string, string>): Promise<Metadata> {
|
private async _metaFromChain (optMetadata: Record<string, string>): Promise<Metadata> {
|
||||||
const [runtimeVersion, chain, chainProps] = await Promise.all([
|
const [runtimeVersion, chain, chainProps] = await Promise.all([
|
||||||
this._rpcCore.state.getRuntimeVersion().toPromise(),
|
this._rpcCore.state.getRuntimeVersion().toPromise(),
|
||||||
@@ -159,6 +187,11 @@ export default abstract class Init<ApiType extends ApiTypes> extends Decorate<Ap
|
|||||||
this._runtimeVersion = runtimeVersion;
|
this._runtimeVersion = runtimeVersion;
|
||||||
this._rx.runtimeVersion = runtimeVersion;
|
this._rx.runtimeVersion = runtimeVersion;
|
||||||
|
|
||||||
|
// adjust types based on bundled info
|
||||||
|
if (this.registry.knownTypes.typesBundle) {
|
||||||
|
this._adjustBundleTypes(chain, runtimeVersion.specName);
|
||||||
|
}
|
||||||
|
|
||||||
// do the setup for the specific chain
|
// do the setup for the specific chain
|
||||||
this.registry.setChainProperties(chainProps);
|
this.registry.setChainProperties(chainProps);
|
||||||
this.registerTypes(getSpecTypes(this.registry, chain, runtimeVersion.specName, runtimeVersion.specVersion));
|
this.registerTypes(getSpecTypes(this.registry, chain, runtimeVersion.specName, runtimeVersion.specVersion));
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@polkadot/metadata",
|
"name": "@polkadot/metadata",
|
||||||
"version": "1.25.1",
|
"version": "1.30.1",
|
||||||
"description": "Helpers to extract information from runtime metadata",
|
"description": "Helpers to extract information from runtime metadata",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
@@ -26,14 +26,14 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/type-metadata#readme",
|
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/type-metadata#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.10.5",
|
"@babel/runtime": "^7.11.2",
|
||||||
"@polkadot/types": "1.25.1",
|
"@polkadot/types": "1.30.1",
|
||||||
"@polkadot/types-known": "1.25.1",
|
"@polkadot/types-known": "1.30.1",
|
||||||
"@polkadot/util": "^2.18.1",
|
"@polkadot/util": "^3.3.1",
|
||||||
"@polkadot/util-crypto": "^2.18.1",
|
"@polkadot/util-crypto": "^3.3.1",
|
||||||
"bn.js": "^5.1.2"
|
"bn.js": "^5.1.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@polkadot/keyring": "^2.18.1"
|
"@polkadot/keyring": "^3.3.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@polkadot/rpc-core",
|
"name": "@polkadot/rpc-core",
|
||||||
"version": "1.25.1",
|
"version": "1.30.1",
|
||||||
"description": "A JavaScript wrapper for the Polkadot JsonRPC interface",
|
"description": "A JavaScript wrapper for the Polkadot JsonRPC interface",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
@@ -26,15 +26,15 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/rpc-core#readme",
|
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/rpc-core#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.10.5",
|
"@babel/runtime": "^7.11.2",
|
||||||
"@polkadot/metadata": "1.25.1",
|
"@polkadot/metadata": "1.30.1",
|
||||||
"@polkadot/rpc-provider": "1.25.1",
|
"@polkadot/rpc-provider": "1.30.1",
|
||||||
"@polkadot/types": "1.25.1",
|
"@polkadot/types": "1.30.1",
|
||||||
"@polkadot/util": "^2.18.1",
|
"@polkadot/util": "^3.3.1",
|
||||||
"memoizee": "^0.4.14",
|
"memoizee": "^0.4.14",
|
||||||
"rxjs": "^6.6.0"
|
"rxjs": "^6.6.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@polkadot/keyring": "^2.18.1"
|
"@polkadot/keyring": "^3.3.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -116,7 +116,12 @@ export default class Rpc implements RpcInterface {
|
|||||||
this.registry = registry;
|
this.registry = registry;
|
||||||
this.provider = provider;
|
this.provider = provider;
|
||||||
|
|
||||||
this._createInterfaces(userRpc);
|
const sectionNames = Object.keys(jsonrpc);
|
||||||
|
|
||||||
|
// these are the base keys (i.e. part of jsonrpc)
|
||||||
|
this.sections.push(...sectionNames);
|
||||||
|
|
||||||
|
this.addUserInterfaces(userRpc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -126,27 +131,37 @@ export default class Rpc implements RpcInterface {
|
|||||||
this.provider.disconnect();
|
this.provider.disconnect();
|
||||||
}
|
}
|
||||||
|
|
||||||
private _createInterfaces<Section extends keyof RpcInterface> (userRpc: Record<string, Record<string, DefinitionRpc | DefinitionRpcSub>>): void {
|
public addUserInterfaces<Section extends keyof RpcInterface> (userRpc: Record<string, Record<string, DefinitionRpc | DefinitionRpcSub>>): void {
|
||||||
const sectionNames = Object.keys(jsonrpc);
|
|
||||||
|
|
||||||
// these are the base keys (i.e. part of jsonrpc)
|
|
||||||
this.sections.push(...sectionNames);
|
|
||||||
|
|
||||||
// add any extra user-defined sections
|
// add any extra user-defined sections
|
||||||
this.sections.push(...Object.keys(userRpc).filter((key): boolean => !this.sections.includes(key)));
|
this.sections.push(...Object.keys(userRpc).filter((key) => !this.sections.includes(key)));
|
||||||
|
|
||||||
// decorate the sections with base and user methods
|
// decorate the sections with base and user methods
|
||||||
this.sections.forEach((sectionName): void => {
|
this.sections.forEach((sectionName): void => {
|
||||||
(this as Record<string, unknown>)[sectionName as Section] = {
|
if (!(this as Record<string, unknown>)[sectionName as Section]) {
|
||||||
...this._createInterface(sectionName, jsonrpc[sectionName as 'babe'] || {}),
|
(this as Record<string, unknown>)[sectionName as Section] = {};
|
||||||
...this._createInterface(sectionName, userRpc[sectionName] || {})
|
}
|
||||||
};
|
|
||||||
|
const section = (this as Record<string, unknown>)[sectionName as Section] as Record<string, any>;
|
||||||
|
|
||||||
|
Object
|
||||||
|
.entries({
|
||||||
|
...this._createInterface(sectionName, jsonrpc[sectionName as 'babe'] || {}),
|
||||||
|
...this._createInterface(sectionName, userRpc[sectionName] || {})
|
||||||
|
})
|
||||||
|
.forEach(([key, value]): void => {
|
||||||
|
// we don't want to clobber existing, i.e. when this is called again after chain is determined
|
||||||
|
if (!section[key]) {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
||||||
|
section[key] = value;
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private _createInterface<Section extends keyof RpcInterface> (section: string, methods: Record<string, DefinitionRpc | DefinitionRpcSub>): RpcInterface[Section] {
|
private _createInterface<Section extends keyof RpcInterface> (section: string, methods: Record<string, DefinitionRpc | DefinitionRpcSub>): RpcInterface[Section] {
|
||||||
return Object
|
return Object
|
||||||
.keys(methods)
|
.keys(methods)
|
||||||
|
.filter((method) => !this.mapping.has(`${section}_${method}`))
|
||||||
.reduce((exposed, method): RpcInterface[Section] => {
|
.reduce((exposed, method): RpcInterface[Section] => {
|
||||||
const def = methods[method];
|
const def = methods[method];
|
||||||
const isSubscription = !!(def as DefinitionRpcSub).pubsub;
|
const isSubscription = !!(def as DefinitionRpcSub).pubsub;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@polkadot/rpc-provider",
|
"name": "@polkadot/rpc-provider",
|
||||||
"version": "1.25.1",
|
"version": "1.30.1",
|
||||||
"description": "Transport providers for the API",
|
"description": "Transport providers for the API",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
@@ -26,19 +26,19 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/rpc-provider#readme",
|
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/rpc-provider#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.10.5",
|
"@babel/runtime": "^7.11.2",
|
||||||
"@polkadot/metadata": "1.25.1",
|
"@polkadot/metadata": "1.30.1",
|
||||||
"@polkadot/types": "1.25.1",
|
"@polkadot/types": "1.30.1",
|
||||||
"@polkadot/util": "^2.18.1",
|
"@polkadot/util": "^3.3.1",
|
||||||
"@polkadot/util-crypto": "^2.18.1",
|
"@polkadot/util-crypto": "^3.3.1",
|
||||||
"bn.js": "^5.1.2",
|
"bn.js": "^5.1.3",
|
||||||
"eventemitter3": "^4.0.4",
|
"eventemitter3": "^4.0.5",
|
||||||
"isomorphic-fetch": "^2.2.1",
|
"isomorphic-fetch": "^2.2.1",
|
||||||
"websocket": "^1.0.31"
|
"websocket": "^1.0.31"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@polkadot/keyring": "^2.18.1",
|
"@polkadot/keyring": "^3.3.1",
|
||||||
"mock-socket": "^9.0.3",
|
"mock-socket": "^9.0.3",
|
||||||
"nock": "^13.0.2"
|
"nock": "^13.0.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@polkadot/typegen",
|
"name": "@polkadot/typegen",
|
||||||
"version": "1.25.1",
|
"version": "1.30.1",
|
||||||
"description": "Type generation scripts",
|
"description": "Type generation scripts",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -33,14 +33,14 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/typegen#readme",
|
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/typegen#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/core": "^7.10.5",
|
"@babel/core": "^7.11.4",
|
||||||
"@babel/register": "^7.10.5",
|
"@babel/register": "^7.10.5",
|
||||||
"@babel/runtime": "^7.10.5",
|
"@babel/runtime": "^7.11.2",
|
||||||
"@polkadot/api": "1.25.1",
|
"@polkadot/api": "1.30.1",
|
||||||
"@polkadot/metadata": "1.25.1",
|
"@polkadot/metadata": "1.30.1",
|
||||||
"@polkadot/rpc-provider": "1.25.1",
|
"@polkadot/rpc-provider": "1.30.1",
|
||||||
"@polkadot/types": "1.25.1",
|
"@polkadot/types": "1.30.1",
|
||||||
"@polkadot/util": "^2.18.1",
|
"@polkadot/util": "^3.3.1",
|
||||||
"handlebars": "^4.7.6",
|
"handlebars": "^4.7.6",
|
||||||
"websocket": "^1.0.31",
|
"websocket": "^1.0.31",
|
||||||
"yargs": "^15.4.1"
|
"yargs": "^15.4.1"
|
||||||
|
|||||||
@@ -5,9 +5,10 @@
|
|||||||
import Handlebars from 'handlebars';
|
import Handlebars from 'handlebars';
|
||||||
|
|
||||||
import { TypeRegistry } from '@polkadot/types/create';
|
import { TypeRegistry } from '@polkadot/types/create';
|
||||||
import * as definitions from '@polkadot/types/interfaces/definitions';
|
import { Definitions } from '@polkadot/types/types';
|
||||||
|
import * as defaultDefinitions from '@polkadot/types/interfaces/definitions';
|
||||||
|
|
||||||
import { createImports, getSimilarTypes, readTemplate, setImports, writeFile } from '../util';
|
import { createImports, getSimilarTypes, formatType, readTemplate, setImports, writeFile } from '../util';
|
||||||
|
|
||||||
const StorageKeyTye = 'StorageKey | string | Uint8Array | any';
|
const StorageKeyTye = 'StorageKey | string | Uint8Array | any';
|
||||||
|
|
||||||
@@ -15,21 +16,28 @@ const template = readTemplate('rpc');
|
|||||||
const generateRpcTypesTemplate = Handlebars.compile(template);
|
const generateRpcTypesTemplate = Handlebars.compile(template);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export default function generateRpcTypes (dest = 'packages/api/src/augment/rpc.ts'): void {
|
export function generateRpcTypes (importDefinitions: { [importPath: string]: Record<string, Definitions> }, dest: string): void {
|
||||||
writeFile(dest, (): string => {
|
writeFile(dest, (): string => {
|
||||||
const registry = new TypeRegistry();
|
const registry = new TypeRegistry();
|
||||||
const allTypes = { '@polkadot/types/interfaces': definitions };
|
|
||||||
const imports = createImports(allTypes);
|
const imports = createImports(importDefinitions);
|
||||||
const allDefs = Object.entries(allTypes).reduce((defs, [path, obj]) => {
|
const definitions = imports.definitions as Record<string, Definitions>;
|
||||||
|
|
||||||
|
const allDefs = Object.entries(importDefinitions).reduce((defs, [path, obj]) => {
|
||||||
return Object.entries(obj).reduce((defs, [key, value]) => ({ ...defs, [`${path}/${key}`]: value }), defs);
|
return Object.entries(obj).reduce((defs, [key, value]) => ({ ...defs, [`${path}/${key}`]: value }), defs);
|
||||||
}, {});
|
}, {});
|
||||||
|
|
||||||
const rpcKeys = Object
|
const rpcKeys = Object
|
||||||
.keys(definitions)
|
.keys(definitions)
|
||||||
.filter((key) => Object.keys(definitions[key as 'babe'].rpc || {}).length !== 0)
|
.filter((key) => Object.keys(definitions[key].rpc || {}).length !== 0)
|
||||||
.sort();
|
.sort();
|
||||||
const modules = rpcKeys.map((section) => {
|
|
||||||
const allMethods = Object.keys(definitions[section as 'babe'].rpc).sort().map((methodName) => {
|
const modules = rpcKeys.map((sectionFullName) => {
|
||||||
const def = definitions[section as 'babe'].rpc[methodName];
|
const rpc = definitions[sectionFullName].rpc;
|
||||||
|
const section = sectionFullName.split('/').pop();
|
||||||
|
|
||||||
|
const allMethods = Object.keys(rpc).sort().map((methodName) => {
|
||||||
|
const def = rpc[methodName];
|
||||||
|
|
||||||
let args;
|
let args;
|
||||||
let type;
|
let type;
|
||||||
@@ -69,7 +77,7 @@ export default function generateRpcTypes (dest = 'packages/api/src/augment/rpc.t
|
|||||||
return `${param.name}${param.isOptional ? '?' : ''}: ${similarTypes.join(' | ')}`;
|
return `${param.name}${param.isOptional ? '?' : ''}: ${similarTypes.join(' | ')}`;
|
||||||
});
|
});
|
||||||
|
|
||||||
type = def.type;
|
type = formatType(allDefs, def.type, imports);
|
||||||
generic = '';
|
generic = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,3 +113,10 @@ export default function generateRpcTypes (dest = 'packages/api/src/augment/rpc.t
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export default function generateDefaultRpcTypes (): void {
|
||||||
|
generateRpcTypes(
|
||||||
|
{ '@polkadot/types/interfaces': defaultDefinitions },
|
||||||
|
'packages/api/src/augment/rpc.ts'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import Vec from '@polkadot/types/codec/Vec';
|
|||||||
import Tuple from '@polkadot/types/codec/Tuple';
|
import Tuple from '@polkadot/types/codec/Tuple';
|
||||||
import { AllConvictions } from '@polkadot/types/interfaces/democracy/definitions';
|
import { AllConvictions } from '@polkadot/types/interfaces/democracy/definitions';
|
||||||
import GenericAccountId from '@polkadot/types/generic/AccountId';
|
import GenericAccountId from '@polkadot/types/generic/AccountId';
|
||||||
import GenericAddress from '@polkadot/types/generic/Address';
|
import GenericLookupSource from '@polkadot/types/generic/LookupSource';
|
||||||
import Vote from '@polkadot/types/generic/Vote';
|
import Vote from '@polkadot/types/generic/Vote';
|
||||||
import Null from '@polkadot/types/primitive/Null';
|
import Null from '@polkadot/types/primitive/Null';
|
||||||
import * as primitiveClasses from '@polkadot/types/primitive';
|
import * as primitiveClasses from '@polkadot/types/primitive';
|
||||||
@@ -92,18 +92,22 @@ export function getSimilarTypes (definitions: Record<string, ModuleTypes>, regis
|
|||||||
const Clazz = ClassOfUnsafe(registry, type);
|
const Clazz = ClassOfUnsafe(registry, type);
|
||||||
|
|
||||||
if (isChildClass(Vec, Clazz)) {
|
if (isChildClass(Vec, Clazz)) {
|
||||||
const subDef = (getTypeDef(type).sub) as TypeDef;
|
const vecDef = getTypeDef(type);
|
||||||
|
const subDef = (vecDef.sub) as TypeDef;
|
||||||
|
|
||||||
if (subDef.info === TypeDefInfo.Plain) {
|
// this could be that we define a Vec type and refer to it by name
|
||||||
possibleTypes.push(`(${getSimilarTypes(definitions, registry, subDef.type, imports).join(' | ')})[]`);
|
if (subDef) {
|
||||||
} else if (subDef.info === TypeDefInfo.Tuple) {
|
if (subDef.info === TypeDefInfo.Plain) {
|
||||||
const subs = (subDef.sub as TypeDef[]).map(({ type }): string =>
|
possibleTypes.push(`(${getSimilarTypes(definitions, registry, subDef.type, imports).join(' | ')})[]`);
|
||||||
getSimilarTypes(definitions, registry, type, imports).join(' | ')
|
} else if (subDef.info === TypeDefInfo.Tuple) {
|
||||||
);
|
const subs = (subDef.sub as TypeDef[]).map(({ type }): string =>
|
||||||
|
getSimilarTypes(definitions, registry, type, imports).join(' | ')
|
||||||
|
);
|
||||||
|
|
||||||
possibleTypes.push(`([${subs.join(', ')}])[]`);
|
possibleTypes.push(`([${subs.join(', ')}])[]`);
|
||||||
} else {
|
} else {
|
||||||
throw new Error(`Unhandled subtype in Vec, ${JSON.stringify(subDef)}`);
|
throw new Error(`Unhandled subtype in Vec, ${JSON.stringify(subDef)}`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (isChildClass(Enum, Clazz)) {
|
} else if (isChildClass(Enum, Clazz)) {
|
||||||
const e = new (Clazz as Constructor)(registry) as Enum;
|
const e = new (Clazz as Constructor)(registry) as Enum;
|
||||||
@@ -118,8 +122,8 @@ export function getSimilarTypes (definitions: Record<string, ModuleTypes>, regis
|
|||||||
possibleTypes.push('Uint8Array');
|
possibleTypes.push('Uint8Array');
|
||||||
} else if (isChildClass(AbstractInt as unknown as Constructor<UInt>, Clazz) || isChildClass(Compact, Clazz)) {
|
} else if (isChildClass(AbstractInt as unknown as Constructor<UInt>, Clazz) || isChildClass(Compact, Clazz)) {
|
||||||
possibleTypes.push('AnyNumber', 'Uint8Array');
|
possibleTypes.push('AnyNumber', 'Uint8Array');
|
||||||
} else if (isChildClass(GenericAddress, Clazz)) {
|
} else if (isChildClass(GenericLookupSource, Clazz)) {
|
||||||
possibleTypes.push('Address', 'AccountId', 'AccountIndex', 'string', 'Uint8Array');
|
possibleTypes.push('Address', 'AccountId', 'AccountIndex', 'LookupSource', 'string', 'Uint8Array');
|
||||||
} else if (isChildClass(GenericAccountId, Clazz)) {
|
} else if (isChildClass(GenericAccountId, Clazz)) {
|
||||||
possibleTypes.push('string', 'Uint8Array');
|
possibleTypes.push('string', 'Uint8Array');
|
||||||
} else if (isChildClass(registry.createClass('bool'), Clazz)) {
|
} else if (isChildClass(registry.createClass('bool'), Clazz)) {
|
||||||
@@ -141,8 +145,10 @@ export function getSimilarTypes (definitions: Record<string, ModuleTypes>, regis
|
|||||||
} else if (isChildClass(String, Clazz)) {
|
} else if (isChildClass(String, Clazz)) {
|
||||||
possibleTypes.push('string');
|
possibleTypes.push('string');
|
||||||
} else if (isChildClass(Tuple, Clazz)) {
|
} else if (isChildClass(Tuple, Clazz)) {
|
||||||
const subDef = getTypeDef(type).sub;
|
const tupDef = getTypeDef(type);
|
||||||
|
const subDef = tupDef.sub;
|
||||||
|
|
||||||
|
// this could be that we define a Tuple type and refer to it by name
|
||||||
if (Array.isArray(subDef)) {
|
if (Array.isArray(subDef)) {
|
||||||
const subs = subDef.map(({ type }) => getSimilarTypes(definitions, registry, type, imports).join(' | '));
|
const subs = subDef.map(({ type }) => getSimilarTypes(definitions, registry, type, imports).join(' | '));
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@polkadot/types-known",
|
"name": "@polkadot/types-known",
|
||||||
"version": "1.25.1",
|
"version": "1.30.1",
|
||||||
"description": "A JavaScript wrapper for the Polkadot JsonRPC interface",
|
"description": "A JavaScript wrapper for the Polkadot JsonRPC interface",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
@@ -26,10 +26,10 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/types-known#readme",
|
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/types-known#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.10.5",
|
"@babel/runtime": "^7.11.2",
|
||||||
"@polkadot/types": "1.25.1",
|
"@polkadot/types": "1.30.1",
|
||||||
"@polkadot/util": "^2.18.1",
|
"@polkadot/util": "^3.3.1",
|
||||||
"bn.js": "^5.1.2"
|
"bn.js": "^5.1.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/bn.js": "^4.11.6"
|
"@types/bn.js": "^4.11.6"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||||
|
|
||||||
import type BN from 'bn.js';
|
import type BN from 'bn.js';
|
||||||
import { Registry, RegistryTypes, OverrideModuleType, OverrideVersionedType } from '@polkadot/types/types';
|
import { DefinitionRpc, DefinitionRpcSub, Registry, RegistryTypes, OverrideModuleType, OverrideVersionedType } from '@polkadot/types/types';
|
||||||
|
|
||||||
import { Text } from '@polkadot/types';
|
import { Text } from '@polkadot/types';
|
||||||
import { bnToBn, isUndefined } from '@polkadot/util';
|
import { bnToBn, isUndefined } from '@polkadot/util';
|
||||||
@@ -58,7 +58,36 @@ export function getSpecTypes ({ knownTypes }: Registry, chainName: Text | string
|
|||||||
return {
|
return {
|
||||||
...filterVersions(typesSpec[_specName], _specVersion),
|
...filterVersions(typesSpec[_specName], _specVersion),
|
||||||
...filterVersions(typesChain[_chainName], _specVersion),
|
...filterVersions(typesChain[_chainName], _specVersion),
|
||||||
|
...filterVersions(knownTypes.typesBundle?.spec?.[_specName]?.types, _specVersion),
|
||||||
|
...filterVersions(knownTypes.typesBundle?.chain?.[_chainName]?.types, _specVersion),
|
||||||
...(knownTypes.typesSpec?.[_specName] || {}),
|
...(knownTypes.typesSpec?.[_specName] || {}),
|
||||||
...(knownTypes.typesChain?.[_chainName] || {})
|
...(knownTypes.typesChain?.[_chainName] || {})
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description Based on the chain and runtimeVersion, get the applicable rpc definitions (ready for registration)
|
||||||
|
*/
|
||||||
|
export function getSpecRpc ({ knownTypes }: Registry, chainName: Text | string, specName: Text | string): Record<string, Record<string, DefinitionRpc | DefinitionRpcSub>> {
|
||||||
|
const _chainName = chainName.toString();
|
||||||
|
const _specName = specName.toString();
|
||||||
|
|
||||||
|
return {
|
||||||
|
...(knownTypes.typesBundle?.spec?.[_specName]?.rpc || {}),
|
||||||
|
...(knownTypes.typesBundle?.chain?.[_chainName]?.rpc || {})
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description Based on the chain and runtimeVersion, get the applicable alias definitions (ready for registration)
|
||||||
|
*/
|
||||||
|
export function getSpecAlias ({ knownTypes }: Registry, chainName: Text | string, specName: Text | string): Record<string, OverrideModuleType> {
|
||||||
|
const _chainName = chainName.toString();
|
||||||
|
const _specName = specName.toString();
|
||||||
|
|
||||||
|
return {
|
||||||
|
...(knownTypes.typesAlias || {}),
|
||||||
|
...(knownTypes.typesBundle?.spec?.[_specName]?.alias || {}),
|
||||||
|
...(knownTypes.typesBundle?.chain?.[_chainName]?.alias || {})
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
@@ -29,6 +29,12 @@ const typesModules: Record<string, OverrideModuleType> = {
|
|||||||
parachains: {
|
parachains: {
|
||||||
Id: 'ParaId'
|
Id: 'ParaId'
|
||||||
},
|
},
|
||||||
|
proposeParachain: {
|
||||||
|
Proposal: 'ParachainProposal'
|
||||||
|
},
|
||||||
|
proxy: {
|
||||||
|
Announcement: 'ProxyAnnouncement'
|
||||||
|
},
|
||||||
society: {
|
society: {
|
||||||
Judgement: 'SocietyJudgement',
|
Judgement: 'SocietyJudgement',
|
||||||
Vote: 'SocietyVote'
|
Vote: 'SocietyVote'
|
||||||
|
|||||||
@@ -5,28 +5,46 @@
|
|||||||
import { OverrideVersionedType } from '@polkadot/types/types';
|
import { OverrideVersionedType } from '@polkadot/types/types';
|
||||||
|
|
||||||
const sharedTypes = {
|
const sharedTypes = {
|
||||||
Address: 'GenericAddress',
|
Address: 'LookupSource',
|
||||||
LookupSource: 'GenericAddress',
|
AnchorData: {
|
||||||
|
anchoredBlock: 'u64',
|
||||||
|
docRoot: 'H256',
|
||||||
|
id: 'H256'
|
||||||
|
},
|
||||||
|
Fee: {
|
||||||
|
key: 'Hash',
|
||||||
|
price: 'Balance'
|
||||||
|
},
|
||||||
|
MultiAccountData: {
|
||||||
|
deposit: 'Balance',
|
||||||
|
depositor: 'AccountId',
|
||||||
|
signatories: 'Vec<AccountId>',
|
||||||
|
threshold: 'u16'
|
||||||
|
},
|
||||||
Multiplier: 'Fixed64',
|
Multiplier: 'Fixed64',
|
||||||
|
PreCommitData: {
|
||||||
|
expirationBlock: 'u64',
|
||||||
|
identity: 'H256',
|
||||||
|
signingRoot: 'H256'
|
||||||
|
},
|
||||||
|
Proof: {
|
||||||
|
leafHash: 'H256',
|
||||||
|
sortedHashes: 'H256'
|
||||||
|
},
|
||||||
ReferendumInfo: 'ReferendumInfoTo239',
|
ReferendumInfo: 'ReferendumInfoTo239',
|
||||||
StakingLedger: 'StakingLedgerTo240',
|
StakingLedger: 'StakingLedgerTo240',
|
||||||
Weight: 'u32'
|
Weight: 'u32'
|
||||||
};
|
};
|
||||||
|
|
||||||
const versioned: OverrideVersionedType[] = [
|
const versioned: OverrideVersionedType[] = [
|
||||||
{
|
|
||||||
// most chains started at 1000 (Fulvous at 224)
|
|
||||||
minmax: [1, 228],
|
|
||||||
types: {
|
|
||||||
...sharedTypes,
|
|
||||||
Address: 'AccountId',
|
|
||||||
LookupSource: 'AccountId'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
minmax: [229, undefined],
|
minmax: [229, undefined],
|
||||||
types: {
|
types: {
|
||||||
...sharedTypes
|
...sharedTypes,
|
||||||
|
ChainId: 'u8',
|
||||||
|
DepositNonce: 'u64',
|
||||||
|
ResourceId: '[u8; 32]',
|
||||||
|
'chainbridge::ChainId': 'u8'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import { OverrideVersionedType } from '@polkadot/types/types';
|
|||||||
import centrifugeChain from './centrifuge-chain';
|
import centrifugeChain from './centrifuge-chain';
|
||||||
import kusama from './kusama';
|
import kusama from './kusama';
|
||||||
import polkadot from './polkadot';
|
import polkadot from './polkadot';
|
||||||
|
import rococo from './rococo';
|
||||||
import westend from './westend';
|
import westend from './westend';
|
||||||
|
|
||||||
// Type overrides for specific spec types & versions as given in runtimeVersion
|
// Type overrides for specific spec types & versions as given in runtimeVersion
|
||||||
@@ -14,6 +15,7 @@ const typesSpec: Record<string, OverrideVersionedType[]> = {
|
|||||||
'centrifuge-chain': centrifugeChain,
|
'centrifuge-chain': centrifugeChain,
|
||||||
kusama,
|
kusama,
|
||||||
polkadot,
|
polkadot,
|
||||||
|
rococo,
|
||||||
westend
|
westend
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -18,12 +18,12 @@ const versioned: OverrideVersionedType[] = [
|
|||||||
// 1020 is first CC3
|
// 1020 is first CC3
|
||||||
minmax: [1019, 1031],
|
minmax: [1019, 1031],
|
||||||
types: {
|
types: {
|
||||||
Address: 'GenericAddress',
|
Address: 'LookupSource',
|
||||||
BalanceLock: 'BalanceLockTo212',
|
BalanceLock: 'BalanceLockTo212',
|
||||||
|
CompactAssignments: 'CompactAssignmentsTo257',
|
||||||
DispatchError: 'DispatchErrorTo198',
|
DispatchError: 'DispatchErrorTo198',
|
||||||
DispatchInfo: 'DispatchInfoTo244',
|
DispatchInfo: 'DispatchInfoTo244',
|
||||||
Keys: 'SessionKeys5',
|
Keys: 'SessionKeys5',
|
||||||
LookupSource: 'Address',
|
|
||||||
Multiplier: 'Fixed64',
|
Multiplier: 'Fixed64',
|
||||||
OpenTip: 'OpenTipTo225',
|
OpenTip: 'OpenTipTo225',
|
||||||
ReferendumInfo: 'ReferendumInfoTo239',
|
ReferendumInfo: 'ReferendumInfoTo239',
|
||||||
@@ -36,11 +36,11 @@ const versioned: OverrideVersionedType[] = [
|
|||||||
{
|
{
|
||||||
minmax: [1032, 1042],
|
minmax: [1032, 1042],
|
||||||
types: {
|
types: {
|
||||||
Address: 'GenericAddress',
|
Address: 'LookupSource',
|
||||||
BalanceLock: 'BalanceLockTo212',
|
BalanceLock: 'BalanceLockTo212',
|
||||||
|
CompactAssignments: 'CompactAssignmentsTo257',
|
||||||
DispatchInfo: 'DispatchInfoTo244',
|
DispatchInfo: 'DispatchInfoTo244',
|
||||||
Keys: 'SessionKeys5',
|
Keys: 'SessionKeys5',
|
||||||
LookupSource: 'Address',
|
|
||||||
Multiplier: 'Fixed64',
|
Multiplier: 'Fixed64',
|
||||||
OpenTip: 'OpenTipTo225',
|
OpenTip: 'OpenTipTo225',
|
||||||
ReferendumInfo: 'ReferendumInfoTo239',
|
ReferendumInfo: 'ReferendumInfoTo239',
|
||||||
@@ -54,11 +54,11 @@ const versioned: OverrideVersionedType[] = [
|
|||||||
// actual at 1045 (1043-1044 is dev)
|
// actual at 1045 (1043-1044 is dev)
|
||||||
minmax: [1043, 1045],
|
minmax: [1043, 1045],
|
||||||
types: {
|
types: {
|
||||||
Address: 'GenericAddress',
|
Address: 'LookupSource',
|
||||||
BalanceLock: 'BalanceLockTo212',
|
BalanceLock: 'BalanceLockTo212',
|
||||||
|
CompactAssignments: 'CompactAssignmentsTo257',
|
||||||
DispatchInfo: 'DispatchInfoTo244',
|
DispatchInfo: 'DispatchInfoTo244',
|
||||||
Keys: 'SessionKeys5',
|
Keys: 'SessionKeys5',
|
||||||
LookupSource: 'Address',
|
|
||||||
Multiplier: 'Fixed64',
|
Multiplier: 'Fixed64',
|
||||||
OpenTip: 'OpenTipTo225',
|
OpenTip: 'OpenTipTo225',
|
||||||
ReferendumInfo: 'ReferendumInfoTo239',
|
ReferendumInfo: 'ReferendumInfoTo239',
|
||||||
@@ -72,6 +72,7 @@ const versioned: OverrideVersionedType[] = [
|
|||||||
types: {
|
types: {
|
||||||
// Indices optional, not in transaction
|
// Indices optional, not in transaction
|
||||||
...sharedTypes,
|
...sharedTypes,
|
||||||
|
CompactAssignments: 'CompactAssignmentsTo257',
|
||||||
DispatchInfo: 'DispatchInfoTo244',
|
DispatchInfo: 'DispatchInfoTo244',
|
||||||
Multiplier: 'Fixed64',
|
Multiplier: 'Fixed64',
|
||||||
OpenTip: 'OpenTipTo225',
|
OpenTip: 'OpenTipTo225',
|
||||||
@@ -84,6 +85,7 @@ const versioned: OverrideVersionedType[] = [
|
|||||||
minmax: [1055, 1056],
|
minmax: [1055, 1056],
|
||||||
types: {
|
types: {
|
||||||
...sharedTypes,
|
...sharedTypes,
|
||||||
|
CompactAssignments: 'CompactAssignmentsTo257',
|
||||||
DispatchInfo: 'DispatchInfoTo244',
|
DispatchInfo: 'DispatchInfoTo244',
|
||||||
Multiplier: 'Fixed64',
|
Multiplier: 'Fixed64',
|
||||||
OpenTip: 'OpenTipTo225',
|
OpenTip: 'OpenTipTo225',
|
||||||
@@ -95,6 +97,7 @@ const versioned: OverrideVersionedType[] = [
|
|||||||
minmax: [1057, 1061],
|
minmax: [1057, 1061],
|
||||||
types: {
|
types: {
|
||||||
...sharedTypes,
|
...sharedTypes,
|
||||||
|
CompactAssignments: 'CompactAssignmentsTo257',
|
||||||
DispatchInfo: 'DispatchInfoTo244',
|
DispatchInfo: 'DispatchInfoTo244',
|
||||||
OpenTip: 'OpenTipTo225'
|
OpenTip: 'OpenTipTo225'
|
||||||
}
|
}
|
||||||
@@ -103,13 +106,15 @@ const versioned: OverrideVersionedType[] = [
|
|||||||
minmax: [1062, 2012],
|
minmax: [1062, 2012],
|
||||||
types: {
|
types: {
|
||||||
...sharedTypes,
|
...sharedTypes,
|
||||||
|
CompactAssignments: 'CompactAssignmentsTo257',
|
||||||
OpenTip: 'OpenTipTo225'
|
OpenTip: 'OpenTipTo225'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
minmax: [2013, undefined],
|
minmax: [2013, undefined],
|
||||||
types: {
|
types: {
|
||||||
...sharedTypes
|
...sharedTypes,
|
||||||
|
CompactAssignments: 'CompactAssignmentsTo257'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -19,13 +19,15 @@ const versioned: OverrideVersionedType[] = [
|
|||||||
minmax: [0, 12],
|
minmax: [0, 12],
|
||||||
types: {
|
types: {
|
||||||
...sharedTypes,
|
...sharedTypes,
|
||||||
|
CompactAssignments: 'CompactAssignmentsTo257',
|
||||||
OpenTip: 'OpenTipTo225'
|
OpenTip: 'OpenTipTo225'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
minmax: [13, undefined],
|
minmax: [13, undefined],
|
||||||
types: {
|
types: {
|
||||||
...sharedTypes
|
...sharedTypes,
|
||||||
|
CompactAssignments: 'CompactAssignmentsTo257'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
// Copyright 2017-2020 @polkadot/types-known authors & contributors
|
||||||
|
// This software may be modified and distributed under the terms
|
||||||
|
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||||
|
|
||||||
|
import { OverrideVersionedType } from '@polkadot/types/types';
|
||||||
|
|
||||||
|
const sharedTypes = {
|
||||||
|
Address: 'AccountId',
|
||||||
|
Keys: 'SessionKeys5',
|
||||||
|
LookupSource: 'AccountId'
|
||||||
|
};
|
||||||
|
|
||||||
|
const versioned: OverrideVersionedType[] = [
|
||||||
|
{
|
||||||
|
minmax: [0, undefined],
|
||||||
|
types: {
|
||||||
|
...sharedTypes,
|
||||||
|
CompactAssignments: 'CompactAssignmentsTo257'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
export default versioned;
|
||||||
@@ -18,6 +18,7 @@ const versioned: OverrideVersionedType[] = [
|
|||||||
minmax: [1, 2],
|
minmax: [1, 2],
|
||||||
types: {
|
types: {
|
||||||
...sharedTypes,
|
...sharedTypes,
|
||||||
|
CompactAssignments: 'CompactAssignmentsTo257',
|
||||||
Multiplier: 'Fixed64',
|
Multiplier: 'Fixed64',
|
||||||
OpenTip: 'OpenTipTo225',
|
OpenTip: 'OpenTipTo225',
|
||||||
Weight: 'u32'
|
Weight: 'u32'
|
||||||
@@ -27,13 +28,15 @@ const versioned: OverrideVersionedType[] = [
|
|||||||
minmax: [3, 22],
|
minmax: [3, 22],
|
||||||
types: {
|
types: {
|
||||||
...sharedTypes,
|
...sharedTypes,
|
||||||
|
CompactAssignments: 'CompactAssignmentsTo257',
|
||||||
OpenTip: 'OpenTipTo225'
|
OpenTip: 'OpenTipTo225'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
minmax: [23, undefined],
|
minmax: [23, undefined],
|
||||||
types: {
|
types: {
|
||||||
...sharedTypes
|
...sharedTypes,
|
||||||
|
CompactAssignments: 'CompactAssignmentsTo257'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@polkadot/types",
|
"name": "@polkadot/types",
|
||||||
"version": "1.25.1",
|
"version": "1.30.1",
|
||||||
"description": "Implementation of the Parity codec",
|
"description": "Implementation of the Parity codec",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
@@ -26,17 +26,17 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/types#readme",
|
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/types#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.10.5",
|
"@babel/runtime": "^7.11.2",
|
||||||
"@polkadot/metadata": "1.25.1",
|
"@polkadot/metadata": "1.30.1",
|
||||||
"@polkadot/util": "^2.18.1",
|
"@polkadot/util": "^3.3.1",
|
||||||
"@polkadot/util-crypto": "^2.18.1",
|
"@polkadot/util-crypto": "^3.3.1",
|
||||||
"@types/bn.js": "^4.11.6",
|
"@types/bn.js": "^4.11.6",
|
||||||
"bn.js": "^5.1.2",
|
"bn.js": "^5.1.3",
|
||||||
"memoizee": "^0.4.14",
|
"memoizee": "^0.4.14",
|
||||||
"rxjs": "^6.6.0"
|
"rxjs": "^6.6.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@polkadot/keyring": "^2.18.1",
|
"@polkadot/keyring": "^3.3.1",
|
||||||
"@types/memoizee": "^0.4.4"
|
"@types/memoizee": "^0.4.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import { AliveContractInfo, CodeHash, ContractCallRequest, ContractExecResult, C
|
|||||||
import { AccountVote, AccountVoteSplit, AccountVoteStandard, Conviction, Delegations, PreimageStatus, PreimageStatusAvailable, PriorLock, PropIndex, Proposal, ProxyState, ReferendumIndex, ReferendumInfo, ReferendumInfoFinished, ReferendumInfoTo239, ReferendumStatus, Tally, Voting, VotingDelegating, VotingDirect, VotingDirectVote } from '@polkadot/types/interfaces/democracy';
|
import { AccountVote, AccountVoteSplit, AccountVoteStandard, Conviction, Delegations, PreimageStatus, PreimageStatusAvailable, PriorLock, PropIndex, Proposal, ProxyState, ReferendumIndex, ReferendumInfo, ReferendumInfoFinished, ReferendumInfoTo239, ReferendumStatus, Tally, Voting, VotingDelegating, VotingDirect, VotingDirectVote } from '@polkadot/types/interfaces/democracy';
|
||||||
import { ApprovalFlag, DefunctVoter, Renouncing, SetIndex, Vote, VoteIndex, VoteThreshold, VoterInfo } from '@polkadot/types/interfaces/elections';
|
import { ApprovalFlag, DefunctVoter, Renouncing, SetIndex, Vote, VoteIndex, VoteThreshold, VoterInfo } from '@polkadot/types/interfaces/elections';
|
||||||
import { CreatedBlock, ImportedAux } from '@polkadot/types/interfaces/engine';
|
import { CreatedBlock, ImportedAux } from '@polkadot/types/interfaces/engine';
|
||||||
|
import { EthereumAccountId, EthereumLookupSource } from '@polkadot/types/interfaces/ethereum';
|
||||||
import { Account, Log, Vicinity } from '@polkadot/types/interfaces/evm';
|
import { Account, Log, Vicinity } from '@polkadot/types/interfaces/evm';
|
||||||
import { EcdsaSignature, Ed25519Signature, Extrinsic, ExtrinsicEra, ExtrinsicPayload, ExtrinsicPayloadUnknown, ExtrinsicPayloadV1, ExtrinsicPayloadV2, ExtrinsicPayloadV3, ExtrinsicPayloadV4, ExtrinsicSignatureV1, ExtrinsicSignatureV2, ExtrinsicSignatureV3, ExtrinsicSignatureV4, ExtrinsicUnknown, ExtrinsicV1, ExtrinsicV2, ExtrinsicV3, ExtrinsicV4, ImmortalEra, MortalEra, MultiSignature, Signature, SignerPayload, Sr25519Signature } from '@polkadot/types/interfaces/extrinsics';
|
import { EcdsaSignature, Ed25519Signature, Extrinsic, ExtrinsicEra, ExtrinsicPayload, ExtrinsicPayloadUnknown, ExtrinsicPayloadV1, ExtrinsicPayloadV2, ExtrinsicPayloadV3, ExtrinsicPayloadV4, ExtrinsicSignatureV1, ExtrinsicSignatureV2, ExtrinsicSignatureV3, ExtrinsicSignatureV4, ExtrinsicUnknown, ExtrinsicV1, ExtrinsicV2, ExtrinsicV3, ExtrinsicV4, ImmortalEra, MortalEra, MultiSignature, Signature, SignerPayload, Sr25519Signature } from '@polkadot/types/interfaces/extrinsics';
|
||||||
import { AssetOptions, Owner, PermissionLatest, PermissionVersions, PermissionsV1 } from '@polkadot/types/interfaces/genericAsset';
|
import { AssetOptions, Owner, PermissionLatest, PermissionVersions, PermissionsV1 } from '@polkadot/types/interfaces/genericAsset';
|
||||||
@@ -27,23 +28,24 @@ import { AuthIndex, AuthoritySignature, Heartbeat, HeartbeatTo244, OpaqueMultiad
|
|||||||
import { CallMetadataV0, DoubleMapTypeLatest, DoubleMapTypeV10, DoubleMapTypeV11, DoubleMapTypeV3, DoubleMapTypeV4, DoubleMapTypeV5, DoubleMapTypeV6, DoubleMapTypeV7, DoubleMapTypeV8, DoubleMapTypeV9, ErrorMetadataV10, ErrorMetadataV11, ErrorMetadataV8, ErrorMetadataV9, EventMetadataLatest, EventMetadataV0, EventMetadataV1, EventMetadataV10, EventMetadataV11, EventMetadataV2, EventMetadataV3, EventMetadataV4, EventMetadataV5, EventMetadataV6, EventMetadataV7, EventMetadataV8, EventMetadataV9, ExtrinsicMetadataLatest, ExtrinsicMetadataV11, FunctionArgumentMetadataLatest, FunctionArgumentMetadataV0, FunctionArgumentMetadataV1, FunctionArgumentMetadataV10, FunctionArgumentMetadataV11, FunctionArgumentMetadataV2, FunctionArgumentMetadataV3, FunctionArgumentMetadataV4, FunctionArgumentMetadataV5, FunctionArgumentMetadataV6, FunctionArgumentMetadataV7, FunctionArgumentMetadataV8, FunctionArgumentMetadataV9, FunctionMetadataLatest, FunctionMetadataV0, FunctionMetadataV1, FunctionMetadataV10, FunctionMetadataV11, FunctionMetadataV2, FunctionMetadataV3, FunctionMetadataV4, FunctionMetadataV5, FunctionMetadataV6, FunctionMetadataV7, FunctionMetadataV8, FunctionMetadataV9, MapTypeLatest, MapTypeV0, MapTypeV10, MapTypeV11, MapTypeV2, MapTypeV3, MapTypeV4, MapTypeV5, MapTypeV6, MapTypeV7, MapTypeV8, MapTypeV9, MetadataAll, MetadataLatest, MetadataV0, MetadataV1, MetadataV10, MetadataV11, MetadataV2, MetadataV3, MetadataV4, MetadataV5, MetadataV6, MetadataV7, MetadataV8, MetadataV9, ModuleConstantMetadataLatest, ModuleConstantMetadataV10, ModuleConstantMetadataV11, ModuleConstantMetadataV6, ModuleConstantMetadataV7, ModuleConstantMetadataV8, ModuleConstantMetadataV9, ModuleMetadataLatest, ModuleMetadataV0, ModuleMetadataV1, ModuleMetadataV10, ModuleMetadataV11, ModuleMetadataV2, ModuleMetadataV3, ModuleMetadataV4, ModuleMetadataV5, ModuleMetadataV6, ModuleMetadataV7, ModuleMetadataV8, ModuleMetadataV9, OuterDispatchCallV0, OuterDispatchMetadataV0, OuterEventEventMetadataEventsV0, OuterEventEventMetadataV0, OuterEventMetadataV0, PlainTypeLatest, PlainTypeV0, PlainTypeV10, PlainTypeV11, PlainTypeV2, PlainTypeV3, PlainTypeV4, PlainTypeV5, PlainTypeV6, PlainTypeV7, PlainTypeV8, PlainTypeV9, RuntimeModuleMetadataV0, StorageEntryMetadataLatest, StorageEntryMetadataV10, StorageEntryMetadataV11, StorageEntryMetadataV6, StorageEntryMetadataV7, StorageEntryMetadataV8, StorageEntryMetadataV9, StorageEntryModifierLatest, StorageEntryModifierV10, StorageEntryModifierV11, StorageEntryModifierV6, StorageEntryModifierV7, StorageEntryModifierV8, StorageEntryModifierV9, StorageEntryTypeLatest, StorageEntryTypeV10, StorageEntryTypeV11, StorageEntryTypeV6, StorageEntryTypeV7, StorageEntryTypeV8, StorageEntryTypeV9, StorageFunctionMetadataV0, StorageFunctionMetadataV1, StorageFunctionMetadataV2, StorageFunctionMetadataV3, StorageFunctionMetadataV4, StorageFunctionMetadataV5, StorageFunctionModifierV0, StorageFunctionModifierV1, StorageFunctionModifierV2, StorageFunctionModifierV3, StorageFunctionModifierV4, StorageFunctionModifierV5, StorageFunctionTypeV0, StorageFunctionTypeV1, StorageFunctionTypeV2, StorageFunctionTypeV3, StorageFunctionTypeV4, StorageFunctionTypeV5, StorageHasher, StorageHasherV10, StorageHasherV11, StorageHasherV4, StorageHasherV5, StorageHasherV6, StorageHasherV7, StorageHasherV8, StorageHasherV9, StorageMetadataLatest, StorageMetadataV0, StorageMetadataV10, StorageMetadataV11, StorageMetadataV7, StorageMetadataV8, StorageMetadataV9 } from '@polkadot/types/interfaces/metadata';
|
import { CallMetadataV0, DoubleMapTypeLatest, DoubleMapTypeV10, DoubleMapTypeV11, DoubleMapTypeV3, DoubleMapTypeV4, DoubleMapTypeV5, DoubleMapTypeV6, DoubleMapTypeV7, DoubleMapTypeV8, DoubleMapTypeV9, ErrorMetadataV10, ErrorMetadataV11, ErrorMetadataV8, ErrorMetadataV9, EventMetadataLatest, EventMetadataV0, EventMetadataV1, EventMetadataV10, EventMetadataV11, EventMetadataV2, EventMetadataV3, EventMetadataV4, EventMetadataV5, EventMetadataV6, EventMetadataV7, EventMetadataV8, EventMetadataV9, ExtrinsicMetadataLatest, ExtrinsicMetadataV11, FunctionArgumentMetadataLatest, FunctionArgumentMetadataV0, FunctionArgumentMetadataV1, FunctionArgumentMetadataV10, FunctionArgumentMetadataV11, FunctionArgumentMetadataV2, FunctionArgumentMetadataV3, FunctionArgumentMetadataV4, FunctionArgumentMetadataV5, FunctionArgumentMetadataV6, FunctionArgumentMetadataV7, FunctionArgumentMetadataV8, FunctionArgumentMetadataV9, FunctionMetadataLatest, FunctionMetadataV0, FunctionMetadataV1, FunctionMetadataV10, FunctionMetadataV11, FunctionMetadataV2, FunctionMetadataV3, FunctionMetadataV4, FunctionMetadataV5, FunctionMetadataV6, FunctionMetadataV7, FunctionMetadataV8, FunctionMetadataV9, MapTypeLatest, MapTypeV0, MapTypeV10, MapTypeV11, MapTypeV2, MapTypeV3, MapTypeV4, MapTypeV5, MapTypeV6, MapTypeV7, MapTypeV8, MapTypeV9, MetadataAll, MetadataLatest, MetadataV0, MetadataV1, MetadataV10, MetadataV11, MetadataV2, MetadataV3, MetadataV4, MetadataV5, MetadataV6, MetadataV7, MetadataV8, MetadataV9, ModuleConstantMetadataLatest, ModuleConstantMetadataV10, ModuleConstantMetadataV11, ModuleConstantMetadataV6, ModuleConstantMetadataV7, ModuleConstantMetadataV8, ModuleConstantMetadataV9, ModuleMetadataLatest, ModuleMetadataV0, ModuleMetadataV1, ModuleMetadataV10, ModuleMetadataV11, ModuleMetadataV2, ModuleMetadataV3, ModuleMetadataV4, ModuleMetadataV5, ModuleMetadataV6, ModuleMetadataV7, ModuleMetadataV8, ModuleMetadataV9, OuterDispatchCallV0, OuterDispatchMetadataV0, OuterEventEventMetadataEventsV0, OuterEventEventMetadataV0, OuterEventMetadataV0, PlainTypeLatest, PlainTypeV0, PlainTypeV10, PlainTypeV11, PlainTypeV2, PlainTypeV3, PlainTypeV4, PlainTypeV5, PlainTypeV6, PlainTypeV7, PlainTypeV8, PlainTypeV9, RuntimeModuleMetadataV0, StorageEntryMetadataLatest, StorageEntryMetadataV10, StorageEntryMetadataV11, StorageEntryMetadataV6, StorageEntryMetadataV7, StorageEntryMetadataV8, StorageEntryMetadataV9, StorageEntryModifierLatest, StorageEntryModifierV10, StorageEntryModifierV11, StorageEntryModifierV6, StorageEntryModifierV7, StorageEntryModifierV8, StorageEntryModifierV9, StorageEntryTypeLatest, StorageEntryTypeV10, StorageEntryTypeV11, StorageEntryTypeV6, StorageEntryTypeV7, StorageEntryTypeV8, StorageEntryTypeV9, StorageFunctionMetadataV0, StorageFunctionMetadataV1, StorageFunctionMetadataV2, StorageFunctionMetadataV3, StorageFunctionMetadataV4, StorageFunctionMetadataV5, StorageFunctionModifierV0, StorageFunctionModifierV1, StorageFunctionModifierV2, StorageFunctionModifierV3, StorageFunctionModifierV4, StorageFunctionModifierV5, StorageFunctionTypeV0, StorageFunctionTypeV1, StorageFunctionTypeV2, StorageFunctionTypeV3, StorageFunctionTypeV4, StorageFunctionTypeV5, StorageHasher, StorageHasherV10, StorageHasherV11, StorageHasherV4, StorageHasherV5, StorageHasherV6, StorageHasherV7, StorageHasherV8, StorageHasherV9, StorageMetadataLatest, StorageMetadataV0, StorageMetadataV10, StorageMetadataV11, StorageMetadataV7, StorageMetadataV8, StorageMetadataV9 } from '@polkadot/types/interfaces/metadata';
|
||||||
import { StorageKind } from '@polkadot/types/interfaces/offchain';
|
import { StorageKind } from '@polkadot/types/interfaces/offchain';
|
||||||
import { DeferredOffenceOf, Kind, OffenceDetails, Offender, OpaqueTimeSlot, ReportIdOf, Reporter } from '@polkadot/types/interfaces/offences';
|
import { DeferredOffenceOf, Kind, OffenceDetails, Offender, OpaqueTimeSlot, ReportIdOf, Reporter } from '@polkadot/types/interfaces/offences';
|
||||||
import { AbridgedCandidateReceipt, AttestedCandidate, AuctionIndex, Bidder, CandidateCommitments, CandidateReceipt, CollatorId, CollatorSignature, DoubleVoteReport, DownwardMessage, GlobalValidationSchedule, HeadData, IncomingParachain, IncomingParachainDeploy, IncomingParachainFixed, LeasePeriod, LeasePeriodOf, LocalValidationData, NewBidder, ParaId, ParaInfo, ParaPastCodeMeta, ParaScheduling, ParachainDispatchOrigin, Remark, Retriable, Scheduling, SigningContext, SlotRange, Statement, SubId, UpwardMessage, ValidationCode, ValidatorSignature, ValidityAttestation, WinningData, WinningDataEntry } from '@polkadot/types/interfaces/parachains';
|
import { AbridgedCandidateReceipt, AttestedCandidate, AuctionIndex, Bidder, CandidateCommitments, CandidateReceipt, CollatorId, CollatorSignature, DoubleVoteReport, DownwardMessage, GlobalValidationSchedule, HeadData, IncomingParachain, IncomingParachainDeploy, IncomingParachainFixed, LeasePeriod, LeasePeriodOf, LocalValidationData, NewBidder, ParaId, ParaInfo, ParaPastCodeMeta, ParaScheduling, ParachainDispatchOrigin, ParachainProposal, RegisteredParachainInfo, RelayChainBlockNumber, Remark, Retriable, Scheduling, SigningContext, SlotRange, Statement, SubId, UpwardMessage, ValidationCode, ValidationFunctionParams, ValidatorSignature, ValidityAttestation, WinningData, WinningDataEntry } from '@polkadot/types/interfaces/parachains';
|
||||||
import { RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment';
|
import { RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment';
|
||||||
import { Approvals } from '@polkadot/types/interfaces/poll';
|
import { Approvals } from '@polkadot/types/interfaces/poll';
|
||||||
|
import { ProxyAnnouncement, ProxyDefinition, ProxyType } from '@polkadot/types/interfaces/proxy';
|
||||||
import { AccountStatus, AccountValidity } from '@polkadot/types/interfaces/purchase';
|
import { AccountStatus, AccountValidity } from '@polkadot/types/interfaces/purchase';
|
||||||
import { ActiveRecovery, RecoveryConfig } from '@polkadot/types/interfaces/recovery';
|
import { ActiveRecovery, RecoveryConfig } from '@polkadot/types/interfaces/recovery';
|
||||||
import { RpcMethods } from '@polkadot/types/interfaces/rpc';
|
import { RpcMethods } from '@polkadot/types/interfaces/rpc';
|
||||||
import { AccountId, AccountIdOf, AccountIndex, Address, AssetId, Balance, BalanceOf, Block, BlockNumber, Call, ChangesTrieConfiguration, Consensus, ConsensusEngineId, Digest, DigestItem, ExtrinsicsWeight, Fixed128, Fixed64, H160, H256, H512, Hash, Header, Index, Justification, KeyTypeId, KeyValue, LockIdentifier, LookupSource, LookupTarget, ModuleId, Moment, OpaqueCall, Origin, Pays, Perbill, Percent, Permill, Perquintill, Phantom, PhantomData, PreRuntime, ProxyType, Releases, RuntimeDbWeight, Seal, SealV0, SignedBlock, StorageData, ValidatorId, Weight, WeightMultiplier } from '@polkadot/types/interfaces/runtime';
|
import { AccountId, AccountIdOf, AccountIndex, Address, AssetId, Balance, BalanceOf, Block, BlockNumber, Call, CallHash, CallHashOf, ChangesTrieConfiguration, Consensus, ConsensusEngineId, Digest, DigestItem, ExtrinsicsWeight, Fixed128, Fixed64, FixedI128, FixedI64, FixedU128, FixedU64, GenericAddress, H160, H256, H512, Hash, Header, I32F32, Index, Justification, KeyTypeId, KeyValue, LockIdentifier, LookupSource, LookupTarget, ModuleId, Moment, OpaqueCall, Origin, Pays, PerU16, Perbill, Percent, Permill, Perquintill, Phantom, PhantomData, PreRuntime, Releases, RuntimeDbWeight, Seal, SealV0, SignedBlock, StorageData, U32F32, ValidatorId, Weight, WeightMultiplier } from '@polkadot/types/interfaces/runtime';
|
||||||
import { Period, Priority, SchedulePeriod, SchedulePriority, Scheduled, TaskAddress } from '@polkadot/types/interfaces/scheduler';
|
import { Period, Priority, SchedulePeriod, SchedulePriority, Scheduled, TaskAddress } from '@polkadot/types/interfaces/scheduler';
|
||||||
import { FullIdentification, IdentificationTuple, Keys, MembershipProof, SessionIndex, SessionKeys1, SessionKeys2, SessionKeys3, SessionKeys4, SessionKeys5, SessionKeys6, ValidatorCount } from '@polkadot/types/interfaces/session';
|
import { FullIdentification, IdentificationTuple, Keys, MembershipProof, SessionIndex, SessionKeys1, SessionKeys2, SessionKeys3, SessionKeys4, SessionKeys5, SessionKeys6, ValidatorCount } from '@polkadot/types/interfaces/session';
|
||||||
import { Bid, BidKind, SocietyJudgement, SocietyVote, StrikeCount, VouchingStatus } from '@polkadot/types/interfaces/society';
|
import { Bid, BidKind, SocietyJudgement, SocietyVote, StrikeCount, VouchingStatus } from '@polkadot/types/interfaces/society';
|
||||||
import { ActiveEraInfo, CompactAssignments, CompactScore, ElectionCompute, ElectionResult, ElectionScore, ElectionSize, ElectionStatus, EraIndex, EraPoints, EraRewardPoints, EraRewards, Exposure, Forcing, IndividualExposure, KeyType, MomentOf, Nominations, NominatorIndex, OffchainAccuracy, PerU16, PhragmenScore, Points, RewardDestination, RewardPoint, SlashJournalEntry, SlashingSpans, SlashingSpansTo204, SpanIndex, SpanRecord, StakingLedger, StakingLedgerTo223, StakingLedgerTo240, UnappliedSlash, UnappliedSlashOther, UnlockChunk, ValidatorIndex, ValidatorPrefs, ValidatorPrefsTo145, ValidatorPrefsTo196 } from '@polkadot/types/interfaces/staking';
|
import { ActiveEraInfo, CompactAssignments, CompactAssignmentsTo257, CompactScore, CompactScoreCompact, ElectionCompute, ElectionResult, ElectionScore, ElectionSize, ElectionStatus, EraIndex, EraPoints, EraRewardPoints, EraRewards, Exposure, Forcing, IndividualExposure, KeyType, MomentOf, Nominations, NominatorIndex, NominatorIndexCompact, OffchainAccuracy, OffchainAccuracyCompact, PhragmenScore, Points, RewardDestination, RewardPoint, SlashJournalEntry, SlashingSpans, SlashingSpansTo204, SpanIndex, SpanRecord, StakingLedger, StakingLedgerTo223, StakingLedgerTo240, UnappliedSlash, UnappliedSlashOther, UnlockChunk, ValidatorIndex, ValidatorIndexCompact, ValidatorPrefs, ValidatorPrefsTo145, ValidatorPrefsTo196 } from '@polkadot/types/interfaces/staking';
|
||||||
import { ApiId, KeyValueOption, ReadProof, RuntimeVersion, RuntimeVersionApi, StorageChangeSet } from '@polkadot/types/interfaces/state';
|
import { ApiId, KeyValueOption, ReadProof, RuntimeVersion, RuntimeVersionApi, StorageChangeSet } from '@polkadot/types/interfaces/state';
|
||||||
import { WeightToFeeCoefficient } from '@polkadot/types/interfaces/support';
|
import { WeightToFeeCoefficient } from '@polkadot/types/interfaces/support';
|
||||||
import { AccountInfo, ApplyExtrinsicResult, ChainProperties, ChainType, DigestOf, DispatchClass, DispatchError, DispatchErrorModule, DispatchErrorTo198, DispatchInfo, DispatchInfoTo190, DispatchInfoTo244, DispatchOutcome, DispatchResult, DispatchResultOf, DispatchResultTo198, Event, EventId, EventIndex, EventRecord, EventRecordTo76, Health, InvalidTransaction, Key, LastRuntimeUpgradeInfo, NetworkState, NetworkStatePeerset, NetworkStatePeersetInfo, NodeRole, NotConnectedPeer, Peer, PeerEndpoint, PeerEndpointAddr, PeerInfo, PeerPing, Phase, RefCount, TransactionValidityError, UnknownTransaction } from '@polkadot/types/interfaces/system';
|
import { AccountInfo, ApplyExtrinsicResult, ChainProperties, ChainType, DigestOf, DispatchClass, DispatchError, DispatchErrorModule, DispatchErrorTo198, DispatchInfo, DispatchInfoTo190, DispatchInfoTo244, DispatchOutcome, DispatchResult, DispatchResultOf, DispatchResultTo198, Event, EventId, EventIndex, EventRecord, EventRecordTo76, Health, InvalidTransaction, Key, LastRuntimeUpgradeInfo, NetworkState, NetworkStatePeerset, NetworkStatePeersetInfo, NodeRole, NotConnectedPeer, Peer, PeerEndpoint, PeerEndpointAddr, PeerInfo, PeerPing, Phase, RefCount, TransactionValidityError, UnknownTransaction } from '@polkadot/types/interfaces/system';
|
||||||
import { OpenTip, OpenTipFinderTo225, OpenTipTip, OpenTipTo225, TreasuryProposal } from '@polkadot/types/interfaces/treasury';
|
import { OpenTip, OpenTipFinderTo225, OpenTipTip, OpenTipTo225, TreasuryProposal } from '@polkadot/types/interfaces/treasury';
|
||||||
import { Multiplier } from '@polkadot/types/interfaces/txpayment';
|
import { Multiplier } from '@polkadot/types/interfaces/txpayment';
|
||||||
import { CallHash, Multisig, Timepoint } from '@polkadot/types/interfaces/utility';
|
import { Multisig, Timepoint } from '@polkadot/types/interfaces/utility';
|
||||||
import { VestingInfo } from '@polkadot/types/interfaces/vesting';
|
import { VestingInfo } from '@polkadot/types/interfaces/vesting';
|
||||||
|
|
||||||
declare module '@polkadot/types/types/registry' {
|
declare module '@polkadot/types/types/registry' {
|
||||||
@@ -128,6 +130,50 @@ declare module '@polkadot/types/types/registry' {
|
|||||||
Raw: Raw;
|
Raw: Raw;
|
||||||
'Option<Raw>': Option<Raw>;
|
'Option<Raw>': Option<Raw>;
|
||||||
'Vec<Raw>': Vec<Raw>;
|
'Vec<Raw>': Vec<Raw>;
|
||||||
|
Fixed64: Fixed64;
|
||||||
|
'Option<Fixed64>': Option<Fixed64>;
|
||||||
|
'Vec<Fixed64>': Vec<Fixed64>;
|
||||||
|
FixedI64: FixedI64;
|
||||||
|
'Option<FixedI64>': Option<FixedI64>;
|
||||||
|
'Vec<FixedI64>': Vec<FixedI64>;
|
||||||
|
FixedU64: FixedU64;
|
||||||
|
'Option<FixedU64>': Option<FixedU64>;
|
||||||
|
'Vec<FixedU64>': Vec<FixedU64>;
|
||||||
|
Fixed128: Fixed128;
|
||||||
|
'Option<Fixed128>': Option<Fixed128>;
|
||||||
|
'Vec<Fixed128>': Vec<Fixed128>;
|
||||||
|
FixedI128: FixedI128;
|
||||||
|
'Option<FixedI128>': Option<FixedI128>;
|
||||||
|
'Vec<FixedI128>': Vec<FixedI128>;
|
||||||
|
FixedU128: FixedU128;
|
||||||
|
'Option<FixedU128>': Option<FixedU128>;
|
||||||
|
'Vec<FixedU128>': Vec<FixedU128>;
|
||||||
|
I32F32: I32F32;
|
||||||
|
'Option<I32F32>': Option<I32F32>;
|
||||||
|
'Vec<I32F32>': Vec<I32F32>;
|
||||||
|
U32F32: U32F32;
|
||||||
|
'Option<U32F32>': Option<U32F32>;
|
||||||
|
'Vec<U32F32>': Vec<U32F32>;
|
||||||
|
PerU16: PerU16;
|
||||||
|
'Compact<PerU16>': Compact<PerU16>;
|
||||||
|
'Option<PerU16>': Option<PerU16>;
|
||||||
|
'Vec<PerU16>': Vec<PerU16>;
|
||||||
|
Perbill: Perbill;
|
||||||
|
'Compact<Perbill>': Compact<Perbill>;
|
||||||
|
'Option<Perbill>': Option<Perbill>;
|
||||||
|
'Vec<Perbill>': Vec<Perbill>;
|
||||||
|
Percent: Percent;
|
||||||
|
'Compact<Percent>': Compact<Percent>;
|
||||||
|
'Option<Percent>': Option<Percent>;
|
||||||
|
'Vec<Percent>': Vec<Percent>;
|
||||||
|
Permill: Permill;
|
||||||
|
'Compact<Permill>': Compact<Permill>;
|
||||||
|
'Option<Permill>': Option<Permill>;
|
||||||
|
'Vec<Permill>': Vec<Permill>;
|
||||||
|
Perquintill: Perquintill;
|
||||||
|
'Compact<Perquintill>': Compact<Perquintill>;
|
||||||
|
'Option<Perquintill>': Option<Perquintill>;
|
||||||
|
'Vec<Perquintill>': Vec<Perquintill>;
|
||||||
AccountId: AccountId;
|
AccountId: AccountId;
|
||||||
'Option<AccountId>': Option<AccountId>;
|
'Option<AccountId>': Option<AccountId>;
|
||||||
'Vec<AccountId>': Vec<AccountId>;
|
'Vec<AccountId>': Vec<AccountId>;
|
||||||
@@ -161,6 +207,12 @@ declare module '@polkadot/types/types/registry' {
|
|||||||
Call: Call;
|
Call: Call;
|
||||||
'Option<Call>': Option<Call>;
|
'Option<Call>': Option<Call>;
|
||||||
'Vec<Call>': Vec<Call>;
|
'Vec<Call>': Vec<Call>;
|
||||||
|
CallHash: CallHash;
|
||||||
|
'Option<CallHash>': Option<CallHash>;
|
||||||
|
'Vec<CallHash>': Vec<CallHash>;
|
||||||
|
CallHashOf: CallHashOf;
|
||||||
|
'Option<CallHashOf>': Option<CallHashOf>;
|
||||||
|
'Vec<CallHashOf>': Vec<CallHashOf>;
|
||||||
ChangesTrieConfiguration: ChangesTrieConfiguration;
|
ChangesTrieConfiguration: ChangesTrieConfiguration;
|
||||||
'Option<ChangesTrieConfiguration>': Option<ChangesTrieConfiguration>;
|
'Option<ChangesTrieConfiguration>': Option<ChangesTrieConfiguration>;
|
||||||
'Vec<ChangesTrieConfiguration>': Vec<ChangesTrieConfiguration>;
|
'Vec<ChangesTrieConfiguration>': Vec<ChangesTrieConfiguration>;
|
||||||
@@ -176,12 +228,9 @@ declare module '@polkadot/types/types/registry' {
|
|||||||
ExtrinsicsWeight: ExtrinsicsWeight;
|
ExtrinsicsWeight: ExtrinsicsWeight;
|
||||||
'Option<ExtrinsicsWeight>': Option<ExtrinsicsWeight>;
|
'Option<ExtrinsicsWeight>': Option<ExtrinsicsWeight>;
|
||||||
'Vec<ExtrinsicsWeight>': Vec<ExtrinsicsWeight>;
|
'Vec<ExtrinsicsWeight>': Vec<ExtrinsicsWeight>;
|
||||||
Fixed64: Fixed64;
|
GenericAddress: GenericAddress;
|
||||||
'Option<Fixed64>': Option<Fixed64>;
|
'Option<GenericAddress>': Option<GenericAddress>;
|
||||||
'Vec<Fixed64>': Vec<Fixed64>;
|
'Vec<GenericAddress>': Vec<GenericAddress>;
|
||||||
Fixed128: Fixed128;
|
|
||||||
'Option<Fixed128>': Option<Fixed128>;
|
|
||||||
'Vec<Fixed128>': Vec<Fixed128>;
|
|
||||||
H160: H160;
|
H160: H160;
|
||||||
'Option<H160>': Option<H160>;
|
'Option<H160>': Option<H160>;
|
||||||
'Vec<H160>': Vec<H160>;
|
'Vec<H160>': Vec<H160>;
|
||||||
@@ -236,31 +285,12 @@ declare module '@polkadot/types/types/registry' {
|
|||||||
Pays: Pays;
|
Pays: Pays;
|
||||||
'Option<Pays>': Option<Pays>;
|
'Option<Pays>': Option<Pays>;
|
||||||
'Vec<Pays>': Vec<Pays>;
|
'Vec<Pays>': Vec<Pays>;
|
||||||
Perbill: Perbill;
|
|
||||||
'Compact<Perbill>': Compact<Perbill>;
|
|
||||||
'Option<Perbill>': Option<Perbill>;
|
|
||||||
'Vec<Perbill>': Vec<Perbill>;
|
|
||||||
Percent: Percent;
|
|
||||||
'Compact<Percent>': Compact<Percent>;
|
|
||||||
'Option<Percent>': Option<Percent>;
|
|
||||||
'Vec<Percent>': Vec<Percent>;
|
|
||||||
Permill: Permill;
|
|
||||||
'Compact<Permill>': Compact<Permill>;
|
|
||||||
'Option<Permill>': Option<Permill>;
|
|
||||||
'Vec<Permill>': Vec<Permill>;
|
|
||||||
Perquintill: Perquintill;
|
|
||||||
'Compact<Perquintill>': Compact<Perquintill>;
|
|
||||||
'Option<Perquintill>': Option<Perquintill>;
|
|
||||||
'Vec<Perquintill>': Vec<Perquintill>;
|
|
||||||
Phantom: Phantom;
|
Phantom: Phantom;
|
||||||
'Option<Phantom>': Option<Phantom>;
|
'Option<Phantom>': Option<Phantom>;
|
||||||
'Vec<Phantom>': Vec<Phantom>;
|
'Vec<Phantom>': Vec<Phantom>;
|
||||||
PhantomData: PhantomData;
|
PhantomData: PhantomData;
|
||||||
'Option<PhantomData>': Option<PhantomData>;
|
'Option<PhantomData>': Option<PhantomData>;
|
||||||
'Vec<PhantomData>': Vec<PhantomData>;
|
'Vec<PhantomData>': Vec<PhantomData>;
|
||||||
ProxyType: ProxyType;
|
|
||||||
'Option<ProxyType>': Option<ProxyType>;
|
|
||||||
'Vec<ProxyType>': Vec<ProxyType>;
|
|
||||||
Releases: Releases;
|
Releases: Releases;
|
||||||
'Option<Releases>': Option<Releases>;
|
'Option<Releases>': Option<Releases>;
|
||||||
'Vec<Releases>': Vec<Releases>;
|
'Vec<Releases>': Vec<Releases>;
|
||||||
@@ -789,6 +819,15 @@ declare module '@polkadot/types/types/registry' {
|
|||||||
Reporter: Reporter;
|
Reporter: Reporter;
|
||||||
'Option<Reporter>': Option<Reporter>;
|
'Option<Reporter>': Option<Reporter>;
|
||||||
'Vec<Reporter>': Vec<Reporter>;
|
'Vec<Reporter>': Vec<Reporter>;
|
||||||
|
ProxyDefinition: ProxyDefinition;
|
||||||
|
'Option<ProxyDefinition>': Option<ProxyDefinition>;
|
||||||
|
'Vec<ProxyDefinition>': Vec<ProxyDefinition>;
|
||||||
|
ProxyType: ProxyType;
|
||||||
|
'Option<ProxyType>': Option<ProxyType>;
|
||||||
|
'Vec<ProxyType>': Vec<ProxyType>;
|
||||||
|
ProxyAnnouncement: ProxyAnnouncement;
|
||||||
|
'Option<ProxyAnnouncement>': Option<ProxyAnnouncement>;
|
||||||
|
'Vec<ProxyAnnouncement>': Vec<ProxyAnnouncement>;
|
||||||
ActiveRecovery: ActiveRecovery;
|
ActiveRecovery: ActiveRecovery;
|
||||||
'Option<ActiveRecovery>': Option<ActiveRecovery>;
|
'Option<ActiveRecovery>': Option<ActiveRecovery>;
|
||||||
'Vec<ActiveRecovery>': Vec<ActiveRecovery>;
|
'Vec<ActiveRecovery>': Vec<ActiveRecovery>;
|
||||||
@@ -884,9 +923,15 @@ declare module '@polkadot/types/types/registry' {
|
|||||||
CompactAssignments: CompactAssignments;
|
CompactAssignments: CompactAssignments;
|
||||||
'Option<CompactAssignments>': Option<CompactAssignments>;
|
'Option<CompactAssignments>': Option<CompactAssignments>;
|
||||||
'Vec<CompactAssignments>': Vec<CompactAssignments>;
|
'Vec<CompactAssignments>': Vec<CompactAssignments>;
|
||||||
|
CompactAssignmentsTo257: CompactAssignmentsTo257;
|
||||||
|
'Option<CompactAssignmentsTo257>': Option<CompactAssignmentsTo257>;
|
||||||
|
'Vec<CompactAssignmentsTo257>': Vec<CompactAssignmentsTo257>;
|
||||||
CompactScore: CompactScore;
|
CompactScore: CompactScore;
|
||||||
'Option<CompactScore>': Option<CompactScore>;
|
'Option<CompactScore>': Option<CompactScore>;
|
||||||
'Vec<CompactScore>': Vec<CompactScore>;
|
'Vec<CompactScore>': Vec<CompactScore>;
|
||||||
|
CompactScoreCompact: CompactScoreCompact;
|
||||||
|
'Option<CompactScoreCompact>': Option<CompactScoreCompact>;
|
||||||
|
'Vec<CompactScoreCompact>': Vec<CompactScoreCompact>;
|
||||||
ElectionCompute: ElectionCompute;
|
ElectionCompute: ElectionCompute;
|
||||||
'Option<ElectionCompute>': Option<ElectionCompute>;
|
'Option<ElectionCompute>': Option<ElectionCompute>;
|
||||||
'Vec<ElectionCompute>': Vec<ElectionCompute>;
|
'Vec<ElectionCompute>': Vec<ElectionCompute>;
|
||||||
@@ -934,13 +979,15 @@ declare module '@polkadot/types/types/registry' {
|
|||||||
'Compact<NominatorIndex>': Compact<NominatorIndex>;
|
'Compact<NominatorIndex>': Compact<NominatorIndex>;
|
||||||
'Option<NominatorIndex>': Option<NominatorIndex>;
|
'Option<NominatorIndex>': Option<NominatorIndex>;
|
||||||
'Vec<NominatorIndex>': Vec<NominatorIndex>;
|
'Vec<NominatorIndex>': Vec<NominatorIndex>;
|
||||||
|
NominatorIndexCompact: NominatorIndexCompact;
|
||||||
|
'Option<NominatorIndexCompact>': Option<NominatorIndexCompact>;
|
||||||
|
'Vec<NominatorIndexCompact>': Vec<NominatorIndexCompact>;
|
||||||
OffchainAccuracy: OffchainAccuracy;
|
OffchainAccuracy: OffchainAccuracy;
|
||||||
'Option<OffchainAccuracy>': Option<OffchainAccuracy>;
|
'Option<OffchainAccuracy>': Option<OffchainAccuracy>;
|
||||||
'Vec<OffchainAccuracy>': Vec<OffchainAccuracy>;
|
'Vec<OffchainAccuracy>': Vec<OffchainAccuracy>;
|
||||||
PerU16: PerU16;
|
OffchainAccuracyCompact: OffchainAccuracyCompact;
|
||||||
'Compact<PerU16>': Compact<PerU16>;
|
'Option<OffchainAccuracyCompact>': Option<OffchainAccuracyCompact>;
|
||||||
'Option<PerU16>': Option<PerU16>;
|
'Vec<OffchainAccuracyCompact>': Vec<OffchainAccuracyCompact>;
|
||||||
'Vec<PerU16>': Vec<PerU16>;
|
|
||||||
PhragmenScore: PhragmenScore;
|
PhragmenScore: PhragmenScore;
|
||||||
'Option<PhragmenScore>': Option<PhragmenScore>;
|
'Option<PhragmenScore>': Option<PhragmenScore>;
|
||||||
'Vec<PhragmenScore>': Vec<PhragmenScore>;
|
'Vec<PhragmenScore>': Vec<PhragmenScore>;
|
||||||
@@ -989,6 +1036,9 @@ declare module '@polkadot/types/types/registry' {
|
|||||||
'Compact<ValidatorIndex>': Compact<ValidatorIndex>;
|
'Compact<ValidatorIndex>': Compact<ValidatorIndex>;
|
||||||
'Option<ValidatorIndex>': Option<ValidatorIndex>;
|
'Option<ValidatorIndex>': Option<ValidatorIndex>;
|
||||||
'Vec<ValidatorIndex>': Vec<ValidatorIndex>;
|
'Vec<ValidatorIndex>': Vec<ValidatorIndex>;
|
||||||
|
ValidatorIndexCompact: ValidatorIndexCompact;
|
||||||
|
'Option<ValidatorIndexCompact>': Option<ValidatorIndexCompact>;
|
||||||
|
'Vec<ValidatorIndexCompact>': Vec<ValidatorIndexCompact>;
|
||||||
ValidatorPrefs: ValidatorPrefs;
|
ValidatorPrefs: ValidatorPrefs;
|
||||||
'Option<ValidatorPrefs>': Option<ValidatorPrefs>;
|
'Option<ValidatorPrefs>': Option<ValidatorPrefs>;
|
||||||
'Vec<ValidatorPrefs>': Vec<ValidatorPrefs>;
|
'Vec<ValidatorPrefs>': Vec<ValidatorPrefs>;
|
||||||
@@ -1138,9 +1188,6 @@ declare module '@polkadot/types/types/registry' {
|
|||||||
Multiplier: Multiplier;
|
Multiplier: Multiplier;
|
||||||
'Option<Multiplier>': Option<Multiplier>;
|
'Option<Multiplier>': Option<Multiplier>;
|
||||||
'Vec<Multiplier>': Vec<Multiplier>;
|
'Vec<Multiplier>': Vec<Multiplier>;
|
||||||
CallHash: CallHash;
|
|
||||||
'Option<CallHash>': Option<CallHash>;
|
|
||||||
'Vec<CallHash>': Vec<CallHash>;
|
|
||||||
Multisig: Multisig;
|
Multisig: Multisig;
|
||||||
'Option<Multisig>': Option<Multisig>;
|
'Option<Multisig>': Option<Multisig>;
|
||||||
'Vec<Multisig>': Vec<Multisig>;
|
'Vec<Multisig>': Vec<Multisig>;
|
||||||
@@ -1165,6 +1212,12 @@ declare module '@polkadot/types/types/registry' {
|
|||||||
StatementKind: StatementKind;
|
StatementKind: StatementKind;
|
||||||
'Option<StatementKind>': Option<StatementKind>;
|
'Option<StatementKind>': Option<StatementKind>;
|
||||||
'Vec<StatementKind>': Vec<StatementKind>;
|
'Vec<StatementKind>': Vec<StatementKind>;
|
||||||
|
ParachainProposal: ParachainProposal;
|
||||||
|
'Option<ParachainProposal>': Option<ParachainProposal>;
|
||||||
|
'Vec<ParachainProposal>': Vec<ParachainProposal>;
|
||||||
|
RegisteredParachainInfo: RegisteredParachainInfo;
|
||||||
|
'Option<RegisteredParachainInfo>': Option<RegisteredParachainInfo>;
|
||||||
|
'Vec<RegisteredParachainInfo>': Vec<RegisteredParachainInfo>;
|
||||||
AbridgedCandidateReceipt: AbridgedCandidateReceipt;
|
AbridgedCandidateReceipt: AbridgedCandidateReceipt;
|
||||||
'Option<AbridgedCandidateReceipt>': Option<AbridgedCandidateReceipt>;
|
'Option<AbridgedCandidateReceipt>': Option<AbridgedCandidateReceipt>;
|
||||||
'Vec<AbridgedCandidateReceipt>': Vec<AbridgedCandidateReceipt>;
|
'Vec<AbridgedCandidateReceipt>': Vec<AbridgedCandidateReceipt>;
|
||||||
@@ -1239,6 +1292,9 @@ declare module '@polkadot/types/types/registry' {
|
|||||||
ParaScheduling: ParaScheduling;
|
ParaScheduling: ParaScheduling;
|
||||||
'Option<ParaScheduling>': Option<ParaScheduling>;
|
'Option<ParaScheduling>': Option<ParaScheduling>;
|
||||||
'Vec<ParaScheduling>': Vec<ParaScheduling>;
|
'Vec<ParaScheduling>': Vec<ParaScheduling>;
|
||||||
|
RelayChainBlockNumber: RelayChainBlockNumber;
|
||||||
|
'Option<RelayChainBlockNumber>': Option<RelayChainBlockNumber>;
|
||||||
|
'Vec<RelayChainBlockNumber>': Vec<RelayChainBlockNumber>;
|
||||||
Remark: Remark;
|
Remark: Remark;
|
||||||
'Option<Remark>': Option<Remark>;
|
'Option<Remark>': Option<Remark>;
|
||||||
'Vec<Remark>': Vec<Remark>;
|
'Vec<Remark>': Vec<Remark>;
|
||||||
@@ -1264,6 +1320,9 @@ declare module '@polkadot/types/types/registry' {
|
|||||||
UpwardMessage: UpwardMessage;
|
UpwardMessage: UpwardMessage;
|
||||||
'Option<UpwardMessage>': Option<UpwardMessage>;
|
'Option<UpwardMessage>': Option<UpwardMessage>;
|
||||||
'Vec<UpwardMessage>': Vec<UpwardMessage>;
|
'Vec<UpwardMessage>': Vec<UpwardMessage>;
|
||||||
|
ValidationFunctionParams: ValidationFunctionParams;
|
||||||
|
'Option<ValidationFunctionParams>': Option<ValidationFunctionParams>;
|
||||||
|
'Vec<ValidationFunctionParams>': Vec<ValidationFunctionParams>;
|
||||||
ValidationCode: ValidationCode;
|
ValidationCode: ValidationCode;
|
||||||
'Option<ValidationCode>': Option<ValidationCode>;
|
'Option<ValidationCode>': Option<ValidationCode>;
|
||||||
'Vec<ValidationCode>': Vec<ValidationCode>;
|
'Vec<ValidationCode>': Vec<ValidationCode>;
|
||||||
@@ -1288,6 +1347,12 @@ declare module '@polkadot/types/types/registry' {
|
|||||||
AccountValidity: AccountValidity;
|
AccountValidity: AccountValidity;
|
||||||
'Option<AccountValidity>': Option<AccountValidity>;
|
'Option<AccountValidity>': Option<AccountValidity>;
|
||||||
'Vec<AccountValidity>': Vec<AccountValidity>;
|
'Vec<AccountValidity>': Vec<AccountValidity>;
|
||||||
|
EthereumAccountId: EthereumAccountId;
|
||||||
|
'Option<EthereumAccountId>': Option<EthereumAccountId>;
|
||||||
|
'Vec<EthereumAccountId>': Vec<EthereumAccountId>;
|
||||||
|
EthereumLookupSource: EthereumLookupSource;
|
||||||
|
'Option<EthereumLookupSource>': Option<EthereumLookupSource>;
|
||||||
|
'Vec<EthereumLookupSource>': Vec<EthereumLookupSource>;
|
||||||
CallMetadataV0: CallMetadataV0;
|
CallMetadataV0: CallMetadataV0;
|
||||||
'Option<CallMetadataV0>': Option<CallMetadataV0>;
|
'Option<CallMetadataV0>': Option<CallMetadataV0>;
|
||||||
'Vec<CallMetadataV0>': Vec<CallMetadataV0>;
|
'Vec<CallMetadataV0>': Vec<CallMetadataV0>;
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import { H256 } from '../interfaces/runtime';
|
|||||||
import { AnyJson, Codec, Registry } from '../types';
|
import { AnyJson, Codec, Registry } from '../types';
|
||||||
|
|
||||||
import { u8aConcat, u8aToHex } from '@polkadot/util';
|
import { u8aConcat, u8aToHex } from '@polkadot/util';
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import Compact from './Compact';
|
import Compact from './Compact';
|
||||||
import Raw from './Raw';
|
import Raw from './Raw';
|
||||||
@@ -41,7 +40,7 @@ export default abstract class AbstractArray<T extends Codec> extends Array<T> im
|
|||||||
* @description returns a hash of the contents
|
* @description returns a hash of the contents
|
||||||
*/
|
*/
|
||||||
public get hash (): H256 {
|
public get hash (): H256 {
|
||||||
return new Raw(this.registry, blake2AsU8a(this.toU8a(), 256));
|
return new Raw(this.registry, this.registry.hash(this.toU8a()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import { AnyNumber, Codec, Registry } from '../types';
|
|||||||
|
|
||||||
import BN from 'bn.js';
|
import BN from 'bn.js';
|
||||||
import { BN_ZERO, assert, bnToBn, bnToHex, bnToU8a, formatBalance, formatNumber, hexToBn, isHex, isString, isU8a, u8aToBn } from '@polkadot/util';
|
import { BN_ZERO, assert, bnToBn, bnToHex, bnToU8a, formatBalance, formatNumber, hexToBn, isHex, isString, isU8a, u8aToBn } from '@polkadot/util';
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import Raw from './Raw';
|
import Raw from './Raw';
|
||||||
|
|
||||||
@@ -92,7 +91,7 @@ export default abstract class AbstractInt extends BN implements Codec {
|
|||||||
* @description returns a hash of the contents
|
* @description returns a hash of the contents
|
||||||
*/
|
*/
|
||||||
public get hash (): H256 {
|
public get hash (): H256 {
|
||||||
return new Raw(this.registry, blake2AsU8a(this.toU8a(), 256));
|
return new Raw(this.registry, this.registry.hash(this.toU8a()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import { H256 } from '../interfaces/runtime';
|
|||||||
import { AnyJson, Constructor, Codec, InterfaceTypes, Registry } from '../types';
|
import { AnyJson, Constructor, Codec, InterfaceTypes, Registry } from '../types';
|
||||||
|
|
||||||
import { isHex, hexToU8a, isU8a, u8aConcat, u8aToHex, u8aToU8a } from '@polkadot/util';
|
import { isHex, hexToU8a, isU8a, u8aConcat, u8aToHex, u8aToU8a } from '@polkadot/util';
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import Compact from './Compact';
|
import Compact from './Compact';
|
||||||
import Raw from './Raw';
|
import Raw from './Raw';
|
||||||
@@ -117,7 +116,7 @@ export default class BTreeSet<V extends Codec = Codec> extends Set<V> implements
|
|||||||
* @description Returns a hash of the value
|
* @description Returns a hash of the value
|
||||||
*/
|
*/
|
||||||
public get hash (): H256 {
|
public get hash (): H256 {
|
||||||
return new Raw(this.registry, blake2AsU8a(this.toU8a(), 256));
|
return new Raw(this.registry, this.registry.hash(this.toU8a()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -5,8 +5,6 @@
|
|||||||
import { H256 } from '../interfaces/runtime';
|
import { H256 } from '../interfaces/runtime';
|
||||||
import { AnyJson, BareOpts, Codec, Registry } from '../types';
|
import { AnyJson, BareOpts, Codec, Registry } from '../types';
|
||||||
|
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import Raw from './Raw';
|
import Raw from './Raw';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -34,7 +32,7 @@ export default abstract class Base<T extends Codec> implements Codec {
|
|||||||
* @description returns a hash of the contents
|
* @description returns a hash of the contents
|
||||||
*/
|
*/
|
||||||
public get hash (): H256 {
|
public get hash (): H256 {
|
||||||
return new Raw(this.registry, blake2AsU8a(this.toU8a(), 256));
|
return new Raw(this.registry, this.registry.hash(this.toU8a()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import { AnyJson, AnyNumber, Codec, Constructor, ICompact, InterfaceTypes, Regis
|
|||||||
import BN from 'bn.js';
|
import BN from 'bn.js';
|
||||||
import { compactAddLength, compactFromU8a, compactStripLength, compactToU8a, isBigInt, isBn, isNumber, isString } from '@polkadot/util';
|
import { compactAddLength, compactFromU8a, compactStripLength, compactToU8a, isBigInt, isBn, isNumber, isString } from '@polkadot/util';
|
||||||
import { DEFAULT_BITLENGTH } from '@polkadot/util/compact/defaults';
|
import { DEFAULT_BITLENGTH } from '@polkadot/util/compact/defaults';
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import typeToConstructor from './utils/typeToConstructor';
|
import typeToConstructor from './utils/typeToConstructor';
|
||||||
import { UIntBitLength } from './AbstractInt';
|
import { UIntBitLength } from './AbstractInt';
|
||||||
@@ -90,7 +89,7 @@ export default class Compact<T extends CompactEncodable> implements ICompact<T>
|
|||||||
* @description returns a hash of the contents
|
* @description returns a hash of the contents
|
||||||
*/
|
*/
|
||||||
public get hash (): H256 {
|
public get hash (): H256 {
|
||||||
return new Raw(this.registry, blake2AsU8a(this.toU8a(), 256));
|
return new Raw(this.registry, this.registry.hash(this.toU8a()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import { AnyNumber, Codec, Registry } from '../types';
|
|||||||
|
|
||||||
import BN from 'bn.js';
|
import BN from 'bn.js';
|
||||||
import { bnToBn, bnToHex, bnToU8a, isString, isU8a, u8aToBn } from '@polkadot/util';
|
import { bnToBn, bnToHex, bnToU8a, isString, isU8a, u8aToBn } from '@polkadot/util';
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import { UIntBitLength } from './AbstractInt';
|
import { UIntBitLength } from './AbstractInt';
|
||||||
|
|
||||||
@@ -58,7 +57,7 @@ export default class CodecDate extends Date implements Codec {
|
|||||||
* @description returns a hash of the contents
|
* @description returns a hash of the contents
|
||||||
*/
|
*/
|
||||||
public get hash (): H256 {
|
public get hash (): H256 {
|
||||||
return this.registry.createType('H256', blake2AsU8a(this.toU8a(), 256));
|
return this.registry.createType('H256', this.registry.hash(this.toU8a()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import { H256 } from '@polkadot/types/interfaces';
|
|||||||
import { AnyJson, Codec, Constructor, InterfaceTypes, Registry } from '../types';
|
import { AnyJson, Codec, Constructor, InterfaceTypes, Registry } from '../types';
|
||||||
|
|
||||||
import { assert, hexToU8a, isHex, isNumber, isObject, isString, isU8a, isUndefined, stringCamelCase, stringUpperFirst, u8aConcat, u8aToHex } from '@polkadot/util';
|
import { assert, hexToU8a, isHex, isNumber, isObject, isString, isU8a, isUndefined, stringCamelCase, stringUpperFirst, u8aConcat, u8aToHex } from '@polkadot/util';
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import Null from '../primitive/Null';
|
import Null from '../primitive/Null';
|
||||||
import { mapToTypeMap } from './utils';
|
import { mapToTypeMap } from './utils';
|
||||||
@@ -188,7 +187,7 @@ export default class Enum implements Codec {
|
|||||||
* @description returns a hash of the contents
|
* @description returns a hash of the contents
|
||||||
*/
|
*/
|
||||||
public get hash (): H256 {
|
public get hash (): H256 {
|
||||||
return new Raw(this.registry, blake2AsU8a(this.toU8a(), 256));
|
return new Raw(this.registry, this.registry.hash(this.toU8a()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import { H256 } from '../interfaces/runtime';
|
|||||||
import { AnyJson, Constructor, Codec, InterfaceTypes, Registry } from '../types';
|
import { AnyJson, Constructor, Codec, InterfaceTypes, Registry } from '../types';
|
||||||
|
|
||||||
import { isHex, hexToU8a, isObject, isU8a, u8aConcat, u8aToHex, u8aToU8a } from '@polkadot/util';
|
import { isHex, hexToU8a, isObject, isU8a, u8aConcat, u8aToHex, u8aToU8a } from '@polkadot/util';
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import Compact from './Compact';
|
import Compact from './Compact';
|
||||||
import Raw from './Raw';
|
import Raw from './Raw';
|
||||||
@@ -126,7 +125,7 @@ export default class CodecMap<K extends Codec = Codec, V extends Codec = Codec>
|
|||||||
* @description Returns a hash of the value
|
* @description Returns a hash of the value
|
||||||
*/
|
*/
|
||||||
public get hash (): H256 {
|
public get hash (): H256 {
|
||||||
return new Raw(this.registry, blake2AsU8a(this.toU8a(), 256));
|
return new Raw(this.registry, this.registry.hash(this.toU8a()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import { H256 } from '@polkadot/types/interfaces';
|
|||||||
import { AnyJson, Codec, Constructor, InterfaceTypes, Registry } from '../types';
|
import { AnyJson, Codec, Constructor, InterfaceTypes, Registry } from '../types';
|
||||||
|
|
||||||
import { isNull, isU8a, isUndefined, u8aToHex } from '@polkadot/util';
|
import { isNull, isU8a, isUndefined, u8aToHex } from '@polkadot/util';
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import Null from '../primitive/Null';
|
import Null from '../primitive/Null';
|
||||||
import { typeToConstructor } from './utils';
|
import { typeToConstructor } from './utils';
|
||||||
@@ -83,7 +82,7 @@ export default class Option<T extends Codec> implements Codec {
|
|||||||
* @description returns a hash of the contents
|
* @description returns a hash of the contents
|
||||||
*/
|
*/
|
||||||
public get hash (): H256 {
|
public get hash (): H256 {
|
||||||
return new Raw(this.registry, blake2AsU8a(this.toU8a(), 256));
|
return new Raw(this.registry, this.registry.hash(this.toU8a()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import { H256 } from '../interfaces/runtime';
|
|||||||
import { AnyJson, AnyU8a, IU8a, Registry } from '../types';
|
import { AnyJson, AnyU8a, IU8a, Registry } from '../types';
|
||||||
|
|
||||||
import { assert, isAscii, isU8a, isUndefined, isUtf8, u8aToHex, u8aToString, u8aToU8a } from '@polkadot/util';
|
import { assert, isAscii, isU8a, isUndefined, isUtf8, u8aToHex, u8aToString, u8aToU8a } from '@polkadot/util';
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
function decodeU8a (value?: any): Uint8Array {
|
function decodeU8a (value?: any): Uint8Array {
|
||||||
@@ -46,7 +45,7 @@ export default class Raw extends Uint8Array implements IU8a {
|
|||||||
* @description returns a hash of the contents
|
* @description returns a hash of the contents
|
||||||
*/
|
*/
|
||||||
public get hash (): H256 {
|
public get hash (): H256 {
|
||||||
return new Raw(this.registry, blake2AsU8a(this.toU8a(), 256));
|
return new Raw(this.registry, this.registry.hash(this.toU8a()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -117,7 +116,7 @@ export default class Raw extends Uint8Array implements IU8a {
|
|||||||
* @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
|
* @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
|
||||||
*/
|
*/
|
||||||
public toHuman (): AnyJson {
|
public toHuman (): AnyJson {
|
||||||
return this.isUtf8
|
return this.isAscii
|
||||||
? this.toUtf8()
|
? this.toUtf8()
|
||||||
: this.toJSON();
|
: this.toJSON();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import { Codec, Constructor, Registry } from '../types';
|
|||||||
|
|
||||||
import BN from 'bn.js';
|
import BN from 'bn.js';
|
||||||
import { assert, bnToBn, bnToU8a, isBn, isU8a, isNumber, isString, isUndefined, stringCamelCase, stringUpperFirst, u8aToHex, u8aToBn, u8aToU8a } from '@polkadot/util';
|
import { assert, bnToBn, bnToU8a, isBn, isU8a, isNumber, isString, isUndefined, stringCamelCase, stringUpperFirst, u8aToHex, u8aToBn, u8aToU8a } from '@polkadot/util';
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import Raw from './Raw';
|
import Raw from './Raw';
|
||||||
import { compareArray } from './utils';
|
import { compareArray } from './utils';
|
||||||
@@ -127,7 +126,7 @@ export default class CodecSet extends Set<string> implements Codec {
|
|||||||
* @description returns a hash of the contents
|
* @description returns a hash of the contents
|
||||||
*/
|
*/
|
||||||
public get hash (): H256 {
|
public get hash (): H256 {
|
||||||
return new Raw(this.registry, blake2AsU8a(this.toU8a(), 256));
|
return new Raw(this.registry, this.registry.hash(this.toU8a()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import { H256 } from '../interfaces/runtime';
|
|||||||
import { AnyJson, BareOpts, Codec, Constructor, ConstructorDef, InterfaceTypes, Registry } from '../types';
|
import { AnyJson, BareOpts, Codec, Constructor, ConstructorDef, InterfaceTypes, Registry } from '../types';
|
||||||
|
|
||||||
import { hexToU8a, isBoolean, isFunction, isHex, isObject, isU8a, isUndefined, u8aConcat, u8aToHex } from '@polkadot/util';
|
import { hexToU8a, isBoolean, isFunction, isHex, isObject, isU8a, isUndefined, u8aConcat, u8aToHex } from '@polkadot/util';
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import Raw from './Raw';
|
import Raw from './Raw';
|
||||||
import { compareMap, decodeU8a, mapToTypeMap } from './utils';
|
import { compareMap, decodeU8a, mapToTypeMap } from './utils';
|
||||||
@@ -198,7 +197,7 @@ export default class Struct<
|
|||||||
* @description returns a hash of the contents
|
* @description returns a hash of the contents
|
||||||
*/
|
*/
|
||||||
public get hash (): H256 {
|
public get hash (): H256 {
|
||||||
return new Raw(this.registry, blake2AsU8a(this.toU8a(), 256));
|
return new Raw(this.registry, this.registry.hash(this.toU8a()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import { H256 } from '../interfaces/runtime';
|
|||||||
import { AnyJson, Codec, Registry } from '../types';
|
import { AnyJson, Codec, Registry } from '../types';
|
||||||
|
|
||||||
import { isUndefined } from '@polkadot/util';
|
import { isUndefined } from '@polkadot/util';
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import Raw from './Raw';
|
import Raw from './Raw';
|
||||||
|
|
||||||
@@ -61,7 +60,7 @@ export default class StructAny extends Map<string, any> implements Codec {
|
|||||||
* @description returns a hash of the contents
|
* @description returns a hash of the contents
|
||||||
*/
|
*/
|
||||||
public get hash (): H256 {
|
public get hash (): H256 {
|
||||||
return new Raw(this.registry, blake2AsU8a(this.toU8a(), 256));
|
return new Raw(this.registry, this.registry.hash(this.toU8a()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -6,7 +6,8 @@
|
|||||||
|
|
||||||
import { Codec, Constructor } from '../types';
|
import { Codec, Constructor } from '../types';
|
||||||
|
|
||||||
import { isChildClass } from '@polkadot/util';
|
import { isChildClass, u8aToU8a } from '@polkadot/util';
|
||||||
|
import { keccakAsU8a } from '@polkadot/util-crypto';
|
||||||
|
|
||||||
import Struct from '../codec/Struct';
|
import Struct from '../codec/Struct';
|
||||||
import DoNotConstruct from '../primitive/DoNotConstruct';
|
import DoNotConstruct from '../primitive/DoNotConstruct';
|
||||||
@@ -159,4 +160,30 @@ describe('TypeRegistry', (): void => {
|
|||||||
expect(struct.bar.toString()).toEqual('testing');
|
expect(struct.bar.toString()).toEqual('testing');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('hashes via blake2 by default', (): void => {
|
||||||
|
expect(
|
||||||
|
registry.hash(u8aToU8a('abc'))
|
||||||
|
).toEqual(
|
||||||
|
new Uint8Array([189, 221, 129, 60, 99, 66, 57, 114, 49, 113, 239, 63, 238, 152, 87, 155, 148, 150, 78, 59, 177, 203, 62, 66, 114, 98, 200, 192, 104, 213, 35, 25])
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('hashes via override hasher', (): void => {
|
||||||
|
registry.setHasher(keccakAsU8a);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
registry.hash(u8aToU8a('test value'))
|
||||||
|
).toEqual(
|
||||||
|
u8aToU8a('0x2d07364b5c231c56ce63d49430e085ea3033c750688ba532b24029124c26ca5e')
|
||||||
|
);
|
||||||
|
|
||||||
|
registry.setHasher();
|
||||||
|
|
||||||
|
expect(
|
||||||
|
registry.hash(u8aToU8a('abc'))
|
||||||
|
).toEqual(
|
||||||
|
new Uint8Array([189, 221, 129, 60, 99, 66, 57, 114, 49, 113, 239, 63, 238, 152, 87, 155, 148, 150, 78, 59, 177, 203, 62, 66, 114, 98, 200, 192, 104, 213, 35, 25])
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import { CallFunction, Codec, Constructor, InterfaceTypes, RegistryError, Regist
|
|||||||
|
|
||||||
import extrinsicsFromMeta from '@polkadot/metadata/Decorated/extrinsics/fromMetadata';
|
import extrinsicsFromMeta from '@polkadot/metadata/Decorated/extrinsics/fromMetadata';
|
||||||
import { assert, formatBalance, isFunction, isString, isU8a, isUndefined, stringCamelCase, u8aToHex } from '@polkadot/util';
|
import { assert, formatBalance, isFunction, isString, isU8a, isUndefined, stringCamelCase, u8aToHex } from '@polkadot/util';
|
||||||
|
import { blake2AsU8a } from '@polkadot/util-crypto';
|
||||||
|
|
||||||
import Raw from '../codec/Raw';
|
import Raw from '../codec/Raw';
|
||||||
import { defaultExtensions, expandExtensionTypes, findUnknownExtensions } from '../extrinsic/signedExtensions';
|
import { defaultExtensions, expandExtensionTypes, findUnknownExtensions } from '../extrinsic/signedExtensions';
|
||||||
@@ -94,6 +95,8 @@ export class TypeRegistry implements Registry {
|
|||||||
|
|
||||||
#chainProperties?: ChainProperties;
|
#chainProperties?: ChainProperties;
|
||||||
|
|
||||||
|
#hasher: (data: Uint8Array) => Uint8Array = blake2AsU8a;
|
||||||
|
|
||||||
#knownTypes: RegisteredTypes = {};
|
#knownTypes: RegisteredTypes = {};
|
||||||
|
|
||||||
#signedExtensions: string[] = defaultExtensions;
|
#signedExtensions: string[] = defaultExtensions;
|
||||||
@@ -271,6 +274,10 @@ export class TypeRegistry implements Registry {
|
|||||||
return !this.#unknownTypes.get(name) && (this.hasClass(name) || this.hasDef(name));
|
return !this.#unknownTypes.get(name) && (this.hasClass(name) || this.hasDef(name));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public hash (data: Uint8Array): Uint8Array {
|
||||||
|
return this.#hasher(data);
|
||||||
|
}
|
||||||
|
|
||||||
public register (type: Constructor | RegistryTypes): void;
|
public register (type: Constructor | RegistryTypes): void;
|
||||||
|
|
||||||
// eslint-disable-next-line no-dupe-class-members
|
// eslint-disable-next-line no-dupe-class-members
|
||||||
@@ -317,6 +324,10 @@ export class TypeRegistry implements Registry {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setHasher (hasher: (data: Uint8Array) => Uint8Array = blake2AsU8a): void {
|
||||||
|
this.#hasher = hasher;
|
||||||
|
}
|
||||||
|
|
||||||
setKnownTypes (knownTypes: RegisteredTypes): void {
|
setKnownTypes (knownTypes: RegisteredTypes): void {
|
||||||
this.#knownTypes = knownTypes;
|
this.#knownTypes = knownTypes;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,83 @@
|
|||||||
|
// Copyright 2017-2020 @polkadot/types authors & contributors
|
||||||
|
// This software may be modified and distributed under the terms
|
||||||
|
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||||
|
|
||||||
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
||||||
|
|
||||||
|
import { TypeRegistry } from '../create';
|
||||||
|
import Raw from '../codec/Raw';
|
||||||
|
import AccountId from './AccountId';
|
||||||
|
|
||||||
|
describe('EthereumAccountId', (): void => {
|
||||||
|
const registry = new TypeRegistry();
|
||||||
|
|
||||||
|
describe('defaults', (): void => {
|
||||||
|
const id = registry.createType('EthereumAccountId');
|
||||||
|
|
||||||
|
it('has a 20-byte length', (): void => {
|
||||||
|
expect(id).toHaveLength(20);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('is empty by default', (): void => {
|
||||||
|
expect(id.isEmpty).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('equals the empty address', (): void => {
|
||||||
|
expect(id.eq('0x0000000000000000000000000000000000000000')).toBe(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('decoding', (): void => {
|
||||||
|
const testDecode = (type: string, input: Uint8Array | string | AccountId, expected: string): void =>
|
||||||
|
it(`can decode from ${type}`, (): void => {
|
||||||
|
const a = registry.createType('EthereumAccountId', input);
|
||||||
|
|
||||||
|
expect(a.toString()).toBe(expected);
|
||||||
|
});
|
||||||
|
|
||||||
|
testDecode(
|
||||||
|
'AccountId',
|
||||||
|
registry.createType('EthereumAccountId', '0x4119b2e6c3Cb618F4f0B93ac77f9BeeC7FF02887'),
|
||||||
|
'0x4119b2e6c3Cb618F4f0B93ac77f9BeeC7FF02887'
|
||||||
|
);
|
||||||
|
testDecode('hex', '0x4119b2e6c3cb618f4f0B93ac77f9Beec7ff02887', '0x4119b2e6c3Cb618F4f0B93ac77f9BeeC7FF02887');
|
||||||
|
testDecode(
|
||||||
|
'Raw',
|
||||||
|
new Raw(registry, [
|
||||||
|
1, 2, 3, 4, 5, 6, 7, 8, 1, 2,
|
||||||
|
1, 2, 3, 4, 5, 6, 7, 8, 1, 2
|
||||||
|
]),
|
||||||
|
'0x0102030405060708010201020304050607080102'
|
||||||
|
);
|
||||||
|
testDecode(
|
||||||
|
'Uint8Array',
|
||||||
|
Uint8Array.from([
|
||||||
|
1, 2, 3, 4, 5, 6, 7, 8, 1, 2,
|
||||||
|
1, 2, 3, 4, 5, 6, 7, 8, 1, 2
|
||||||
|
]),
|
||||||
|
'0x0102030405060708010201020304050607080102'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('encoding', (): void => {
|
||||||
|
const testEncode = (to: 'toHex' | 'toJSON' | 'toString' | 'toU8a', expected: Uint8Array | string, input = '0x4119b2e6c3Cb618F4f0B93ac77f9BeeC7FF02887'): void =>
|
||||||
|
it(`can encode ${to}`, (): void => {
|
||||||
|
const a = registry.createType('EthereumAccountId', input);
|
||||||
|
|
||||||
|
expect(a[to]()).toEqual(expected);
|
||||||
|
});
|
||||||
|
|
||||||
|
testEncode('toHex', '0x4119b2e6c3cb618f4f0b93ac77f9beec7ff02887');
|
||||||
|
testEncode('toJSON', '0x4119b2e6c3Cb618F4f0B93ac77f9BeeC7FF02887');
|
||||||
|
testEncode('toString', '0x4119b2e6c3Cb618F4f0B93ac77f9BeeC7FF02887');
|
||||||
|
testEncode('toString', '0x0000000000000000000000000000000000000000', '0x00');
|
||||||
|
testEncode('toU8a', Uint8Array.from([
|
||||||
|
0x41, 0x19, 0xb2, 0xe6, 0xc3, 0xcb, 0x61, 0x8f, 0x4f, 0x0b,
|
||||||
|
0x93, 0xac, 0x77, 0xf9, 0xbe, 0xec, 0x7f, 0xf0, 0x28, 0x87
|
||||||
|
]));
|
||||||
|
|
||||||
|
it('decodes to a non-empty value', (): void => {
|
||||||
|
expect(registry.createType('EthereumAccountId', '0x4119b2e6c3Cb618F4f0B93ac77f9BeeC7FF02887').isEmpty).toBe(false);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
// Copyright 2017-2020 @polkadot/types authors & contributors
|
||||||
|
// This software may be modified and distributed under the terms
|
||||||
|
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||||
|
|
||||||
|
import { AnyString, AnyU8a, Registry } from '../types';
|
||||||
|
|
||||||
|
import { hexToU8a, isHex, isString, isU8a, u8aToU8a } from '@polkadot/util';
|
||||||
|
import { ethereumEncode, isEthereumAddress } from '@polkadot/util-crypto';
|
||||||
|
|
||||||
|
import U8aFixed from '../codec/U8aFixed';
|
||||||
|
|
||||||
|
/** @internal */
|
||||||
|
function decodeAccountId (value: AnyU8a | AnyString): AnyU8a {
|
||||||
|
if (isU8a(value) || Array.isArray(value)) {
|
||||||
|
return u8aToU8a(value);
|
||||||
|
} else if (isHex(value) || isEthereumAddress(value)) {
|
||||||
|
return hexToU8a(value.toString());
|
||||||
|
} else if (isString(value)) {
|
||||||
|
return u8aToU8a((value as string).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name EthereumAccountId
|
||||||
|
* @description
|
||||||
|
* A wrapper around an Ethereum-compatible AccountId. Since we are dealing with
|
||||||
|
* underlying addresses (20 bytes in length), we extend from U8aFixed which is
|
||||||
|
* just a Uint8Array wrapper with a fixed length.
|
||||||
|
*/
|
||||||
|
export default class AccountId extends U8aFixed {
|
||||||
|
constructor (registry: Registry, value: AnyU8a = new Uint8Array()) {
|
||||||
|
super(registry, decodeAccountId(value), 160);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static encode (value: Uint8Array): string {
|
||||||
|
return ethereumEncode(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description Compares the value of the input to see if there is a match
|
||||||
|
*/
|
||||||
|
public eq (other?: unknown): boolean {
|
||||||
|
return super.eq(decodeAccountId(other as AnyU8a));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
|
||||||
|
*/
|
||||||
|
public toHuman (): string {
|
||||||
|
return this.toJSON();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description Converts the Object to JSON, typically used for RPC transfers
|
||||||
|
*/
|
||||||
|
public toJSON (): string {
|
||||||
|
return this.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description Returns the string representation of the value
|
||||||
|
*/
|
||||||
|
public toString (): string {
|
||||||
|
return AccountId.encode(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description Returns the base runtime type name for this instance
|
||||||
|
*/
|
||||||
|
public toRawType (): string {
|
||||||
|
return 'AccountId';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
// Copyright 2017-2020 @polkadot/types authors & contributors
|
||||||
|
// This software may be modified and distributed under the terms
|
||||||
|
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||||
|
|
||||||
|
import { TypeRegistry } from '../create';
|
||||||
|
import AccountIndex from '../generic/AccountIndex';
|
||||||
|
import AccountId from './AccountId';
|
||||||
|
import Address from './LookupSource';
|
||||||
|
|
||||||
|
describe('EthereumLookupSource', (): void => {
|
||||||
|
const registry = new TypeRegistry();
|
||||||
|
|
||||||
|
const testDecode = (type: string, input: Address | AccountId | AccountIndex | number[] | Uint8Array, expected: string): void =>
|
||||||
|
it(`can decode from ${type}`, (): void => {
|
||||||
|
const a = registry.createType('EthereumLookupSource', input);
|
||||||
|
|
||||||
|
expect(a.toString()).toBe(expected);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('decoding', (): void => {
|
||||||
|
testDecode(
|
||||||
|
'Address',
|
||||||
|
registry.createType('EthereumLookupSource', '0x00a329c0648769a73afac7f9381e08fb43dbea72'),
|
||||||
|
'0x00a329c0648769A73afAc7F9381E08FB43dBEA72'
|
||||||
|
);
|
||||||
|
testDecode(
|
||||||
|
'AccountId',
|
||||||
|
registry.createType('EthereumAccountId', '0x4119b2e6c3Cb618F4f0B93ac77f9BeeC7FF02887'),
|
||||||
|
'0x4119b2e6c3Cb618F4f0B93ac77f9BeeC7FF02887'
|
||||||
|
);
|
||||||
|
testDecode(
|
||||||
|
'AccountIndex (mixed prefixes)',
|
||||||
|
registry.createType('EthereumLookupSource', '2jpAFn'),
|
||||||
|
// NOTE Expected address here is encoded with prefix 42, input above with 68
|
||||||
|
'25GUyv'
|
||||||
|
);
|
||||||
|
testDecode(
|
||||||
|
'AccountIndex (hex)',
|
||||||
|
registry.createType('AccountIndex', '0x0100'),
|
||||||
|
'25GUyv'
|
||||||
|
);
|
||||||
|
testDecode(
|
||||||
|
'Uint8Array (with prefix 255)',
|
||||||
|
Uint8Array.from([
|
||||||
|
255,
|
||||||
|
0x41, 0x19, 0xb2, 0xe6, 0xc3, 0xcb, 0x61, 0x8f, 0x4f, 0x0b,
|
||||||
|
0x93, 0xac, 0x77, 0xf9, 0xbe, 0xec, 0x7f, 0xf0, 0x28, 0x87
|
||||||
|
]),
|
||||||
|
'0x4119b2e6c3Cb618F4f0B93ac77f9BeeC7FF02887'
|
||||||
|
);
|
||||||
|
testDecode(
|
||||||
|
'Uint8Array (with prefix 1 byte)',
|
||||||
|
Uint8Array.from([1]),
|
||||||
|
'F7NZ'
|
||||||
|
);
|
||||||
|
testDecode(
|
||||||
|
'Uint8Array (with prefix 2 bytes)',
|
||||||
|
Uint8Array.from([0xfc, 0, 1]),
|
||||||
|
'25GUyv'
|
||||||
|
);
|
||||||
|
testDecode(
|
||||||
|
'Uint8Array (with prefix 4 bytes)',
|
||||||
|
Uint8Array.from([0xfd, 17, 18, 19, 20]),
|
||||||
|
'Mwz15xP2'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('encoding', (): void => {
|
||||||
|
const testEncode = (to: 'toHex' | 'toString' | 'toU8a', expected: string | Uint8Array): void =>
|
||||||
|
it(`can encode ${to}`, (): void => {
|
||||||
|
const a = registry.createType('EthereumLookupSource', '0x4119b2e6c3Cb618F4f0B93ac77f9BeeC7FF02887');
|
||||||
|
|
||||||
|
expect(a[to]()).toEqual(expected);
|
||||||
|
});
|
||||||
|
|
||||||
|
testEncode(
|
||||||
|
'toHex',
|
||||||
|
'0xff4119b2e6c3cb618f4f0b93ac77f9beec7ff02887'
|
||||||
|
);
|
||||||
|
testEncode(
|
||||||
|
'toString',
|
||||||
|
'0x4119b2e6c3Cb618F4f0B93ac77f9BeeC7FF02887'
|
||||||
|
);
|
||||||
|
testEncode(
|
||||||
|
'toU8a',
|
||||||
|
Uint8Array.from([
|
||||||
|
255,
|
||||||
|
0x41, 0x19, 0xb2, 0xe6, 0xc3, 0xcb, 0x61, 0x8f, 0x4f, 0x0b,
|
||||||
|
0x93, 0xac, 0x77, 0xf9, 0xbe, 0xec, 0x7f, 0xf0, 0x28, 0x87
|
||||||
|
])
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('utility', (): void => {
|
||||||
|
it('equals on AccountId', (): void => {
|
||||||
|
const addr = '0x4119b2e6c3Cb618F4f0B93ac77f9BeeC7FF02887';
|
||||||
|
|
||||||
|
expect(registry.createType('EthereumLookupSource', addr).eq(addr)).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('equals on AccountIndex', (): void => {
|
||||||
|
// see the test below - these are equivalent (with different prefix encoding)
|
||||||
|
expect(registry.createType('EthereumLookupSource', '2jpAFn').eq('25GUyv')).toBe(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,124 @@
|
|||||||
|
// Copyright 2017-2020 @polkadot/types authors & contributors
|
||||||
|
// This software may be modified and distributed under the terms
|
||||||
|
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||||
|
|
||||||
|
import { Registry } from '../types';
|
||||||
|
|
||||||
|
import BN from 'bn.js';
|
||||||
|
import { isBn, isHex, isNumber, isU8a, u8aConcat, u8aToHex, u8aToU8a, u8aToBn } from '@polkadot/util';
|
||||||
|
import { decodeAddress } from '@polkadot/util-crypto';
|
||||||
|
|
||||||
|
import Base from '../codec/Base';
|
||||||
|
import AccountIndex from '../generic/AccountIndex';
|
||||||
|
import EthereumAccountId from './AccountId';
|
||||||
|
|
||||||
|
type AnyAddress = BN | LookupSource | EthereumAccountId | AccountIndex | number[] | Uint8Array | number | string;
|
||||||
|
|
||||||
|
export const ACCOUNT_ID_PREFIX = new Uint8Array([0xff]);
|
||||||
|
|
||||||
|
/** @internal */
|
||||||
|
function decodeString (registry: Registry, value: string): EthereumAccountId | AccountIndex {
|
||||||
|
const decoded = decodeAddress(value);
|
||||||
|
|
||||||
|
return decoded.length === 20
|
||||||
|
? registry.createType('EthereumAccountId', decoded)
|
||||||
|
: registry.createType('AccountIndex', u8aToBn(decoded, true));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @internal */
|
||||||
|
function decodeU8a (registry: Registry, value: Uint8Array): EthereumAccountId | AccountIndex {
|
||||||
|
// This allows us to instantiate an address with a raw publicKey. Do this first before
|
||||||
|
// we checking the first byte, otherwise we may split an already-existent valid address
|
||||||
|
if (value.length === 20) {
|
||||||
|
return registry.createType('EthereumAccountId', value);
|
||||||
|
} else if (value[0] === 0xff) {
|
||||||
|
return registry.createType('EthereumAccountId', value.subarray(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
const [offset, length] = AccountIndex.readLength(value);
|
||||||
|
|
||||||
|
return registry.createType('AccountIndex', u8aToBn(value.subarray(offset, offset + length), true));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name LookupSource
|
||||||
|
* @description
|
||||||
|
* A wrapper around an EthereumAccountId and/or AccountIndex that is encoded with a prefix.
|
||||||
|
* Since we are dealing with underlying publicKeys (or shorter encoded addresses),
|
||||||
|
* we extend from Base with an AccountId/AccountIndex wrapper. Basically the Address
|
||||||
|
* is encoded as `[ <prefix-byte>, ...publicKey/...bytes ]` as per spec
|
||||||
|
*/
|
||||||
|
export default class LookupSource extends Base<EthereumAccountId | AccountIndex> {
|
||||||
|
constructor (registry: Registry, value: AnyAddress = new Uint8Array()) {
|
||||||
|
super(registry, LookupSource._decodeAddress(registry, value));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @internal */
|
||||||
|
private static _decodeAddress (registry: Registry, value: AnyAddress): EthereumAccountId | AccountIndex {
|
||||||
|
if (value instanceof EthereumAccountId || value instanceof AccountIndex) {
|
||||||
|
return value;
|
||||||
|
} else if (value instanceof LookupSource) {
|
||||||
|
return value._raw;
|
||||||
|
} else if (isBn(value) || isNumber(value)) {
|
||||||
|
return registry.createType('AccountIndex', value);
|
||||||
|
} else if (Array.isArray(value) || isHex(value) || isU8a(value)) {
|
||||||
|
return decodeU8a(registry, u8aToU8a(value));
|
||||||
|
}
|
||||||
|
|
||||||
|
return decodeString(registry, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description The length of the value when encoded as a Uint8Array
|
||||||
|
*/
|
||||||
|
public get encodedLength (): number {
|
||||||
|
const rawLength = this._rawLength;
|
||||||
|
|
||||||
|
return rawLength + (
|
||||||
|
// for 1 byte AccountIndexes, we are not adding a specific prefix
|
||||||
|
rawLength > 1
|
||||||
|
? 1
|
||||||
|
: 0
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description The length of the raw value, either AccountIndex or AccountId
|
||||||
|
*/
|
||||||
|
protected get _rawLength (): number {
|
||||||
|
return this._raw instanceof AccountIndex
|
||||||
|
? AccountIndex.calcLength(this._raw)
|
||||||
|
: this._raw.encodedLength;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description Returns a hex string representation of the value
|
||||||
|
*/
|
||||||
|
public toHex (): string {
|
||||||
|
return u8aToHex(this.toU8a());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description Returns the base runtime type name for this instance
|
||||||
|
*/
|
||||||
|
public toRawType (): string {
|
||||||
|
return 'Address';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description Encodes the value as a Uint8Array as per the SCALE specifications
|
||||||
|
* @param isBare true when the value has none of the type-specific prefixes (internal)
|
||||||
|
*/
|
||||||
|
public toU8a (isBare?: boolean): Uint8Array {
|
||||||
|
const encoded = this._raw.toU8a().subarray(0, this._rawLength);
|
||||||
|
|
||||||
|
return isBare
|
||||||
|
? encoded
|
||||||
|
: u8aConcat(
|
||||||
|
this._raw instanceof AccountIndex
|
||||||
|
? AccountIndex.writeLength(encoded)
|
||||||
|
: ACCOUNT_ID_PREFIX,
|
||||||
|
encoded
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
// Copyright 2017-2020 @polkadot/types authors & contributors
|
||||||
|
// This software may be modified and distributed under the terms
|
||||||
|
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||||
|
|
||||||
|
export { default as GenericEthereumAccountId } from './AccountId';
|
||||||
|
export { default as GenericEthereumLookupSource } from './LookupSource';
|
||||||
@@ -3,14 +3,12 @@
|
|||||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||||
|
|
||||||
import { SignOptions } from '@polkadot/keyring/types';
|
import { SignOptions } from '@polkadot/keyring/types';
|
||||||
import { IKeyringPair } from '../types';
|
import { IKeyringPair, Registry } from '../types';
|
||||||
|
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
// a helper function for both types of payloads, Raw and metadata-known
|
// a helper function for both types of payloads, Raw and metadata-known
|
||||||
export function sign (signerPair: IKeyringPair, u8a: Uint8Array, options?: SignOptions): Uint8Array {
|
export function sign (registry: Registry, signerPair: IKeyringPair, u8a: Uint8Array, options?: SignOptions): Uint8Array {
|
||||||
const encoded = u8a.length > 256
|
const encoded = u8a.length > 256
|
||||||
? blake2AsU8a(u8a)
|
? registry.hash(u8a)
|
||||||
: u8a;
|
: u8a;
|
||||||
|
|
||||||
return signerPair.sign(encoded, options);
|
return signerPair.sign(encoded, options);
|
||||||
|
|||||||
@@ -67,6 +67,6 @@ export default class ExtrinsicPayloadV1 extends Struct {
|
|||||||
* @description Sign the payload with the keypair
|
* @description Sign the payload with the keypair
|
||||||
*/
|
*/
|
||||||
public sign (signerPair: IKeyringPair): Uint8Array {
|
public sign (signerPair: IKeyringPair): Uint8Array {
|
||||||
return sign(signerPair, this.toU8a({ method: true }));
|
return sign(this.registry, signerPair, this.toU8a({ method: true }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,8 +7,6 @@ import { Address, Balance, Call, Index } from '../../interfaces/runtime';
|
|||||||
import { ExtrinsicPayloadValue, IExtrinsicSignature, IKeyringPair, Registry, SignatureOptions } from '../../types';
|
import { ExtrinsicPayloadValue, IExtrinsicSignature, IKeyringPair, Registry, SignatureOptions } from '../../types';
|
||||||
import { ExtrinsicSignatureOptions } from '../types';
|
import { ExtrinsicSignatureOptions } from '../types';
|
||||||
|
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import Compact from '../../codec/Compact';
|
import Compact from '../../codec/Compact';
|
||||||
import Struct from '../../codec/Struct';
|
import Struct from '../../codec/Struct';
|
||||||
import { EMPTY_U8A, IMMORTAL_ERA } from '../constants';
|
import { EMPTY_U8A, IMMORTAL_ERA } from '../constants';
|
||||||
@@ -142,10 +140,7 @@ export default class ExtrinsicSignatureV1 extends Struct implements IExtrinsicSi
|
|||||||
* @description Generate a payload and applies the signature from a keypair
|
* @description Generate a payload and applies the signature from a keypair
|
||||||
*/
|
*/
|
||||||
public sign (method: Call, account: IKeyringPair, options: SignatureOptions): IExtrinsicSignature {
|
public sign (method: Call, account: IKeyringPair, options: SignatureOptions): IExtrinsicSignature {
|
||||||
const address = account.publicKey.length > 32
|
const signer = this.registry.createType('Address', account.addressRaw);
|
||||||
? blake2AsU8a(account.publicKey, 256)
|
|
||||||
: account.publicKey;
|
|
||||||
const signer = this.registry.createType('Address', address);
|
|
||||||
const payload = this.createPayload(method, options);
|
const payload = this.createPayload(method, options);
|
||||||
const signature = this.registry.createType('Signature', payload.sign(account));
|
const signature = this.registry.createType('Signature', payload.sign(account));
|
||||||
|
|
||||||
|
|||||||
@@ -69,6 +69,6 @@ export default class ExtrinsicPayloadV2 extends Struct {
|
|||||||
* @description Sign the payload with the keypair
|
* @description Sign the payload with the keypair
|
||||||
*/
|
*/
|
||||||
public sign (signerPair: IKeyringPair): Uint8Array {
|
public sign (signerPair: IKeyringPair): Uint8Array {
|
||||||
return sign(signerPair, this.toU8a({ method: true }));
|
return sign(this.registry, signerPair, this.toU8a({ method: true }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,8 +7,6 @@ import { Address, Balance, Call, Index } from '../../interfaces/runtime';
|
|||||||
import { ExtrinsicPayloadValue, IExtrinsicSignature, IKeyringPair, Registry, SignatureOptions } from '../../types';
|
import { ExtrinsicPayloadValue, IExtrinsicSignature, IKeyringPair, Registry, SignatureOptions } from '../../types';
|
||||||
import { ExtrinsicSignatureOptions } from '../types';
|
import { ExtrinsicSignatureOptions } from '../types';
|
||||||
|
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import Compact from '../../codec/Compact';
|
import Compact from '../../codec/Compact';
|
||||||
import Struct from '../../codec/Struct';
|
import Struct from '../../codec/Struct';
|
||||||
import { EMPTY_U8A, IMMORTAL_ERA } from '../constants';
|
import { EMPTY_U8A, IMMORTAL_ERA } from '../constants';
|
||||||
@@ -138,10 +136,7 @@ export default class ExtrinsicSignatureV2 extends Struct implements IExtrinsicSi
|
|||||||
* @description Generate a payload and applies the signature from a keypair
|
* @description Generate a payload and applies the signature from a keypair
|
||||||
*/
|
*/
|
||||||
public sign (method: Call, account: IKeyringPair, options: SignatureOptions): IExtrinsicSignature {
|
public sign (method: Call, account: IKeyringPair, options: SignatureOptions): IExtrinsicSignature {
|
||||||
const address = account.publicKey.length > 32
|
const signer = this.registry.createType('Address', account.addressRaw);
|
||||||
? blake2AsU8a(account.publicKey, 256)
|
|
||||||
: account.publicKey;
|
|
||||||
const signer = this.registry.createType('Address', address);
|
|
||||||
const payload = this.createPayload(method, options);
|
const payload = this.createPayload(method, options);
|
||||||
const signature = this.registry.createType('Signature', payload.sign(account));
|
const signature = this.registry.createType('Signature', payload.sign(account));
|
||||||
|
|
||||||
|
|||||||
@@ -88,6 +88,6 @@ export default class ExtrinsicPayloadV3 extends Struct {
|
|||||||
* @description Sign the payload with the keypair
|
* @description Sign the payload with the keypair
|
||||||
*/
|
*/
|
||||||
public sign (signerPair: IKeyringPair): Uint8Array {
|
public sign (signerPair: IKeyringPair): Uint8Array {
|
||||||
return sign(signerPair, this.toU8a({ method: true }));
|
return sign(this.registry, signerPair, this.toU8a({ method: true }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,8 +5,6 @@
|
|||||||
import { Address, Call } from '../../interfaces/runtime';
|
import { Address, Call } from '../../interfaces/runtime';
|
||||||
import { ExtrinsicPayloadValue, IExtrinsicSignature, IKeyringPair, SignatureOptions } from '../../types';
|
import { ExtrinsicPayloadValue, IExtrinsicSignature, IKeyringPair, SignatureOptions } from '../../types';
|
||||||
|
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import { IMMORTAL_ERA } from '../constants';
|
import { IMMORTAL_ERA } from '../constants';
|
||||||
import ExtrinsicSignatureV2 from '../v2/ExtrinsicSignature';
|
import ExtrinsicSignatureV2 from '../v2/ExtrinsicSignature';
|
||||||
import ExtrinsicPayloadV3 from './ExtrinsicPayload';
|
import ExtrinsicPayloadV3 from './ExtrinsicPayload';
|
||||||
@@ -48,10 +46,7 @@ export default class ExtrinsicSignatureV3 extends ExtrinsicSignatureV2 {
|
|||||||
* @description Generate a payload and applies the signature from a keypair
|
* @description Generate a payload and applies the signature from a keypair
|
||||||
*/
|
*/
|
||||||
public sign (method: Call, account: IKeyringPair, options: SignatureOptions): IExtrinsicSignature {
|
public sign (method: Call, account: IKeyringPair, options: SignatureOptions): IExtrinsicSignature {
|
||||||
const address = account.publicKey.length > 32
|
const signer = this.registry.createType('Address', account.addressRaw);
|
||||||
? blake2AsU8a(account.publicKey, 256)
|
|
||||||
: account.publicKey;
|
|
||||||
const signer = this.registry.createType('Address', address);
|
|
||||||
const payload = this.createPayload(method, options);
|
const payload = this.createPayload(method, options);
|
||||||
const signature = this.registry.createType('Signature', payload.sign(account));
|
const signature = this.registry.createType('Signature', payload.sign(account));
|
||||||
|
|
||||||
|
|||||||
@@ -91,6 +91,6 @@ export default class ExtrinsicPayloadV4 extends Struct {
|
|||||||
// to have the length prefix included. This means that the data-as-signed is un-decodable,
|
// to have the length prefix included. This means that the data-as-signed is un-decodable,
|
||||||
// but is also doesn't need the extra information, only the pure data (and is not decoded)
|
// but is also doesn't need the extra information, only the pure data (and is not decoded)
|
||||||
// ... The same applies to V1..V3, if we have a V5, carry move this comment to latest
|
// ... The same applies to V1..V3, if we have a V5, carry move this comment to latest
|
||||||
return sign(signerPair, this.toU8a({ method: true }), { withType: true });
|
return sign(this.registry, signerPair, this.toU8a({ method: true }), { withType: true });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import { ExtrinsicPayloadValue, IExtrinsicSignature, IKeyringPair, Registry, Sig
|
|||||||
import { ExtrinsicSignatureOptions } from '../types';
|
import { ExtrinsicSignatureOptions } from '../types';
|
||||||
|
|
||||||
import { u8aConcat } from '@polkadot/util';
|
import { u8aConcat } from '@polkadot/util';
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import Compact from '../../codec/Compact';
|
import Compact from '../../codec/Compact';
|
||||||
import Struct from '../../codec/Struct';
|
import Struct from '../../codec/Struct';
|
||||||
@@ -142,10 +141,7 @@ export default class ExtrinsicSignatureV4 extends Struct implements IExtrinsicSi
|
|||||||
* @description Generate a payload and applies the signature from a keypair
|
* @description Generate a payload and applies the signature from a keypair
|
||||||
*/
|
*/
|
||||||
public sign (method: Call, account: IKeyringPair, options: SignatureOptions): IExtrinsicSignature {
|
public sign (method: Call, account: IKeyringPair, options: SignatureOptions): IExtrinsicSignature {
|
||||||
const address = account.publicKey.length > 32
|
const signer = this.registry.createType('Address', account.addressRaw);
|
||||||
? blake2AsU8a(account.publicKey, 256)
|
|
||||||
: account.publicKey;
|
|
||||||
const signer = this.registry.createType('Address', address);
|
|
||||||
const payload = this.createPayload(method, options);
|
const payload = this.createPayload(method, options);
|
||||||
const signature = this.registry.createType('MultiSignature', payload.sign(account));
|
const signature = this.registry.createType('MultiSignature', payload.sign(account));
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,6 @@
|
|||||||
import { Digest, DigestItem, H256, Header } from '../interfaces/runtime';
|
import { Digest, DigestItem, H256, Header } from '../interfaces/runtime';
|
||||||
import { AnyNumber, AnyU8a, Registry } from '../types';
|
import { AnyNumber, AnyU8a, Registry } from '../types';
|
||||||
|
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import Extrinsic from '../extrinsic/Extrinsic';
|
import Extrinsic from '../extrinsic/Extrinsic';
|
||||||
import Struct from '../codec/Struct';
|
import Struct from '../codec/Struct';
|
||||||
import Vec from '../codec/Vec';
|
import Vec from '../codec/Vec';
|
||||||
@@ -42,7 +40,7 @@ export default class Block extends Struct {
|
|||||||
* @description Encodes a content [[Hash]] for the block
|
* @description Encodes a content [[Hash]] for the block
|
||||||
*/
|
*/
|
||||||
public get contentHash (): H256 {
|
public get contentHash (): H256 {
|
||||||
return this.registry.createType('H256', blake2AsU8a(this.toU8a(), 256));
|
return this.registry.createType('H256', this.registry.hash(this.toU8a()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+7
-7
@@ -5,12 +5,12 @@
|
|||||||
import { TypeRegistry } from '../create';
|
import { TypeRegistry } from '../create';
|
||||||
import AccountId from './AccountId';
|
import AccountId from './AccountId';
|
||||||
import AccountIndex from './AccountIndex';
|
import AccountIndex from './AccountIndex';
|
||||||
import Address from './Address';
|
import LookupSource from './LookupSource';
|
||||||
|
|
||||||
describe('Address', (): void => {
|
describe('LookupSource', (): void => {
|
||||||
const registry = new TypeRegistry();
|
const registry = new TypeRegistry();
|
||||||
|
|
||||||
const testDecode = (type: string, input: Address | AccountId | AccountIndex | number[] | Uint8Array, expected: string): void =>
|
const testDecode = (type: string, input: LookupSource | AccountId | AccountIndex | number[] | Uint8Array, expected: string): void =>
|
||||||
it(`can decode from ${type}`, (): void => {
|
it(`can decode from ${type}`, (): void => {
|
||||||
const a = registry.createType('Address', input);
|
const a = registry.createType('Address', input);
|
||||||
|
|
||||||
@@ -21,19 +21,19 @@ describe('Address', (): void => {
|
|||||||
it('equals on AccountId', (): void => {
|
it('equals on AccountId', (): void => {
|
||||||
const addr = '5DkQbYAExs3M2sZgT1Ec3mKfZnAQCL4Dt9beTCknkCUn5jzo';
|
const addr = '5DkQbYAExs3M2sZgT1Ec3mKfZnAQCL4Dt9beTCknkCUn5jzo';
|
||||||
|
|
||||||
expect(registry.createType('Address', addr).eq(addr)).toBe(true);
|
expect(registry.createType('LookupSource', addr).eq(addr)).toBe(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('equals on AccountIndex', (): void => {
|
it('equals on AccountIndex', (): void => {
|
||||||
// see the test below - these are equivalent (with different prefix encoding)
|
// see the test below - these are equivalent (with different prefix encoding)
|
||||||
expect(registry.createType('Address', '2jpAFn').eq('25GUyv')).toBe(true);
|
expect(registry.createType('LookupSource', '2jpAFn').eq('25GUyv')).toBe(true);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('decoding', (): void => {
|
describe('decoding', (): void => {
|
||||||
testDecode(
|
testDecode(
|
||||||
'Address',
|
'Address',
|
||||||
registry.createType('Address', '5C62W7ELLAAfix9LYrcx5smtcffbhvThkM5x7xfMeYXCtGwF'),
|
registry.createType('LookupSource', '5C62W7ELLAAfix9LYrcx5smtcffbhvThkM5x7xfMeYXCtGwF'),
|
||||||
'5C62W7ELLAAfix9LYrcx5smtcffbhvThkM5x7xfMeYXCtGwF'
|
'5C62W7ELLAAfix9LYrcx5smtcffbhvThkM5x7xfMeYXCtGwF'
|
||||||
);
|
);
|
||||||
testDecode(
|
testDecode(
|
||||||
@@ -43,7 +43,7 @@ describe('Address', (): void => {
|
|||||||
);
|
);
|
||||||
testDecode(
|
testDecode(
|
||||||
'AccountIndex (mixed prefixes)',
|
'AccountIndex (mixed prefixes)',
|
||||||
registry.createType('Address', '2jpAFn'),
|
registry.createType('LookupSource', '2jpAFn'),
|
||||||
// NOTE Expected adress here is encoded with prefix 42, input above with 68
|
// NOTE Expected adress here is encoded with prefix 42, input above with 68
|
||||||
'25GUyv'
|
'25GUyv'
|
||||||
);
|
);
|
||||||
@@ -12,7 +12,7 @@ import Base from '../codec/Base';
|
|||||||
import AccountId from './AccountId';
|
import AccountId from './AccountId';
|
||||||
import AccountIndex from './AccountIndex';
|
import AccountIndex from './AccountIndex';
|
||||||
|
|
||||||
type AnyAddress = BN | Address | AccountId | AccountIndex | number[] | Uint8Array | number | string;
|
type AnyAddress = BN | LookupSource | AccountId | AccountIndex | number[] | Uint8Array | number | string;
|
||||||
|
|
||||||
export const ACCOUNT_ID_PREFIX = new Uint8Array([0xff]);
|
export const ACCOUNT_ID_PREFIX = new Uint8Array([0xff]);
|
||||||
|
|
||||||
@@ -41,23 +41,23 @@ function decodeU8a (registry: Registry, value: Uint8Array): AccountId | AccountI
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @name Address
|
* @name LookupSource
|
||||||
* @description
|
* @description
|
||||||
* A wrapper around an AccountId and/or AccountIndex that is encoded with a prefix.
|
* A wrapper around an AccountId and/or AccountIndex that is encoded with a prefix.
|
||||||
* Since we are dealing with underlying publicKeys (or shorter encoded addresses),
|
* Since we are dealing with underlying publicKeys (or shorter encoded addresses),
|
||||||
* we extend from Base with an AccountId/AccountIndex wrapper. Basically the Address
|
* we extend from Base with an AccountId/AccountIndex wrapper. Basically the Address
|
||||||
* is encoded as `[ <prefix-byte>, ...publicKey/...bytes ]` as per spec
|
* is encoded as `[ <prefix-byte>, ...publicKey/...bytes ]` as per spec
|
||||||
*/
|
*/
|
||||||
export default class Address extends Base<AccountId | AccountIndex> {
|
export default class LookupSource extends Base<AccountId | AccountIndex> {
|
||||||
constructor (registry: Registry, value: AnyAddress = new Uint8Array()) {
|
constructor (registry: Registry, value: AnyAddress = new Uint8Array()) {
|
||||||
super(registry, Address._decodeAddress(registry, value));
|
super(registry, LookupSource._decodeAddress(registry, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
private static _decodeAddress (registry: Registry, value: AnyAddress): AccountId | AccountIndex {
|
private static _decodeAddress (registry: Registry, value: AnyAddress): AccountId | AccountIndex {
|
||||||
if (value instanceof AccountId || value instanceof AccountIndex) {
|
if (value instanceof AccountId || value instanceof AccountIndex) {
|
||||||
return value;
|
return value;
|
||||||
} else if (value instanceof Address) {
|
} else if (value instanceof LookupSource) {
|
||||||
return value._raw;
|
return value._raw;
|
||||||
} else if (isBn(value) || isNumber(value)) {
|
} else if (isBn(value) || isNumber(value)) {
|
||||||
return registry.createType('AccountIndex', value);
|
return registry.createType('AccountIndex', value);
|
||||||
@@ -2,11 +2,13 @@
|
|||||||
// This software may be modified and distributed under the terms
|
// This software may be modified and distributed under the terms
|
||||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||||
|
|
||||||
|
export * from '../ethereum';
|
||||||
|
|
||||||
export { default as GenericAccountId } from './AccountId';
|
export { default as GenericAccountId } from './AccountId';
|
||||||
export { default as GenericAccountIndex } from './AccountIndex';
|
export { default as GenericAccountIndex } from './AccountIndex';
|
||||||
export { default as GenericAddress } from './Address';
|
|
||||||
export { default as GenericBlock } from './Block';
|
export { default as GenericBlock } from './Block';
|
||||||
export { default as GenericCall } from './Call';
|
export { default as GenericCall } from './Call';
|
||||||
export { default as GenericConsensusEngineId } from './ConsensusEngineId';
|
export { default as GenericConsensusEngineId } from './ConsensusEngineId';
|
||||||
export { default as GenericEvent } from './Event';
|
export { default as GenericEvent } from './Event';
|
||||||
|
export { default as GenericLookupSource } from './LookupSource';
|
||||||
export { default as GenericVote } from './Vote';
|
export { default as GenericVote } from './Vote';
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ export { default as grandpa } from './grandpa/definitions';
|
|||||||
export { default as identity } from './identity/definitions';
|
export { default as identity } from './identity/definitions';
|
||||||
export { default as imOnline } from './imOnline/definitions';
|
export { default as imOnline } from './imOnline/definitions';
|
||||||
export { default as offences } from './offences/definitions';
|
export { default as offences } from './offences/definitions';
|
||||||
|
export { default as proxy } from './proxy/definitions';
|
||||||
export { default as recovery } from './recovery/definitions';
|
export { default as recovery } from './recovery/definitions';
|
||||||
export { default as scheduler } from './scheduler/definitions';
|
export { default as scheduler } from './scheduler/definitions';
|
||||||
export { default as session } from './session/definitions';
|
export { default as session } from './session/definitions';
|
||||||
@@ -42,6 +43,9 @@ export { default as parachains } from './parachains/definitions';
|
|||||||
export { default as poll } from './poll/definitions';
|
export { default as poll } from './poll/definitions';
|
||||||
export { default as purchase } from './purchase/definitions';
|
export { default as purchase } from './purchase/definitions';
|
||||||
|
|
||||||
|
// other useful types
|
||||||
|
export { default as ethereum } from './ethereum/definitions';
|
||||||
|
|
||||||
// pull in metadata & rpc last, assuming that is uses info from above
|
// pull in metadata & rpc last, assuming that is uses info from above
|
||||||
export { default as metadata } from './metadata/definitions';
|
export { default as metadata } from './metadata/definitions';
|
||||||
export { default as rpc } from './rpc/definitions';
|
export { default as rpc } from './rpc/definitions';
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
// Copyright 2017-2020 @polkadot/types authors & contributors
|
||||||
|
// This software may be modified and distributed under the terms
|
||||||
|
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||||
|
|
||||||
|
// order important in structs... :)
|
||||||
|
/* eslint-disable sort-keys */
|
||||||
|
|
||||||
|
import { Definitions } from '../../types';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
rpc: {},
|
||||||
|
types: {
|
||||||
|
EthereumAccountId: 'GenericEthereumAccountId',
|
||||||
|
EthereumLookupSource: 'GenericEthereumLookupSource'
|
||||||
|
}
|
||||||
|
} as Definitions;
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// Auto-generated via `yarn polkadot-types-from-defs`, do not edit
|
||||||
|
/* eslint-disable */
|
||||||
|
|
||||||
|
export * from './types';
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
// Auto-generated via `yarn polkadot-types-from-defs`, do not edit
|
||||||
|
/* eslint-disable */
|
||||||
|
|
||||||
|
import { GenericEthereumAccountId, GenericEthereumLookupSource } from '@polkadot/types/generic';
|
||||||
|
|
||||||
|
/** @name EthereumAccountId */
|
||||||
|
export interface EthereumAccountId extends GenericEthereumAccountId {}
|
||||||
|
|
||||||
|
/** @name EthereumLookupSource */
|
||||||
|
export interface EthereumLookupSource extends GenericEthereumLookupSource {}
|
||||||
|
|
||||||
|
export type PHANTOM_ETHEREUM = 'ethereum';
|
||||||
@@ -9,9 +9,25 @@ import { Definitions } from '../../types';
|
|||||||
|
|
||||||
const SLOT_RANGE_COUNT = 10;
|
const SLOT_RANGE_COUNT = 10;
|
||||||
|
|
||||||
|
const proposeTypes = {
|
||||||
|
ParachainProposal: {
|
||||||
|
proposer: 'AccountId',
|
||||||
|
validationFunction: 'ValidationCode',
|
||||||
|
initialHeadState: 'HeadData',
|
||||||
|
validators: 'Vec<ValidatorId>',
|
||||||
|
name: 'Vec<u8>',
|
||||||
|
balance: 'Balance'
|
||||||
|
},
|
||||||
|
RegisteredParachainInfo: {
|
||||||
|
validators: 'Vec<ValidatorId>',
|
||||||
|
proposer: 'AccountId'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
rpc: {},
|
rpc: {},
|
||||||
types: {
|
types: {
|
||||||
|
...proposeTypes,
|
||||||
AbridgedCandidateReceipt: {
|
AbridgedCandidateReceipt: {
|
||||||
parachainIndex: 'ParaId',
|
parachainIndex: 'ParaId',
|
||||||
relayParent: 'Hash',
|
relayParent: 'Hash',
|
||||||
@@ -113,6 +129,7 @@ export default {
|
|||||||
ParaScheduling: {
|
ParaScheduling: {
|
||||||
_enum: ['Always', 'Dynamic']
|
_enum: ['Always', 'Dynamic']
|
||||||
},
|
},
|
||||||
|
RelayChainBlockNumber: 'BlockNumber',
|
||||||
Remark: '[u8; 32]',
|
Remark: '[u8; 32]',
|
||||||
Retriable: {
|
Retriable: {
|
||||||
_enum: {
|
_enum: {
|
||||||
@@ -143,6 +160,11 @@ export default {
|
|||||||
origin: 'ParachainDispatchOrigin',
|
origin: 'ParachainDispatchOrigin',
|
||||||
data: 'Vec<u8>'
|
data: 'Vec<u8>'
|
||||||
},
|
},
|
||||||
|
ValidationFunctionParams: {
|
||||||
|
maxCodeSize: 'u32',
|
||||||
|
relayChainHeight: 'RelayChainBlockNumber',
|
||||||
|
codeUpgradeAllowed: 'Option<RelayChainBlockNumber>'
|
||||||
|
},
|
||||||
ValidationCode: 'Bytes',
|
ValidationCode: 'Bytes',
|
||||||
ValidatorSignature: 'Signature',
|
ValidatorSignature: 'Signature',
|
||||||
ValidityAttestation: {
|
ValidityAttestation: {
|
||||||
|
|||||||
@@ -141,6 +141,16 @@ export interface ParachainDispatchOrigin extends Enum {
|
|||||||
readonly isRoot: boolean;
|
readonly isRoot: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @name ParachainProposal */
|
||||||
|
export interface ParachainProposal extends Struct {
|
||||||
|
readonly proposer: AccountId;
|
||||||
|
readonly validationFunction: ValidationCode;
|
||||||
|
readonly initialHeadState: HeadData;
|
||||||
|
readonly validators: Vec<ValidatorId>;
|
||||||
|
readonly name: Bytes;
|
||||||
|
readonly balance: Balance;
|
||||||
|
}
|
||||||
|
|
||||||
/** @name ParaId */
|
/** @name ParaId */
|
||||||
export interface ParaId extends u32 {}
|
export interface ParaId extends u32 {}
|
||||||
|
|
||||||
@@ -161,6 +171,15 @@ export interface ParaScheduling extends Enum {
|
|||||||
readonly isDynamic: boolean;
|
readonly isDynamic: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @name RegisteredParachainInfo */
|
||||||
|
export interface RegisteredParachainInfo extends Struct {
|
||||||
|
readonly validators: Vec<ValidatorId>;
|
||||||
|
readonly proposer: AccountId;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @name RelayChainBlockNumber */
|
||||||
|
export interface RelayChainBlockNumber extends BlockNumber {}
|
||||||
|
|
||||||
/** @name Remark */
|
/** @name Remark */
|
||||||
export interface Remark extends U8aFixed {}
|
export interface Remark extends U8aFixed {}
|
||||||
|
|
||||||
@@ -220,6 +239,13 @@ export interface UpwardMessage extends Struct {
|
|||||||
/** @name ValidationCode */
|
/** @name ValidationCode */
|
||||||
export interface ValidationCode extends Bytes {}
|
export interface ValidationCode extends Bytes {}
|
||||||
|
|
||||||
|
/** @name ValidationFunctionParams */
|
||||||
|
export interface ValidationFunctionParams extends Struct {
|
||||||
|
readonly maxCodeSize: u32;
|
||||||
|
readonly relayChainHeight: RelayChainBlockNumber;
|
||||||
|
readonly codeUpgradeAllowed: Option<RelayChainBlockNumber>;
|
||||||
|
}
|
||||||
|
|
||||||
/** @name ValidatorSignature */
|
/** @name ValidatorSignature */
|
||||||
export interface ValidatorSignature extends Signature {}
|
export interface ValidatorSignature extends Signature {}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
// Copyright 2017-2020 @polkadot/types authors & contributors
|
||||||
|
// This software may be modified and distributed under the terms
|
||||||
|
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||||
|
|
||||||
|
// order important in structs... :)
|
||||||
|
/* eslint-disable sort-keys */
|
||||||
|
|
||||||
|
import { Definitions } from '../../types';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
rpc: {},
|
||||||
|
types: {
|
||||||
|
ProxyDefinition: {
|
||||||
|
delegate: 'AccountId',
|
||||||
|
proxyType: 'ProxyType',
|
||||||
|
delay: 'BlockNumber'
|
||||||
|
},
|
||||||
|
ProxyType: {
|
||||||
|
_enum: ['Any', 'NonTransfer', 'Governance', 'Staking']
|
||||||
|
},
|
||||||
|
ProxyAnnouncement: {
|
||||||
|
real: 'AccountId',
|
||||||
|
callHash: 'Hash',
|
||||||
|
height: 'BlockNumber'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} as Definitions;
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// Auto-generated via `yarn polkadot-types-from-defs`, do not edit
|
||||||
|
/* eslint-disable */
|
||||||
|
|
||||||
|
export * from './types';
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
// Auto-generated via `yarn polkadot-types-from-defs`, do not edit
|
||||||
|
/* eslint-disable */
|
||||||
|
|
||||||
|
import { Enum, Struct } from '@polkadot/types/codec';
|
||||||
|
import { AccountId, BlockNumber, Hash } from '@polkadot/types/interfaces/runtime';
|
||||||
|
|
||||||
|
/** @name ProxyAnnouncement */
|
||||||
|
export interface ProxyAnnouncement extends Struct {
|
||||||
|
readonly real: AccountId;
|
||||||
|
readonly callHash: Hash;
|
||||||
|
readonly height: BlockNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @name ProxyDefinition */
|
||||||
|
export interface ProxyDefinition extends Struct {
|
||||||
|
readonly delegate: AccountId;
|
||||||
|
readonly proxyType: ProxyType;
|
||||||
|
readonly delay: BlockNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @name ProxyType */
|
||||||
|
export interface ProxyType extends Enum {
|
||||||
|
readonly isAny: boolean;
|
||||||
|
readonly isNonTransfer: boolean;
|
||||||
|
readonly isGovernance: boolean;
|
||||||
|
readonly isStaking: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export type PHANTOM_PROXY = 'proxy';
|
||||||
@@ -7,9 +7,26 @@
|
|||||||
|
|
||||||
import { Definitions } from '../../types';
|
import { Definitions } from '../../types';
|
||||||
|
|
||||||
|
const numberTypes = {
|
||||||
|
Fixed64: 'Int<64, Fixed64>',
|
||||||
|
FixedI64: 'Int<64, FixedI64>',
|
||||||
|
FixedU64: 'UInt<64, FixedU64>',
|
||||||
|
Fixed128: 'Int<128, Fixed128>',
|
||||||
|
FixedI128: 'Int<128, FixedI128>',
|
||||||
|
FixedU128: 'UInt<128, FixedU128>',
|
||||||
|
I32F32: 'Int<64, I32F32>',
|
||||||
|
U32F32: 'UInt<64, U32F32>',
|
||||||
|
PerU16: 'u16',
|
||||||
|
Perbill: 'u32',
|
||||||
|
Percent: 'u8',
|
||||||
|
Permill: 'u32',
|
||||||
|
Perquintill: 'u64'
|
||||||
|
};
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
rpc: {},
|
rpc: {},
|
||||||
types: {
|
types: {
|
||||||
|
...numberTypes,
|
||||||
AccountId: 'GenericAccountId',
|
AccountId: 'GenericAccountId',
|
||||||
AccountIdOf: 'AccountId',
|
AccountIdOf: 'AccountId',
|
||||||
AccountIndex: 'GenericAccountIndex',
|
AccountIndex: 'GenericAccountIndex',
|
||||||
@@ -20,6 +37,8 @@ export default {
|
|||||||
Block: 'GenericBlock',
|
Block: 'GenericBlock',
|
||||||
BlockNumber: 'u32',
|
BlockNumber: 'u32',
|
||||||
Call: 'GenericCall',
|
Call: 'GenericCall',
|
||||||
|
CallHash: 'Hash',
|
||||||
|
CallHashOf: 'CallHash',
|
||||||
ChangesTrieConfiguration: {
|
ChangesTrieConfiguration: {
|
||||||
digestInterval: 'u32',
|
digestInterval: 'u32',
|
||||||
digestLevels: 'u32'
|
digestLevels: 'u32'
|
||||||
@@ -43,8 +62,7 @@ export default {
|
|||||||
normal: 'Weight',
|
normal: 'Weight',
|
||||||
operational: 'Weight'
|
operational: 'Weight'
|
||||||
},
|
},
|
||||||
Fixed64: 'Int<64, Fixed64>',
|
GenericAddress: 'LookupSource',
|
||||||
Fixed128: 'Int<128, Fixed128>',
|
|
||||||
H160: '[u8; 20; H160]',
|
H160: '[u8; 20; H160]',
|
||||||
H256: '[u8; 32; H256]',
|
H256: '[u8; 32; H256]',
|
||||||
H512: '[u8; 64; H512]',
|
H512: '[u8; 64; H512]',
|
||||||
@@ -61,7 +79,7 @@ export default {
|
|||||||
KeyValue: '(StorageKey, StorageData)',
|
KeyValue: '(StorageKey, StorageData)',
|
||||||
KeyTypeId: 'u32',
|
KeyTypeId: 'u32',
|
||||||
LockIdentifier: '[u8; 8]',
|
LockIdentifier: '[u8; 8]',
|
||||||
LookupSource: 'Address',
|
LookupSource: 'GenericLookupSource',
|
||||||
LookupTarget: 'AccountId',
|
LookupTarget: 'AccountId',
|
||||||
ModuleId: 'LockIdentifier',
|
ModuleId: 'LockIdentifier',
|
||||||
Moment: 'u64',
|
Moment: 'u64',
|
||||||
@@ -70,15 +88,8 @@ export default {
|
|||||||
Pays: {
|
Pays: {
|
||||||
_enum: ['Yes', 'No']
|
_enum: ['Yes', 'No']
|
||||||
},
|
},
|
||||||
Perbill: 'u32',
|
|
||||||
Percent: 'u8',
|
|
||||||
Permill: 'u32',
|
|
||||||
Perquintill: 'u64',
|
|
||||||
Phantom: 'Null',
|
Phantom: 'Null',
|
||||||
PhantomData: 'Null',
|
PhantomData: 'Null',
|
||||||
ProxyType: {
|
|
||||||
_enum: ['Any', 'NonTransfer', 'Governance', 'Staking']
|
|
||||||
},
|
|
||||||
Releases: {
|
Releases: {
|
||||||
_enum: ['V1', 'V2', 'V3', 'V4', 'V5', 'V6', 'V7', 'V8', 'V9', 'V10']
|
_enum: ['V1', 'V2', 'V3', 'V4', 'V5', 'V6', 'V7', 'V8', 'V9', 'V10']
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
|
|
||||||
import { ITuple } from '@polkadot/types/types';
|
import { ITuple } from '@polkadot/types/types';
|
||||||
import { Compact, Enum, Int, Struct, U8aFixed, Vec } from '@polkadot/types/codec';
|
import { Compact, Enum, Int, Struct, U8aFixed, UInt, Vec } from '@polkadot/types/codec';
|
||||||
import { GenericAccountId, GenericAccountIndex, GenericAddress, GenericBlock, GenericCall, GenericConsensusEngineId } from '@polkadot/types/generic';
|
import { GenericAccountId, GenericAccountIndex, GenericBlock, GenericCall, GenericConsensusEngineId, GenericLookupSource } from '@polkadot/types/generic';
|
||||||
import { Bytes, DoNotConstruct, Null, StorageKey, u128, u32, u64, u8 } from '@polkadot/types/primitive';
|
import { Bytes, DoNotConstruct, Null, StorageKey, u128, u16, u32, u64, u8 } from '@polkadot/types/primitive';
|
||||||
import { AuthorityId } from '@polkadot/types/interfaces/consensus';
|
import { AuthorityId } from '@polkadot/types/interfaces/consensus';
|
||||||
import { Signature } from '@polkadot/types/interfaces/extrinsics';
|
import { Signature } from '@polkadot/types/interfaces/extrinsics';
|
||||||
|
|
||||||
@@ -38,6 +38,12 @@ export interface BlockNumber extends u32 {}
|
|||||||
/** @name Call */
|
/** @name Call */
|
||||||
export interface Call extends GenericCall {}
|
export interface Call extends GenericCall {}
|
||||||
|
|
||||||
|
/** @name CallHash */
|
||||||
|
export interface CallHash extends Hash {}
|
||||||
|
|
||||||
|
/** @name CallHashOf */
|
||||||
|
export interface CallHashOf extends CallHash {}
|
||||||
|
|
||||||
/** @name ChangesTrieConfiguration */
|
/** @name ChangesTrieConfiguration */
|
||||||
export interface ChangesTrieConfiguration extends Struct {
|
export interface ChangesTrieConfiguration extends Struct {
|
||||||
readonly digestInterval: u32;
|
readonly digestInterval: u32;
|
||||||
@@ -85,6 +91,21 @@ export interface Fixed128 extends Int {}
|
|||||||
/** @name Fixed64 */
|
/** @name Fixed64 */
|
||||||
export interface Fixed64 extends Int {}
|
export interface Fixed64 extends Int {}
|
||||||
|
|
||||||
|
/** @name FixedI128 */
|
||||||
|
export interface FixedI128 extends Int {}
|
||||||
|
|
||||||
|
/** @name FixedI64 */
|
||||||
|
export interface FixedI64 extends Int {}
|
||||||
|
|
||||||
|
/** @name FixedU128 */
|
||||||
|
export interface FixedU128 extends UInt {}
|
||||||
|
|
||||||
|
/** @name FixedU64 */
|
||||||
|
export interface FixedU64 extends UInt {}
|
||||||
|
|
||||||
|
/** @name GenericAddress */
|
||||||
|
export interface GenericAddress extends LookupSource {}
|
||||||
|
|
||||||
/** @name H160 */
|
/** @name H160 */
|
||||||
export interface H160 extends U8aFixed {}
|
export interface H160 extends U8aFixed {}
|
||||||
|
|
||||||
@@ -106,6 +127,9 @@ export interface Header extends Struct {
|
|||||||
readonly digest: Digest;
|
readonly digest: Digest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @name I32F32 */
|
||||||
|
export interface I32F32 extends Int {}
|
||||||
|
|
||||||
/** @name Index */
|
/** @name Index */
|
||||||
export interface Index extends u32 {}
|
export interface Index extends u32 {}
|
||||||
|
|
||||||
@@ -122,7 +146,7 @@ export interface KeyValue extends ITuple<[StorageKey, StorageData]> {}
|
|||||||
export interface LockIdentifier extends U8aFixed {}
|
export interface LockIdentifier extends U8aFixed {}
|
||||||
|
|
||||||
/** @name LookupSource */
|
/** @name LookupSource */
|
||||||
export interface LookupSource extends Address {}
|
export interface LookupSource extends GenericLookupSource {}
|
||||||
|
|
||||||
/** @name LookupTarget */
|
/** @name LookupTarget */
|
||||||
export interface LookupTarget extends AccountId {}
|
export interface LookupTarget extends AccountId {}
|
||||||
@@ -157,6 +181,9 @@ export interface Permill extends u32 {}
|
|||||||
/** @name Perquintill */
|
/** @name Perquintill */
|
||||||
export interface Perquintill extends u64 {}
|
export interface Perquintill extends u64 {}
|
||||||
|
|
||||||
|
/** @name PerU16 */
|
||||||
|
export interface PerU16 extends u16 {}
|
||||||
|
|
||||||
/** @name Phantom */
|
/** @name Phantom */
|
||||||
export interface Phantom extends Null {}
|
export interface Phantom extends Null {}
|
||||||
|
|
||||||
@@ -166,14 +193,6 @@ export interface PhantomData extends Null {}
|
|||||||
/** @name PreRuntime */
|
/** @name PreRuntime */
|
||||||
export interface PreRuntime extends ITuple<[ConsensusEngineId, Bytes]> {}
|
export interface PreRuntime extends ITuple<[ConsensusEngineId, Bytes]> {}
|
||||||
|
|
||||||
/** @name ProxyType */
|
|
||||||
export interface ProxyType extends Enum {
|
|
||||||
readonly isAny: boolean;
|
|
||||||
readonly isNonTransfer: boolean;
|
|
||||||
readonly isGovernance: boolean;
|
|
||||||
readonly isStaking: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @name Releases */
|
/** @name Releases */
|
||||||
export interface Releases extends Enum {
|
export interface Releases extends Enum {
|
||||||
readonly isV1: boolean;
|
readonly isV1: boolean;
|
||||||
@@ -209,6 +228,9 @@ export interface SignedBlock extends Struct {
|
|||||||
/** @name StorageData */
|
/** @name StorageData */
|
||||||
export interface StorageData extends Bytes {}
|
export interface StorageData extends Bytes {}
|
||||||
|
|
||||||
|
/** @name U32F32 */
|
||||||
|
export interface U32F32 extends UInt {}
|
||||||
|
|
||||||
/** @name ValidatorId */
|
/** @name ValidatorId */
|
||||||
export interface ValidatorId extends AccountId {}
|
export interface ValidatorId extends AccountId {}
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -24,6 +24,24 @@ export default {
|
|||||||
start: 'Option<Moment>'
|
start: 'Option<Moment>'
|
||||||
},
|
},
|
||||||
CompactAssignments: {
|
CompactAssignments: {
|
||||||
|
votes1: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 0], ValidatorIndexCompact)>',
|
||||||
|
votes2: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 1], ValidatorIndexCompact)>',
|
||||||
|
votes3: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 2], ValidatorIndexCompact)>',
|
||||||
|
votes4: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 3], ValidatorIndexCompact)>',
|
||||||
|
votes5: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 4], ValidatorIndexCompact)>',
|
||||||
|
votes6: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 5], ValidatorIndexCompact)>',
|
||||||
|
votes7: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 6], ValidatorIndexCompact)>',
|
||||||
|
votes8: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 7], ValidatorIndexCompact)>',
|
||||||
|
votes9: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 8], ValidatorIndexCompact)>',
|
||||||
|
votes10: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 9], ValidatorIndexCompact)>',
|
||||||
|
votes11: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 10], ValidatorIndexCompact)>',
|
||||||
|
votes12: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 11], ValidatorIndexCompact)>',
|
||||||
|
votes13: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 12], ValidatorIndexCompact)>',
|
||||||
|
votes14: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 13], ValidatorIndexCompact)>',
|
||||||
|
votes15: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 14], ValidatorIndexCompact)>',
|
||||||
|
votes16: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 15], ValidatorIndexCompact)>'
|
||||||
|
},
|
||||||
|
CompactAssignmentsTo257: {
|
||||||
votes1: 'Vec<(NominatorIndex, [CompactScore; 0], ValidatorIndex)>',
|
votes1: 'Vec<(NominatorIndex, [CompactScore; 0], ValidatorIndex)>',
|
||||||
votes2: 'Vec<(NominatorIndex, [CompactScore; 1], ValidatorIndex)>',
|
votes2: 'Vec<(NominatorIndex, [CompactScore; 1], ValidatorIndex)>',
|
||||||
votes3: 'Vec<(NominatorIndex, [CompactScore; 2], ValidatorIndex)>',
|
votes3: 'Vec<(NominatorIndex, [CompactScore; 2], ValidatorIndex)>',
|
||||||
@@ -42,6 +60,7 @@ export default {
|
|||||||
votes16: 'Vec<(NominatorIndex, [CompactScore; 15], ValidatorIndex)>'
|
votes16: 'Vec<(NominatorIndex, [CompactScore; 15], ValidatorIndex)>'
|
||||||
},
|
},
|
||||||
CompactScore: '(ValidatorIndex, OffchainAccuracy)',
|
CompactScore: '(ValidatorIndex, OffchainAccuracy)',
|
||||||
|
CompactScoreCompact: '(ValidatorIndexCompact, OffchainAccuracyCompact)',
|
||||||
ElectionCompute: {
|
ElectionCompute: {
|
||||||
_enum: ['OnChain', 'Signed', 'Authority']
|
_enum: ['OnChain', 'Signed', 'Authority']
|
||||||
},
|
},
|
||||||
@@ -96,8 +115,9 @@ export default {
|
|||||||
suppressed: 'bool'
|
suppressed: 'bool'
|
||||||
},
|
},
|
||||||
NominatorIndex: 'u32',
|
NominatorIndex: 'u32',
|
||||||
|
NominatorIndexCompact: 'Compact<NominatorIndex>',
|
||||||
OffchainAccuracy: 'PerU16',
|
OffchainAccuracy: 'PerU16',
|
||||||
PerU16: 'u16',
|
OffchainAccuracyCompact: 'Compact<OffchainAccuracy>',
|
||||||
PhragmenScore: '[u128; 3]',
|
PhragmenScore: '[u128; 3]',
|
||||||
Points: 'u32',
|
Points: 'u32',
|
||||||
RewardDestination: {
|
RewardDestination: {
|
||||||
@@ -162,6 +182,7 @@ export default {
|
|||||||
era: 'Compact<BlockNumber>'
|
era: 'Compact<BlockNumber>'
|
||||||
},
|
},
|
||||||
ValidatorIndex: 'u16',
|
ValidatorIndex: 'u16',
|
||||||
|
ValidatorIndexCompact: 'Compact<ValidatorIndex>',
|
||||||
ValidatorPrefs: {
|
ValidatorPrefs: {
|
||||||
commission: 'Compact<Perbill>'
|
commission: 'Compact<Perbill>'
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
import { ITuple } from '@polkadot/types/types';
|
import { ITuple } from '@polkadot/types/types';
|
||||||
import { BTreeMap, Compact, Enum, Option, Struct, Vec } from '@polkadot/types/codec';
|
import { BTreeMap, Compact, Enum, Option, Struct, Vec } from '@polkadot/types/codec';
|
||||||
import { bool, u128, u16, u32 } from '@polkadot/types/primitive';
|
import { bool, u128, u16, u32 } from '@polkadot/types/primitive';
|
||||||
import { AccountId, Balance, BlockNumber, Moment, Perbill } from '@polkadot/types/interfaces/runtime';
|
import { AccountId, Balance, BlockNumber, Moment, PerU16, Perbill } from '@polkadot/types/interfaces/runtime';
|
||||||
|
|
||||||
/** @name ActiveEraInfo */
|
/** @name ActiveEraInfo */
|
||||||
export interface ActiveEraInfo extends Struct {
|
export interface ActiveEraInfo extends Struct {
|
||||||
@@ -14,6 +14,26 @@ export interface ActiveEraInfo extends Struct {
|
|||||||
|
|
||||||
/** @name CompactAssignments */
|
/** @name CompactAssignments */
|
||||||
export interface CompactAssignments extends Struct {
|
export interface CompactAssignments extends Struct {
|
||||||
|
readonly votes1: Vec<ITuple<[NominatorIndexCompact, Vec<CompactScoreCompact>, ValidatorIndexCompact]>>;
|
||||||
|
readonly votes2: Vec<ITuple<[NominatorIndexCompact, Vec<CompactScoreCompact>, ValidatorIndexCompact]>>;
|
||||||
|
readonly votes3: Vec<ITuple<[NominatorIndexCompact, Vec<CompactScoreCompact>, ValidatorIndexCompact]>>;
|
||||||
|
readonly votes4: Vec<ITuple<[NominatorIndexCompact, Vec<CompactScoreCompact>, ValidatorIndexCompact]>>;
|
||||||
|
readonly votes5: Vec<ITuple<[NominatorIndexCompact, Vec<CompactScoreCompact>, ValidatorIndexCompact]>>;
|
||||||
|
readonly votes6: Vec<ITuple<[NominatorIndexCompact, Vec<CompactScoreCompact>, ValidatorIndexCompact]>>;
|
||||||
|
readonly votes7: Vec<ITuple<[NominatorIndexCompact, Vec<CompactScoreCompact>, ValidatorIndexCompact]>>;
|
||||||
|
readonly votes8: Vec<ITuple<[NominatorIndexCompact, Vec<CompactScoreCompact>, ValidatorIndexCompact]>>;
|
||||||
|
readonly votes9: Vec<ITuple<[NominatorIndexCompact, Vec<CompactScoreCompact>, ValidatorIndexCompact]>>;
|
||||||
|
readonly votes10: Vec<ITuple<[NominatorIndexCompact, Vec<CompactScoreCompact>, ValidatorIndexCompact]>>;
|
||||||
|
readonly votes11: Vec<ITuple<[NominatorIndexCompact, Vec<CompactScoreCompact>, ValidatorIndexCompact]>>;
|
||||||
|
readonly votes12: Vec<ITuple<[NominatorIndexCompact, Vec<CompactScoreCompact>, ValidatorIndexCompact]>>;
|
||||||
|
readonly votes13: Vec<ITuple<[NominatorIndexCompact, Vec<CompactScoreCompact>, ValidatorIndexCompact]>>;
|
||||||
|
readonly votes14: Vec<ITuple<[NominatorIndexCompact, Vec<CompactScoreCompact>, ValidatorIndexCompact]>>;
|
||||||
|
readonly votes15: Vec<ITuple<[NominatorIndexCompact, Vec<CompactScoreCompact>, ValidatorIndexCompact]>>;
|
||||||
|
readonly votes16: Vec<ITuple<[NominatorIndexCompact, Vec<CompactScoreCompact>, ValidatorIndexCompact]>>;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @name CompactAssignmentsTo257 */
|
||||||
|
export interface CompactAssignmentsTo257 extends Struct {
|
||||||
readonly votes1: Vec<ITuple<[NominatorIndex, Vec<CompactScore>, ValidatorIndex]>>;
|
readonly votes1: Vec<ITuple<[NominatorIndex, Vec<CompactScore>, ValidatorIndex]>>;
|
||||||
readonly votes2: Vec<ITuple<[NominatorIndex, Vec<CompactScore>, ValidatorIndex]>>;
|
readonly votes2: Vec<ITuple<[NominatorIndex, Vec<CompactScore>, ValidatorIndex]>>;
|
||||||
readonly votes3: Vec<ITuple<[NominatorIndex, Vec<CompactScore>, ValidatorIndex]>>;
|
readonly votes3: Vec<ITuple<[NominatorIndex, Vec<CompactScore>, ValidatorIndex]>>;
|
||||||
@@ -35,6 +55,9 @@ export interface CompactAssignments extends Struct {
|
|||||||
/** @name CompactScore */
|
/** @name CompactScore */
|
||||||
export interface CompactScore extends ITuple<[ValidatorIndex, OffchainAccuracy]> {}
|
export interface CompactScore extends ITuple<[ValidatorIndex, OffchainAccuracy]> {}
|
||||||
|
|
||||||
|
/** @name CompactScoreCompact */
|
||||||
|
export interface CompactScoreCompact extends ITuple<[ValidatorIndexCompact, OffchainAccuracyCompact]> {}
|
||||||
|
|
||||||
/** @name ElectionCompute */
|
/** @name ElectionCompute */
|
||||||
export interface ElectionCompute extends Enum {
|
export interface ElectionCompute extends Enum {
|
||||||
readonly isOnChain: boolean;
|
readonly isOnChain: boolean;
|
||||||
@@ -124,11 +147,14 @@ export interface Nominations extends Struct {
|
|||||||
/** @name NominatorIndex */
|
/** @name NominatorIndex */
|
||||||
export interface NominatorIndex extends u32 {}
|
export interface NominatorIndex extends u32 {}
|
||||||
|
|
||||||
|
/** @name NominatorIndexCompact */
|
||||||
|
export interface NominatorIndexCompact extends Compact<NominatorIndex> {}
|
||||||
|
|
||||||
/** @name OffchainAccuracy */
|
/** @name OffchainAccuracy */
|
||||||
export interface OffchainAccuracy extends PerU16 {}
|
export interface OffchainAccuracy extends PerU16 {}
|
||||||
|
|
||||||
/** @name PerU16 */
|
/** @name OffchainAccuracyCompact */
|
||||||
export interface PerU16 extends u16 {}
|
export interface OffchainAccuracyCompact extends Compact<OffchainAccuracy> {}
|
||||||
|
|
||||||
/** @name PhragmenScore */
|
/** @name PhragmenScore */
|
||||||
export interface PhragmenScore extends Vec<u128> {}
|
export interface PhragmenScore extends Vec<u128> {}
|
||||||
@@ -224,6 +250,9 @@ export interface UnlockChunk extends Struct {
|
|||||||
/** @name ValidatorIndex */
|
/** @name ValidatorIndex */
|
||||||
export interface ValidatorIndex extends u16 {}
|
export interface ValidatorIndex extends u16 {}
|
||||||
|
|
||||||
|
/** @name ValidatorIndexCompact */
|
||||||
|
export interface ValidatorIndexCompact extends Compact<ValidatorIndex> {}
|
||||||
|
|
||||||
/** @name ValidatorPrefs */
|
/** @name ValidatorPrefs */
|
||||||
export interface ValidatorPrefs extends Struct {
|
export interface ValidatorPrefs extends Struct {
|
||||||
readonly commission: Compact<Perbill>;
|
readonly commission: Compact<Perbill>;
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ export * from './grandpa/types';
|
|||||||
export * from './identity/types';
|
export * from './identity/types';
|
||||||
export * from './imOnline/types';
|
export * from './imOnline/types';
|
||||||
export * from './offences/types';
|
export * from './offences/types';
|
||||||
|
export * from './proxy/types';
|
||||||
export * from './recovery/types';
|
export * from './recovery/types';
|
||||||
export * from './scheduler/types';
|
export * from './scheduler/types';
|
||||||
export * from './session/types';
|
export * from './session/types';
|
||||||
@@ -35,6 +36,7 @@ export * from './claims/types';
|
|||||||
export * from './parachains/types';
|
export * from './parachains/types';
|
||||||
export * from './poll/types';
|
export * from './poll/types';
|
||||||
export * from './purchase/types';
|
export * from './purchase/types';
|
||||||
|
export * from './ethereum/types';
|
||||||
export * from './metadata/types';
|
export * from './metadata/types';
|
||||||
export * from './rpc/types';
|
export * from './rpc/types';
|
||||||
export * from './author/types';
|
export * from './author/types';
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ import { Definitions } from '../../types';
|
|||||||
export default {
|
export default {
|
||||||
rpc: {},
|
rpc: {},
|
||||||
types: {
|
types: {
|
||||||
CallHash: 'H256',
|
|
||||||
Multisig: {
|
Multisig: {
|
||||||
when: 'Timepoint',
|
when: 'Timepoint',
|
||||||
deposit: 'Balance',
|
deposit: 'Balance',
|
||||||
|
|||||||
@@ -3,10 +3,7 @@
|
|||||||
|
|
||||||
import { Struct, Vec } from '@polkadot/types/codec';
|
import { Struct, Vec } from '@polkadot/types/codec';
|
||||||
import { u32 } from '@polkadot/types/primitive';
|
import { u32 } from '@polkadot/types/primitive';
|
||||||
import { AccountId, Balance, BlockNumber, H256 } from '@polkadot/types/interfaces/runtime';
|
import { AccountId, Balance, BlockNumber } from '@polkadot/types/interfaces/runtime';
|
||||||
|
|
||||||
/** @name CallHash */
|
|
||||||
export interface CallHash extends H256 {}
|
|
||||||
|
|
||||||
/** @name Multisig */
|
/** @name Multisig */
|
||||||
export interface Multisig extends Struct {
|
export interface Multisig extends Struct {
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import { H256 } from '../interfaces/runtime';
|
|||||||
import { Codec, Registry } from '../types';
|
import { Codec, Registry } from '../types';
|
||||||
|
|
||||||
import { isU8a, u8aToHex } from '@polkadot/util';
|
import { isU8a, u8aToHex } from '@polkadot/util';
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
function decodeBool (value: any): boolean {
|
function decodeBool (value: any): boolean {
|
||||||
@@ -46,7 +45,7 @@ export default class Bool extends Boolean implements Codec {
|
|||||||
* @description returns a hash of the contents
|
* @description returns a hash of the contents
|
||||||
*/
|
*/
|
||||||
public get hash (): H256 {
|
public get hash (): H256 {
|
||||||
return this.registry.createType('H256', blake2AsU8a(this.toU8a(), 256));
|
return this.registry.createType('H256', this.registry.hash(this.toU8a()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import { H256 } from '../interfaces/runtime';
|
|||||||
import { AnyU8a, Codec, Registry } from '../types';
|
import { AnyU8a, Codec, Registry } from '../types';
|
||||||
|
|
||||||
import { assert, hexToU8a, isHex, isString, stringToU8a, u8aToString, u8aToHex } from '@polkadot/util';
|
import { assert, hexToU8a, isHex, isString, stringToU8a, u8aToString, u8aToHex } from '@polkadot/util';
|
||||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
||||||
|
|
||||||
import Compact from '../codec/Compact';
|
import Compact from '../codec/Compact';
|
||||||
import Raw from '../codec/Raw';
|
import Raw from '../codec/Raw';
|
||||||
@@ -69,7 +68,7 @@ export default class Text extends String implements Codec {
|
|||||||
* @description returns a hash of the contents
|
* @description returns a hash of the contents
|
||||||
*/
|
*/
|
||||||
public get hash (): H256 {
|
public get hash (): H256 {
|
||||||
return this.registry.createType('H256', blake2AsU8a(this.toU8a(), 256));
|
return this.registry.createType('H256', this.registry.hash(this.toU8a()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ export interface ICompact<T> extends Codec {
|
|||||||
|
|
||||||
export interface IKeyringPair {
|
export interface IKeyringPair {
|
||||||
address: string;
|
address: string;
|
||||||
|
addressRaw: Uint8Array;
|
||||||
publicKey: Uint8Array;
|
publicKey: Uint8Array;
|
||||||
sign: (data: Uint8Array, options?: SignOptions) => Uint8Array;
|
sign: (data: Uint8Array, options?: SignOptions) => Uint8Array;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import type BN from 'bn.js';
|
|||||||
import { ChainProperties } from '../interfaces/system';
|
import { ChainProperties } from '../interfaces/system';
|
||||||
import { CallFunction } from './calls';
|
import { CallFunction } from './calls';
|
||||||
import { Codec, Constructor } from './codec';
|
import { Codec, Constructor } from './codec';
|
||||||
|
import { DefinitionRpc, DefinitionRpcSub } from './definitions';
|
||||||
import { AnyJson } from './helpers';
|
import { AnyJson } from './helpers';
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
||||||
@@ -19,6 +20,17 @@ export interface OverrideVersionedType {
|
|||||||
|
|
||||||
export type OverrideModuleType = Record<string, string>;
|
export type OverrideModuleType = Record<string, string>;
|
||||||
|
|
||||||
|
export interface OverrideBundleDefinition {
|
||||||
|
alias?: Record<string, OverrideModuleType>;
|
||||||
|
rpc?: Record<string, Record<string, DefinitionRpc | DefinitionRpcSub>>;
|
||||||
|
types?: OverrideVersionedType[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface OverrideBundleType {
|
||||||
|
chain?: Record<string, OverrideBundleDefinition>;
|
||||||
|
spec?: Record<string, OverrideBundleDefinition>;
|
||||||
|
}
|
||||||
|
|
||||||
export type RegistryTypes = Record<string, Constructor | string | Record<string, string> | { _enum: string[] | Record<string, string | null> } | { _set: Record<string, number> }>;
|
export type RegistryTypes = Record<string, Constructor | string | Record<string, string> | { _enum: string[] | Record<string, string | null> } | { _set: Record<string, number> }>;
|
||||||
|
|
||||||
export interface RegistryMetadataText extends String, Codec {
|
export interface RegistryMetadataText extends String, Codec {
|
||||||
@@ -97,6 +109,10 @@ export interface RegisteredTypes {
|
|||||||
* @description Alias an types, as received via the metadata, to a JS-specific type to avoid conflicts. For instance, you can rename the `Proposal` in the `treasury` module to `TreasuryProposal` as to not have conflicts with the one for democracy.
|
* @description Alias an types, as received via the metadata, to a JS-specific type to avoid conflicts. For instance, you can rename the `Proposal` in the `treasury` module to `TreasuryProposal` as to not have conflicts with the one for democracy.
|
||||||
*/
|
*/
|
||||||
typesAlias?: Record<string, OverrideModuleType>;
|
typesAlias?: Record<string, OverrideModuleType>;
|
||||||
|
/**
|
||||||
|
* @description A bundle of types related to chain & spec that is injected based on what the chain contains
|
||||||
|
*/
|
||||||
|
typesBundle?: OverrideBundleType;
|
||||||
/**
|
/**
|
||||||
* @description Additional types that are injected based on the chain we are connecting to. There are keyed by the chain, i.e. `{ 'Kusama CC1': { ... } }`
|
* @description Additional types that are injected based on the chain we are connecting to. There are keyed by the chain, i.e. `{ 'Kusama CC1': { ... } }`
|
||||||
*/
|
*/
|
||||||
@@ -134,10 +150,12 @@ export interface Registry {
|
|||||||
hasClass (name: string): boolean;
|
hasClass (name: string): boolean;
|
||||||
hasDef (name: string): boolean;
|
hasDef (name: string): boolean;
|
||||||
hasType (name: string): boolean;
|
hasType (name: string): boolean;
|
||||||
|
hash (data: Uint8Array): Uint8Array;
|
||||||
register (type: Constructor | RegistryTypes): void;
|
register (type: Constructor | RegistryTypes): void;
|
||||||
register (name: string, type: Constructor): void;
|
register (name: string, type: Constructor): void;
|
||||||
register (arg1: string | Constructor | RegistryTypes, arg2?: Constructor): void;
|
register (arg1: string | Constructor | RegistryTypes, arg2?: Constructor): void;
|
||||||
setChainProperties (properties?: ChainProperties): void;
|
setChainProperties (properties?: ChainProperties): void;
|
||||||
|
setHasher (hasher?: (data: Uint8Array) => Uint8Array): void;
|
||||||
setMetadata (metadata: RegistryMetadata, signedExtensions?: string[]): void;
|
setMetadata (metadata: RegistryMetadata, signedExtensions?: string[]): void;
|
||||||
setSignedExtensions (signedExtensions?: string[]): void;
|
setSignedExtensions (signedExtensions?: string[]): void;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user