@subwallet/extension-base 1.3.63-0 → 1.3.65-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/staking/bonding/utils.js +6 -0
- package/cjs/koni/background/handlers/State.js +1 -0
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/balance-service/index.js +158 -16
- package/cjs/services/balance-service/transfer/xcm/acrossBridge/index.js +50 -4
- package/cjs/services/balance-service/transfer/xcm/index.js +7 -2
- package/cjs/services/chain-online-service/index.js +0 -3
- package/cjs/services/chain-service/index.js +6 -1
- package/cjs/services/chain-service/utils/patch.js +1 -1
- package/cjs/services/earning-service/constants/chains.js +0 -2
- package/cjs/services/earning-service/handlers/lending/interlay.js +1 -0
- package/cjs/services/earning-service/handlers/liquid-staking/acala.js +1 -1
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +1 -1
- package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +1 -0
- package/cjs/services/earning-service/handlers/native-staking/energy.js +60 -6
- package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +1 -4
- package/cjs/services/earning-service/handlers/native-staking/tanssi.js +65 -9
- package/cjs/services/migration-service/scripts/DeleteEarningData20251105.js +21 -0
- package/cjs/services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251027.js +51 -0
- package/cjs/services/migration-service/scripts/OptimizeEnableToken.js +19 -0
- package/cjs/services/migration-service/scripts/databases/MigrateAssetSetting20251027.js +37 -0
- package/cjs/services/migration-service/scripts/index.js +9 -1
- package/cjs/utils/fee/transfer.js +1 -5
- package/koni/api/staking/bonding/utils.d.ts +1 -0
- package/koni/api/staking/bonding/utils.js +5 -0
- package/koni/background/handlers/State.js +1 -0
- package/package.json +27 -7
- package/packageInfo.js +1 -1
- package/services/balance-service/index.d.ts +8 -0
- package/services/balance-service/index.js +158 -17
- package/services/balance-service/transfer/xcm/acrossBridge/index.d.ts +2 -0
- package/services/balance-service/transfer/xcm/acrossBridge/index.js +47 -2
- package/services/balance-service/transfer/xcm/index.js +7 -2
- package/services/chain-online-service/index.js +0 -3
- package/services/chain-service/index.d.ts +1 -0
- package/services/chain-service/index.js +6 -1
- package/services/chain-service/utils/patch.d.ts +1 -1
- package/services/chain-service/utils/patch.js +1 -1
- package/services/earning-service/constants/chains.js +0 -2
- package/services/earning-service/handlers/lending/interlay.js +2 -0
- package/services/earning-service/handlers/liquid-staking/acala.js +1 -1
- package/services/earning-service/handlers/liquid-staking/bifrost.js +1 -1
- package/services/earning-service/handlers/liquid-staking/parallel.js +2 -0
- package/services/earning-service/handlers/native-staking/energy.d.ts +6 -0
- package/services/earning-service/handlers/native-staking/energy.js +60 -8
- package/services/earning-service/handlers/native-staking/relay-chain.js +1 -4
- package/services/earning-service/handlers/native-staking/tanssi.js +62 -6
- package/services/migration-service/scripts/DeleteEarningData20251105.d.ts +4 -0
- package/services/migration-service/scripts/DeleteEarningData20251105.js +13 -0
- package/services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251027.d.ts +4 -0
- package/services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251027.js +42 -0
- package/services/migration-service/scripts/OptimizeEnableToken.d.ts +4 -0
- package/services/migration-service/scripts/OptimizeEnableToken.js +11 -0
- package/services/migration-service/scripts/databases/MigrateAssetSetting20251027.d.ts +4 -0
- package/services/migration-service/scripts/databases/MigrateAssetSetting20251027.js +29 -0
- package/services/migration-service/scripts/index.js +9 -1
- package/utils/fee/transfer.js +2 -6
- package/utils/staticData/buyTokenConfigs.json +0 -46
|
@@ -7,13 +7,36 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _TransactionError = require("@subwallet/extension-base/background/errors/TransactionError");
|
|
9
9
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
10
|
+
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
10
11
|
var _types = require("@subwallet/extension-base/types");
|
|
12
|
+
var _utils2 = require("@subwallet/extension-base/utils");
|
|
11
13
|
var _bignumber = _interopRequireDefault(require("bignumber.js"));
|
|
12
|
-
var
|
|
14
|
+
var _utils3 = require("../../utils");
|
|
13
15
|
var _basePara = _interopRequireDefault(require("./base-para"));
|
|
14
16
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
15
17
|
// SPDX-License-Identifier: Apache-2.0
|
|
16
18
|
|
|
19
|
+
// Constants
|
|
20
|
+
const sequencersPerAppchain = new _bignumber.default(5);
|
|
21
|
+
const rewardsForStakers = new _bignumber.default(0.8);
|
|
22
|
+
const blocksPerYear = new _bignumber.default(5256000); // 6 seconds block time hence 365 * 24 * 60 * 60 / 6 (5.256.000) blocks per year
|
|
23
|
+
|
|
24
|
+
function calculateCollatorApy(rewardsPerBlock, totalStake, nativeTokenDecimals) {
|
|
25
|
+
const rewardsPerChainPerYear = new _bignumber.default(rewardsPerBlock).times(blocksPerYear);
|
|
26
|
+
const rewardsPerSequencerPerYear = rewardsPerChainPerYear.div(sequencersPerAppchain);
|
|
27
|
+
const rewardsForStakersPerSequencerPerYear = rewardsPerSequencerPerYear.times(rewardsForStakers);
|
|
28
|
+
const formattedTotalStake = (0, _utils2.formatNumber)(totalStake.toString(), nativeTokenDecimals);
|
|
29
|
+
if (formattedTotalStake === '0') {
|
|
30
|
+
return new _bignumber.default(0);
|
|
31
|
+
}
|
|
32
|
+
return rewardsForStakersPerSequencerPerYear.times(100).div(formattedTotalStake);
|
|
33
|
+
}
|
|
34
|
+
async function getActiveCollators(api) {
|
|
35
|
+
const collatorAssignment = await api.query.tanssiCollatorAssignment.collatorContainerChain();
|
|
36
|
+
const activeCollatorContainerChain = collatorAssignment.toPrimitive();
|
|
37
|
+
const activeCollators = Object.values(activeCollatorContainerChain.containerChains || {}).flat().map(c => c.toString());
|
|
38
|
+
return activeCollators;
|
|
39
|
+
}
|
|
17
40
|
function perbillToPercentBn(perbill) {
|
|
18
41
|
const raw = new _bignumber.default((perbill === null || perbill === void 0 ? void 0 : perbill.toString()) || '0');
|
|
19
42
|
const bnPercent = raw.multipliedBy(new _bignumber.default(100)).div(new _bignumber.default(1000000000));
|
|
@@ -131,9 +154,18 @@ class TanssiNativeStakingPoolHandler extends _basePara.default {
|
|
|
131
154
|
async subscribePoolInfo(callback) {
|
|
132
155
|
let cancel = false;
|
|
133
156
|
const defaultCallback = async () => {
|
|
134
|
-
const
|
|
135
|
-
const activeConfig = (await
|
|
157
|
+
const chainApi = await this.substrateApi.isReady;
|
|
158
|
+
const activeConfig = (await chainApi.api.query.collatorConfiguration.activeConfig()).toPrimitive();
|
|
136
159
|
const maxCollators = activeConfig.maxCollators;
|
|
160
|
+
const chainsToRewardOpt = await chainApi.api.query.inflationRewards.chainsToReward();
|
|
161
|
+
const chainsToReward = chainsToRewardOpt.toPrimitive();
|
|
162
|
+
const rewardsPerBlock = chainsToReward.rewardsPerChain;
|
|
163
|
+
const formatRewardsPerBlock = (0, _utils2.formatNumber)(rewardsPerBlock, (0, _utils._getAssetDecimals)(this.nativeToken));
|
|
164
|
+
const candidates = await chainApi.api.query.pooledStaking.sortedEligibleCandidates();
|
|
165
|
+
const activeCollators = await getActiveCollators(chainApi.api);
|
|
166
|
+
const decimals = (0, _utils._getAssetDecimals)(this.nativeToken);
|
|
167
|
+
const apyList = candidates.filter(c => activeCollators.includes(c.candidate.toString())).map(c => calculateCollatorApy(formatRewardsPerBlock, new _bignumber.default(c.stake.toString()), decimals));
|
|
168
|
+
const totalApy = apyList.length ? _bignumber.default.max(...apyList).toNumber() : 0;
|
|
137
169
|
const data = {
|
|
138
170
|
...this.baseInfo,
|
|
139
171
|
type: this.type,
|
|
@@ -154,7 +186,8 @@ class TanssiNativeStakingPoolHandler extends _basePara.default {
|
|
|
154
186
|
},
|
|
155
187
|
era: 0,
|
|
156
188
|
eraTime: 6 / 3600,
|
|
157
|
-
unstakingPeriod: 12
|
|
189
|
+
unstakingPeriod: 12,
|
|
190
|
+
totalApy
|
|
158
191
|
}
|
|
159
192
|
};
|
|
160
193
|
if (!cancel) {
|
|
@@ -172,10 +205,10 @@ class TanssiNativeStakingPoolHandler extends _basePara.default {
|
|
|
172
205
|
/* Subscribe pool position */
|
|
173
206
|
|
|
174
207
|
async subscribePoolPosition(useAddresses, onUpdate) {
|
|
175
|
-
const substrateApi = this.substrateApi;
|
|
176
|
-
await substrateApi.isReady;
|
|
208
|
+
const substrateApi = await this.substrateApi.isReady;
|
|
177
209
|
let cancel = false;
|
|
178
210
|
const intervalIds = [];
|
|
211
|
+
const activeCollators = await getActiveCollators(substrateApi.api);
|
|
179
212
|
for (const delegator of useAddresses) {
|
|
180
213
|
const fetchAndUpdate = async () => {
|
|
181
214
|
if (cancel) {
|
|
@@ -229,7 +262,7 @@ class TanssiNativeStakingPoolHandler extends _basePara.default {
|
|
|
229
262
|
bnJoiningStake = bnJoiningStake.plus(joining);
|
|
230
263
|
bnCompoundingStake = bnCompoundingStake.plus(autoCompounding);
|
|
231
264
|
bnManualStake = bnManualStake.plus(manualRewards);
|
|
232
|
-
const [identity] = await (0,
|
|
265
|
+
const [identity] = await (0, _utils3.parseIdentity)(this.substrateIdentityApi, candidate);
|
|
233
266
|
nominations.push({
|
|
234
267
|
chain: this.chain,
|
|
235
268
|
status: _types.EarningStatus.EARNING_REWARD,
|
|
@@ -240,6 +273,19 @@ class TanssiNativeStakingPoolHandler extends _basePara.default {
|
|
|
240
273
|
validatorMinStake: '0'
|
|
241
274
|
});
|
|
242
275
|
}
|
|
276
|
+
let status;
|
|
277
|
+
if (nominations.length === 0) {
|
|
278
|
+
status = _types.EarningStatus.NOT_STAKING;
|
|
279
|
+
} else {
|
|
280
|
+
const activeCount = nominations.filter(n => activeCollators.includes(n.validatorAddress)).length;
|
|
281
|
+
if (activeCount === 0) {
|
|
282
|
+
status = _types.EarningStatus.WAITING;
|
|
283
|
+
} else if (activeCount < nominations.length) {
|
|
284
|
+
status = _types.EarningStatus.PARTIALLY_EARNING;
|
|
285
|
+
} else {
|
|
286
|
+
status = _types.EarningStatus.EARNING_REWARD;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
243
289
|
onUpdate({
|
|
244
290
|
...this.baseInfo,
|
|
245
291
|
type: this.type,
|
|
@@ -248,7 +294,7 @@ class TanssiNativeStakingPoolHandler extends _basePara.default {
|
|
|
248
294
|
totalStake: bnTotalStake.toString(),
|
|
249
295
|
activeStake: bnActiveStake.toString(),
|
|
250
296
|
unstakeBalance: bnUnstakeBalance.toString(),
|
|
251
|
-
status
|
|
297
|
+
status,
|
|
252
298
|
isBondedBefore: nominations.length > 0,
|
|
253
299
|
nominations,
|
|
254
300
|
unstakings: [],
|
|
@@ -300,6 +346,11 @@ class TanssiNativeStakingPoolHandler extends _basePara.default {
|
|
|
300
346
|
candidateSummariesMap[address] = summary.toJSON();
|
|
301
347
|
});
|
|
302
348
|
const candidateAddresses = candidates.map(c => c.candidate.toString());
|
|
349
|
+
const activeCollators = await getActiveCollators(chainApi.api);
|
|
350
|
+
const chainsToRewardOpt = await chainApi.api.query.inflationRewards.chainsToReward();
|
|
351
|
+
const chainsToReward = chainsToRewardOpt.toPrimitive();
|
|
352
|
+
const rewardsPerBlock = chainsToReward.rewardsPerChain;
|
|
353
|
+
const formatRewardsPerBlock = (0, _utils2.formatNumber)(rewardsPerBlock, (0, _utils._getAssetDecimals)(this.nativeToken));
|
|
303
354
|
const targets = await Promise.all(candidates.map(async c => {
|
|
304
355
|
const address = c.candidate.toString();
|
|
305
356
|
const totalStake = new _bignumber.default(c.stake.toString());
|
|
@@ -309,7 +360,11 @@ class TanssiNativeStakingPoolHandler extends _basePara.default {
|
|
|
309
360
|
const ownStakeInfo = ownStakesMap[address];
|
|
310
361
|
const ownStake = ownStakeInfo ? new _bignumber.default(ownStakeInfo.totalStake) : new _bignumber.default(0);
|
|
311
362
|
const otherStake = _bignumber.default.max(totalStake.minus(ownStake), 0);
|
|
312
|
-
const [identity, isReasonable] = await (0,
|
|
363
|
+
const [identity, isReasonable] = await (0, _utils3.parseIdentity)(this.substrateApi, address);
|
|
364
|
+
let apy = new _bignumber.default(0);
|
|
365
|
+
if (activeCollators.includes(address)) {
|
|
366
|
+
apy = calculateCollatorApy(formatRewardsPerBlock, totalStake, (0, _utils._getAssetDecimals)(this.nativeToken));
|
|
367
|
+
}
|
|
313
368
|
const validator = {
|
|
314
369
|
address,
|
|
315
370
|
chain: this.chain,
|
|
@@ -322,6 +377,7 @@ class TanssiNativeStakingPoolHandler extends _basePara.default {
|
|
|
322
377
|
blocked: false,
|
|
323
378
|
isVerified: isReasonable,
|
|
324
379
|
isCrowded: false,
|
|
380
|
+
expectedReturn: apy.toNumber(),
|
|
325
381
|
identity
|
|
326
382
|
};
|
|
327
383
|
return validator;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _Base = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/Base"));
|
|
9
|
+
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
10
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
11
|
+
|
|
12
|
+
class DeleteEarningData20251105 extends _Base.default {
|
|
13
|
+
async run() {
|
|
14
|
+
try {
|
|
15
|
+
await this.state.dbService.deleteYieldPoolInfo(['DOT___native_staking___polkadot', 'DOT___nomination_pool___polkadot']);
|
|
16
|
+
} catch (e) {
|
|
17
|
+
console.error(e);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.default = DeleteEarningData20251105;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _Base = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/Base"));
|
|
9
|
+
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
10
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
11
|
+
|
|
12
|
+
class MigrateTransactionHistoryBySymbol20251027 extends _Base.default {
|
|
13
|
+
async run() {
|
|
14
|
+
const state = this.state;
|
|
15
|
+
try {
|
|
16
|
+
const changeSlugsMap = {
|
|
17
|
+
'moonriver-ERC20-GLMR.wb-0xFfFffFff1a49463978f19dfD6983f2fa1885C254': 'moonriver-ERC20-GLMR.mb-0xFfFffFff1a49463978f19dfD6983f2fa1885C254'
|
|
18
|
+
};
|
|
19
|
+
const allTxs = [];
|
|
20
|
+
await Promise.all(Object.entries(changeSlugsMap).map(async (_ref, i) => {
|
|
21
|
+
let [oldSlug, newSlug] = _ref;
|
|
22
|
+
const oldSlugSplit = oldSlug.split('-');
|
|
23
|
+
const oldChainSlug = oldSlugSplit[0];
|
|
24
|
+
const oldSymbolSlug = oldSlugSplit[2];
|
|
25
|
+
const newSlugSplit = newSlug.split('-');
|
|
26
|
+
const newSymbolSlug = newSlugSplit[2];
|
|
27
|
+
const filterTransactions = await state.dbService.stores.transaction.table.where({
|
|
28
|
+
chain: oldChainSlug
|
|
29
|
+
}).and(tx => {
|
|
30
|
+
var _tx$amount;
|
|
31
|
+
return ((_tx$amount = tx.amount) === null || _tx$amount === void 0 ? void 0 : _tx$amount.symbol) === oldSymbolSlug;
|
|
32
|
+
}).toArray();
|
|
33
|
+
if (filterTransactions.length > 0) {
|
|
34
|
+
for (const transaction of filterTransactions) {
|
|
35
|
+
if (transaction.amount && transaction.amount.symbol === oldSymbolSlug) {
|
|
36
|
+
transaction.amount.symbol = newSymbolSlug;
|
|
37
|
+
}
|
|
38
|
+
if (transaction.fee && transaction.fee.symbol === oldSymbolSlug) {
|
|
39
|
+
transaction.fee.symbol = newSymbolSlug;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
allTxs.push(...filterTransactions);
|
|
44
|
+
}));
|
|
45
|
+
await state.dbService.stores.transaction.table.bulkPut(allTxs);
|
|
46
|
+
} catch (e) {
|
|
47
|
+
this.logger.error(e);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.default = MigrateTransactionHistoryBySymbol20251027;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _Base = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/Base"));
|
|
9
|
+
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
10
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
11
|
+
|
|
12
|
+
class OptimizeEnableToken extends _Base.default {
|
|
13
|
+
async run() {
|
|
14
|
+
// Reset the hasOptimizedTokens flag to allow re-optimize tokens
|
|
15
|
+
this.state.balanceService.enableOptimizeTokenPromise();
|
|
16
|
+
return Promise.resolve();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.default = OptimizeEnableToken;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _Base = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/Base"));
|
|
9
|
+
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
10
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
11
|
+
|
|
12
|
+
class MigrateAssetSetting20251027 extends _Base.default {
|
|
13
|
+
async run() {
|
|
14
|
+
try {
|
|
15
|
+
const changeSlugsMap = {
|
|
16
|
+
'moonriver-ERC20-GLMR.wb-0xFfFffFff1a49463978f19dfD6983f2fa1885C254': 'moonriver-ERC20-GLMR.mb-0xFfFffFff1a49463978f19dfD6983f2fa1885C254'
|
|
17
|
+
};
|
|
18
|
+
const assetSetting = await this.state.chainService.getAssetSettings();
|
|
19
|
+
const migratedAssetSetting = {};
|
|
20
|
+
for (const [oldSlug, newSlug] of Object.entries(changeSlugsMap)) {
|
|
21
|
+
if (Object.keys(assetSetting).includes(oldSlug)) {
|
|
22
|
+
const isVisible = assetSetting[oldSlug].visible;
|
|
23
|
+
migratedAssetSetting[newSlug] = {
|
|
24
|
+
visible: isVisible
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
this.state.chainService.setAssetSettings({
|
|
29
|
+
...assetSetting,
|
|
30
|
+
...migratedAssetSetting
|
|
31
|
+
});
|
|
32
|
+
} catch (e) {
|
|
33
|
+
console.error(e);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.default = MigrateAssetSetting20251027;
|
|
@@ -9,6 +9,7 @@ var _MigrateChainPatrol = _interopRequireDefault(require("@subwallet/extension-b
|
|
|
9
9
|
var _ClearMetadataDatabase = _interopRequireDefault(require("./databases/ClearMetadataDatabase"));
|
|
10
10
|
var _ClearMetadataForMythos = _interopRequireDefault(require("./databases/ClearMetadataForMythos"));
|
|
11
11
|
var _MigrateAssetSetting = _interopRequireDefault(require("./databases/MigrateAssetSetting"));
|
|
12
|
+
var _MigrateAssetSetting2 = _interopRequireDefault(require("./databases/MigrateAssetSetting20251027"));
|
|
12
13
|
var _MigrateEarningVersion = _interopRequireDefault(require("./databases/MigrateEarningVersion"));
|
|
13
14
|
var _ReloadMetadata = _interopRequireDefault(require("./databases/ReloadMetadata"));
|
|
14
15
|
var _MigrateLedgerAccount = _interopRequireDefault(require("./keyring/MigrateLedgerAccount"));
|
|
@@ -23,6 +24,7 @@ var _DeleteChain = _interopRequireDefault(require("./DeleteChain"));
|
|
|
23
24
|
var _DeleteChainStaking = _interopRequireDefault(require("./DeleteChainStaking"));
|
|
24
25
|
var _DeleteEarningData = _interopRequireDefault(require("./DeleteEarningData"));
|
|
25
26
|
var _DeleteEarningData2 = _interopRequireDefault(require("./DeleteEarningData20251010"));
|
|
27
|
+
var _DeleteEarningData3 = _interopRequireDefault(require("./DeleteEarningData20251105"));
|
|
26
28
|
var _DisableZeroBalanceTokens = _interopRequireDefault(require("./DisableZeroBalanceTokens"));
|
|
27
29
|
var _EnableVaraChain = _interopRequireDefault(require("./EnableVaraChain"));
|
|
28
30
|
var _MigrateAuthUrls = _interopRequireDefault(require("./MigrateAuthUrls"));
|
|
@@ -33,7 +35,9 @@ var _MigrateTokenDecimals = _interopRequireDefault(require("./MigrateTokenDecima
|
|
|
33
35
|
var _MigrateTransactionHistory = _interopRequireDefault(require("./MigrateTransactionHistory"));
|
|
34
36
|
var _MigrateTransactionHistoryBridge = _interopRequireDefault(require("./MigrateTransactionHistoryBridge"));
|
|
35
37
|
var _MigrateTransactionHistoryBySymbol = _interopRequireDefault(require("./MigrateTransactionHistoryBySymbol"));
|
|
38
|
+
var _MigrateTransactionHistoryBySymbol2 = _interopRequireDefault(require("./MigrateTransactionHistoryBySymbol20251027"));
|
|
36
39
|
var _MigrateWalletReference = _interopRequireDefault(require("./MigrateWalletReference"));
|
|
40
|
+
var _OptimizeEnableToken = _interopRequireDefault(require("./OptimizeEnableToken"));
|
|
37
41
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
38
42
|
// SPDX-License-Identifier: Apache-2.0
|
|
39
43
|
|
|
@@ -78,6 +82,10 @@ var _default = {
|
|
|
78
82
|
// [`${EVERYTIME}-1`]: AutoEnableChainsTokens
|
|
79
83
|
'1.3.42-01': _MigrateNewUnifiedAccount.default,
|
|
80
84
|
'1.3.54-01': _MigrateChainPatrol.default,
|
|
81
|
-
'1.3.62-01': _DeleteEarningData2.default
|
|
85
|
+
'1.3.62-01': _DeleteEarningData2.default,
|
|
86
|
+
'1.3.58-01': _OptimizeEnableToken.default,
|
|
87
|
+
'1.3.64-01': _MigrateAssetSetting2.default,
|
|
88
|
+
'1.3.64-02': _MigrateTransactionHistoryBySymbol2.default,
|
|
89
|
+
'1.3.65-01': _DeleteEarningData3.default
|
|
82
90
|
};
|
|
83
91
|
exports.default = _default;
|
|
@@ -387,11 +387,7 @@ const calculateXcmMaxTransferable = async (id, request, freeBalance, fee) => {
|
|
|
387
387
|
funcCreateExtrinsic = _xcm.createPolygonBridgeExtrinsic;
|
|
388
388
|
} else if (isAcrossBridgeTransfer) {
|
|
389
389
|
funcCreateExtrinsic = _xcm.createAcrossBridgeExtrinsic;
|
|
390
|
-
|
|
391
|
-
params.sendingValue = (0, _bignumber.default)(0.0037).shiftedBy((0, _utils2._getAssetDecimals)(srcToken)).toFixed(0, 1);
|
|
392
|
-
} else {
|
|
393
|
-
params.sendingValue = (0, _bignumber.default)(1).shiftedBy((0, _utils2._getAssetDecimals)(srcToken)).toFixed(0, 1);
|
|
394
|
-
}
|
|
390
|
+
params.sendingValue = await (0, _acrossBridge.getAcrossSendingValue)(srcChain, srcToken, destChain, (0, _acrossBridge._isAcrossTestnetBridge)(srcChain.slug));
|
|
395
391
|
} else if (isSnowBridgeEvmTransfer) {
|
|
396
392
|
funcCreateExtrinsic = _xcm.createSnowBridgeExtrinsic;
|
|
397
393
|
} else if (isAvailBridgeFromEvm) {
|
|
@@ -102,6 +102,7 @@ export declare function calculateInflation(totalEraStake: BN, totalIssuance: BN,
|
|
|
102
102
|
export declare function calculateChainStakedReturn(inflation: number, totalEraStake: BN, totalIssuance: BN, networkKey: string): number;
|
|
103
103
|
export declare function calculateChainStakedReturnV2(chainInfo: _ChainInfo, totalIssuance: string, erasPerDay: number, lastTotalStaked: string, validatorEraReward: BigNumber, inflation: BigNumber, isCompound?: boolean): Promise<number | undefined>;
|
|
104
104
|
export declare function calculateAlephZeroValidatorReturn(chainStakedReturn: number, commission: number): number;
|
|
105
|
+
export declare function calculateEnergyWebCollatorReturn(annualReward: string, collatorCommission: number, numberCollators: number, totalStake: string): number;
|
|
105
106
|
export declare function calculateTernoaValidatorReturn(rewardPerValidator: number, validatorStake: number, commission: number): number;
|
|
106
107
|
export declare function calculateAnalogChainStakedReturn(): Promise<number | undefined>;
|
|
107
108
|
export declare function calculateValidatorStakedReturn(chainStakedReturn: number, totalValidatorStake: BN, avgStake: BN, commission: number): number;
|
|
@@ -97,6 +97,11 @@ export async function calculateChainStakedReturnV2(chainInfo, totalIssuance, era
|
|
|
97
97
|
export function calculateAlephZeroValidatorReturn(chainStakedReturn, commission) {
|
|
98
98
|
return chainStakedReturn * (100 - commission) / 100;
|
|
99
99
|
}
|
|
100
|
+
export function calculateEnergyWebCollatorReturn(annualReward, collatorCommission, numberCollators, totalStake) {
|
|
101
|
+
const rewardForNominators = new BigNumber(annualReward).multipliedBy(1 - collatorCommission);
|
|
102
|
+
const rewardPerNominator = rewardForNominators.div(numberCollators);
|
|
103
|
+
return rewardPerNominator.div(totalStake).shiftedBy(2).toNumber();
|
|
104
|
+
}
|
|
100
105
|
export function calculateTernoaValidatorReturn(rewardPerValidator, validatorStake, commission) {
|
|
101
106
|
const percentRewardForNominators = (100 - commission) / 100;
|
|
102
107
|
const rewardForNominators = rewardPerValidator * percentRewardForNominators;
|
|
@@ -1804,6 +1804,7 @@ export default class KoniState {
|
|
|
1804
1804
|
await this.priceService.setPriceCurrency(DEFAULT_CURRENCY);
|
|
1805
1805
|
this.settingService.resetWallet();
|
|
1806
1806
|
await this.priceService.setPriceCurrency(DEFAULT_CURRENCY);
|
|
1807
|
+
this.chainService.resetPopularTokenList();
|
|
1807
1808
|
}
|
|
1808
1809
|
this.chainService.resetWallet(resetAll);
|
|
1809
1810
|
await this.walletConnectService.resetWallet(resetAll);
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"./cjs/detectPackage.js"
|
|
18
18
|
],
|
|
19
19
|
"type": "module",
|
|
20
|
-
"version": "1.3.
|
|
20
|
+
"version": "1.3.65-0",
|
|
21
21
|
"main": "./cjs/index.js",
|
|
22
22
|
"module": "./index.js",
|
|
23
23
|
"types": "./index.d.ts",
|
|
@@ -1486,6 +1486,11 @@
|
|
|
1486
1486
|
"require": "./cjs/services/migration-service/scripts/databases/MigrateAssetSetting.js",
|
|
1487
1487
|
"default": "./services/migration-service/scripts/databases/MigrateAssetSetting.js"
|
|
1488
1488
|
},
|
|
1489
|
+
"./services/migration-service/scripts/databases/MigrateAssetSetting20251027": {
|
|
1490
|
+
"types": "./services/migration-service/scripts/databases/MigrateAssetSetting20251027.d.ts",
|
|
1491
|
+
"require": "./cjs/services/migration-service/scripts/databases/MigrateAssetSetting20251027.js",
|
|
1492
|
+
"default": "./services/migration-service/scripts/databases/MigrateAssetSetting20251027.js"
|
|
1493
|
+
},
|
|
1489
1494
|
"./services/migration-service/scripts/databases/MigrateEarningHistory": {
|
|
1490
1495
|
"types": "./services/migration-service/scripts/databases/MigrateEarningHistory.d.ts",
|
|
1491
1496
|
"require": "./cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js",
|
|
@@ -1521,6 +1526,11 @@
|
|
|
1521
1526
|
"require": "./cjs/services/migration-service/scripts/DeleteEarningData20251010.js",
|
|
1522
1527
|
"default": "./services/migration-service/scripts/DeleteEarningData20251010.js"
|
|
1523
1528
|
},
|
|
1529
|
+
"./services/migration-service/scripts/DeleteEarningData20251105": {
|
|
1530
|
+
"types": "./services/migration-service/scripts/DeleteEarningData20251105.d.ts",
|
|
1531
|
+
"require": "./cjs/services/migration-service/scripts/DeleteEarningData20251105.js",
|
|
1532
|
+
"default": "./services/migration-service/scripts/DeleteEarningData20251105.js"
|
|
1533
|
+
},
|
|
1524
1534
|
"./services/migration-service/scripts/DisableZeroBalanceTokens": {
|
|
1525
1535
|
"types": "./services/migration-service/scripts/DisableZeroBalanceTokens.d.ts",
|
|
1526
1536
|
"require": "./cjs/services/migration-service/scripts/DisableZeroBalanceTokens.js",
|
|
@@ -1616,11 +1626,21 @@
|
|
|
1616
1626
|
"require": "./cjs/services/migration-service/scripts/MigrateTransactionHistoryBySymbol.js",
|
|
1617
1627
|
"default": "./services/migration-service/scripts/MigrateTransactionHistoryBySymbol.js"
|
|
1618
1628
|
},
|
|
1629
|
+
"./services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251027": {
|
|
1630
|
+
"types": "./services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251027.d.ts",
|
|
1631
|
+
"require": "./cjs/services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251027.js",
|
|
1632
|
+
"default": "./services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251027.js"
|
|
1633
|
+
},
|
|
1619
1634
|
"./services/migration-service/scripts/MigrateWalletReference": {
|
|
1620
1635
|
"types": "./services/migration-service/scripts/MigrateWalletReference.d.ts",
|
|
1621
1636
|
"require": "./cjs/services/migration-service/scripts/MigrateWalletReference.js",
|
|
1622
1637
|
"default": "./services/migration-service/scripts/MigrateWalletReference.js"
|
|
1623
1638
|
},
|
|
1639
|
+
"./services/migration-service/scripts/OptimizeEnableToken": {
|
|
1640
|
+
"types": "./services/migration-service/scripts/OptimizeEnableToken.d.ts",
|
|
1641
|
+
"require": "./cjs/services/migration-service/scripts/OptimizeEnableToken.js",
|
|
1642
|
+
"default": "./services/migration-service/scripts/OptimizeEnableToken.js"
|
|
1643
|
+
},
|
|
1624
1644
|
"./services/migration-service/scripts/providers/MigrateEthProvider": {
|
|
1625
1645
|
"types": "./services/migration-service/scripts/providers/MigrateEthProvider.d.ts",
|
|
1626
1646
|
"require": "./cjs/services/migration-service/scripts/providers/MigrateEthProvider.js",
|
|
@@ -2892,12 +2912,12 @@
|
|
|
2892
2912
|
"@snowbridge/registry": "^0.2.0",
|
|
2893
2913
|
"@sora-substrate/type-definitions": "^1.17.7",
|
|
2894
2914
|
"@substrate/connect": "^0.8.9",
|
|
2895
|
-
"@subwallet-monorepos/subwallet-services-sdk": "
|
|
2896
|
-
"@subwallet/chain-list": "0.2.
|
|
2897
|
-
"@subwallet/extension-base": "^1.3.
|
|
2898
|
-
"@subwallet/extension-chains": "^1.3.
|
|
2899
|
-
"@subwallet/extension-dapp": "^1.3.
|
|
2900
|
-
"@subwallet/extension-inject": "^1.3.
|
|
2915
|
+
"@subwallet-monorepos/subwallet-services-sdk": "0.1.13",
|
|
2916
|
+
"@subwallet/chain-list": "0.2.120",
|
|
2917
|
+
"@subwallet/extension-base": "^1.3.65-0",
|
|
2918
|
+
"@subwallet/extension-chains": "^1.3.65-0",
|
|
2919
|
+
"@subwallet/extension-dapp": "^1.3.65-0",
|
|
2920
|
+
"@subwallet/extension-inject": "^1.3.65-0",
|
|
2901
2921
|
"@subwallet/keyring": "^0.1.13",
|
|
2902
2922
|
"@subwallet/ui-keyring": "^0.1.13",
|
|
2903
2923
|
"@ton/core": "^0.56.3",
|
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.3.
|
|
10
|
+
version: '1.3.65-0'
|
|
11
11
|
};
|
|
@@ -18,6 +18,7 @@ export declare class BalanceService implements StoppableServiceInterface {
|
|
|
18
18
|
stopPromiseHandler: PromiseHandler<void>;
|
|
19
19
|
status: ServiceStatus;
|
|
20
20
|
private isReload;
|
|
21
|
+
private requireOptimizeTokenList;
|
|
21
22
|
get isStarted(): boolean;
|
|
22
23
|
private readonly detectAccountBalanceStore;
|
|
23
24
|
private readonly balanceDetectSubject;
|
|
@@ -101,4 +102,11 @@ export declare class BalanceService implements StoppableServiceInterface {
|
|
|
101
102
|
private startScanBalance;
|
|
102
103
|
private stopScanBalance;
|
|
103
104
|
getOptimalTransferProcess(params: RequestOptimalTransferProcess): Promise<CommonOptimalTransferPath>;
|
|
105
|
+
evmDetectBalanceToken(addresses: string[]): Promise<string[]>;
|
|
106
|
+
substrateDetectBalanceToken(addresses: string[]): Promise<string[]>;
|
|
107
|
+
evmDetectBalanceChain(): Promise<string[]>;
|
|
108
|
+
substrateDetectBalanceChain(): string[];
|
|
109
|
+
/** optimize token area **/
|
|
110
|
+
enableOptimizeTokenPromise(): void;
|
|
111
|
+
optimizeEnableTokens(): Promise<void>;
|
|
104
112
|
}
|