@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.
- package/cjs/koni/api/dotsama/balance.js +2 -1
- package/cjs/koni/api/staking/bonding/relayChain.js +2 -2
- package/cjs/koni/background/handlers/Extension.js +3 -3
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/chain-service/constants.js +3 -2
- package/cjs/services/chain-service/handler/SubstrateApi.js +9 -0
- package/cjs/services/chain-service/handler/chain-spec/goldberg.js +123 -0
- package/koni/api/dotsama/balance.js +2 -1
- package/koni/api/staking/bonding/relayChain.js +2 -2
- package/koni/background/handlers/Extension.js +3 -3
- package/package.json +11 -6
- package/packageInfo.js +1 -1
- package/services/chain-service/constants.d.ts +1 -0
- package/services/chain-service/constants.js +3 -2
- package/services/chain-service/handler/SubstrateApi.js +8 -0
- package/services/chain-service/handler/chain-spec/goldberg.d.ts +115 -0
- package/services/chain-service/handler/chain-spec/goldberg.js +116 -0
|
@@ -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
|
-
|
|
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('
|
|
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 = {};
|
package/cjs/packageInfo.js
CHANGED
|
@@ -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
|
-
|
|
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('
|
|
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.
|
|
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.
|
|
1311
|
-
"@subwallet/extension-base": "^1.1.
|
|
1312
|
-
"@subwallet/extension-chains": "^1.1.
|
|
1313
|
-
"@subwallet/extension-dapp": "^1.1.
|
|
1314
|
-
"@subwallet/extension-inject": "^1.1.
|
|
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.
|
|
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;
|