@subwallet/extension-base 1.1.68-2 → 1.2.1
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/background/KoniTypes.d.ts +3 -1
- package/background/handlers/State.d.ts +1 -78
- package/background/handlers/State.js +1 -428
- package/background/types.d.ts +1 -0
- package/cjs/background/handlers/State.js +1 -456
- package/cjs/constants/storage.js +3 -1
- package/cjs/koni/api/dotsama/crowdloan.js +1 -2
- package/cjs/koni/api/nft/acala_nft/index.js +1 -3
- package/cjs/koni/api/nft/assethub_nft/index.js +1 -3
- package/cjs/koni/api/nft/assethub_unique/index.js +1 -3
- package/cjs/koni/api/nft/bit.country/index.js +4 -6
- package/cjs/koni/api/nft/config.js +1 -8
- package/cjs/koni/api/nft/evm_nft/index.js +1 -3
- package/cjs/koni/api/nft/karura_nft/index.js +1 -3
- package/cjs/koni/api/nft/ordinal_nft/index.js +4 -3
- package/cjs/koni/api/nft/rmrk_nft/index.js +4 -6
- package/cjs/koni/api/nft/unique_network_nft/index.js +1 -3
- package/cjs/koni/api/nft/unique_nft/uniqueNftV2.js +1 -3
- package/cjs/koni/api/nft/vara_nft/index.js +1 -3
- package/cjs/koni/api/nft/wasm_nft/index.js +10 -17
- package/cjs/koni/api/staking/bonding/astar.js +2 -4
- package/cjs/koni/api/staking/subsquidStaking.js +9 -12
- package/cjs/koni/api/subquery/subquery.js +1 -3
- package/cjs/koni/background/handlers/Extension.js +39 -15
- package/cjs/koni/background/handlers/Mobile.js +7 -4
- package/cjs/koni/background/handlers/State.js +68 -12
- package/cjs/koni/background/handlers/Tabs.js +4 -1
- package/cjs/koni/background/handlers/index.js +71 -71
- package/cjs/koni/background/subscription.js +7 -6
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/campaign-service/helpers.js +3 -1
- package/cjs/services/chain-service/index.js +36 -27
- package/cjs/services/chain-service/utils/patch.js +1 -3
- package/cjs/services/earning-service/handlers/liquid-staking/acala.js +1 -2
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost-manta.js +2 -3
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +2 -3
- package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +1 -2
- package/cjs/services/earning-service/handlers/native-staking/astar.js +3 -4
- package/cjs/services/event-service/index.js +0 -1
- package/cjs/services/history-service/subsquid-multi-chain-history.js +1 -3
- package/cjs/services/keyring-service/index.js +22 -0
- package/cjs/services/migration-service/scripts/MigrateRemoveGenesisHash.js +28 -0
- package/cjs/services/migration-service/scripts/index.js +3 -1
- package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +16 -21
- package/cjs/services/notification-service/NotificationService.js +3 -1
- package/cjs/services/price-service/coingecko.js +6 -7
- package/cjs/services/price-service/index.js +7 -3
- package/cjs/services/request-service/handler/PopupHandler.js +14 -15
- package/cjs/services/setting-service/SettingService.js +4 -1
- package/cjs/services/setting-service/constants.js +1 -1
- package/cjs/services/setting-service/i18n/i18n.js +2 -4
- package/cjs/services/storage-service/DatabaseService.js +1 -1
- package/cjs/services/storage-service/databases/index.js +14 -1
- package/cjs/services/storage-service/db-stores/KeyValue.js +13 -0
- package/cjs/services/subscan-service/index.js +11 -3
- package/cjs/services/transaction-service/index.js +3 -3
- package/cjs/services/wallet-connect-service/constants.js +2 -2
- package/cjs/services/wallet-connect-service/helpers.js +1 -4
- package/cjs/services/wallet-connect-service/index.js +50 -33
- package/cjs/storage/index.js +120 -23
- package/cjs/types/common/index.js +16 -0
- package/cjs/types/common/storage.js +1 -0
- package/cjs/types/index.js +11 -0
- package/cjs/utils/environment.js +1 -1
- package/cjs/utils/eth/parseTransaction/index.js +8 -10
- package/cjs/utils/fetch.js +55 -0
- package/cjs/utils/fetchStaticCache.js +2 -4
- package/cjs/utils/fetchStaticData.js +7 -4
- package/cjs/utils/index.js +24 -0
- package/cjs/utils/reportError.js +1 -3
- package/constants/storage.d.ts +1 -0
- package/constants/storage.js +1 -0
- package/koni/api/dotsama/crowdloan.js +2 -3
- package/koni/api/nft/acala_nft/index.js +0 -1
- package/koni/api/nft/assethub_nft/index.js +0 -1
- package/koni/api/nft/assethub_unique/index.js +0 -1
- package/koni/api/nft/bit.country/index.js +0 -1
- package/koni/api/nft/config.js +1 -7
- package/koni/api/nft/evm_nft/index.js +0 -1
- package/koni/api/nft/karura_nft/index.js +0 -1
- package/koni/api/nft/ordinal_nft/index.d.ts +2 -0
- package/koni/api/nft/ordinal_nft/index.js +4 -3
- package/koni/api/nft/rmrk_nft/index.js +0 -1
- package/koni/api/nft/unique_network_nft/index.js +0 -1
- package/koni/api/nft/unique_nft/uniqueNftV2.js +0 -1
- package/koni/api/nft/vara_nft/index.js +0 -1
- package/koni/api/nft/wasm_nft/index.js +4 -10
- package/koni/api/staking/bonding/astar.js +0 -1
- package/koni/api/staking/subsquidStaking.js +10 -12
- package/koni/api/subquery/subquery.js +0 -1
- package/koni/background/handlers/Extension.d.ts +4 -0
- package/koni/background/handlers/Extension.js +29 -8
- package/koni/background/handlers/Mobile.js +9 -6
- package/koni/background/handlers/State.d.ts +6 -1
- package/koni/background/handlers/State.js +68 -12
- package/koni/background/handlers/Tabs.js +4 -1
- package/koni/background/handlers/index.d.ts +13 -7
- package/koni/background/handlers/index.js +67 -62
- package/koni/background/subscription.js +2 -1
- package/package.json +35 -28
- package/packageInfo.js +1 -1
- package/services/campaign-service/helpers.js +3 -1
- package/services/chain-service/index.js +36 -28
- package/services/chain-service/utils/patch.js +0 -1
- package/services/earning-service/handlers/liquid-staking/acala.js +0 -1
- package/services/earning-service/handlers/liquid-staking/bifrost-manta.js +0 -1
- package/services/earning-service/handlers/liquid-staking/bifrost.js +0 -1
- package/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -1
- package/services/earning-service/handlers/native-staking/astar.js +0 -1
- package/services/event-service/index.js +0 -1
- package/services/history-service/subsquid-multi-chain-history.js +0 -1
- package/services/keyring-service/index.d.ts +1 -0
- package/services/keyring-service/index.js +19 -0
- package/services/migration-service/scripts/MigrateRemoveGenesisHash.d.ts +4 -0
- package/services/migration-service/scripts/MigrateRemoveGenesisHash.js +20 -0
- package/services/migration-service/scripts/index.js +3 -1
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +17 -21
- package/services/notification-service/NotificationService.js +3 -1
- package/services/price-service/coingecko.js +6 -6
- package/services/price-service/index.js +7 -3
- package/services/request-service/handler/PopupHandler.d.ts +1 -1
- package/services/request-service/handler/PopupHandler.js +14 -15
- package/services/setting-service/SettingService.d.ts +1 -0
- package/services/setting-service/SettingService.js +4 -1
- package/services/setting-service/constants.js +2 -2
- package/services/setting-service/i18n/i18n.js +2 -4
- package/services/storage-service/DatabaseService.js +1 -1
- package/services/storage-service/databases/index.d.ts +8 -0
- package/services/storage-service/databases/index.js +13 -1
- package/services/storage-service/db-stores/KeyValue.d.ts +4 -0
- package/services/storage-service/db-stores/KeyValue.js +5 -0
- package/services/subscan-service/index.d.ts +2 -0
- package/services/subscan-service/index.js +10 -1
- package/services/transaction-service/index.js +4 -4
- package/services/wallet-connect-service/constants.js +3 -3
- package/services/wallet-connect-service/helpers.js +1 -4
- package/services/wallet-connect-service/index.d.ts +2 -0
- package/services/wallet-connect-service/index.js +42 -31
- package/storage/index.d.ts +19 -9
- package/storage/index.js +115 -23
- package/types/common/index.d.ts +1 -0
- package/types/common/index.js +4 -0
- package/types/common/storage.d.ts +4 -0
- package/types/common/storage.js +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.js +1 -0
- package/utils/environment.js +1 -1
- package/utils/eth/parseTransaction/index.js +8 -10
- package/utils/fetch.d.ts +8 -0
- package/utils/fetch.js +44 -0
- package/utils/fetchStaticCache.js +2 -3
- package/utils/fetchStaticData.d.ts +1 -1
- package/utils/fetchStaticData.js +7 -4
- package/utils/index.d.ts +2 -0
- package/utils/index.js +2 -0
- package/utils/reportError.js +0 -1
- package/background/handlers/Extension.d.ts +0 -55
- package/background/handlers/Extension.js +0 -601
- package/background/handlers/Tabs.d.ts +0 -24
- package/background/handlers/Tabs.js +0 -194
- package/background/handlers/index.d.ts +0 -3
- package/background/handlers/index.js +0 -45
- package/cjs/background/handlers/Extension.js +0 -642
- package/cjs/background/handlers/Tabs.js +0 -222
- package/cjs/background/handlers/index.js +0 -54
- package/cjs/koni/background/events.js +0 -14
- package/koni/background/events.d.ts +0 -1
- package/koni/background/events.js +0 -7
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _constants = require("@subwallet/extension-base/constants");
|
|
8
|
-
var
|
|
8
|
+
var _subscanService = require("@subwallet/extension-base/services/subscan-service");
|
|
9
9
|
var _nft = require("../nft");
|
|
10
10
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
11
11
|
// SPDX-License-Identifier: Apache-2.0
|
|
@@ -49,12 +49,13 @@ class OrdinalNftApi extends _nft.BaseNftApi {
|
|
|
49
49
|
constructor(addresses, chain, subscanChain) {
|
|
50
50
|
super(chain, undefined, addresses);
|
|
51
51
|
this.subscanChain = subscanChain;
|
|
52
|
+
this.subscanService = _subscanService.SubscanService.getInstance();
|
|
52
53
|
}
|
|
53
54
|
async handleNft(address, handleNftParams) {
|
|
54
|
-
const events = await
|
|
55
|
+
const events = await this.subscanService.getAccountRemarkEvents(this.subscanChain, address);
|
|
55
56
|
if (events && events.length) {
|
|
56
57
|
const extrinsicIds = events.map(data => data.extrinsic_index);
|
|
57
|
-
const extrinsicParams = await
|
|
58
|
+
const extrinsicParams = await this.subscanService.getExtrinsicParams(this.subscanChain, extrinsicIds);
|
|
58
59
|
const items = [];
|
|
59
60
|
for (const data of extrinsicParams) {
|
|
60
61
|
const {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
@@ -8,7 +7,6 @@ exports.RmrkNftApi = void 0;
|
|
|
8
7
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
9
8
|
var _nft = require("@subwallet/extension-base/koni/api/nft/nft");
|
|
10
9
|
var _utils = require("@subwallet/extension-base/utils");
|
|
11
|
-
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
12
10
|
var _config = require("../config");
|
|
13
11
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
14
12
|
// SPDX-License-Identifier: Apache-2.0
|
|
@@ -49,7 +47,7 @@ class RmrkNftApi extends _nft.BaseNftApi {
|
|
|
49
47
|
return undefined;
|
|
50
48
|
}
|
|
51
49
|
}
|
|
52
|
-
return await (
|
|
50
|
+
return await fetch(url, {
|
|
53
51
|
method: 'GET'
|
|
54
52
|
}).then(res => res.json());
|
|
55
53
|
}
|
|
@@ -64,7 +62,7 @@ class RmrkNftApi extends _nft.BaseNftApi {
|
|
|
64
62
|
source,
|
|
65
63
|
url
|
|
66
64
|
} = _ref;
|
|
67
|
-
let _data = await (
|
|
65
|
+
let _data = await fetch(url, {
|
|
68
66
|
method: 'GET'
|
|
69
67
|
}).then(res => res.json());
|
|
70
68
|
_data = _data.map(item => {
|
|
@@ -189,7 +187,7 @@ class RmrkNftApi extends _nft.BaseNftApi {
|
|
|
189
187
|
const allCollectionMetaUrl = [];
|
|
190
188
|
await Promise.all(collectionInfoUrl.map(async url => {
|
|
191
189
|
try {
|
|
192
|
-
const data = await (
|
|
190
|
+
const data = await fetch(url, {
|
|
193
191
|
method: 'GET'
|
|
194
192
|
}).then(resp => resp.json());
|
|
195
193
|
const result = data[0];
|
|
@@ -213,7 +211,7 @@ class RmrkNftApi extends _nft.BaseNftApi {
|
|
|
213
211
|
let data = {};
|
|
214
212
|
try {
|
|
215
213
|
if (item.url) {
|
|
216
|
-
data = await (
|
|
214
|
+
data = await fetch(item === null || item === void 0 ? void 0 : item.url, {
|
|
217
215
|
method: 'GET'
|
|
218
216
|
}).then(resp => resp.json());
|
|
219
217
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
@@ -8,7 +7,6 @@ exports.UniqueNftApi = void 0;
|
|
|
8
7
|
var _config = require("@subwallet/extension-base/koni/api/nft/config");
|
|
9
8
|
var _nft = require("@subwallet/extension-base/koni/api/nft/nft");
|
|
10
9
|
var _utils = require("@subwallet/extension-base/utils");
|
|
11
|
-
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
12
10
|
var _utilCrypto = require("@polkadot/util-crypto");
|
|
13
11
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
14
12
|
// SPDX-License-Identifier: Apache-2.0
|
|
@@ -88,7 +86,7 @@ class UniqueNftApi extends _nft.BaseNftApi {
|
|
|
88
86
|
// Opal address: Normal address
|
|
89
87
|
}
|
|
90
88
|
|
|
91
|
-
const resp = await (
|
|
89
|
+
const resp = await fetch(endpoint, {
|
|
92
90
|
method: 'post',
|
|
93
91
|
headers: {
|
|
94
92
|
'Content-Type': 'application/json'
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.UniqueNftApiV2 = void 0;
|
|
8
7
|
var _config = require("@subwallet/extension-base/koni/api/nft/config");
|
|
9
8
|
var _nft = require("@subwallet/extension-base/koni/api/nft/nft");
|
|
10
|
-
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
11
9
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
12
10
|
// SPDX-License-Identifier: Apache-2.0
|
|
13
11
|
|
|
@@ -34,7 +32,7 @@ class UniqueNftApiV2 extends _nft.BaseNftApi {
|
|
|
34
32
|
|
|
35
33
|
async getNftByAccount(address) {
|
|
36
34
|
var _result$data;
|
|
37
|
-
const resp = await (
|
|
35
|
+
const resp = await fetch(this.endpoint, {
|
|
38
36
|
method: 'post',
|
|
39
37
|
headers: {
|
|
40
38
|
'Content-Type': 'application/json'
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.VaraNftApi = void 0;
|
|
8
7
|
var _config = require("@subwallet/extension-base/koni/api/nft/config");
|
|
9
8
|
var _nft = require("@subwallet/extension-base/koni/api/nft/nft");
|
|
10
|
-
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
11
9
|
var _util = require("@polkadot/util");
|
|
12
10
|
var _utilCrypto = require("@polkadot/util-crypto");
|
|
13
11
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
@@ -56,7 +54,7 @@ class VaraNftApi extends _nft.BaseNftApi {
|
|
|
56
54
|
async getNftByAccount(address) {
|
|
57
55
|
var _result$data, _result$data$accountB;
|
|
58
56
|
const publicKey = (0, _util.hexAddPrefix)((0, _util.u8aToHex)((0, _utilCrypto.decodeAddress)(address)));
|
|
59
|
-
const resp = await (
|
|
57
|
+
const resp = await fetch(this.endpoint, {
|
|
60
58
|
method: 'post',
|
|
61
59
|
headers: {
|
|
62
60
|
'Content-Type': 'application/json'
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
@@ -13,8 +12,6 @@ var _wasm = require("@subwallet/extension-base/koni/api/tokens/wasm");
|
|
|
13
12
|
var _utils2 = require("@subwallet/extension-base/koni/api/tokens/wasm/utils");
|
|
14
13
|
var _utils3 = require("@subwallet/extension-base/services/chain-service/utils");
|
|
15
14
|
var _utils4 = require("@subwallet/extension-base/utils");
|
|
16
|
-
var _axios = _interopRequireDefault(require("axios"));
|
|
17
|
-
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
18
15
|
var _utilCrypto = require("@polkadot/util-crypto");
|
|
19
16
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
20
17
|
// SPDX-License-Identifier: Apache-2.0
|
|
@@ -34,7 +31,7 @@ async function isArtZeroFeaturedCollection(networkKey, contractAddress) {
|
|
|
34
31
|
const urlencoded = new URLSearchParams();
|
|
35
32
|
urlencoded.append('collection_address', contractAddress);
|
|
36
33
|
const collectionInfoPromise = new Promise(function (resolve) {
|
|
37
|
-
(
|
|
34
|
+
fetch((0, _utils.collectionApiFromArtZero)(networkKey), {
|
|
38
35
|
method: 'POST',
|
|
39
36
|
headers: {
|
|
40
37
|
'Content-Type': 'application/x-www-form-urlencoded'
|
|
@@ -101,15 +98,13 @@ class WasmNftApi extends _nft.BaseNftApi {
|
|
|
101
98
|
return undefined;
|
|
102
99
|
}
|
|
103
100
|
const nftItemImageSrc = `${(0, _utils.itemImageApiFromArtZero)(this.chain)}?input=${parsedTokenUri}&size=500`;
|
|
104
|
-
const collectionImageUrl = await (
|
|
105
|
-
|
|
106
|
-
});
|
|
107
|
-
return collectionImageUrl.data;
|
|
101
|
+
const collectionImageUrl = await fetch(nftItemImageSrc);
|
|
102
|
+
return await collectionImageUrl.text();
|
|
108
103
|
}
|
|
109
104
|
async parseFeaturedCollectionImage(smartContract) {
|
|
110
105
|
const urlencoded = new URLSearchParams();
|
|
111
106
|
urlencoded.append('collection_address', smartContract);
|
|
112
|
-
const resp = await (
|
|
107
|
+
const resp = await fetch((0, _utils.collectionDetailApiFromArtZero)(this.chain), {
|
|
113
108
|
method: 'POST',
|
|
114
109
|
headers: {
|
|
115
110
|
'Content-Type': 'application/x-www-form-urlencoded'
|
|
@@ -129,10 +124,8 @@ class WasmNftApi extends _nft.BaseNftApi {
|
|
|
129
124
|
return;
|
|
130
125
|
}
|
|
131
126
|
const collectionImageSrc = `${(0, _utils.itemImageApiFromArtZero)(this.chain)}?input=${parsedCollectionImage}&size=500`;
|
|
132
|
-
const collectionImageUrl = await (
|
|
133
|
-
|
|
134
|
-
});
|
|
135
|
-
return collectionImageUrl.data;
|
|
127
|
+
const collectionImageUrl = await fetch(collectionImageSrc);
|
|
128
|
+
return await collectionImageUrl.text();
|
|
136
129
|
}
|
|
137
130
|
|
|
138
131
|
// private async getCollectionAttributes (contractPromise: ContractPromise): Promise<CollectionAttributes> {
|
|
@@ -223,14 +216,14 @@ class WasmNftApi extends _nft.BaseNftApi {
|
|
|
223
216
|
if (isFeatured) {
|
|
224
217
|
const parsedTokenUri = this.parseFeaturedTokenUri(tokenUri);
|
|
225
218
|
if (parsedTokenUri) {
|
|
226
|
-
const resp = await (
|
|
219
|
+
const resp = await fetch(`${(0, _utils.ipfsApiFromArtZero)(this.chain)}?input=${parsedTokenUri}`);
|
|
227
220
|
itemDetail = resp && resp.ok && (await resp.json());
|
|
228
221
|
}
|
|
229
222
|
} else {
|
|
230
223
|
const parsedTokenUri = this.parseFeaturedTokenUri(tokenUri);
|
|
231
224
|
const detailUrl = this.parseUrl(parsedTokenUri);
|
|
232
225
|
if (detailUrl) {
|
|
233
|
-
const resp = await (
|
|
226
|
+
const resp = await fetch(detailUrl);
|
|
234
227
|
itemDetail = resp && resp.ok && (await resp.json());
|
|
235
228
|
}
|
|
236
229
|
}
|
|
@@ -282,14 +275,14 @@ class WasmNftApi extends _nft.BaseNftApi {
|
|
|
282
275
|
if (_isFeatured) {
|
|
283
276
|
const parsedTokenUri = this.parseFeaturedTokenUri(tokenUri);
|
|
284
277
|
if (parsedTokenUri) {
|
|
285
|
-
const resp = await (
|
|
278
|
+
const resp = await fetch(`${(0, _utils.ipfsApiFromArtZero)(this.chain)}?input=${parsedTokenUri}`);
|
|
286
279
|
itemDetail = resp && resp.ok && (await resp.json());
|
|
287
280
|
}
|
|
288
281
|
} else {
|
|
289
282
|
const parsedTokenUri = this.parseFeaturedTokenUri(tokenUri);
|
|
290
283
|
const detailUrl = this.parseUrl(parsedTokenUri);
|
|
291
284
|
if (detailUrl) {
|
|
292
|
-
const resp = await (
|
|
285
|
+
const resp = await fetch(detailUrl);
|
|
293
286
|
itemDetail = resp && resp.ok && (await resp.json());
|
|
294
287
|
if (_domain.AZERO_DOMAIN_CONTRACTS.includes(contractPromise.address.toString())) {
|
|
295
288
|
var _itemDetail;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
@@ -19,7 +18,6 @@ var _utils = require("@subwallet/extension-base/koni/api/staking/bonding/utils")
|
|
|
19
18
|
var _constants = require("@subwallet/extension-base/services/chain-service/constants");
|
|
20
19
|
var _types = require("@subwallet/extension-base/types");
|
|
21
20
|
var _utils2 = require("@subwallet/extension-base/utils");
|
|
22
|
-
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
23
21
|
var _util = require("@polkadot/util");
|
|
24
22
|
var _utilCrypto = require("@polkadot/util-crypto");
|
|
25
23
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
@@ -30,7 +28,7 @@ const convertAddress = address => {
|
|
|
30
28
|
};
|
|
31
29
|
const fetchDApps = async network => {
|
|
32
30
|
return new Promise(function (resolve) {
|
|
33
|
-
(
|
|
31
|
+
fetch(`https://api.astar.network/api/v1/${network}/dapps-staking/dappssimple`, {
|
|
34
32
|
method: 'GET'
|
|
35
33
|
}).then(resp => {
|
|
36
34
|
resolve(resp.json());
|
|
@@ -59,7 +57,7 @@ function subscribeAstarStakingMetadata(chain, substrateApi, callback) {
|
|
|
59
57
|
}
|
|
60
58
|
async function getAstarStakingMetadata(chain, substrateApi) {
|
|
61
59
|
const aprPromise = new Promise(function (resolve) {
|
|
62
|
-
(
|
|
60
|
+
fetch(`https://api.astar.network/api/v1/${chain}/dapps-staking/apr`, {
|
|
63
61
|
method: 'GET'
|
|
64
62
|
}).then(resp => {
|
|
65
63
|
resolve(resp.json());
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
@@ -9,7 +8,6 @@ var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
|
9
8
|
var _config = require("@subwallet/extension-base/koni/api/staking/config");
|
|
10
9
|
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
11
10
|
var _utils2 = require("@subwallet/extension-base/utils");
|
|
12
|
-
var _axios = _interopRequireDefault(require("axios"));
|
|
13
11
|
var _utilCrypto = require("@polkadot/util-crypto");
|
|
14
12
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
15
13
|
// SPDX-License-Identifier: Apache-2.0
|
|
@@ -51,16 +49,13 @@ const getSubsquidStaking = async (accounts, chain, chainInfoMap, callback) => {
|
|
|
51
49
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
52
50
|
address: (0, _utils2.reformatAddress)(account, 42)
|
|
53
51
|
};
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (resp.status === 200) {
|
|
62
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
63
|
-
const respData = resp.data.data;
|
|
52
|
+
try {
|
|
53
|
+
const respData = await (0, _utils2.fetchJson)(_config.SUBSQUID_ENDPOINTS[chain], {
|
|
54
|
+
method: 'post',
|
|
55
|
+
data: {
|
|
56
|
+
query: getSubsquidQuery(parsedAccount, chain)
|
|
57
|
+
}
|
|
58
|
+
});
|
|
64
59
|
const rewardItem = respData.stakerById;
|
|
65
60
|
if (rewardItem) {
|
|
66
61
|
const latestReward = rewardItem.rewards[0];
|
|
@@ -74,6 +69,8 @@ const getSubsquidStaking = async (accounts, chain, chainInfoMap, callback) => {
|
|
|
74
69
|
stakingRewardItem.latestReward = latestReward.amount;
|
|
75
70
|
}
|
|
76
71
|
}
|
|
72
|
+
} catch (e) {
|
|
73
|
+
console.error(e);
|
|
77
74
|
}
|
|
78
75
|
if (stakingRewardItem.totalReward && parseFloat(stakingRewardItem.totalReward) > 0) {
|
|
79
76
|
callback(stakingRewardItem);
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.newApolloClient = newApolloClient;
|
|
8
7
|
var _client = require("@apollo/client");
|
|
9
|
-
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
10
8
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
11
9
|
// SPDX-License-Identifier: Apache-2.0
|
|
12
10
|
|
|
@@ -15,7 +13,7 @@ function newApolloClient(uri) {
|
|
|
15
13
|
cache: new _client.InMemoryCache(),
|
|
16
14
|
link: (0, _client.createHttpLink)({
|
|
17
15
|
uri: uri,
|
|
18
|
-
fetch:
|
|
16
|
+
fetch: fetch
|
|
19
17
|
})
|
|
20
18
|
});
|
|
21
19
|
}
|
|
@@ -4,12 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.default = void 0;
|
|
7
|
+
exports.default = exports.SEED_LENGTHS = exports.SEED_DEFAULT_LENGTH = void 0;
|
|
8
|
+
exports.isJsonPayload = isJsonPayload;
|
|
8
9
|
var _common = require("@ethereumjs/common");
|
|
9
10
|
var _tx = require("@ethereumjs/tx");
|
|
10
11
|
var _types = require("@subwallet/chain-list/types");
|
|
11
12
|
var _TransactionError = require("@subwallet/extension-base/background/errors/TransactionError");
|
|
12
|
-
var _Extension = require("@subwallet/extension-base/background/handlers/Extension");
|
|
13
13
|
var _helpers = require("@subwallet/extension-base/background/handlers/helpers");
|
|
14
14
|
var _subscriptions = require("@subwallet/extension-base/background/handlers/subscriptions");
|
|
15
15
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
@@ -76,13 +76,20 @@ const ACCOUNT_ALL_JSON = {
|
|
|
76
76
|
address: _constants.ALL_ACCOUNT_KEY,
|
|
77
77
|
name: 'All'
|
|
78
78
|
};
|
|
79
|
+
const SEED_DEFAULT_LENGTH = 12;
|
|
80
|
+
exports.SEED_DEFAULT_LENGTH = SEED_DEFAULT_LENGTH;
|
|
81
|
+
const SEED_LENGTHS = [12, 15, 18, 21, 24];
|
|
82
|
+
exports.SEED_LENGTHS = SEED_LENGTHS;
|
|
83
|
+
function isJsonPayload(value) {
|
|
84
|
+
return value.genesisHash !== undefined;
|
|
85
|
+
}
|
|
79
86
|
class KoniExtension {
|
|
80
87
|
#lockTimeOut = undefined;
|
|
81
88
|
#koniState;
|
|
82
89
|
#timeAutoLock = _constants4.DEFAULT_AUTO_LOCK_TIME;
|
|
83
90
|
#skipAutoLock = false;
|
|
84
|
-
#alwaysLock = false;
|
|
85
91
|
#firstTime = true;
|
|
92
|
+
#alwaysLock = false;
|
|
86
93
|
constructor(state) {
|
|
87
94
|
this.#koniState = state;
|
|
88
95
|
const updateTimeAutoLock = rs => {
|
|
@@ -113,7 +120,7 @@ class KoniExtension {
|
|
|
113
120
|
_storage.SWStorage.instance.setItem(_constants.LATEST_SESSION, JSON.stringify({
|
|
114
121
|
remind: true,
|
|
115
122
|
timeCalculate: time
|
|
116
|
-
}));
|
|
123
|
+
})).catch(console.error);
|
|
117
124
|
};
|
|
118
125
|
this.#koniState.settingService.getSettings(updateTimeAutoLock);
|
|
119
126
|
this.#koniState.settingService.getSubject().subscribe({
|
|
@@ -328,7 +335,7 @@ class KoniExtension {
|
|
|
328
335
|
}
|
|
329
336
|
seedCreate(_ref14) {
|
|
330
337
|
let {
|
|
331
|
-
length =
|
|
338
|
+
length = SEED_DEFAULT_LENGTH,
|
|
332
339
|
seed: _seed,
|
|
333
340
|
type
|
|
334
341
|
} = _ref14;
|
|
@@ -350,9 +357,9 @@ class KoniExtension {
|
|
|
350
357
|
(0, _util.assert)((0, _util.isHex)(phrase, 256), (0, _i18next.t)('Invalid seed phrase. Please try again.'));
|
|
351
358
|
} else {
|
|
352
359
|
// sadly isHex detects as string, so we need a cast here
|
|
353
|
-
(0, _util.assert)(
|
|
360
|
+
(0, _util.assert)(SEED_LENGTHS.includes(phrase.split(' ').length), (0, _i18next.t)('Seed phrase needs to contain {{x}} words', {
|
|
354
361
|
replace: {
|
|
355
|
-
x:
|
|
362
|
+
x: SEED_LENGTHS.join(', ')
|
|
356
363
|
}
|
|
357
364
|
}));
|
|
358
365
|
(0, _util.assert)((0, _utilCrypto.mnemonicValidate)(phrase), (0, _i18next.t)('Invalid seed phrase. Please try again.'));
|
|
@@ -422,7 +429,7 @@ class KoniExtension {
|
|
|
422
429
|
}
|
|
423
430
|
}
|
|
424
431
|
}
|
|
425
|
-
const url = `${chrome.
|
|
432
|
+
const url = `${chrome.runtime.getURL('index.html')}#${path}${subPath || ''}${paramString}`;
|
|
426
433
|
if (!_defaults.ALLOWED_PATH.includes(path)) {
|
|
427
434
|
console.error('Not allowed to open the url:', url);
|
|
428
435
|
return false;
|
|
@@ -1287,7 +1294,7 @@ class KoniExtension {
|
|
|
1287
1294
|
}
|
|
1288
1295
|
seedCreateV2(_ref38) {
|
|
1289
1296
|
let {
|
|
1290
|
-
length =
|
|
1297
|
+
length = SEED_DEFAULT_LENGTH,
|
|
1291
1298
|
seed: _seed,
|
|
1292
1299
|
types
|
|
1293
1300
|
} = _ref38;
|
|
@@ -1313,9 +1320,9 @@ class KoniExtension {
|
|
|
1313
1320
|
(0, _util.assert)((0, _util.isHex)(phrase, 256), (0, _i18next.t)('Invalid seed phrase. Please try again.'));
|
|
1314
1321
|
} else {
|
|
1315
1322
|
// sadly isHex detects as string, so we need a cast here
|
|
1316
|
-
(0, _util.assert)(
|
|
1323
|
+
(0, _util.assert)(SEED_LENGTHS.includes(phrase.split(' ').length), (0, _i18next.t)('Seed phrase needs to contain {{x}} words', {
|
|
1317
1324
|
replace: {
|
|
1318
|
-
x:
|
|
1325
|
+
x: SEED_LENGTHS.join(', ')
|
|
1319
1326
|
}
|
|
1320
1327
|
}));
|
|
1321
1328
|
(0, _util.assert)((0, _utilCrypto.mnemonicValidate)(phrase), (0, _i18next.t)('Invalid seed phrase. Please try again.'));
|
|
@@ -1422,7 +1429,16 @@ class KoniExtension {
|
|
|
1422
1429
|
if (isPasswordValidated) {
|
|
1423
1430
|
try {
|
|
1424
1431
|
this._saveCurrentAccountAddress(address, () => {
|
|
1425
|
-
|
|
1432
|
+
var _newAccount$meta, _newAccount$meta2;
|
|
1433
|
+
const newAccount = _uiKeyring.keyring.restoreAccount(file, password, withMasterPassword);
|
|
1434
|
+
|
|
1435
|
+
// genesisHash is not used in SubWallet => reset it to empty string
|
|
1436
|
+
if ((_newAccount$meta = newAccount.meta) !== null && _newAccount$meta !== void 0 && _newAccount$meta.genesisHash && ((_newAccount$meta2 = newAccount.meta) === null || _newAccount$meta2 === void 0 ? void 0 : _newAccount$meta2.genesisHash) !== '') {
|
|
1437
|
+
_uiKeyring.keyring.saveAccountMeta(newAccount, {
|
|
1438
|
+
...newAccount.meta,
|
|
1439
|
+
genesisHash: ''
|
|
1440
|
+
});
|
|
1441
|
+
}
|
|
1426
1442
|
this._addAddressToAuthList(address, isAllowed);
|
|
1427
1443
|
});
|
|
1428
1444
|
if (this.#alwaysLock) {
|
|
@@ -1448,6 +1464,7 @@ class KoniExtension {
|
|
|
1448
1464
|
try {
|
|
1449
1465
|
this._saveCurrentAccountAddress(_constants.ALL_ACCOUNT_KEY, () => {
|
|
1450
1466
|
_uiKeyring.keyring.restoreAccounts(file, password);
|
|
1467
|
+
this.#koniState.keyringService.removeNoneHardwareGenesisHash();
|
|
1451
1468
|
this._addAddressesToAuthList(addressList, isAllowed);
|
|
1452
1469
|
});
|
|
1453
1470
|
|
|
@@ -2973,7 +2990,8 @@ class KoniExtension {
|
|
|
2973
2990
|
} = _ref70;
|
|
2974
2991
|
try {
|
|
2975
2992
|
_uiKeyring.keyring.unlockKeyring(password);
|
|
2976
|
-
this.#koniState.initMantaPay(password)
|
|
2993
|
+
// this.#koniState.initMantaPay(password)
|
|
2994
|
+
// .catch(console.error);
|
|
2977
2995
|
} catch (e) {
|
|
2978
2996
|
return {
|
|
2979
2997
|
errors: [e.message],
|
|
@@ -3060,7 +3078,7 @@ class KoniExtension {
|
|
|
3060
3078
|
} = request;
|
|
3061
3079
|
let registry = new _types4.TypeRegistry();
|
|
3062
3080
|
let isEvm = false;
|
|
3063
|
-
if (
|
|
3081
|
+
if (isJsonPayload(payload)) {
|
|
3064
3082
|
/**
|
|
3065
3083
|
* Get the metadata for the genesisHash
|
|
3066
3084
|
* @todo: need to handle case metadata store in db
|
|
@@ -3682,7 +3700,7 @@ class KoniExtension {
|
|
|
3682
3700
|
}
|
|
3683
3701
|
async initSyncMantaPay(address) {
|
|
3684
3702
|
var _this$koniState$chain3, _this$koniState$chain4, _this$koniState$chain5, _this$koniState$chain6;
|
|
3685
|
-
if ((_this$koniState$chain3 = this.#koniState.chainService) !== null && _this$koniState$chain3 !== void 0 && (_this$koniState$chain4 = _this$koniState$chain3.mantaPay) !== null && _this$koniState$chain4 !== void 0 && _this$koniState$chain4.getSyncState().isSyncing) {
|
|
3703
|
+
if ((_this$koniState$chain3 = this.#koniState.chainService) !== null && _this$koniState$chain3 !== void 0 && (_this$koniState$chain4 = _this$koniState$chain3.mantaPay) !== null && _this$koniState$chain4 !== void 0 && _this$koniState$chain4.getSyncState().isSyncing || !_utils4.MODULE_SUPPORT.MANTA_ZK) {
|
|
3686
3704
|
return;
|
|
3687
3705
|
}
|
|
3688
3706
|
this.#skipAutoLock = true;
|
|
@@ -4185,6 +4203,8 @@ class KoniExtension {
|
|
|
4185
4203
|
}, this.#timeAutoLock * 60 * 1000);
|
|
4186
4204
|
}
|
|
4187
4205
|
switch (type) {
|
|
4206
|
+
case 'pri(ping)':
|
|
4207
|
+
return 'pong';
|
|
4188
4208
|
/// Clone from PolkadotJs
|
|
4189
4209
|
case 'pri(accounts.create.external)':
|
|
4190
4210
|
return this.accountsCreateExternal(request);
|
|
@@ -4705,6 +4725,10 @@ class KoniExtension {
|
|
|
4705
4725
|
return this.#koniState.dbService.importDB(request);
|
|
4706
4726
|
case 'pri(database.exportJson)':
|
|
4707
4727
|
return this.#koniState.dbService.getExportJson();
|
|
4728
|
+
case 'pri(database.migrateLocalStorage)':
|
|
4729
|
+
return this.#koniState.migrateMV3LocalStorage(request);
|
|
4730
|
+
case 'pri(database.setLocalStorage)':
|
|
4731
|
+
return this.#koniState.setStorageFromWS(request);
|
|
4708
4732
|
/* Database */
|
|
4709
4733
|
|
|
4710
4734
|
/* Swap service */
|
|
@@ -16,7 +16,7 @@ var _promise = require("@subwallet/extension-base/utils/promise");
|
|
|
16
16
|
|
|
17
17
|
function isLocalStorageReset() {
|
|
18
18
|
var _window;
|
|
19
|
-
if ((_window = window) !== null && _window !== void 0 && _window.localStorage) {
|
|
19
|
+
if (_utils.isSupportWindow && (_window = window) !== null && _window !== void 0 && _window.localStorage) {
|
|
20
20
|
return !window.localStorage.getItem('keyring:subwallet');
|
|
21
21
|
} else {
|
|
22
22
|
return false;
|
|
@@ -24,7 +24,7 @@ function isLocalStorageReset() {
|
|
|
24
24
|
}
|
|
25
25
|
async function isIndexedDBReset() {
|
|
26
26
|
try {
|
|
27
|
-
return (await _index.state.dbService.stores.migration.table.count()) < 1;
|
|
27
|
+
return (await _index.SWHandler.instance.state.dbService.stores.migration.table.count()) < 1;
|
|
28
28
|
} catch (e) {
|
|
29
29
|
return true;
|
|
30
30
|
}
|
|
@@ -59,7 +59,9 @@ class Mobile {
|
|
|
59
59
|
constructor(state) {
|
|
60
60
|
this.state = state;
|
|
61
61
|
if (!isLocalStorageReset()) {
|
|
62
|
-
|
|
62
|
+
swStorage.copy().then(data => {
|
|
63
|
+
this.lastRestoreData.storage = data;
|
|
64
|
+
}).catch(console.error);
|
|
63
65
|
}
|
|
64
66
|
(async () => {
|
|
65
67
|
if (!(await isIndexedDBReset())) {
|
|
@@ -141,6 +143,7 @@ class Mobile {
|
|
|
141
143
|
console.log('restartSubscriptionServices');
|
|
142
144
|
}
|
|
143
145
|
async _getLocalStorageExportData() {
|
|
146
|
+
await swStorage.waitReady;
|
|
144
147
|
return Promise.resolve(JSON.stringify(swStorage.copy()));
|
|
145
148
|
}
|
|
146
149
|
async _getDexieExportData() {
|
|
@@ -192,7 +195,7 @@ class Mobile {
|
|
|
192
195
|
if (storage) {
|
|
193
196
|
const storageData = JSON.parse(storage);
|
|
194
197
|
for (const key in storageData) {
|
|
195
|
-
swStorage.setItem(key, storageData[key]);
|
|
198
|
+
await swStorage.setItem(key, storageData[key]);
|
|
196
199
|
}
|
|
197
200
|
}
|
|
198
201
|
if (indexedDB) {
|