@subwallet/extension-base 1.3.70-2 → 1.3.72-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/background/KoniTypes.d.ts +13 -2
- package/background/KoniTypes.js +68 -9
- package/cjs/background/KoniTypes.js +68 -9
- package/cjs/constants/blocked-actions.js +3 -0
- package/cjs/core/logic-validation/recipientAddress.js +1 -1
- package/cjs/core/logic-validation/swap.js +0 -3
- package/cjs/core/logic-validation/transfer.js +33 -10
- package/cjs/core/substrate/system-pallet.js +0 -2
- package/cjs/core/types.js +1 -0
- package/cjs/koni/api/nft/wasm_nft/index.js +0 -1
- package/cjs/koni/api/staking/bonding/astar.js +0 -2
- package/cjs/koni/api/staking/bonding/paraChain.js +0 -3
- package/cjs/koni/api/staking/bonding/relayChain.js +2 -4
- package/cjs/koni/api/staking/bonding/utils.js +0 -4
- package/cjs/koni/background/cron.js +0 -1
- package/cjs/koni/background/handlers/Extension.js +235 -166
- package/cjs/koni/background/handlers/State.js +56 -52
- package/cjs/koni/background/handlers/Tabs.js +39 -34
- package/cjs/packageInfo.js +1 -1
- package/cjs/page/index.js +7 -0
- package/cjs/page/substrate/PostMessageProvider.js +3 -0
- package/cjs/services/balance-service/helpers/subscribe/cardano/utils.js +0 -1
- package/cjs/services/balance-service/helpers/subscribe/substrate/gear.js +0 -2
- package/cjs/services/balance-service/helpers/subscribe/substrate/index.js +48 -5
- package/cjs/services/balance-service/helpers/subscribe/ton/utils.js +0 -3
- package/cjs/services/balance-service/index.js +103 -7
- package/cjs/services/balance-service/transfer/bitcoin-transfer.js +0 -1
- package/cjs/services/balance-service/transfer/cardano-transfer.js +1 -2
- package/cjs/services/balance-service/transfer/smart-contract.js +0 -1
- package/cjs/services/balance-service/transfer/token.js +13 -37
- package/cjs/services/balance-service/transfer/ton-transfer.js +0 -1
- package/cjs/services/balance-service/transfer/xcm/index.js +3 -8
- package/cjs/services/balance-service/transfer/xcm/snowBridge.js +0 -1
- package/cjs/services/balance-service/transfer/xcm/utils.js +1 -1
- package/cjs/services/chain-service/constants.js +6 -5
- package/cjs/services/chain-service/handler/CardanoApi.js +3 -1
- package/cjs/services/chain-service/handler/SubstrateApi.js +0 -2
- package/cjs/services/chain-service/handler/light-client/index.js +1 -2
- package/cjs/services/chain-service/health-check/index.js +0 -1
- package/cjs/services/chain-service/health-check/utils/new-utils/chain-asset-validate.js +0 -1
- package/cjs/services/chain-service/index.js +19 -26
- package/cjs/services/chain-service/utils/index.js +21 -25
- package/cjs/services/chain-service/utils/patch.js +1 -1
- package/cjs/services/earning-service/handlers/base.js +32 -0
- package/cjs/services/earning-service/handlers/lending/base.js +0 -2
- package/cjs/services/earning-service/handlers/liquid-staking/acala.js +0 -1
- package/cjs/services/earning-service/handlers/liquid-staking/base.js +0 -2
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +0 -2
- package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +0 -1
- package/cjs/services/earning-service/handlers/native-staking/astar.js +0 -2
- package/cjs/services/earning-service/handlers/native-staking/dtao.js +43 -2
- package/cjs/services/earning-service/handlers/native-staking/energy.js +0 -1
- package/cjs/services/earning-service/handlers/native-staking/mythos.js +0 -2
- package/cjs/services/earning-service/handlers/native-staking/para-chain.js +0 -2
- package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +8 -9
- package/cjs/services/earning-service/handlers/special.js +7 -0
- package/cjs/services/history-service/subsquid-multi-chain-history.js +0 -1
- package/cjs/services/keyring-service/context/handlers/Derive.js +1 -1
- package/cjs/services/keyring-service/context/handlers/Migration.js +11 -9
- package/cjs/services/keyring-service/context/handlers/Mnemonic.js +18 -13
- package/cjs/services/keyring-service/context/state.js +21 -3
- package/cjs/services/keyring-service/utils.js +12 -2
- package/cjs/services/migration-service/index.js +1 -2
- package/cjs/services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251223.js +55 -0
- package/cjs/services/migration-service/scripts/databases/MigrateAssetSetting20251223.js +41 -0
- package/cjs/services/migration-service/scripts/index.js +17 -13
- package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -1
- package/cjs/services/nft-service/index.js +5 -0
- package/cjs/services/open-gov/handler.js +0 -2
- package/cjs/services/open-gov/interface.js +4 -1
- package/cjs/services/request-service/handler/BitcoinRequestHandler.js +1 -2
- package/cjs/services/request-service/handler/CardanoRequestHandler.js +0 -1
- package/cjs/services/request-service/handler/EvmRequestHandler.js +0 -1
- package/cjs/services/request-service/handler/TonRequestHandler.js +0 -1
- package/cjs/services/request-service/helper/index.js +1 -2
- package/cjs/services/storage-service/DatabaseService.js +0 -2
- package/cjs/services/storage-service/databases/index.js +2 -0
- package/cjs/services/substrate-proxy-service/constant.js +26 -0
- package/cjs/services/substrate-proxy-service/index.js +170 -0
- package/cjs/services/swap-service/handler/asset-hub/handler.js +0 -1
- package/cjs/services/swap-service/handler/asset-hub/router.js +0 -1
- package/cjs/services/swap-service/handler/chainflip-handler.js +1 -4
- package/cjs/services/swap-service/handler/hydradx-handler.js +0 -1
- package/cjs/services/swap-service/handler/kyber-handler.js +0 -1
- package/cjs/services/swap-service/handler/optimex-handler.js +1 -2
- package/cjs/services/swap-service/handler/simpleswap-handler.js +1 -3
- package/cjs/services/swap-service/handler/uniswap-handler.js +0 -3
- package/cjs/services/transaction-service/event-parser/index.js +6 -6
- package/cjs/services/transaction-service/index.js +105 -37
- package/cjs/services/transaction-service/utils.js +8 -5
- package/cjs/services/wallet-connect-service/index.js +21 -18
- package/cjs/services/wallet-connect-service/types.js +1 -1
- package/cjs/types/account/info/keyring.js +9 -1
- package/cjs/types/balance/index.js +5 -1
- package/cjs/types/index.js +11 -0
- package/cjs/types/substrateProxyAccount/actions/index.js +1 -0
- package/cjs/types/substrateProxyAccount/index.js +16 -0
- package/cjs/types/swap/index.js +2 -1
- package/cjs/types/transaction/process.js +2 -0
- package/cjs/types/yield/actions/join/step.js +17 -1
- package/cjs/utils/account/common.js +0 -26
- package/cjs/utils/account/derive/info/solo.js +7 -4
- package/cjs/utils/account/derive/validate.js +1 -1
- package/cjs/utils/account/transform.js +10 -5
- package/cjs/utils/auth.js +1 -1
- package/cjs/utils/bitcoin/utxo-management.js +0 -1
- package/cjs/utils/environment.js +2 -1
- package/cjs/utils/fee/transfer.js +5 -4
- package/cjs/utils/index.js +1 -2
- package/constants/blocked-actions.js +3 -0
- package/core/logic-validation/recipientAddress.js +1 -1
- package/core/logic-validation/swap.js +0 -3
- package/core/logic-validation/transfer.d.ts +3 -3
- package/core/logic-validation/transfer.js +34 -11
- package/core/substrate/system-pallet.js +0 -2
- package/core/types.d.ts +2 -1
- package/core/types.js +1 -0
- package/koni/api/nft/wasm_nft/index.js +0 -1
- package/koni/api/staking/bonding/astar.js +0 -2
- package/koni/api/staking/bonding/paraChain.js +0 -3
- package/koni/api/staking/bonding/relayChain.js +2 -4
- package/koni/api/staking/bonding/utils.js +0 -4
- package/koni/background/cron.js +0 -1
- package/koni/background/handlers/Extension.d.ts +3 -0
- package/koni/background/handlers/Extension.js +89 -19
- package/koni/background/handlers/State.d.ts +2 -0
- package/koni/background/handlers/State.js +43 -38
- package/koni/background/handlers/Tabs.js +9 -3
- package/package.json +50 -21
- package/packageInfo.js +1 -1
- package/page/substrate/PostMessageProvider.js +3 -0
- package/services/balance-service/helpers/subscribe/cardano/utils.js +0 -1
- package/services/balance-service/helpers/subscribe/substrate/gear.js +0 -2
- package/services/balance-service/helpers/subscribe/substrate/index.js +47 -4
- package/services/balance-service/helpers/subscribe/ton/utils.js +0 -3
- package/services/balance-service/index.d.ts +8 -0
- package/services/balance-service/index.js +105 -9
- package/services/balance-service/transfer/bitcoin-transfer.js +0 -1
- package/services/balance-service/transfer/smart-contract.js +0 -1
- package/services/balance-service/transfer/token.d.ts +0 -4
- package/services/balance-service/transfer/token.js +12 -35
- package/services/balance-service/transfer/ton-transfer.js +0 -1
- package/services/balance-service/transfer/xcm/index.js +3 -8
- package/services/balance-service/transfer/xcm/snowBridge.js +0 -1
- package/services/balance-service/transfer/xcm/utils.d.ts +0 -2
- package/services/balance-service/transfer/xcm/utils.js +1 -1
- package/services/chain-service/constants.d.ts +1 -1
- package/services/chain-service/constants.js +4 -4
- package/services/chain-service/handler/CardanoApi.js +3 -1
- package/services/chain-service/handler/SubstrateApi.js +0 -2
- package/services/chain-service/health-check/index.js +0 -1
- package/services/chain-service/health-check/utils/new-utils/chain-asset-validate.js +0 -1
- package/services/chain-service/index.d.ts +0 -1
- package/services/chain-service/index.js +16 -23
- package/services/chain-service/utils/index.js +22 -26
- package/services/chain-service/utils/patch.d.ts +1 -1
- package/services/chain-service/utils/patch.js +1 -1
- package/services/earning-service/handlers/base.js +32 -0
- package/services/earning-service/handlers/lending/base.js +0 -2
- package/services/earning-service/handlers/liquid-staking/acala.js +0 -1
- package/services/earning-service/handlers/liquid-staking/base.js +0 -2
- package/services/earning-service/handlers/liquid-staking/bifrost.js +0 -2
- package/services/earning-service/handlers/liquid-staking/parallel.js +0 -1
- package/services/earning-service/handlers/native-staking/astar.js +0 -2
- package/services/earning-service/handlers/native-staking/dtao.js +43 -0
- package/services/earning-service/handlers/native-staking/energy.js +0 -1
- package/services/earning-service/handlers/native-staking/mythos.js +0 -2
- package/services/earning-service/handlers/native-staking/para-chain.js +0 -2
- package/services/earning-service/handlers/native-staking/relay-chain.js +8 -9
- package/services/earning-service/handlers/special.js +7 -0
- package/services/history-service/subsquid-multi-chain-history.js +0 -1
- package/services/keyring-service/context/handlers/Derive.js +2 -2
- package/services/keyring-service/context/handlers/Migration.js +3 -1
- package/services/keyring-service/context/handlers/Mnemonic.d.ts +1 -1
- package/services/keyring-service/context/handlers/Mnemonic.js +16 -10
- package/services/keyring-service/context/state.d.ts +3 -0
- package/services/keyring-service/context/state.js +21 -3
- package/services/keyring-service/utils.d.ts +1 -0
- package/services/keyring-service/utils.js +9 -0
- package/services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251223.d.ts +4 -0
- package/services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251223.js +46 -0
- package/services/migration-service/scripts/databases/MigrateAssetSetting20251223.d.ts +4 -0
- package/services/migration-service/scripts/databases/MigrateAssetSetting20251223.js +33 -0
- package/services/migration-service/scripts/index.js +8 -4
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -1
- package/services/nft-service/index.js +6 -0
- package/services/open-gov/handler.js +0 -2
- package/services/open-gov/interface.d.ts +4 -3
- package/services/open-gov/interface.js +4 -1
- package/services/request-service/handler/CardanoRequestHandler.js +0 -1
- package/services/request-service/handler/EvmRequestHandler.js +0 -1
- package/services/request-service/handler/TonRequestHandler.js +0 -1
- package/services/setting-service/constants.js +0 -1
- package/services/storage-service/DatabaseService.js +0 -2
- package/services/storage-service/databases/index.js +3 -0
- package/services/substrate-proxy-service/constant.d.ts +3 -0
- package/services/substrate-proxy-service/constant.js +19 -0
- package/services/substrate-proxy-service/index.d.ts +13 -0
- package/services/substrate-proxy-service/index.js +159 -0
- package/services/swap-service/handler/asset-hub/handler.js +0 -1
- package/services/swap-service/handler/asset-hub/router.js +0 -1
- package/services/swap-service/handler/chainflip-handler.js +0 -2
- package/services/swap-service/handler/hydradx-handler.js +0 -1
- package/services/swap-service/handler/kyber-handler.js +0 -1
- package/services/swap-service/handler/simpleswap-handler.js +0 -1
- package/services/swap-service/handler/uniswap-handler.js +0 -3
- package/services/transaction-service/event-parser/index.js +6 -6
- package/services/transaction-service/index.js +79 -11
- package/services/transaction-service/types.d.ts +2 -2
- package/services/transaction-service/utils.js +8 -5
- package/services/wallet-connect-service/index.js +21 -18
- package/services/wallet-connect-service/types.js +1 -1
- package/types/account/action/add/mnemonic.d.ts +3 -2
- package/types/account/info/keyring.js +9 -1
- package/types/balance/index.js +5 -1
- package/types/balance/transfer.d.ts +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.js +1 -0
- package/types/substrateProxyAccount/actions/index.d.ts +17 -0
- package/types/substrateProxyAccount/actions/index.js +1 -0
- package/types/substrateProxyAccount/index.d.ts +23 -0
- package/types/substrateProxyAccount/index.js +8 -0
- package/types/swap/index.js +2 -1
- package/types/transaction/process.js +3 -1
- package/types/transaction/request.d.ts +1 -0
- package/types/yield/actions/join/step.js +17 -1
- package/types/yield/actions/join/submit.d.ts +1 -1
- package/utils/account/common.d.ts +0 -3
- package/utils/account/common.js +0 -24
- package/utils/account/derive/info/solo.js +8 -5
- package/utils/account/derive/validate.d.ts +2 -2
- package/utils/account/derive/validate.js +1 -1
- package/utils/account/transform.js +10 -5
- package/utils/auth.js +2 -2
- package/utils/bitcoin/utxo-management.js +0 -1
- package/utils/fee/transfer.js +4 -2
- package/utils/index.js +2 -5
|
@@ -290,15 +290,19 @@ class AccountState {
|
|
|
290
290
|
const belongsTo = this.belongUnifiedAccount(address);
|
|
291
291
|
if (belongsTo) {
|
|
292
292
|
const accountProxy = this.accountProxies[belongsTo];
|
|
293
|
+
const allAccountTypes = this.getDecodedAccountTypes(belongsTo); // get allAccountTypes of unified account of the account address
|
|
294
|
+
|
|
293
295
|
return {
|
|
294
296
|
address,
|
|
295
|
-
name: accountProxy.name
|
|
297
|
+
name: accountProxy.name,
|
|
298
|
+
relatedAccountTypes: allAccountTypes
|
|
296
299
|
};
|
|
297
300
|
} else {
|
|
298
301
|
var _pair$meta;
|
|
299
302
|
return {
|
|
300
303
|
address,
|
|
301
|
-
name: ((_pair$meta = pair.meta) === null || _pair$meta === void 0 ? void 0 : _pair$meta.name) || address
|
|
304
|
+
name: ((_pair$meta = pair.meta) === null || _pair$meta === void 0 ? void 0 : _pair$meta.name) || address,
|
|
305
|
+
relatedAccountTypes: [pair.type]
|
|
302
306
|
};
|
|
303
307
|
}
|
|
304
308
|
}
|
|
@@ -462,6 +466,20 @@ class AccountState {
|
|
|
462
466
|
return accountProxies[proxyId].accounts.map(account => account.address);
|
|
463
467
|
}
|
|
464
468
|
}
|
|
469
|
+
getDecodedAccountTypes(accountProxyId) {
|
|
470
|
+
if (!accountProxyId) {
|
|
471
|
+
return [];
|
|
472
|
+
}
|
|
473
|
+
if (accountProxyId === _constants.ALL_ACCOUNT_KEY) {
|
|
474
|
+
return []; // todo
|
|
475
|
+
}
|
|
476
|
+
const accountProxies = this.accounts;
|
|
477
|
+
if (!accountProxies[accountProxyId]) {
|
|
478
|
+
return [];
|
|
479
|
+
} else {
|
|
480
|
+
return accountProxies[accountProxyId].accounts.map(account => account.type);
|
|
481
|
+
}
|
|
482
|
+
}
|
|
465
483
|
|
|
466
484
|
/* Get address for another service */
|
|
467
485
|
|
|
@@ -582,7 +600,7 @@ class AccountState {
|
|
|
582
600
|
metadata.suri = _parentSuri;
|
|
583
601
|
needUpdateSet.add(address);
|
|
584
602
|
}
|
|
585
|
-
const hasSuri =
|
|
603
|
+
const hasSuri = 'suri' in metadata;
|
|
586
604
|
const lacksDerivationPath = !('derivationPath' in metadata);
|
|
587
605
|
const isEthereumType = _types2.EthereumKeypairTypes.includes(pair.type);
|
|
588
606
|
const isTonType = pair.type === 'ton';
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.hasAnyAccountForMigration = void 0;
|
|
6
|
+
exports.isTWAccount = exports.hasAnyAccountForMigration = void 0;
|
|
7
|
+
var _types = require("@subwallet/extension-base/types");
|
|
7
8
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
8
9
|
// SPDX-License-Identifier: Apache-2.0
|
|
9
10
|
|
|
@@ -15,4 +16,13 @@ const hasAnyAccountForMigration = allAccountProxies => {
|
|
|
15
16
|
}
|
|
16
17
|
return false;
|
|
17
18
|
};
|
|
18
|
-
|
|
19
|
+
|
|
20
|
+
// Check if account is TrustWallet account
|
|
21
|
+
exports.hasAnyAccountForMigration = hasAnyAccountForMigration;
|
|
22
|
+
const isTWAccount = account => {
|
|
23
|
+
const isTWDerivation = account.suri === "m/44'/354'/0'/0'/0'";
|
|
24
|
+
const isTWSolo = account.accountType === _types.AccountProxyType.SOLO;
|
|
25
|
+
const isTWKeyPairType = account.accounts[0].type === 'ed25519-tw';
|
|
26
|
+
return isTWDerivation && isTWSolo && isTWKeyPairType;
|
|
27
|
+
};
|
|
28
|
+
exports.isTWAccount = isTWAccount;
|
|
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _util = require("@polkadot/util");
|
|
8
8
|
var _scripts = _interopRequireWildcard(require("./scripts"));
|
|
9
|
-
function
|
|
10
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
9
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
11
10
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
12
11
|
// SPDX-License-Identifier: Apache-2.0
|
|
13
12
|
|
|
@@ -0,0 +1,55 @@
|
|
|
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 MigrateTransactionHistoryBySymbol20251223 extends _Base.default {
|
|
13
|
+
async run() {
|
|
14
|
+
const state = this.state;
|
|
15
|
+
try {
|
|
16
|
+
const changeSlugsMap = {
|
|
17
|
+
'gnosis-NATIVE-xDAI': 'gnosis-NATIVE-XDAI',
|
|
18
|
+
'stable-ERC20-USD₮0-0x779Ded0c9e1022225f8E0630b35a9b54bE713736': 'stable-ERC20-USDT0-0x779Ded0c9e1022225f8E0630b35a9b54bE713736',
|
|
19
|
+
'polygon-ERC20-USD₮0-0xc2132D05D31c914a87C6611C10748AEb04B58e8F': 'polygon-ERC20-USDT0-0xc2132D05D31c914a87C6611C10748AEb04B58e8F',
|
|
20
|
+
'ethereum-ERC20-TON-0x582d872A1B094FC48F5DE31D3B73F2D9bE47def1': 'ethereum-ERC20-TONCOIN-0x582d872A1B094FC48F5DE31D3B73F2D9bE47def1',
|
|
21
|
+
'moonbeam-ERC20-USDC.axl-0xCa01a1D0993565291051daFF390892518ACfAD3A': 'moonbeam-ERC20-axlUSDC-0xCa01a1D0993565291051daFF390892518ACfAD3A'
|
|
22
|
+
};
|
|
23
|
+
const allTxs = [];
|
|
24
|
+
await Promise.all(Object.entries(changeSlugsMap).map(async (_ref, i) => {
|
|
25
|
+
let [oldSlug, newSlug] = _ref;
|
|
26
|
+
const oldSlugSplit = oldSlug.split('-');
|
|
27
|
+
const oldChainSlug = oldSlugSplit[0];
|
|
28
|
+
const oldSymbolSlug = oldSlugSplit[2];
|
|
29
|
+
const newSlugSplit = newSlug.split('-');
|
|
30
|
+
const newSymbolSlug = newSlugSplit[2];
|
|
31
|
+
const filterTransactions = await state.dbService.stores.transaction.table.where({
|
|
32
|
+
chain: oldChainSlug
|
|
33
|
+
}).and(tx => {
|
|
34
|
+
var _tx$amount;
|
|
35
|
+
return ((_tx$amount = tx.amount) === null || _tx$amount === void 0 ? void 0 : _tx$amount.symbol) === oldSymbolSlug;
|
|
36
|
+
}).toArray();
|
|
37
|
+
if (filterTransactions.length > 0) {
|
|
38
|
+
for (const transaction of filterTransactions) {
|
|
39
|
+
if (transaction.amount && transaction.amount.symbol === oldSymbolSlug) {
|
|
40
|
+
transaction.amount.symbol = newSymbolSlug;
|
|
41
|
+
}
|
|
42
|
+
if (transaction.fee && transaction.fee.symbol === oldSymbolSlug) {
|
|
43
|
+
transaction.fee.symbol = newSymbolSlug;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
allTxs.push(...filterTransactions);
|
|
48
|
+
}));
|
|
49
|
+
await state.dbService.stores.transaction.table.bulkPut(allTxs);
|
|
50
|
+
} catch (e) {
|
|
51
|
+
this.logger.error(e);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.default = MigrateTransactionHistoryBySymbol20251223;
|
|
@@ -0,0 +1,41 @@
|
|
|
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 MigrateAssetSetting20251223 extends _Base.default {
|
|
13
|
+
async run() {
|
|
14
|
+
try {
|
|
15
|
+
const changeSlugsMap = {
|
|
16
|
+
'gnosis-NATIVE-xDAI': 'gnosis-NATIVE-XDAI',
|
|
17
|
+
'stable-ERC20-USD₮0-0x779Ded0c9e1022225f8E0630b35a9b54bE713736': 'stable-ERC20-USDT0-0x779Ded0c9e1022225f8E0630b35a9b54bE713736',
|
|
18
|
+
'polygon-ERC20-USD₮0-0xc2132D05D31c914a87C6611C10748AEb04B58e8F': 'polygon-ERC20-USDT0-0xc2132D05D31c914a87C6611C10748AEb04B58e8F',
|
|
19
|
+
'ethereum-ERC20-TON-0x582d872A1B094FC48F5DE31D3B73F2D9bE47def1': 'ethereum-ERC20-TONCOIN-0x582d872A1B094FC48F5DE31D3B73F2D9bE47def1',
|
|
20
|
+
'moonbeam-ERC20-USDC.axl-0xCa01a1D0993565291051daFF390892518ACfAD3A': 'moonbeam-ERC20-axlUSDC-0xCa01a1D0993565291051daFF390892518ACfAD3A'
|
|
21
|
+
};
|
|
22
|
+
const assetSetting = await this.state.chainService.getAssetSettings();
|
|
23
|
+
const migratedAssetSetting = {};
|
|
24
|
+
for (const [oldSlug, newSlug] of Object.entries(changeSlugsMap)) {
|
|
25
|
+
if (Object.keys(assetSetting).includes(oldSlug)) {
|
|
26
|
+
const isVisible = assetSetting[oldSlug].visible;
|
|
27
|
+
migratedAssetSetting[newSlug] = {
|
|
28
|
+
visible: isVisible
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
this.state.chainService.setAssetSettings({
|
|
33
|
+
...assetSetting,
|
|
34
|
+
...migratedAssetSetting
|
|
35
|
+
});
|
|
36
|
+
} catch (e) {
|
|
37
|
+
console.error(e);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.default = MigrateAssetSetting20251223;
|
|
@@ -5,13 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = exports.MYTHOS_MIGRATION_KEY = exports.EVERYTIME = void 0;
|
|
8
|
-
var _MigrateAssetSetting = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/databases/MigrateAssetSetting20251107"));
|
|
9
|
-
var _MigrateChainPatrol = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/MigrateChainPatrol"));
|
|
10
|
-
var _MigrateTransactionHistoryBySymbol = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251107"));
|
|
11
8
|
var _ClearMetadataDatabase = _interopRequireDefault(require("./databases/ClearMetadataDatabase"));
|
|
12
9
|
var _ClearMetadataForMythos = _interopRequireDefault(require("./databases/ClearMetadataForMythos"));
|
|
13
|
-
var
|
|
14
|
-
var
|
|
10
|
+
var _MigrateAssetSetting = _interopRequireDefault(require("./databases/MigrateAssetSetting"));
|
|
11
|
+
var _MigrateAssetSetting2 = _interopRequireDefault(require("./databases/MigrateAssetSetting20251027"));
|
|
12
|
+
var _MigrateAssetSetting3 = _interopRequireDefault(require("./databases/MigrateAssetSetting20251107"));
|
|
13
|
+
var _MigrateAssetSetting4 = _interopRequireDefault(require("./databases/MigrateAssetSetting20251223"));
|
|
15
14
|
var _MigrateEarningVersion = _interopRequireDefault(require("./databases/MigrateEarningVersion"));
|
|
16
15
|
var _ReloadMetadata = _interopRequireDefault(require("./databases/ReloadMetadata"));
|
|
17
16
|
var _MigrateLedgerAccount = _interopRequireDefault(require("./keyring/MigrateLedgerAccount"));
|
|
@@ -30,14 +29,17 @@ var _DeleteEarningData3 = _interopRequireDefault(require("./DeleteEarningData202
|
|
|
30
29
|
var _DisableZeroBalanceTokens = _interopRequireDefault(require("./DisableZeroBalanceTokens"));
|
|
31
30
|
var _EnableVaraChain = _interopRequireDefault(require("./EnableVaraChain"));
|
|
32
31
|
var _MigrateAuthUrls = _interopRequireDefault(require("./MigrateAuthUrls"));
|
|
32
|
+
var _MigrateChainPatrol = _interopRequireDefault(require("./MigrateChainPatrol"));
|
|
33
33
|
var _MigrateImportedToken = _interopRequireDefault(require("./MigrateImportedToken"));
|
|
34
34
|
var _MigrateNetworkSettings = _interopRequireDefault(require("./MigrateNetworkSettings"));
|
|
35
35
|
var _MigrateNewUnifiedAccount = _interopRequireDefault(require("./MigrateNewUnifiedAccount"));
|
|
36
36
|
var _MigrateTokenDecimals = _interopRequireDefault(require("./MigrateTokenDecimals"));
|
|
37
37
|
var _MigrateTransactionHistory = _interopRequireDefault(require("./MigrateTransactionHistory"));
|
|
38
38
|
var _MigrateTransactionHistoryBridge = _interopRequireDefault(require("./MigrateTransactionHistoryBridge"));
|
|
39
|
-
var
|
|
40
|
-
var
|
|
39
|
+
var _MigrateTransactionHistoryBySymbol = _interopRequireDefault(require("./MigrateTransactionHistoryBySymbol"));
|
|
40
|
+
var _MigrateTransactionHistoryBySymbol2 = _interopRequireDefault(require("./MigrateTransactionHistoryBySymbol20251027"));
|
|
41
|
+
var _MigrateTransactionHistoryBySymbol3 = _interopRequireDefault(require("./MigrateTransactionHistoryBySymbol20251107"));
|
|
42
|
+
var _MigrateTransactionHistoryBySymbol4 = _interopRequireDefault(require("./MigrateTransactionHistoryBySymbol20251223"));
|
|
41
43
|
var _MigrateWalletReference = _interopRequireDefault(require("./MigrateWalletReference"));
|
|
42
44
|
var _OptimizeEnableToken = _interopRequireDefault(require("./OptimizeEnableToken"));
|
|
43
45
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
@@ -71,8 +73,8 @@ var _default = {
|
|
|
71
73
|
'1.1.33-01': _MigrateLedgerAccountV.default,
|
|
72
74
|
'1.1.41-01': _DeleteChainStaking.default,
|
|
73
75
|
// '1.1.46-01': AutoEnableSomeTokens,
|
|
74
|
-
'1.3.55-01':
|
|
75
|
-
'1.3.55-02':
|
|
76
|
+
'1.3.55-01': _MigrateAssetSetting.default,
|
|
77
|
+
'1.3.55-02': _MigrateTransactionHistoryBySymbol.default,
|
|
76
78
|
'1.2.69-01': _MigrateRemoveGenesisHash.default,
|
|
77
79
|
'1.2.13-01': _ReloadMetadata.default,
|
|
78
80
|
'1.2.32-01': _MigratePairData.default,
|
|
@@ -86,10 +88,12 @@ var _default = {
|
|
|
86
88
|
'1.3.54-01': _MigrateChainPatrol.default,
|
|
87
89
|
'1.3.62-01': _DeleteEarningData2.default,
|
|
88
90
|
'1.3.58-01': _OptimizeEnableToken.default,
|
|
89
|
-
'1.3.64-01':
|
|
90
|
-
'1.3.64-02':
|
|
91
|
+
'1.3.64-01': _MigrateAssetSetting2.default,
|
|
92
|
+
'1.3.64-02': _MigrateTransactionHistoryBySymbol2.default,
|
|
91
93
|
'1.3.65-01': _DeleteEarningData3.default,
|
|
92
|
-
'1.3.66-01':
|
|
93
|
-
'1.3.66-02':
|
|
94
|
+
'1.3.66-01': _MigrateAssetSetting3.default,
|
|
95
|
+
'1.3.66-02': _MigrateTransactionHistoryBySymbol3.default,
|
|
96
|
+
'1.3.72-01': _MigrateAssetSetting4.default,
|
|
97
|
+
'1.3.72-02': _MigrateTransactionHistoryBySymbol4.default
|
|
94
98
|
};
|
|
95
99
|
exports.default = _default;
|
|
@@ -14,6 +14,11 @@ var _subwalletServicesSdk = _interopRequireDefault(require("@subwallet-monorepos
|
|
|
14
14
|
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
15
15
|
// SPDX-License-Identifier: Apache-2.0
|
|
16
16
|
|
|
17
|
+
/**
|
|
18
|
+
* NFT detection service
|
|
19
|
+
* Responsible for managing NFT detection jobs per address
|
|
20
|
+
*/
|
|
21
|
+
|
|
17
22
|
function mapSdkToNftItem(rawInstance, chain, collectionId, owner) {
|
|
18
23
|
var _rawInstance$token_ty, _rawInstance$token_ty2, _rawInstance$id;
|
|
19
24
|
const metadata = rawInstance.metadata || {};
|
|
@@ -185,7 +185,6 @@ class BaseOpenGovHandler {
|
|
|
185
185
|
const decimals = Number((0, _utils._getAssetDecimals)(this.nativeToken));
|
|
186
186
|
estimatedFee = new _bignumber.default(0.001).multipliedBy(new _bignumber.default(10).pow(decimals)); // fallback 0.001
|
|
187
187
|
}
|
|
188
|
-
|
|
189
188
|
const availableBalance = new _bignumber.default(totalBalance.value).minus(estimatedFee);
|
|
190
189
|
if (availableBalance.lte(0)) {
|
|
191
190
|
return new _TransactionError.TransactionError(_types.BasicTxErrorType.NOT_ENOUGH_BALANCE, "You don't have enough tokens to proceed");
|
|
@@ -236,7 +235,6 @@ class BaseOpenGovHandler {
|
|
|
236
235
|
estimatedFee = new _bignumber.default(0.001 * 10 ** (0, _utils._getAssetDecimals)(this.nativeToken)); // fallback 0.001
|
|
237
236
|
}
|
|
238
237
|
}
|
|
239
|
-
|
|
240
238
|
const availableBalance = new _bignumber.default(totalBalance.value).minus(estimatedFee);
|
|
241
239
|
if (availableBalance.lte(0)) {
|
|
242
240
|
return new _TransactionError.TransactionError(_types.BasicTxErrorType.NOT_ENOUGH_BALANCE, "You don't have enough tokens to proceed");
|
|
@@ -25,4 +25,7 @@ exports.Conviction = Conviction;
|
|
|
25
25
|
Conviction["Locked4x"] = "Locked4x";
|
|
26
26
|
Conviction["Locked5x"] = "Locked5x";
|
|
27
27
|
Conviction["Locked6x"] = "Locked6x";
|
|
28
|
-
})(Conviction || (exports.Conviction = Conviction = {}));
|
|
28
|
+
})(Conviction || (exports.Conviction = Conviction = {})); // ----- Casting -----
|
|
29
|
+
// ----- Delegating -----
|
|
30
|
+
// ----- VotingFor -----
|
|
31
|
+
// Unlock Vote
|
|
@@ -16,8 +16,7 @@ var bitcoin = _interopRequireWildcard(require("bitcoinjs-lib"));
|
|
|
16
16
|
var _i18next = require("i18next");
|
|
17
17
|
var _rxjs = require("rxjs");
|
|
18
18
|
var _util = require("@polkadot/util");
|
|
19
|
-
function
|
|
20
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
21
20
|
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
22
21
|
// SPDX-License-Identifier: Apache-2.0
|
|
23
22
|
|
|
@@ -212,7 +212,6 @@ class EvmRequestHandler {
|
|
|
212
212
|
maxPriorityFeePerGas: (0, _eth.anyNumberToBN)(maxPriorityFeePerGas).toNumber()
|
|
213
213
|
// nonce: await web3.eth.getTransactionCount(from) // Todo: fill this value from transaction service
|
|
214
214
|
};
|
|
215
|
-
|
|
216
215
|
const tx = this.configToTransaction(params);
|
|
217
216
|
await Promise.resolve();
|
|
218
217
|
if (pair.isLocked) {
|
|
@@ -15,8 +15,7 @@ exports.hasSufficientCardanoValue = hasSufficientCardanoValue;
|
|
|
15
15
|
var CardanoWasm = _interopRequireWildcard(require("@emurgo/cardano-serialization-lib-nodejs"));
|
|
16
16
|
var _extensionChains = require("@subwallet/extension-chains");
|
|
17
17
|
var _defaults = require("@polkadot/networks/defaults");
|
|
18
|
-
function
|
|
19
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
20
19
|
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
21
20
|
// SPDX-License-Identifier: Apache-2.0
|
|
22
21
|
|
|
@@ -473,11 +473,9 @@ class DatabaseService {
|
|
|
473
473
|
async setMantaPayData(data) {
|
|
474
474
|
await this._db.mantaPay.put(data); // just override if exist
|
|
475
475
|
}
|
|
476
|
-
|
|
477
476
|
async updateMantaPayData(key, data) {
|
|
478
477
|
await this._db.mantaPay.update(key, data); // just override if exist
|
|
479
478
|
}
|
|
480
|
-
|
|
481
479
|
async getMantaPayData(key) {
|
|
482
480
|
return this._db.mantaPay.get({
|
|
483
481
|
key
|
|
@@ -10,6 +10,8 @@ var _dexie = _interopRequireDefault(require("dexie"));
|
|
|
10
10
|
// SPDX-License-Identifier: Apache-2.0
|
|
11
11
|
|
|
12
12
|
const DEFAULT_DATABASE = 'SubWalletDB_v2';
|
|
13
|
+
|
|
14
|
+
// TODO: refactor this
|
|
13
15
|
exports.DEFAULT_DATABASE = DEFAULT_DATABASE;
|
|
14
16
|
class KoniDatabase extends _dexie.default {
|
|
15
17
|
constructor() {
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.txTypeToSubstrateProxyMap = void 0;
|
|
7
|
+
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
8
|
+
// Copyright 2019-2022 @subwallet/extension-base
|
|
9
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
10
|
+
|
|
11
|
+
const SUBSTRATE_PROXY_ACCOUNT_EXTRINSIC_GROUPS = {
|
|
12
|
+
STAKING: [_KoniTypes.ExtrinsicType.STAKING_BOND, _KoniTypes.ExtrinsicType.STAKING_UNBOND, _KoniTypes.ExtrinsicType.STAKING_WITHDRAW, _KoniTypes.ExtrinsicType.STAKING_JOIN_POOL, _KoniTypes.ExtrinsicType.STAKING_LEAVE_POOL, _KoniTypes.ExtrinsicType.CHANGE_EARNING_VALIDATOR, _KoniTypes.ExtrinsicType.STAKING_CANCEL_UNSTAKE, _KoniTypes.ExtrinsicType.STAKING_CLAIM_REWARD],
|
|
13
|
+
GOV: [_KoniTypes.ExtrinsicType.GOV_VOTE, _KoniTypes.ExtrinsicType.GOV_UNVOTE, _KoniTypes.ExtrinsicType.GOV_UNLOCK_VOTE],
|
|
14
|
+
PROXY: [
|
|
15
|
+
// only type any can add proxy
|
|
16
|
+
_KoniTypes.ExtrinsicType.REMOVE_SUBSTRATE_PROXY_ACCOUNT]
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
// Map extrinsic type to possible substrate proxy types that can be used
|
|
20
|
+
// The governance proxy type will be support later
|
|
21
|
+
const txTypeToSubstrateProxyMap = {
|
|
22
|
+
...Object.fromEntries(SUBSTRATE_PROXY_ACCOUNT_EXTRINSIC_GROUPS.STAKING.map(t => [t, ['Staking', 'NonTransfer']])),
|
|
23
|
+
...Object.fromEntries(SUBSTRATE_PROXY_ACCOUNT_EXTRINSIC_GROUPS.GOV.map(t => [t, ['Governance', 'NonTransfer']])),
|
|
24
|
+
...Object.fromEntries(SUBSTRATE_PROXY_ACCOUNT_EXTRINSIC_GROUPS.PROXY.map(t => [t, ['NonTransfer']]))
|
|
25
|
+
};
|
|
26
|
+
exports.txTypeToSubstrateProxyMap = txTypeToSubstrateProxyMap;
|
|
@@ -0,0 +1,170 @@
|
|
|
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 _TransactionError = require("@subwallet/extension-base/background/errors/TransactionError");
|
|
9
|
+
var _types = require("@subwallet/extension-base/types");
|
|
10
|
+
var _utils = require("@subwallet/extension-base/utils");
|
|
11
|
+
var _bignumber = _interopRequireDefault(require("bignumber.js"));
|
|
12
|
+
var _constant = require("./constant");
|
|
13
|
+
// Copyright 2019-2022 @subwallet/extension-base
|
|
14
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
15
|
+
|
|
16
|
+
class SubstrateProxyAccountService {
|
|
17
|
+
constructor(state) {
|
|
18
|
+
this.state = state;
|
|
19
|
+
}
|
|
20
|
+
getSubstrateApi(chain) {
|
|
21
|
+
return this.state.getSubstrateApi(chain);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Get proxied accounts for a main account
|
|
25
|
+
// Get when view details or perform transaction
|
|
26
|
+
async getSubstrateProxyAccountGroup(request) {
|
|
27
|
+
var _substrateApi$api$con, _substrateApi$api$con2;
|
|
28
|
+
const {
|
|
29
|
+
address,
|
|
30
|
+
chain,
|
|
31
|
+
excludedSubstrateProxyAccounts,
|
|
32
|
+
type
|
|
33
|
+
} = request;
|
|
34
|
+
const substrateApi = this.getSubstrateApi(chain);
|
|
35
|
+
await substrateApi.isReady;
|
|
36
|
+
|
|
37
|
+
// Get proxied accounts from on-chain data
|
|
38
|
+
const result = await substrateApi.api.query.proxy.proxies(address);
|
|
39
|
+
const baseDeposit = ((_substrateApi$api$con = substrateApi.api.consts.proxy.proxyDepositBase) === null || _substrateApi$api$con === void 0 ? void 0 : _substrateApi$api$con.toString()) || '0';
|
|
40
|
+
const factorDeposit = ((_substrateApi$api$con2 = substrateApi.api.consts.proxy.proxyDepositFactor) === null || _substrateApi$api$con2 === void 0 ? void 0 : _substrateApi$api$con2.toString()) || '0';
|
|
41
|
+
const deposit = new _bignumber.default(baseDeposit).plus(factorDeposit);
|
|
42
|
+
const [_substrateProxyAccounts, currentSubstrateProxyDeposit] = result.toPrimitive();
|
|
43
|
+
|
|
44
|
+
// Mapping on-chain data to our defined type
|
|
45
|
+
let substrateProxyAccounts = (_substrateProxyAccounts || []).map(account => {
|
|
46
|
+
const proxyId = this.state.keyringService.context.belongUnifiedAccount(account.delegate) || (0, _utils.reformatAddress)(account.delegate);
|
|
47
|
+
return {
|
|
48
|
+
substrateProxyAddress: account.delegate,
|
|
49
|
+
substrateProxyType: account.proxyType,
|
|
50
|
+
delay: account.delay,
|
|
51
|
+
proxyId
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
if (type) {
|
|
55
|
+
const allowedSet = new Set([...(_constant.txTypeToSubstrateProxyMap[type] || []), 'Any']);
|
|
56
|
+
substrateProxyAccounts = substrateProxyAccounts.filter(p => allowedSet.has(p.substrateProxyType));
|
|
57
|
+
}
|
|
58
|
+
if (excludedSubstrateProxyAccounts && excludedSubstrateProxyAccounts.length > 0) {
|
|
59
|
+
substrateProxyAccounts = substrateProxyAccounts.filter(p => {
|
|
60
|
+
return !excludedSubstrateProxyAccounts.some(excluded => excluded.address === p.substrateProxyAddress && excluded.substrateProxyType === p.substrateProxyType);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
const estimateSubstrateProxyDeposit = new _bignumber.default(currentSubstrateProxyDeposit).plus(factorDeposit);
|
|
64
|
+
return {
|
|
65
|
+
substrateProxyAccounts,
|
|
66
|
+
substrateProxyDeposit: new _bignumber.default(currentSubstrateProxyDeposit).gt(0) ? estimateSubstrateProxyDeposit.toFixed() : deposit.toFixed()
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Linking proxy account with main account
|
|
71
|
+
async addSubstrateProxyAccounts(data) {
|
|
72
|
+
const {
|
|
73
|
+
address,
|
|
74
|
+
chain,
|
|
75
|
+
substrateProxyAddress,
|
|
76
|
+
substrateProxyType
|
|
77
|
+
} = data;
|
|
78
|
+
if (address === substrateProxyAddress) {
|
|
79
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.INVALID_PARAMS));
|
|
80
|
+
}
|
|
81
|
+
const substrateApi = this.getSubstrateApi(chain);
|
|
82
|
+
await substrateApi.isReady;
|
|
83
|
+
|
|
84
|
+
// Currently we not support delay time
|
|
85
|
+
return substrateApi.api.tx.proxy.addProxy(substrateProxyAddress, substrateProxyType, 0);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// Validate adding proxy account
|
|
89
|
+
async validateAddSubstrateProxyAccount(params, signerSubstrateProxyAddress) {
|
|
90
|
+
var _substrateApi$api$con3, _substrateApi$api$con4, _substrateApi$api$con5, _substrateApi$api$con6;
|
|
91
|
+
const {
|
|
92
|
+
address,
|
|
93
|
+
chain,
|
|
94
|
+
substrateProxyType
|
|
95
|
+
} = params;
|
|
96
|
+
const substrateApi = this.getSubstrateApi(chain);
|
|
97
|
+
await substrateApi.isReady;
|
|
98
|
+
const addProxyTx = substrateApi.api.tx.proxy.addProxy;
|
|
99
|
+
const proxyTypeArg = addProxyTx.meta.args.find(arg => arg.name.toString() === 'proxyType');
|
|
100
|
+
if (proxyTypeArg) {
|
|
101
|
+
const typeName = proxyTypeArg.type.toString();
|
|
102
|
+
const proxyTypeEnum = substrateApi.api.registry.createType(typeName);
|
|
103
|
+
const variants = proxyTypeEnum.defKeys;
|
|
104
|
+
if (!variants.includes(substrateProxyType)) {
|
|
105
|
+
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.UNSUPPORTED, 'This proxy type is not supported on the chosen network. Select another one and try again')];
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (!substrateApi.api.tx.proxy || !substrateApi.api.tx.proxy.addProxy) {
|
|
109
|
+
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.UNSUPPORTED)];
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Validate max proxies accounts limit
|
|
113
|
+
const maxSubstrateProxies = ((_substrateApi$api$con3 = substrateApi.api.consts.proxy.maxProxies) === null || _substrateApi$api$con3 === void 0 ? void 0 : (_substrateApi$api$con4 = _substrateApi$api$con3.toNumber) === null || _substrateApi$api$con4 === void 0 ? void 0 : _substrateApi$api$con4.call(_substrateApi$api$con3)) || 0;
|
|
114
|
+
const currentProxiesRaw = await substrateApi.api.query.proxy.proxies(address);
|
|
115
|
+
const [proxyList] = currentProxiesRaw.toPrimitive();
|
|
116
|
+
if (proxyList.length >= maxSubstrateProxies) {
|
|
117
|
+
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.INVALID_PARAMS, `Maximum number of proxies reached: ${maxSubstrateProxies}`)];
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// Ensure enough balance for deposit + fee
|
|
121
|
+
const transferableBalance = await this.state.balanceService.getTransferableBalance(address, chain);
|
|
122
|
+
const bnTransferableBalance = new _bignumber.default(transferableBalance.value);
|
|
123
|
+
const feeInfo = await substrateApi.api.tx.proxy.addProxy(params.substrateProxyAddress, params.substrateProxyType, 0).paymentInfo(address);
|
|
124
|
+
const estimatedFee = new _bignumber.default(feeInfo.partialFee.toString());
|
|
125
|
+
const baseDeposit = ((_substrateApi$api$con5 = substrateApi.api.consts.proxy.proxyDepositBase) === null || _substrateApi$api$con5 === void 0 ? void 0 : _substrateApi$api$con5.toString()) || '0';
|
|
126
|
+
const factorDeposit = ((_substrateApi$api$con6 = substrateApi.api.consts.proxy.proxyDepositFactor) === null || _substrateApi$api$con6 === void 0 ? void 0 : _substrateApi$api$con6.toString()) || '0';
|
|
127
|
+
const requiredDeposit = proxyList.length === 0 ? new _bignumber.default(baseDeposit).plus(factorDeposit) : new _bignumber.default(factorDeposit);
|
|
128
|
+
const totalRequired = new _bignumber.default(requiredDeposit).plus(!signerSubstrateProxyAddress ? estimatedFee : 0);
|
|
129
|
+
if (bnTransferableBalance.lt(totalRequired)) {
|
|
130
|
+
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.NOT_ENOUGH_BALANCE)];
|
|
131
|
+
}
|
|
132
|
+
return [];
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Removing linked proxy accounts from main account
|
|
136
|
+
async removeSubstrateProxyAccounts(data) {
|
|
137
|
+
const {
|
|
138
|
+
chain,
|
|
139
|
+
isRemoveAll,
|
|
140
|
+
selectedSubstrateProxyAccounts
|
|
141
|
+
} = data;
|
|
142
|
+
const substrateApi = this.getSubstrateApi(chain);
|
|
143
|
+
await substrateApi.isReady;
|
|
144
|
+
const api = substrateApi.api;
|
|
145
|
+
if (isRemoveAll) {
|
|
146
|
+
return api.tx.proxy.removeProxies();
|
|
147
|
+
}
|
|
148
|
+
if (!selectedSubstrateProxyAccounts.length) {
|
|
149
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.INVALID_PARAMS));
|
|
150
|
+
}
|
|
151
|
+
if (selectedSubstrateProxyAccounts.length === 1) {
|
|
152
|
+
const {
|
|
153
|
+
delay,
|
|
154
|
+
substrateProxyAddress,
|
|
155
|
+
substrateProxyType
|
|
156
|
+
} = selectedSubstrateProxyAccounts[0];
|
|
157
|
+
return api.tx.proxy.removeProxy(substrateProxyAddress, substrateProxyType, delay);
|
|
158
|
+
}
|
|
159
|
+
const removeProxies = selectedSubstrateProxyAccounts.map(_ref => {
|
|
160
|
+
let {
|
|
161
|
+
delay,
|
|
162
|
+
substrateProxyAddress,
|
|
163
|
+
substrateProxyType
|
|
164
|
+
} = _ref;
|
|
165
|
+
return api.tx.proxy.removeProxy(substrateProxyAddress, substrateProxyType, delay);
|
|
166
|
+
});
|
|
167
|
+
return api.tx.utility.batchAll(removeProxies);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
exports.default = SubstrateProxyAccountService;
|
|
@@ -193,7 +193,6 @@ class AssetHubSwapHandler {
|
|
|
193
193
|
if (swap) {
|
|
194
194
|
return this.swapBaseHandler.validateSwapOnlyProcess(params, 1); // todo: create interface for input request
|
|
195
195
|
}
|
|
196
|
-
|
|
197
196
|
if (swapXcm) {
|
|
198
197
|
return this.swapBaseHandler.validateSwapXcmProcess(params, 1, 2);
|
|
199
198
|
}
|
|
@@ -18,8 +18,7 @@ var _utils2 = require("@subwallet/extension-base/utils");
|
|
|
18
18
|
var _getId = require("@subwallet/extension-base/utils/getId");
|
|
19
19
|
var _bignumber = _interopRequireDefault(require("bignumber.js"));
|
|
20
20
|
var bitcoin = _interopRequireWildcard(require("bitcoinjs-lib"));
|
|
21
|
-
function
|
|
22
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
23
22
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
24
23
|
// SPDX-License-Identifier: Apache-2.0
|
|
25
24
|
|
|
@@ -97,7 +96,6 @@ class ChainflipSwapHandler {
|
|
|
97
96
|
// address to which assets are refunded
|
|
98
97
|
retryDurationInBlocks: '100' // 100 blocks * 6 seconds = 10 minutes before deposits are refunded
|
|
99
98
|
};
|
|
100
|
-
|
|
101
99
|
const path = `/swap?${new URLSearchParams(depositParams).toString()}`;
|
|
102
100
|
const response = await (0, _utils2.fetchFromProxyService)(_environment.ProxyServiceRoute.CHAINFLIP, path, {
|
|
103
101
|
method: 'GET'
|
|
@@ -265,7 +263,6 @@ class ChainflipSwapHandler {
|
|
|
265
263
|
if (swap) {
|
|
266
264
|
return this.swapBaseHandler.validateSwapOnlyProcess(params, swapIndex); // todo: create interface for input request
|
|
267
265
|
}
|
|
268
|
-
|
|
269
266
|
if (swapXcm) {
|
|
270
267
|
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR)];
|
|
271
268
|
}
|
|
@@ -321,7 +321,6 @@ class HydradxHandler {
|
|
|
321
321
|
if (swap) {
|
|
322
322
|
return this.swapBaseHandler.validateSwapOnlyProcess(params, 1); // todo: create interface for input request
|
|
323
323
|
}
|
|
324
|
-
|
|
325
324
|
if (swapXcm) {
|
|
326
325
|
return this.swapBaseHandler.validateSwapXcmProcess(params, 1, 2);
|
|
327
326
|
}
|