@subwallet/extension-base 1.1.21-3 → 1.1.22-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -105,7 +105,8 @@ async function subscribeWithSystemAccountPallet(addresses, chainInfo, networkAPI
105
105
  let [total, reserved, miscFrozen, feeFrozen] = [new _util.BN(0), new _util.BN(0), new _util.BN(0), new _util.BN(0)];
106
106
  let pooledStakingBalance = _util.BN_ZERO;
107
107
  if ((0, _utils2._isSubstrateRelayChain)(chainInfo) && networkAPI.query.nominationPools) {
108
- const poolMemberDatas = await networkAPI.query.nominationPools.poolMembers.multi(addresses);
108
+ var _networkAPI$query$nom;
109
+ const poolMemberDatas = await ((_networkAPI$query$nom = networkAPI.query.nominationPools.poolMembers) === null || _networkAPI$query$nom === void 0 ? void 0 : _networkAPI$query$nom.multi(addresses));
109
110
  if (poolMemberDatas) {
110
111
  for (const _poolMemberData of poolMemberDatas) {
111
112
  const poolMemberData = _poolMemberData.toPrimitive();
@@ -101,9 +101,9 @@ function validateRelayBondingCondition(chainInfo, amount, selectedValidators, ad
101
101
  }
102
102
  function subscribeRelayChainStakingMetadata(chainInfo, substrateApi, callback) {
103
103
  return substrateApi.api.query.staking.currentEra(async _currentEra => {
104
- var _substrateApi$api$que, _substrateApi$api$que2, _substrateApi$api$que3, _substrateApi$api$que4, _substrateApi$api$que5, _substrateApi$api$que6, _substrateApi$api$que7;
104
+ var _substrateApi$api$con, _substrateApi$api$con2, _substrateApi$api$que, _substrateApi$api$que2, _substrateApi$api$que3, _substrateApi$api$que4, _substrateApi$api$que5, _substrateApi$api$que6, _substrateApi$api$que7;
105
105
  const currentEra = _currentEra.toString();
106
- const maxNominations = substrateApi.api.consts.staking.maxNominations.toString();
106
+ const maxNominations = ((_substrateApi$api$con = substrateApi.api.consts.staking) === null || _substrateApi$api$con === void 0 ? void 0 : (_substrateApi$api$con2 = _substrateApi$api$con.maxNominations) === null || _substrateApi$api$con2 === void 0 ? void 0 : _substrateApi$api$con2.toString()) || '16'; // TODO
107
107
  const maxUnlockingChunks = substrateApi.api.consts.staking.maxUnlockingChunks.toString();
108
108
  const unlockingEras = substrateApi.api.consts.staking.bondingDuration.toString();
109
109
  const [_totalEraStake, _totalIssuance, _auctionCounter, _minNominatorBond, _minPoolJoin, _minimumActiveStake] = await Promise.all([substrateApi.api.query.staking.erasTotalStake(parseInt(currentEra)), substrateApi.api.query.balances.totalIssuance(), (_substrateApi$api$que = substrateApi.api.query.auctions) === null || _substrateApi$api$que === void 0 ? void 0 : _substrateApi$api$que.auctionCounter(), substrateApi.api.query.staking.minNominatorBond(), (_substrateApi$api$que2 = substrateApi.api.query) === null || _substrateApi$api$que2 === void 0 ? void 0 : (_substrateApi$api$que3 = _substrateApi$api$que2.nominationPools) === null || _substrateApi$api$que3 === void 0 ? void 0 : _substrateApi$api$que3.minJoinBond(), ((_substrateApi$api$que4 = substrateApi.api.query) === null || _substrateApi$api$que4 === void 0 ? void 0 : (_substrateApi$api$que5 = _substrateApi$api$que4.staking) === null || _substrateApi$api$que5 === void 0 ? void 0 : _substrateApi$api$que5.minimumActiveStake) && ((_substrateApi$api$que6 = substrateApi.api.query) === null || _substrateApi$api$que6 === void 0 ? void 0 : (_substrateApi$api$que7 = _substrateApi$api$que6.staking) === null || _substrateApi$api$que7 === void 0 ? void 0 : _substrateApi$api$que7.minimumActiveStake())]);
@@ -2954,10 +2954,10 @@ class KoniExtension {
2954
2954
  registry.register(currentMetadata === null || currentMetadata === void 0 ? void 0 : currentMetadata.types);
2955
2955
  }
2956
2956
  const [, chainInfo] = this.#koniState.findNetworkKeyByGenesisHash(payload.genesisHash);
2957
- if (chainInfo && _constants2._API_OPTIONS_CHAIN_GROUP.avail.includes(chainInfo.slug)) {
2957
+ if (chainInfo && (_constants2._API_OPTIONS_CHAIN_GROUP.avail.includes(chainInfo.slug) || _constants2._API_OPTIONS_CHAIN_GROUP.goldberg.includes(chainInfo.slug))) {
2958
2958
  const isChainActive = this.#koniState.getChainStateByKey(chainInfo.slug).active;
2959
2959
  if (!isChainActive) {
2960
- reject(new Error('Unable to sign'));
2960
+ reject(new Error('Please active chain {{chain}} before sign'.replaceAll('{{chain}}', chainInfo.name)));
2961
2961
  return false;
2962
2962
  } else {
2963
2963
  registry = this.#koniState.getSubstrateApi(chainInfo.slug).api.registry;
@@ -3327,7 +3327,7 @@ class KoniExtension {
3327
3327
  }
3328
3328
  const wcId = request.request.id;
3329
3329
  const params = request.request.params;
3330
- const requiredNamespaces = params.requiredNamespaces;
3330
+ const requiredNamespaces = params.requiredNamespaces || {};
3331
3331
  const optionalNamespaces = params.optionalNamespaces || {};
3332
3332
  const availableNamespaces = {};
3333
3333
  const namespaces = {};
@@ -13,6 +13,6 @@ const packageInfo = {
13
13
  name: '@subwallet/extension-base',
14
14
  path: typeof __dirname === 'string' ? __dirname : 'auto',
15
15
  type: 'cjs',
16
- version: '1.1.21-3'
16
+ version: '1.1.22-0'
17
17
  };
18
18
  exports.packageInfo = packageInfo;
@@ -19,7 +19,8 @@ exports.API_MAX_RETRY = API_MAX_RETRY;
19
19
  const _API_OPTIONS_CHAIN_GROUP = {
20
20
  acala: ['acala', 'karura', 'origintrail', 'kintsugi'],
21
21
  turing: ['turingStaging', 'turing'],
22
- avail: ['kate']
22
+ avail: ['kate'],
23
+ goldberg: ['goldberg_testnet']
23
24
  };
24
25
  exports._API_OPTIONS_CHAIN_GROUP = _API_OPTIONS_CHAIN_GROUP;
25
26
  const _PREDEFINED_SINGLE_MODES = {
@@ -209,7 +210,7 @@ const _TRANSFER_CHAIN_GROUP = {
209
210
  statemine: ['statemint', 'statemine', 'darwinia2', 'astar', 'shiden', 'shibuya', 'parallel'],
210
211
  riochain: ['riochain'],
211
212
  sora_substrate: ['sora_substrate'],
212
- avail: ['kate'],
213
+ avail: ['kate', 'goldberg_testnet'],
213
214
  pendulum: ['pendulum', 'amplitude', 'amplitude_test']
214
215
  };
215
216
  exports._TRANSFER_CHAIN_GROUP = _TRANSFER_CHAIN_GROUP;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -19,6 +20,7 @@ var _api3 = require("@polkadot/apps-config/api");
19
20
  var _create = require("@polkadot/types/create");
20
21
  var _util = require("@polkadot/util");
21
22
  var _defaults = require("@polkadot/util-crypto/address/defaults");
23
+ var _goldberg = _interopRequireDefault(require("./chain-spec/goldberg"));
22
24
  // Copyright 2019-2022 @subwallet/extension-base authors & contributors
23
25
  // SPDX-License-Identifier: Apache-2.0
24
26
 
@@ -91,6 +93,13 @@ class SubstrateApi {
91
93
  types: _availJsSdk.spec.types,
92
94
  signedExtensions: _availJsSdk.spec.signedExtensions
93
95
  });
96
+ } else if (_constants._API_OPTIONS_CHAIN_GROUP.goldberg.includes(this.chainSlug)) {
97
+ api = new _api2.ApiPromise({
98
+ provider,
99
+ rpc: _goldberg.default.rpc,
100
+ types: _goldberg.default.types,
101
+ signedExtensions: _goldberg.default.signedExtensions
102
+ });
94
103
  } else {
95
104
  api = new _api2.ApiPromise(apiOption);
96
105
  }
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
8
+ // SPDX-License-Identifier: Apache-2.0
9
+
10
+ const chainSpec = {
11
+ types: {
12
+ AppId: 'Compact<u32>',
13
+ DataLookupIndexItem: {
14
+ appId: 'AppId',
15
+ start: 'Compact<u32>'
16
+ },
17
+ DataLookup: {
18
+ size: 'Compact<u32>',
19
+ index: 'Vec<DataLookupIndexItem>'
20
+ },
21
+ KateCommitment: {
22
+ rows: 'Compact<u16>',
23
+ cols: 'Compact<u16>',
24
+ commitment: 'Vec<u8>',
25
+ dataRoot: 'H256'
26
+ },
27
+ V1HeaderExtension: {
28
+ appLookup: 'DataLookup',
29
+ commitment: 'KateCommitment'
30
+ },
31
+ HeaderExtension: {
32
+ _enum: {
33
+ V1: 'V1HeaderExtension'
34
+ }
35
+ },
36
+ DaHeader: {
37
+ parentHash: 'Hash',
38
+ number: 'Compact<BlockNumber>',
39
+ stateRoot: 'Hash',
40
+ extrinsicsRoot: 'Hash',
41
+ digest: 'Digest',
42
+ extension: 'HeaderExtension'
43
+ },
44
+ Header: 'DaHeader',
45
+ CheckAppIdExtra: {
46
+ appId: 'AppId'
47
+ },
48
+ CheckAppIdTypes: {},
49
+ CheckAppId: {
50
+ extra: 'CheckAppIdExtra',
51
+ types: 'CheckAppIdTypes'
52
+ },
53
+ BlockLength: {
54
+ max: 'PerDispatchClass',
55
+ cols: 'Compact<u32>',
56
+ rows: 'Compact<u32>',
57
+ chunkSize: 'Compact<u32>'
58
+ },
59
+ PerDispatchClass: {
60
+ normal: 'u32',
61
+ operational: 'u32',
62
+ mandatory: 'u32'
63
+ },
64
+ DataProof: {
65
+ root: 'H256',
66
+ proof: 'Vec<H256>',
67
+ numberOfLeaves: 'Compact<u32>',
68
+ leaf_index: 'Compact<u32>',
69
+ leaf: 'H256'
70
+ },
71
+ Cell: {
72
+ row: 'u32',
73
+ col: 'u32'
74
+ }
75
+ },
76
+ rpc: {
77
+ kate: {
78
+ blockLength: {
79
+ description: 'Get Block Length',
80
+ params: [{
81
+ name: 'at',
82
+ type: 'Hash',
83
+ isOptional: true
84
+ }],
85
+ type: 'BlockLength'
86
+ },
87
+ queryProof: {
88
+ description: 'Generate the kate proof for the given `cells`',
89
+ params: [{
90
+ name: 'cells',
91
+ type: 'Vec<Cell>'
92
+ }, {
93
+ name: 'at',
94
+ type: 'Hash',
95
+ isOptional: true
96
+ }],
97
+ type: 'Vec<u8>'
98
+ },
99
+ queryDataProof: {
100
+ description: 'Generate the data proof for the given `index`',
101
+ params: [{
102
+ name: 'data_index',
103
+ type: 'u32'
104
+ }, {
105
+ name: 'at',
106
+ type: 'Hash',
107
+ isOptional: true
108
+ }],
109
+ type: 'DataProof'
110
+ }
111
+ }
112
+ },
113
+ signedExtensions: {
114
+ CheckAppId: {
115
+ extrinsic: {
116
+ appId: 'AppId'
117
+ },
118
+ payload: {}
119
+ }
120
+ }
121
+ };
122
+ var _default = chainSpec;
123
+ exports.default = _default;
@@ -95,7 +95,8 @@ async function subscribeWithSystemAccountPallet(addresses, chainInfo, networkAPI
95
95
  let [total, reserved, miscFrozen, feeFrozen] = [new BN(0), new BN(0), new BN(0), new BN(0)];
96
96
  let pooledStakingBalance = BN_ZERO;
97
97
  if (_isSubstrateRelayChain(chainInfo) && networkAPI.query.nominationPools) {
98
- const poolMemberDatas = await networkAPI.query.nominationPools.poolMembers.multi(addresses);
98
+ var _networkAPI$query$nom;
99
+ const poolMemberDatas = await ((_networkAPI$query$nom = networkAPI.query.nominationPools.poolMembers) === null || _networkAPI$query$nom === void 0 ? void 0 : _networkAPI$query$nom.multi(addresses));
99
100
  if (poolMemberDatas) {
100
101
  for (const _poolMemberData of poolMemberDatas) {
101
102
  const poolMemberData = _poolMemberData.toPrimitive();
@@ -77,9 +77,9 @@ export function validateRelayBondingCondition(chainInfo, amount, selectedValidat
77
77
  }
78
78
  export function subscribeRelayChainStakingMetadata(chainInfo, substrateApi, callback) {
79
79
  return substrateApi.api.query.staking.currentEra(async _currentEra => {
80
- var _substrateApi$api$que, _substrateApi$api$que2, _substrateApi$api$que3, _substrateApi$api$que4, _substrateApi$api$que5, _substrateApi$api$que6, _substrateApi$api$que7;
80
+ var _substrateApi$api$con, _substrateApi$api$con2, _substrateApi$api$que, _substrateApi$api$que2, _substrateApi$api$que3, _substrateApi$api$que4, _substrateApi$api$que5, _substrateApi$api$que6, _substrateApi$api$que7;
81
81
  const currentEra = _currentEra.toString();
82
- const maxNominations = substrateApi.api.consts.staking.maxNominations.toString();
82
+ const maxNominations = ((_substrateApi$api$con = substrateApi.api.consts.staking) === null || _substrateApi$api$con === void 0 ? void 0 : (_substrateApi$api$con2 = _substrateApi$api$con.maxNominations) === null || _substrateApi$api$con2 === void 0 ? void 0 : _substrateApi$api$con2.toString()) || '16'; // TODO
83
83
  const maxUnlockingChunks = substrateApi.api.consts.staking.maxUnlockingChunks.toString();
84
84
  const unlockingEras = substrateApi.api.consts.staking.bondingDuration.toString();
85
85
  const [_totalEraStake, _totalIssuance, _auctionCounter, _minNominatorBond, _minPoolJoin, _minimumActiveStake] = await Promise.all([substrateApi.api.query.staking.erasTotalStake(parseInt(currentEra)), substrateApi.api.query.balances.totalIssuance(), (_substrateApi$api$que = substrateApi.api.query.auctions) === null || _substrateApi$api$que === void 0 ? void 0 : _substrateApi$api$que.auctionCounter(), substrateApi.api.query.staking.minNominatorBond(), (_substrateApi$api$que2 = substrateApi.api.query) === null || _substrateApi$api$que2 === void 0 ? void 0 : (_substrateApi$api$que3 = _substrateApi$api$que2.nominationPools) === null || _substrateApi$api$que3 === void 0 ? void 0 : _substrateApi$api$que3.minJoinBond(), ((_substrateApi$api$que4 = substrateApi.api.query) === null || _substrateApi$api$que4 === void 0 ? void 0 : (_substrateApi$api$que5 = _substrateApi$api$que4.staking) === null || _substrateApi$api$que5 === void 0 ? void 0 : _substrateApi$api$que5.minimumActiveStake) && ((_substrateApi$api$que6 = substrateApi.api.query) === null || _substrateApi$api$que6 === void 0 ? void 0 : (_substrateApi$api$que7 = _substrateApi$api$que6.staking) === null || _substrateApi$api$que7 === void 0 ? void 0 : _substrateApi$api$que7.minimumActiveStake())]);
@@ -2874,10 +2874,10 @@ export default class KoniExtension {
2874
2874
  registry.register(currentMetadata === null || currentMetadata === void 0 ? void 0 : currentMetadata.types);
2875
2875
  }
2876
2876
  const [, chainInfo] = this.#koniState.findNetworkKeyByGenesisHash(payload.genesisHash);
2877
- if (chainInfo && _API_OPTIONS_CHAIN_GROUP.avail.includes(chainInfo.slug)) {
2877
+ if (chainInfo && (_API_OPTIONS_CHAIN_GROUP.avail.includes(chainInfo.slug) || _API_OPTIONS_CHAIN_GROUP.goldberg.includes(chainInfo.slug))) {
2878
2878
  const isChainActive = this.#koniState.getChainStateByKey(chainInfo.slug).active;
2879
2879
  if (!isChainActive) {
2880
- reject(new Error('Unable to sign'));
2880
+ reject(new Error('Please active chain {{chain}} before sign'.replaceAll('{{chain}}', chainInfo.name)));
2881
2881
  return false;
2882
2882
  } else {
2883
2883
  registry = this.#koniState.getSubstrateApi(chainInfo.slug).api.registry;
@@ -3236,7 +3236,7 @@ export default class KoniExtension {
3236
3236
  }
3237
3237
  const wcId = request.request.id;
3238
3238
  const params = request.request.params;
3239
- const requiredNamespaces = params.requiredNamespaces;
3239
+ const requiredNamespaces = params.requiredNamespaces || {};
3240
3240
  const optionalNamespaces = params.optionalNamespaces || {};
3241
3241
  const availableNamespaces = {};
3242
3242
  const namespaces = {};
package/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  "./cjs/detectPackage.js"
18
18
  ],
19
19
  "type": "module",
20
- "version": "1.1.21-3",
20
+ "version": "1.1.22-0",
21
21
  "main": "./cjs/index.js",
22
22
  "module": "./index.js",
23
23
  "types": "./index.d.ts",
@@ -570,6 +570,11 @@
570
570
  "require": "./cjs/services/chain-service/handler/AbstractChainHandler.js",
571
571
  "default": "./services/chain-service/handler/AbstractChainHandler.js"
572
572
  },
573
+ "./services/chain-service/handler/chain-spec/goldberg": {
574
+ "types": "./services/chain-service/handler/chain-spec/goldberg.d.ts",
575
+ "require": "./cjs/services/chain-service/handler/chain-spec/goldberg.js",
576
+ "default": "./services/chain-service/handler/chain-spec/goldberg.js"
577
+ },
573
578
  "./services/chain-service/handler/EvmApi": {
574
579
  "types": "./services/chain-service/handler/EvmApi.d.ts",
575
580
  "require": "./cjs/services/chain-service/handler/EvmApi.js",
@@ -1307,11 +1312,11 @@
1307
1312
  "@reduxjs/toolkit": "^1.9.1",
1308
1313
  "@sora-substrate/type-definitions": "^1.17.7",
1309
1314
  "@substrate/connect": "^0.7.26",
1310
- "@subwallet/chain-list": "0.2.24",
1311
- "@subwallet/extension-base": "^1.1.21-3",
1312
- "@subwallet/extension-chains": "^1.1.21-3",
1313
- "@subwallet/extension-dapp": "^1.1.21-3",
1314
- "@subwallet/extension-inject": "^1.1.21-3",
1315
+ "@subwallet/chain-list": "0.2.25",
1316
+ "@subwallet/extension-base": "^1.1.22-0",
1317
+ "@subwallet/extension-chains": "^1.1.22-0",
1318
+ "@subwallet/extension-dapp": "^1.1.22-0",
1319
+ "@subwallet/extension-inject": "^1.1.22-0",
1315
1320
  "@subwallet/keyring": "^0.1.1",
1316
1321
  "@subwallet/ui-keyring": "^0.1.1",
1317
1322
  "@walletconnect/sign-client": "^2.8.4",
package/packageInfo.js CHANGED
@@ -7,5 +7,5 @@ export const packageInfo = {
7
7
  name: '@subwallet/extension-base',
8
8
  path: (import.meta && import.meta.url) ? new URL(import.meta.url).pathname.substring(0, new URL(import.meta.url).pathname.lastIndexOf('/') + 1) : 'auto',
9
9
  type: 'esm',
10
- version: '1.1.21-3'
10
+ version: '1.1.22-0'
11
11
  };
@@ -6,6 +6,7 @@ export declare const _API_OPTIONS_CHAIN_GROUP: {
6
6
  acala: string[];
7
7
  turing: string[];
8
8
  avail: string[];
9
+ goldberg: string[];
9
10
  };
10
11
  export declare const _PREDEFINED_SINGLE_MODES: Record<string, SingleModeJson>;
11
12
  export declare const _PURE_EVM_CHAINS: string[];
@@ -10,7 +10,8 @@ export const API_MAX_RETRY = 2;
10
10
  export const _API_OPTIONS_CHAIN_GROUP = {
11
11
  acala: ['acala', 'karura', 'origintrail', 'kintsugi'],
12
12
  turing: ['turingStaging', 'turing'],
13
- avail: ['kate']
13
+ avail: ['kate'],
14
+ goldberg: ['goldberg_testnet']
14
15
  };
15
16
  export const _PREDEFINED_SINGLE_MODES = {
16
17
  subspace: {
@@ -192,7 +193,7 @@ export const _TRANSFER_CHAIN_GROUP = {
192
193
  statemine: ['statemint', 'statemine', 'darwinia2', 'astar', 'shiden', 'shibuya', 'parallel'],
193
194
  riochain: ['riochain'],
194
195
  sora_substrate: ['sora_substrate'],
195
- avail: ['kate'],
196
+ avail: ['kate', 'goldberg_testnet'],
196
197
  pendulum: ['pendulum', 'amplitude', 'amplitude_test']
197
198
  };
198
199
  export const _BALANCE_PARSING_CHAIN_GROUP = {
@@ -16,6 +16,7 @@ import { typesBundle } from '@polkadot/apps-config/api';
16
16
  import { TypeRegistry } from '@polkadot/types/create';
17
17
  import { formatBalance } from '@polkadot/util';
18
18
  import { defaults as addressDefaults } from '@polkadot/util-crypto/address/defaults';
19
+ import goldbergSpec from "./chain-spec/goldberg.js";
19
20
  export class SubstrateApi {
20
21
  useLightClient = false;
21
22
  isApiReady = false;
@@ -85,6 +86,13 @@ export class SubstrateApi {
85
86
  types: availSpec.types,
86
87
  signedExtensions: availSpec.signedExtensions
87
88
  });
89
+ } else if (_API_OPTIONS_CHAIN_GROUP.goldberg.includes(this.chainSlug)) {
90
+ api = new ApiPromise({
91
+ provider,
92
+ rpc: goldbergSpec.rpc,
93
+ types: goldbergSpec.types,
94
+ signedExtensions: goldbergSpec.signedExtensions
95
+ });
88
96
  } else {
89
97
  api = new ApiPromise(apiOption);
90
98
  }
@@ -0,0 +1,115 @@
1
+ declare const chainSpec: {
2
+ types: {
3
+ AppId: string;
4
+ DataLookupIndexItem: {
5
+ appId: string;
6
+ start: string;
7
+ };
8
+ DataLookup: {
9
+ size: string;
10
+ index: string;
11
+ };
12
+ KateCommitment: {
13
+ rows: string;
14
+ cols: string;
15
+ commitment: string;
16
+ dataRoot: string;
17
+ };
18
+ V1HeaderExtension: {
19
+ appLookup: string;
20
+ commitment: string;
21
+ };
22
+ HeaderExtension: {
23
+ _enum: {
24
+ V1: string;
25
+ };
26
+ };
27
+ DaHeader: {
28
+ parentHash: string;
29
+ number: string;
30
+ stateRoot: string;
31
+ extrinsicsRoot: string;
32
+ digest: string;
33
+ extension: string;
34
+ };
35
+ Header: string;
36
+ CheckAppIdExtra: {
37
+ appId: string;
38
+ };
39
+ CheckAppIdTypes: {};
40
+ CheckAppId: {
41
+ extra: string;
42
+ types: string;
43
+ };
44
+ BlockLength: {
45
+ max: string;
46
+ cols: string;
47
+ rows: string;
48
+ chunkSize: string;
49
+ };
50
+ PerDispatchClass: {
51
+ normal: string;
52
+ operational: string;
53
+ mandatory: string;
54
+ };
55
+ DataProof: {
56
+ root: string;
57
+ proof: string;
58
+ numberOfLeaves: string;
59
+ leaf_index: string;
60
+ leaf: string;
61
+ };
62
+ Cell: {
63
+ row: string;
64
+ col: string;
65
+ };
66
+ };
67
+ rpc: {
68
+ kate: {
69
+ blockLength: {
70
+ description: string;
71
+ params: {
72
+ name: string;
73
+ type: string;
74
+ isOptional: boolean;
75
+ }[];
76
+ type: string;
77
+ };
78
+ queryProof: {
79
+ description: string;
80
+ params: ({
81
+ name: string;
82
+ type: string;
83
+ isOptional?: undefined;
84
+ } | {
85
+ name: string;
86
+ type: string;
87
+ isOptional: boolean;
88
+ })[];
89
+ type: string;
90
+ };
91
+ queryDataProof: {
92
+ description: string;
93
+ params: ({
94
+ name: string;
95
+ type: string;
96
+ isOptional?: undefined;
97
+ } | {
98
+ name: string;
99
+ type: string;
100
+ isOptional: boolean;
101
+ })[];
102
+ type: string;
103
+ };
104
+ };
105
+ };
106
+ signedExtensions: {
107
+ CheckAppId: {
108
+ extrinsic: {
109
+ appId: string;
110
+ };
111
+ payload: {};
112
+ };
113
+ };
114
+ };
115
+ export default chainSpec;
@@ -0,0 +1,116 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ const chainSpec = {
5
+ types: {
6
+ AppId: 'Compact<u32>',
7
+ DataLookupIndexItem: {
8
+ appId: 'AppId',
9
+ start: 'Compact<u32>'
10
+ },
11
+ DataLookup: {
12
+ size: 'Compact<u32>',
13
+ index: 'Vec<DataLookupIndexItem>'
14
+ },
15
+ KateCommitment: {
16
+ rows: 'Compact<u16>',
17
+ cols: 'Compact<u16>',
18
+ commitment: 'Vec<u8>',
19
+ dataRoot: 'H256'
20
+ },
21
+ V1HeaderExtension: {
22
+ appLookup: 'DataLookup',
23
+ commitment: 'KateCommitment'
24
+ },
25
+ HeaderExtension: {
26
+ _enum: {
27
+ V1: 'V1HeaderExtension'
28
+ }
29
+ },
30
+ DaHeader: {
31
+ parentHash: 'Hash',
32
+ number: 'Compact<BlockNumber>',
33
+ stateRoot: 'Hash',
34
+ extrinsicsRoot: 'Hash',
35
+ digest: 'Digest',
36
+ extension: 'HeaderExtension'
37
+ },
38
+ Header: 'DaHeader',
39
+ CheckAppIdExtra: {
40
+ appId: 'AppId'
41
+ },
42
+ CheckAppIdTypes: {},
43
+ CheckAppId: {
44
+ extra: 'CheckAppIdExtra',
45
+ types: 'CheckAppIdTypes'
46
+ },
47
+ BlockLength: {
48
+ max: 'PerDispatchClass',
49
+ cols: 'Compact<u32>',
50
+ rows: 'Compact<u32>',
51
+ chunkSize: 'Compact<u32>'
52
+ },
53
+ PerDispatchClass: {
54
+ normal: 'u32',
55
+ operational: 'u32',
56
+ mandatory: 'u32'
57
+ },
58
+ DataProof: {
59
+ root: 'H256',
60
+ proof: 'Vec<H256>',
61
+ numberOfLeaves: 'Compact<u32>',
62
+ leaf_index: 'Compact<u32>',
63
+ leaf: 'H256'
64
+ },
65
+ Cell: {
66
+ row: 'u32',
67
+ col: 'u32'
68
+ }
69
+ },
70
+ rpc: {
71
+ kate: {
72
+ blockLength: {
73
+ description: 'Get Block Length',
74
+ params: [{
75
+ name: 'at',
76
+ type: 'Hash',
77
+ isOptional: true
78
+ }],
79
+ type: 'BlockLength'
80
+ },
81
+ queryProof: {
82
+ description: 'Generate the kate proof for the given `cells`',
83
+ params: [{
84
+ name: 'cells',
85
+ type: 'Vec<Cell>'
86
+ }, {
87
+ name: 'at',
88
+ type: 'Hash',
89
+ isOptional: true
90
+ }],
91
+ type: 'Vec<u8>'
92
+ },
93
+ queryDataProof: {
94
+ description: 'Generate the data proof for the given `index`',
95
+ params: [{
96
+ name: 'data_index',
97
+ type: 'u32'
98
+ }, {
99
+ name: 'at',
100
+ type: 'Hash',
101
+ isOptional: true
102
+ }],
103
+ type: 'DataProof'
104
+ }
105
+ }
106
+ },
107
+ signedExtensions: {
108
+ CheckAppId: {
109
+ extrinsic: {
110
+ appId: 'AppId'
111
+ },
112
+ payload: {}
113
+ }
114
+ }
115
+ };
116
+ export default chainSpec;