@subwallet/extension-base 1.3.70-2 → 1.3.71-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.js +65 -8
- package/cjs/background/KoniTypes.js +65 -8
- package/cjs/constants/blocked-actions.js +3 -0
- package/cjs/core/logic-validation/swap.js +0 -3
- package/cjs/core/substrate/system-pallet.js +0 -2
- 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 +154 -158
- package/cjs/koni/background/handlers/State.js +54 -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 +2 -3
- 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 +0 -2
- package/cjs/services/balance-service/transfer/ton-transfer.js +0 -1
- package/cjs/services/balance-service/transfer/xcm/snowBridge.js +0 -1
- 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 +18 -26
- package/cjs/services/chain-service/utils/index.js +21 -25
- 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/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/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 +28 -28
- 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/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 +5 -1
- 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 +1 -2
- package/cjs/utils/index.js +1 -2
- package/constants/blocked-actions.js +3 -0
- package/core/logic-validation/swap.js +0 -3
- package/core/substrate/system-pallet.js +0 -2
- 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.js +8 -11
- package/koni/background/handlers/State.js +41 -38
- package/koni/background/handlers/Tabs.js +9 -3
- package/package.json +19 -20
- 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 +0 -1
- 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.js +0 -2
- package/services/balance-service/transfer/ton-transfer.js +0 -1
- package/services/balance-service/transfer/xcm/snowBridge.js +0 -1
- 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 +15 -23
- package/services/chain-service/utils/index.js +22 -26
- 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/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.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/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/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/swap/index.js +2 -1
- package/types/transaction/process.js +3 -1
- package/types/yield/actions/join/step.js +17 -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 +5 -1
- package/utils/auth.js +2 -2
- package/utils/bitcoin/utxo-management.js +0 -1
- package/utils/index.js +2 -5
|
@@ -472,7 +472,7 @@ class BalanceService {
|
|
|
472
472
|
const assetMap = this.state.chainService.getAssetRegistry();
|
|
473
473
|
const promiseList = addresses.map(address => {
|
|
474
474
|
const type = (0, _keyring.getKeypairTypeByAddress)(address);
|
|
475
|
-
const typeValid = [..._types3.
|
|
475
|
+
const typeValid = [..._types3.AllSubstrateKeypairTypes, ..._types3.EthereumKeypairTypes].includes(type);
|
|
476
476
|
if (typeValid) {
|
|
477
477
|
return this.state.subscanService.getMultiChainBalance(address).catch(e => {
|
|
478
478
|
console.error(e);
|
|
@@ -553,12 +553,10 @@ class BalanceService {
|
|
|
553
553
|
var _currentAssetSettings2;
|
|
554
554
|
const chainSlug = tokenSlug.split('-')[0];
|
|
555
555
|
const chainState = this.state.chainService.getChainStateByKey(chainSlug);
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
// Cancel if chain is turned off by user
|
|
559
|
-
if (chainState && chainState.manualTurnOff) {
|
|
556
|
+
if (chainState !== null && chainState !== void 0 && chainState.manualTurnOff) {
|
|
560
557
|
continue;
|
|
561
558
|
}
|
|
559
|
+
const existedKey = Object.keys(assetMap).find(v => v.toLowerCase() === tokenSlug.toLowerCase());
|
|
562
560
|
if (existedKey && !((_currentAssetSettings2 = currentAssetSettings[existedKey]) !== null && _currentAssetSettings2 !== void 0 && _currentAssetSettings2.visible)) {
|
|
563
561
|
needEnableChains.push(chainSlug);
|
|
564
562
|
needActiveTokens.push(existedKey);
|
|
@@ -774,7 +772,7 @@ class BalanceService {
|
|
|
774
772
|
const assetMap = this.state.chainService.getAssetRegistry();
|
|
775
773
|
const addresses = _uiKeyring.default.getPairs().map(account => account.address);
|
|
776
774
|
const evmAddresses = addresses.filter(address => [..._types3.EthereumKeypairTypes].includes((0, _keyring.getKeypairTypeByAddress)(address)));
|
|
777
|
-
const substrateAddresses = addresses.filter(address => [..._types3.
|
|
775
|
+
const substrateAddresses = addresses.filter(address => [..._types3.AllSubstrateKeypairTypes].includes((0, _keyring.getKeypairTypeByAddress)(address)));
|
|
778
776
|
const [nonZeroBalanceEvmToken, nonZeroBalanceSubstrateToken] = await Promise.all([this.evmDetectBalanceToken(evmAddresses), this.substrateDetectBalanceToken(substrateAddresses)]);
|
|
779
777
|
const substrateDetectChain = this.substrateDetectBalanceChain();
|
|
780
778
|
const evmDetectChain = await this.evmDetectBalanceChain();
|
|
@@ -803,6 +801,104 @@ class BalanceService {
|
|
|
803
801
|
}
|
|
804
802
|
}
|
|
805
803
|
|
|
806
|
-
/**
|
|
804
|
+
/** Return token slugs with balance in evm chain - only work with evm addresses & pure evm chains **/
|
|
805
|
+
async getEvmTokensBalanceByChain(address, chainSlug) {
|
|
806
|
+
const tokenBalanceSlugs = await _subwalletServicesSdk.default.balanceDetectionApi.getSwEvmTokenBalanceByChain(address, chainSlug);
|
|
807
|
+
return tokenBalanceSlugs;
|
|
808
|
+
}
|
|
809
|
+
|
|
810
|
+
/** Return token slugs with balance in substrate chain - only work with substrate chains that have subscanSlug **/
|
|
811
|
+
async getSubstrateTokensBalanceByChain(address, chainSlug, assetsByChain) {
|
|
812
|
+
const tokenBalanceSlugs = [];
|
|
813
|
+
const balanceData = await this.state.subscanService.getMultiChainBalance(address);
|
|
814
|
+
if (!balanceData) {
|
|
815
|
+
return [];
|
|
816
|
+
}
|
|
817
|
+
for (const datum of balanceData) {
|
|
818
|
+
const {
|
|
819
|
+
balance,
|
|
820
|
+
bonded,
|
|
821
|
+
category,
|
|
822
|
+
locked,
|
|
823
|
+
network,
|
|
824
|
+
symbol
|
|
825
|
+
} = datum;
|
|
826
|
+
const chain = this.state.chainService.detectBalanceChainSlugMap[network];
|
|
827
|
+
if (chain !== chainSlug) {
|
|
828
|
+
continue;
|
|
829
|
+
}
|
|
830
|
+
const isBalanceEmpty = (!balance || balance === '0') && (!locked || locked === '0') && (!bonded || bonded === '0');
|
|
831
|
+
if (isBalanceEmpty) {
|
|
832
|
+
continue;
|
|
833
|
+
}
|
|
834
|
+
const tokenKey = `${chain}-${category === 'native' ? 'NATIVE' : 'LOCAL'}-${symbol.toUpperCase()}`;
|
|
835
|
+
const existedKey = Object.keys(assetsByChain).find(v => v.toLowerCase() === tokenKey.toLowerCase());
|
|
836
|
+
if (existedKey) {
|
|
837
|
+
tokenBalanceSlugs.push(existedKey);
|
|
838
|
+
}
|
|
839
|
+
}
|
|
840
|
+
return tokenBalanceSlugs;
|
|
841
|
+
}
|
|
842
|
+
getCurrentAccountAddressByChain(chainInfo) {
|
|
843
|
+
const proxyId = this.state.keyringService.context.currentAccount.proxyId;
|
|
844
|
+
const addresses = this.state.keyringService.context.addressesByProxyId(proxyId);
|
|
845
|
+
if ((0, _utils._isPureEvmChain)(chainInfo)) {
|
|
846
|
+
const evmAddress = addresses.find(address => {
|
|
847
|
+
const type = (0, _keyring.getKeypairTypeByAddress)(address);
|
|
848
|
+
return [..._types3.EthereumKeypairTypes].includes(type);
|
|
849
|
+
});
|
|
850
|
+
if (evmAddress) {
|
|
851
|
+
return evmAddress;
|
|
852
|
+
}
|
|
853
|
+
}
|
|
854
|
+
if ((0, _utils._isChainSubstrateCompatible)(chainInfo)) {
|
|
855
|
+
const substrateAddress = addresses.find(address => {
|
|
856
|
+
const type = (0, _keyring.getKeypairTypeByAddress)(address);
|
|
857
|
+
return [..._types3.AllSubstrateKeypairTypes, ..._types3.EthereumKeypairTypes].includes(type);
|
|
858
|
+
});
|
|
859
|
+
if (substrateAddress) {
|
|
860
|
+
return substrateAddress;
|
|
861
|
+
}
|
|
862
|
+
}
|
|
863
|
+
return undefined;
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
/** re-detect balance & enable custom, priority tokens when enabling chain again **/
|
|
867
|
+
async updatePriorityAssetsByChain(chainSlug, visible) {
|
|
868
|
+
const currentAssetSettings = await this.state.chainService.getAssetSettings();
|
|
869
|
+
const assetsByChain = this.state.chainService.getFungibleTokensByChain(chainSlug);
|
|
870
|
+
const priorityTokensMap = this.state.chainService.value.priorityTokens || {};
|
|
871
|
+
const chainInfo = this.state.chainService.getChainInfoByKey(chainSlug);
|
|
872
|
+
const address = this.getCurrentAccountAddressByChain(chainInfo);
|
|
873
|
+
const tokenSlugsWithBalance = [];
|
|
874
|
+
if (address && !(0, _utils._isCustomChain)(chainInfo.slug)) {
|
|
875
|
+
if ((0, _utils._isPureEvmChain)(chainInfo)) {
|
|
876
|
+
tokenSlugsWithBalance.push(...(await this.getEvmTokensBalanceByChain(address, chainSlug)));
|
|
877
|
+
} else if ((0, _utils._isChainSubstrateCompatible)(chainInfo)) {
|
|
878
|
+
tokenSlugsWithBalance.push(...(await this.getSubstrateTokensBalanceByChain(address, chainSlug, assetsByChain)));
|
|
879
|
+
}
|
|
880
|
+
}
|
|
881
|
+
tokenSlugsWithBalance.forEach(tokenSlug => {
|
|
882
|
+
currentAssetSettings[tokenSlug] = {
|
|
883
|
+
visible: true
|
|
884
|
+
};
|
|
885
|
+
});
|
|
886
|
+
const priorityTokensList = priorityTokensMap.token && typeof priorityTokensMap.token === 'object' ? Object.keys(priorityTokensMap.token) : [];
|
|
887
|
+
for (const asset of Object.values(assetsByChain)) {
|
|
888
|
+
if (visible) {
|
|
889
|
+
const isPriorityToken = priorityTokensList.includes(asset.slug) || (0, _utils._isCustomAsset)(asset.slug);
|
|
890
|
+
if (isPriorityToken || (0, _utils._isNativeToken)(asset)) {
|
|
891
|
+
currentAssetSettings[asset.slug] = {
|
|
892
|
+
visible: true
|
|
893
|
+
};
|
|
894
|
+
}
|
|
895
|
+
} else {
|
|
896
|
+
currentAssetSettings[asset.slug] = {
|
|
897
|
+
visible: false
|
|
898
|
+
};
|
|
899
|
+
}
|
|
900
|
+
}
|
|
901
|
+
this.state.chainService.setAssetSettings(currentAssetSettings);
|
|
902
|
+
}
|
|
807
903
|
}
|
|
808
904
|
exports.BalanceService = BalanceService;
|
|
@@ -10,8 +10,7 @@ var _types = require("@subwallet/chain-list/types");
|
|
|
10
10
|
var _utils = require("@subwallet/extension-base/services/balance-service/helpers/subscribe/cardano/utils");
|
|
11
11
|
var _utils2 = require("@subwallet/extension-base/utils");
|
|
12
12
|
var _subwalletServicesSdk = _interopRequireDefault(require("@subwallet-monorepos/subwallet-services-sdk"));
|
|
13
|
-
function
|
|
14
|
-
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; }
|
|
13
|
+
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); }
|
|
15
14
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
16
15
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
16
|
var POPULAR_CARDANO_ERROR_PHRASE;
|
|
@@ -167,7 +167,6 @@ const getTransferMockTxFee = async (address, chainInfo, tokenInfo, api) => {
|
|
|
167
167
|
// estimate value
|
|
168
168
|
bounce: false // anyMode
|
|
169
169
|
});
|
|
170
|
-
|
|
171
170
|
estimatedFee = new _bignumber.default((await (0, _utils2.estimateTonTxFee)(tonApi, [mockMessage], mockWalletContract)).toString());
|
|
172
171
|
} else {
|
|
173
172
|
var _paymentInfo$partialF;
|
|
@@ -185,7 +184,6 @@ const getTransferMockTxFee = async (address, chainInfo, tokenInfo, api) => {
|
|
|
185
184
|
const paymentInfo = await (mockTx === null || mockTx === void 0 ? void 0 : mockTx.paymentInfo(address));
|
|
186
185
|
estimatedFee = new _bignumber.default((paymentInfo === null || paymentInfo === void 0 ? void 0 : (_paymentInfo$partialF = paymentInfo.partialFee) === null || _paymentInfo$partialF === void 0 ? void 0 : _paymentInfo$partialF.toString()) || '0'); // todo: should handle error case instead of setting fee to 0
|
|
187
186
|
}
|
|
188
|
-
|
|
189
187
|
return estimatedFee;
|
|
190
188
|
} catch (e) {
|
|
191
189
|
console.error('error mocking tx fee', e);
|
|
@@ -64,7 +64,6 @@ async function createTonNativeTransaction(_ref2) {
|
|
|
64
64
|
value: (0, _core.fromNano)(value),
|
|
65
65
|
bounce: false // todo: check and update the send bounced logic
|
|
66
66
|
});
|
|
67
|
-
|
|
68
67
|
const messagePayload = (0, _utils.cellToBase64Str)((0, _utils.messageRelaxedToCell)(messages));
|
|
69
68
|
const estimateExternalFee = await (0, _utils.estimateTonTxFee)(tonApi, [messages], walletContract);
|
|
70
69
|
const transactionObject = {
|
|
@@ -26,6 +26,9 @@ class CardanoApi {
|
|
|
26
26
|
connectionStatusSubject = new _rxjs.BehaviorSubject(_types._ChainConnectionStatus.DISCONNECTED);
|
|
27
27
|
isApiReady = false;
|
|
28
28
|
isApiReadyOnce = false;
|
|
29
|
+
|
|
30
|
+
// todo: add api with interface BlockFrostAPI to remove isTestnet check
|
|
31
|
+
|
|
29
32
|
constructor(chainSlug, apiUrl, _ref) {
|
|
30
33
|
let {
|
|
31
34
|
isTestnet,
|
|
@@ -68,7 +71,6 @@ class CardanoApi {
|
|
|
68
71
|
this.apiUrl = apiUrl;
|
|
69
72
|
// this.api = this.createProvider();
|
|
70
73
|
}
|
|
71
|
-
|
|
72
74
|
async recoverConnect() {
|
|
73
75
|
await this.disconnect();
|
|
74
76
|
this.connect();
|
|
@@ -288,7 +288,6 @@ class SubstrateApi {
|
|
|
288
288
|
// this.apiDefaultTx = api.tx[defaultSection][defaultMethod];
|
|
289
289
|
// this.apiDefaultTxSudo = (api.tx.system && api.tx.system.setCode) || this.apiDefaultTx;
|
|
290
290
|
}
|
|
291
|
-
|
|
292
291
|
async makeRpcQuery(_ref) {
|
|
293
292
|
let {
|
|
294
293
|
args,
|
|
@@ -330,7 +329,6 @@ class SubstrateApi {
|
|
|
330
329
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
|
|
331
330
|
return (await this.api[section][module][method]()).toPrimitive(); // todo: improve this
|
|
332
331
|
}
|
|
333
|
-
|
|
334
332
|
if (isStateQuery) {
|
|
335
333
|
if (!this.api[section][module]) {
|
|
336
334
|
return undefined;
|
|
@@ -7,8 +7,7 @@ exports.getSubstrateConnectProvider = getSubstrateConnectProvider;
|
|
|
7
7
|
exports.relayChainSpecs = exports.paraChainSpecs = void 0;
|
|
8
8
|
var Sc = _interopRequireWildcard(require("@substrate/connect"));
|
|
9
9
|
var _rpcProvider = require("@polkadot/rpc-provider");
|
|
10
|
-
function
|
|
11
|
-
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; }
|
|
10
|
+
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); }
|
|
12
11
|
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
13
12
|
// SPDX-License-Identifier: Apache-2.0
|
|
14
13
|
|
|
@@ -30,7 +30,6 @@ async function checkSubstrateEndpoint(endpoint, timeout) {
|
|
|
30
30
|
await wsProvider.disconnect(); // disconnect from the endpoint after the health check is complete
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
|
|
34
33
|
async function checkEvmEndpoint(endpoint, timeout) {
|
|
35
34
|
try {
|
|
36
35
|
const web3 = new _web.default(endpoint);
|
|
@@ -20,7 +20,6 @@ function validateTokenHasValueByChain(chainAsset) {
|
|
|
20
20
|
}
|
|
21
21
|
return isTestnet !== chainAsset.hasValue; // todo: also check multichainAsset hasValue if has.
|
|
22
22
|
}
|
|
23
|
-
|
|
24
23
|
function validateNativeInfoByChain(chainAsset) {
|
|
25
24
|
var _chainInfo$evmInfo, _chainInfo$substrateI, _chainInfo$bitcoinInf, _chainInfo$evmInfo2, _chainInfo$substrateI2, _chainInfo$bitcoinInf2, _chainInfo$evmInfo3, _chainInfo$substrateI3, _chainInfo$bitcoinInf3;
|
|
26
25
|
const chainInfo = _chainList.ChainInfoMap[chainAsset.originChain];
|
|
@@ -55,6 +55,9 @@ class ChainService {
|
|
|
55
55
|
assetRegistry: {},
|
|
56
56
|
assetRefMap: {}
|
|
57
57
|
};
|
|
58
|
+
|
|
59
|
+
// to save chain, token settings from user
|
|
60
|
+
|
|
58
61
|
lockChainInfoMap = false; // prevent unwanted changes (edit, enable, disable) to chainInfoMap
|
|
59
62
|
|
|
60
63
|
get mantaPay() {
|
|
@@ -730,7 +733,6 @@ class ChainService {
|
|
|
730
733
|
.catch(e => console.error('Error enabling popular tokens:', e)); // Log error if enabling fails
|
|
731
734
|
}
|
|
732
735
|
}
|
|
733
|
-
|
|
734
736
|
handleLatestSufficientChains(latestSufficientChains) {
|
|
735
737
|
this.sufficientChainsSubject.next(latestSufficientChains);
|
|
736
738
|
this.logger.log('Finished updating latest supported sufficient chains');
|
|
@@ -1234,8 +1236,8 @@ class ChainService {
|
|
|
1234
1236
|
}
|
|
1235
1237
|
|
|
1236
1238
|
// Fill in the missing chainState and storageData (new chains never before seen)
|
|
1237
|
-
Object.entries(mergedChainInfoMap).forEach(
|
|
1238
|
-
let [slug, chainInfo] =
|
|
1239
|
+
Object.entries(mergedChainInfoMap).forEach(_ref0 => {
|
|
1240
|
+
let [slug, chainInfo] = _ref0;
|
|
1239
1241
|
if (!(slug in this.dataMap.chainStateMap)) {
|
|
1240
1242
|
this.dataMap.chainStateMap[slug] = {
|
|
1241
1243
|
currentProvider: Object.keys(chainInfo.providers)[0],
|
|
@@ -1346,8 +1348,8 @@ class ChainService {
|
|
|
1346
1348
|
// Fill out zk assets from finalAssetRegistry if not supported
|
|
1347
1349
|
if (!_utils2.MODULE_SUPPORT.MANTA_ZK) {
|
|
1348
1350
|
const zkAssets = [];
|
|
1349
|
-
Object.entries(finalAssetRegistry).forEach(
|
|
1350
|
-
let [slug, assets] =
|
|
1351
|
+
Object.entries(finalAssetRegistry).forEach(_ref1 => {
|
|
1352
|
+
let [slug, assets] = _ref1;
|
|
1351
1353
|
if ((0, _utils._isMantaZkAsset)(assets)) {
|
|
1352
1354
|
zkAssets.push(slug);
|
|
1353
1355
|
delete finalAssetRegistry[slug];
|
|
@@ -1380,7 +1382,18 @@ class ChainService {
|
|
|
1380
1382
|
|
|
1381
1383
|
// Enable chain if not before
|
|
1382
1384
|
if (!targetChainState.active) {
|
|
1385
|
+
var _currentAssetSettings;
|
|
1383
1386
|
targetChainState.active = true;
|
|
1387
|
+
|
|
1388
|
+
// enable native token
|
|
1389
|
+
const nativeAsset = this.getNativeTokenInfo(chainSlug);
|
|
1390
|
+
const currentAssetSettings = await this.getAssetSettings();
|
|
1391
|
+
if (!((_currentAssetSettings = currentAssetSettings[nativeAsset.slug]) !== null && _currentAssetSettings !== void 0 && _currentAssetSettings.visible)) {
|
|
1392
|
+
currentAssetSettings[nativeAsset.slug] = {
|
|
1393
|
+
visible: true
|
|
1394
|
+
};
|
|
1395
|
+
this.setAssetSettings(currentAssetSettings);
|
|
1396
|
+
}
|
|
1384
1397
|
}
|
|
1385
1398
|
|
|
1386
1399
|
// It auto detects the change of api url to create new instance or reuse existed one
|
|
@@ -1884,27 +1897,6 @@ class ChainService {
|
|
|
1884
1897
|
});
|
|
1885
1898
|
this.setAssetSettings(assetSettings);
|
|
1886
1899
|
}
|
|
1887
|
-
async updatePriorityAssetsByChain(chainSlug, visible) {
|
|
1888
|
-
const currentAssetSettings = await this.getAssetSettings();
|
|
1889
|
-
const assetsByChain = this.getFungibleTokensByChain(chainSlug);
|
|
1890
|
-
const priorityTokensMap = this.priorityTokensSubject.value || {};
|
|
1891
|
-
const priorityTokensList = priorityTokensMap.token && typeof priorityTokensMap.token === 'object' ? Object.keys(priorityTokensMap.token) : [];
|
|
1892
|
-
for (const asset of Object.values(assetsByChain)) {
|
|
1893
|
-
if (visible) {
|
|
1894
|
-
const isPriorityToken = priorityTokensList.includes(asset.slug);
|
|
1895
|
-
if (isPriorityToken || (0, _utils._isNativeToken)(asset)) {
|
|
1896
|
-
currentAssetSettings[asset.slug] = {
|
|
1897
|
-
visible: true
|
|
1898
|
-
};
|
|
1899
|
-
}
|
|
1900
|
-
} else {
|
|
1901
|
-
currentAssetSettings[asset.slug] = {
|
|
1902
|
-
visible: false
|
|
1903
|
-
};
|
|
1904
|
-
}
|
|
1905
|
-
}
|
|
1906
|
-
this.setAssetSettings(currentAssetSettings);
|
|
1907
|
-
}
|
|
1908
1900
|
subscribeAssetSettings() {
|
|
1909
1901
|
return this.assetSettingSubject;
|
|
1910
1902
|
}
|
|
@@ -259,7 +259,6 @@ function _isEqualContractAddress(address1, address2) {
|
|
|
259
259
|
if ((0, _utilCrypto.isEthereumAddress)(address1) && (0, _utilCrypto.isEthereumAddress)(address2)) {
|
|
260
260
|
return address1.toLowerCase() === address2.toLowerCase(); // EVM address is case-insensitive
|
|
261
261
|
}
|
|
262
|
-
|
|
263
262
|
return address2 === address1;
|
|
264
263
|
}
|
|
265
264
|
function _isEqualSmartContractAsset(asset1, asset2) {
|
|
@@ -399,12 +398,10 @@ function _isSmartContractToken(tokenInfo) {
|
|
|
399
398
|
function _isChainSubstrateCompatible(chainInfo) {
|
|
400
399
|
return !!chainInfo.substrateInfo; // fallback to Ethereum
|
|
401
400
|
}
|
|
402
|
-
|
|
403
401
|
function _getEvmChainId(chainInfo) {
|
|
404
402
|
var _chainInfo$evmInfo;
|
|
405
403
|
return (_chainInfo$evmInfo = chainInfo.evmInfo) === null || _chainInfo$evmInfo === void 0 ? void 0 : _chainInfo$evmInfo.evmChainId; // fallback to Ethereum
|
|
406
404
|
}
|
|
407
|
-
|
|
408
405
|
function _getSubstrateParaId(chainInfo) {
|
|
409
406
|
var _chainInfo$substrateI;
|
|
410
407
|
return ((_chainInfo$substrateI = chainInfo.substrateInfo) === null || _chainInfo$substrateI === void 0 ? void 0 : _chainInfo$substrateI.paraId) || -1;
|
|
@@ -445,8 +442,8 @@ function _isChainSupportEvmERC20(chainInfo) {
|
|
|
445
442
|
return ((_chainInfo$evmInfo3 = chainInfo.evmInfo) === null || _chainInfo$evmInfo3 === void 0 ? void 0 : (_chainInfo$evmInfo3$s = _chainInfo$evmInfo3.supportSmartContract) === null || _chainInfo$evmInfo3$s === void 0 ? void 0 : _chainInfo$evmInfo3$s.includes(_types._AssetType.ERC20)) || false;
|
|
446
443
|
}
|
|
447
444
|
function _isChainSupportWasmPSP22(chainInfo) {
|
|
448
|
-
var _chainInfo$
|
|
449
|
-
return ((_chainInfo$
|
|
445
|
+
var _chainInfo$substrateI0, _chainInfo$substrateI1;
|
|
446
|
+
return ((_chainInfo$substrateI0 = chainInfo.substrateInfo) === null || _chainInfo$substrateI0 === void 0 ? void 0 : (_chainInfo$substrateI1 = _chainInfo$substrateI0.supportSmartContract) === null || _chainInfo$substrateI1 === void 0 ? void 0 : _chainInfo$substrateI1.includes(_types._AssetType.PSP22)) || false;
|
|
450
447
|
}
|
|
451
448
|
function _isAssetHubChain(chainInfo) {
|
|
452
449
|
return ['statemint', 'statemine'].includes(chainInfo.slug);
|
|
@@ -455,12 +452,12 @@ function _isAssetHubToken(token) {
|
|
|
455
452
|
return ['statemint', 'statemine'].includes(token.originChain);
|
|
456
453
|
}
|
|
457
454
|
function _isChainSupportGRC20(chainInfo) {
|
|
458
|
-
var _chainInfo$
|
|
459
|
-
return ((_chainInfo$
|
|
455
|
+
var _chainInfo$substrateI10, _chainInfo$substrateI11;
|
|
456
|
+
return ((_chainInfo$substrateI10 = chainInfo.substrateInfo) === null || _chainInfo$substrateI10 === void 0 ? void 0 : (_chainInfo$substrateI11 = _chainInfo$substrateI10.supportSmartContract) === null || _chainInfo$substrateI11 === void 0 ? void 0 : _chainInfo$substrateI11.includes(_types._AssetType.GRC20)) || false;
|
|
460
457
|
}
|
|
461
458
|
function _isChainSupportVFT(chainInfo) {
|
|
462
|
-
var _chainInfo$
|
|
463
|
-
return ((_chainInfo$
|
|
459
|
+
var _chainInfo$substrateI12, _chainInfo$substrateI13;
|
|
460
|
+
return ((_chainInfo$substrateI12 = chainInfo.substrateInfo) === null || _chainInfo$substrateI12 === void 0 ? void 0 : (_chainInfo$substrateI13 = _chainInfo$substrateI12.supportSmartContract) === null || _chainInfo$substrateI13 === void 0 ? void 0 : _chainInfo$substrateI13.includes(_types._AssetType.VFT)) || false;
|
|
464
461
|
}
|
|
465
462
|
const _isSupportOrdinal = chain => {
|
|
466
463
|
const chains = ['polkadot', 'astar', 'bifrost_dot', 'moonbeam'];
|
|
@@ -573,7 +570,6 @@ function _isTokenEvmSmartContract(tokenInfo) {
|
|
|
573
570
|
function _isTokenTonSmartContract(tokenInfo) {
|
|
574
571
|
return [_types._AssetType.TEP74].includes(tokenInfo.assetType); // add TEP-62 when supporting
|
|
575
572
|
}
|
|
576
|
-
|
|
577
573
|
function _isCIP26Token(tokenInfo) {
|
|
578
574
|
return [_types._AssetType.CIP26].includes(tokenInfo.assetType);
|
|
579
575
|
}
|
|
@@ -601,12 +597,12 @@ function _getXcmAssetType(tokenInfo) {
|
|
|
601
597
|
return ((_tokenInfo$metadata9 = tokenInfo.metadata) === null || _tokenInfo$metadata9 === void 0 ? void 0 : _tokenInfo$metadata9.assetType) || '';
|
|
602
598
|
}
|
|
603
599
|
function _getXcmAssetId(tokenInfo) {
|
|
604
|
-
var _tokenInfo$
|
|
605
|
-
return ((_tokenInfo$
|
|
600
|
+
var _tokenInfo$metadata0;
|
|
601
|
+
return ((_tokenInfo$metadata0 = tokenInfo.metadata) === null || _tokenInfo$metadata0 === void 0 ? void 0 : _tokenInfo$metadata0.assetId) || '-1';
|
|
606
602
|
}
|
|
607
603
|
function _getXcmAssetMultilocation(tokenInfo) {
|
|
608
|
-
var _tokenInfo$
|
|
609
|
-
return (_tokenInfo$
|
|
604
|
+
var _tokenInfo$metadata1;
|
|
605
|
+
return (_tokenInfo$metadata1 = tokenInfo.metadata) === null || _tokenInfo$metadata1 === void 0 ? void 0 : _tokenInfo$metadata1.multilocation;
|
|
610
606
|
}
|
|
611
607
|
function _getXcmTransferType(originChainInfo, destinationChainInfo) {
|
|
612
608
|
var _originChainInfo$subs, _destinationChainInfo;
|
|
@@ -616,12 +612,12 @@ function _isRelayChain(chainInfo) {
|
|
|
616
612
|
return _isSubstrateRelayChain(chainInfo) || _isPureEvmChain(chainInfo);
|
|
617
613
|
}
|
|
618
614
|
function _isSubstrateRelayChain(chainInfo) {
|
|
619
|
-
var _chainInfo$
|
|
620
|
-
return ((_chainInfo$
|
|
615
|
+
var _chainInfo$substrateI14;
|
|
616
|
+
return ((_chainInfo$substrateI14 = chainInfo.substrateInfo) === null || _chainInfo$substrateI14 === void 0 ? void 0 : _chainInfo$substrateI14.chainType) === _types._SubstrateChainType.RELAYCHAIN;
|
|
621
617
|
}
|
|
622
618
|
function _isSubstrateParaChain(chainInfo) {
|
|
623
|
-
var _chainInfo$
|
|
624
|
-
return chainInfo.substrateInfo !== null && chainInfo.substrateInfo.paraId !== null && ((_chainInfo$
|
|
619
|
+
var _chainInfo$substrateI15;
|
|
620
|
+
return chainInfo.substrateInfo !== null && chainInfo.substrateInfo.paraId !== null && ((_chainInfo$substrateI15 = chainInfo.substrateInfo) === null || _chainInfo$substrateI15 === void 0 ? void 0 : _chainInfo$substrateI15.chainType) === _types._SubstrateChainType.PARACHAIN;
|
|
625
621
|
}
|
|
626
622
|
function _getEvmAbiExplorer(chainInfo) {
|
|
627
623
|
var _chainInfo$evmInfo4;
|
|
@@ -675,8 +671,8 @@ function _getBlockExplorerFromChain(chainInfo) {
|
|
|
675
671
|
var _chainInfo$tonInfo;
|
|
676
672
|
blockExplorer = chainInfo === null || chainInfo === void 0 ? void 0 : (_chainInfo$tonInfo = chainInfo.tonInfo) === null || _chainInfo$tonInfo === void 0 ? void 0 : _chainInfo$tonInfo.blockExplorer;
|
|
677
673
|
} else {
|
|
678
|
-
var _chainInfo$
|
|
679
|
-
blockExplorer = chainInfo === null || chainInfo === void 0 ? void 0 : (_chainInfo$
|
|
674
|
+
var _chainInfo$substrateI16;
|
|
675
|
+
blockExplorer = chainInfo === null || chainInfo === void 0 ? void 0 : (_chainInfo$substrateI16 = chainInfo.substrateInfo) === null || _chainInfo$substrateI16 === void 0 ? void 0 : _chainInfo$substrateI16.blockExplorer;
|
|
680
676
|
}
|
|
681
677
|
if (!blockExplorer) {
|
|
682
678
|
return undefined;
|
|
@@ -708,8 +704,8 @@ const _isAssetAutoEnable = chainAsset => {
|
|
|
708
704
|
};
|
|
709
705
|
exports._isAssetAutoEnable = _isAssetAutoEnable;
|
|
710
706
|
function _getCrowdloanUrlFromChain(chainInfo) {
|
|
711
|
-
var _chainInfo$
|
|
712
|
-
return (chainInfo === null || chainInfo === void 0 ? void 0 : (_chainInfo$
|
|
707
|
+
var _chainInfo$substrateI17;
|
|
708
|
+
return (chainInfo === null || chainInfo === void 0 ? void 0 : (_chainInfo$substrateI17 = chainInfo.substrateInfo) === null || _chainInfo$substrateI17 === void 0 ? void 0 : _chainInfo$substrateI17.crowdloanUrl) || '';
|
|
713
709
|
}
|
|
714
710
|
function _isCustomProvider(providerKey) {
|
|
715
711
|
return providerKey.startsWith(_types2._CUSTOM_PREFIX);
|
|
@@ -747,8 +743,8 @@ function _isMantaZkAsset(chainAsset) {
|
|
|
747
743
|
return _constants._MANTA_ZK_CHAIN_GROUP.includes(chainAsset.originChain) && chainAsset.symbol.startsWith(_constants._ZK_ASSET_PREFIX);
|
|
748
744
|
}
|
|
749
745
|
function _getChainExistentialDeposit(chainInfo) {
|
|
750
|
-
var _chainInfo$
|
|
751
|
-
return (chainInfo === null || chainInfo === void 0 ? void 0 : (_chainInfo$
|
|
746
|
+
var _chainInfo$substrateI18;
|
|
747
|
+
return (chainInfo === null || chainInfo === void 0 ? void 0 : (_chainInfo$substrateI18 = chainInfo.substrateInfo) === null || _chainInfo$substrateI18 === void 0 ? void 0 : _chainInfo$substrateI18.existentialDeposit) || '0';
|
|
752
748
|
}
|
|
753
749
|
function _getAssetExistentialDeposit(chainAsset) {
|
|
754
750
|
return (chainAsset === null || chainAsset === void 0 ? void 0 : chainAsset.minAmount) || '0';
|
|
@@ -880,7 +876,7 @@ const _isChainInfoCompatibleWithAccountInfo = (chainInfo, accountInfo) => {
|
|
|
880
876
|
type: accountType
|
|
881
877
|
} = accountInfo;
|
|
882
878
|
if (accountChainType === _types3.AccountChainType.SUBSTRATE) {
|
|
883
|
-
return _isPureSubstrateChain(chainInfo) && _types4.
|
|
879
|
+
return _isPureSubstrateChain(chainInfo) && _types4.AllSubstrateKeypairTypes.includes(accountType);
|
|
884
880
|
}
|
|
885
881
|
if (accountChainType === _types3.AccountChainType.ETHEREUM) {
|
|
886
882
|
if (accountSignMode === _types3.AccountSignMode.ECDSA_SUBSTRATE_LEDGER) {
|
|
@@ -141,6 +141,14 @@ class BasePoolHandler {
|
|
|
141
141
|
|
|
142
142
|
/** Subscribe pool info */
|
|
143
143
|
|
|
144
|
+
/** Subscribe pool position */
|
|
145
|
+
|
|
146
|
+
/** Get pool reward */
|
|
147
|
+
|
|
148
|
+
/** Get pool reward history */
|
|
149
|
+
|
|
150
|
+
/** Get pool target */
|
|
151
|
+
|
|
144
152
|
/* Subscribe data */
|
|
145
153
|
|
|
146
154
|
/* Join action */
|
|
@@ -276,6 +284,24 @@ class BasePoolHandler {
|
|
|
276
284
|
|
|
277
285
|
/** Validate param to join the pool */
|
|
278
286
|
|
|
287
|
+
/* Validate */
|
|
288
|
+
|
|
289
|
+
/* Submit */
|
|
290
|
+
|
|
291
|
+
/** Create `transaction` to join the pool step-by-step */
|
|
292
|
+
|
|
293
|
+
/* Submit */
|
|
294
|
+
|
|
295
|
+
/* Join action */
|
|
296
|
+
|
|
297
|
+
/* Leave action */
|
|
298
|
+
|
|
299
|
+
/** Validate param to leave the pool */
|
|
300
|
+
|
|
301
|
+
/** Create `transaction` to leave the pool normal (default unstake) */
|
|
302
|
+
|
|
303
|
+
/** Create `transaction` to leave the pool fast (swap token) */
|
|
304
|
+
|
|
279
305
|
/** Create `transaction` to leave the pool */
|
|
280
306
|
async handleYieldLeave(fastLeave, amount, address, selectedTarget, netuid, slippage) {
|
|
281
307
|
if (fastLeave) {
|
|
@@ -291,6 +317,12 @@ class BasePoolHandler {
|
|
|
291
317
|
|
|
292
318
|
/** Create `transaction` to withdraw unstaked amount */
|
|
293
319
|
|
|
320
|
+
/** Create `transaction` to cancel unstake */
|
|
321
|
+
|
|
322
|
+
/** Create `transaction` to claim reward */
|
|
323
|
+
|
|
324
|
+
/** Change earning validator */
|
|
325
|
+
|
|
294
326
|
/** Check handler can handle slug */
|
|
295
327
|
canHandleSlug(slug) {
|
|
296
328
|
return this.slug === slug;
|
|
@@ -59,7 +59,6 @@ class BaseLendingPoolHandler extends _special.default {
|
|
|
59
59
|
if (!(bnRemainingStake.isZero() || bnRemainingStake.gte(minStake))) {
|
|
60
60
|
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.INVALID_ACTIVE_STAKE)); // TODO
|
|
61
61
|
}
|
|
62
|
-
|
|
63
62
|
if (poolPosition.unstakings.length > maxUnstakeRequest) {
|
|
64
63
|
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.EXCEED_MAX_UNSTAKING, (0, _i18next.t)('bg.EARNING.services.service.earning.lending.maxUnstakeTimes', {
|
|
65
64
|
replace: {
|
|
@@ -71,7 +70,6 @@ class BaseLendingPoolHandler extends _special.default {
|
|
|
71
70
|
if (bnRemainingStake.lt(0)) {
|
|
72
71
|
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.INVALID_ACTIVE_STAKE)); // TODO
|
|
73
72
|
}
|
|
74
|
-
|
|
75
73
|
return Promise.resolve(errors);
|
|
76
74
|
}
|
|
77
75
|
|
|
@@ -257,7 +257,6 @@ class AcalaLiquidStakingPoolHandler extends _base.default {
|
|
|
257
257
|
// Min target amount
|
|
258
258
|
weightedMinAmount // should always set a min target to prevent unexpected result
|
|
259
259
|
);
|
|
260
|
-
|
|
261
260
|
return [_KoniTypes.ExtrinsicType.REDEEM_LDOT, extrinsic];
|
|
262
261
|
}
|
|
263
262
|
async handleYieldUnstake(amount, address, selectedTarget) {
|
|
@@ -76,7 +76,6 @@ class BaseLiquidStakingPoolHandler extends _special.default {
|
|
|
76
76
|
if (!(bnRemainingStake.isZero() || bnRemainingStake.gte(minStake))) {
|
|
77
77
|
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.INVALID_ACTIVE_STAKE)); // TODO
|
|
78
78
|
}
|
|
79
|
-
|
|
80
79
|
if (poolPosition.unstakings.length > maxUnstakeRequest) {
|
|
81
80
|
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.EXCEED_MAX_UNSTAKING, (0, _i18next.t)('bg.EARNING.services.service.earning.liquidStaking.maxUnstakeTimes', {
|
|
82
81
|
replace: {
|
|
@@ -88,7 +87,6 @@ class BaseLiquidStakingPoolHandler extends _special.default {
|
|
|
88
87
|
if (bnRemainingStake.lt(_util.BN_ZERO)) {
|
|
89
88
|
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.INVALID_ACTIVE_STAKE)); // TODO
|
|
90
89
|
}
|
|
91
|
-
|
|
92
90
|
return Promise.resolve(errors);
|
|
93
91
|
}
|
|
94
92
|
|
|
@@ -161,7 +161,6 @@ class BifrostLiquidStakingPoolHandler extends _base.default {
|
|
|
161
161
|
|
|
162
162
|
// const bnTotalBalance = bnActiveBalance.add(bnUnstakingBalance);
|
|
163
163
|
}
|
|
164
|
-
|
|
165
164
|
const unlockingMap = {};
|
|
166
165
|
|
|
167
166
|
// TODO: review unstaking info vtokenMinting.userUnlockLedger
|
|
@@ -213,7 +212,6 @@ class BifrostLiquidStakingPoolHandler extends _base.default {
|
|
|
213
212
|
});
|
|
214
213
|
});
|
|
215
214
|
}
|
|
216
|
-
|
|
217
215
|
const activeToTotalBalance = exchangeRate.multipliedBy(bnActiveBalance.toString());
|
|
218
216
|
const totalBalance = activeToTotalBalance.plus(unlockBalance.toString());
|
|
219
217
|
const result = {
|
|
@@ -200,7 +200,6 @@ class AstarNativeStakingPoolHandler extends _basePara.default {
|
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
|
-
|
|
204
203
|
const unlockingChunks = ledger.unbondingInfo.unlockingChunks;
|
|
205
204
|
if (unlockingChunks.length > 0) {
|
|
206
205
|
for (const unlockingChunk of unlockingChunks) {
|
|
@@ -219,7 +218,6 @@ class AstarNativeStakingPoolHandler extends _basePara.default {
|
|
|
219
218
|
});
|
|
220
219
|
}
|
|
221
220
|
}
|
|
222
|
-
|
|
223
221
|
if (nominationList.length === 0 && unstakingList.length === 0) {
|
|
224
222
|
return {
|
|
225
223
|
balanceToken: this.nativeToken.slug,
|