@subwallet/extension-base 1.3.69-0 → 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.d.ts +11 -0
- package/background/KoniTypes.js +68 -8
- package/cjs/background/KoniTypes.js +68 -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 +216 -158
- package/cjs/koni/background/handlers/State.js +59 -54
- 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/constants.js +15 -4
- 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 +34 -30
- 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/event-service/index.js +1 -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 +561 -0
- package/cjs/services/open-gov/index.js +273 -0
- package/cjs/services/open-gov/interface.js +31 -0
- package/cjs/services/open-gov/utils.js +66 -0
- 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 +19 -3
- package/cjs/services/storage-service/databases/index.js +5 -0
- package/cjs/services/storage-service/db-stores/GovLockedInfoStore.js +35 -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/helpers/index.js +6 -0
- package/cjs/services/transaction-service/index.js +71 -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 +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 +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.d.ts +4 -0
- package/koni/background/handlers/Extension.js +70 -11
- package/koni/background/handlers/State.d.ts +2 -0
- package/koni/background/handlers/State.js +46 -40
- package/koni/background/handlers/Tabs.js +9 -3
- package/package.json +44 -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/constants.d.ts +8 -0
- package/services/chain-service/constants.js +12 -2
- 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 +35 -31
- 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/event-service/index.d.ts +1 -0
- package/services/event-service/index.js +1 -0
- package/services/event-service/types.d.ts +1 -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.d.ts +27 -0
- package/services/open-gov/handler.js +545 -0
- package/services/open-gov/index.d.ts +45 -0
- package/services/open-gov/index.js +265 -0
- package/services/open-gov/interface.d.ts +141 -0
- package/services/open-gov/interface.js +24 -0
- package/services/open-gov/utils.d.ts +14 -0
- package/services/open-gov/utils.js +52 -0
- 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.d.ts +7 -0
- package/services/storage-service/DatabaseService.js +19 -3
- package/services/storage-service/databases/index.d.ts +2 -0
- package/services/storage-service/databases/index.js +6 -0
- package/services/storage-service/db-stores/GovLockedInfoStore.d.ts +10 -0
- package/services/storage-service/db-stores/GovLockedInfoStore.js +27 -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/helpers/index.js +6 -0
- package/services/transaction-service/index.js +43 -0
- 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 +10 -5
- package/utils/auth.js +2 -2
- package/utils/bitcoin/utxo-management.js +0 -1
- package/utils/index.js +2 -5
|
@@ -356,7 +356,6 @@ const subscribePSP22Balance = _ref4 => {
|
|
|
356
356
|
}
|
|
357
357
|
});
|
|
358
358
|
};
|
|
359
|
-
|
|
360
359
|
getTokenBalances();
|
|
361
360
|
const interval = setInterval(getTokenBalances, _constants.SUB_TOKEN_REFRESH_BALANCE_INTERVAL);
|
|
362
361
|
return () => {
|
|
@@ -572,8 +571,8 @@ const subscribeSubnetAlphaPallet = async _ref9 => {
|
|
|
572
571
|
}
|
|
573
572
|
for (const chainAsset of Object.values(tokenMap)) {
|
|
574
573
|
const netuid = (0, _utils2._getAssetNetuid)(chainAsset);
|
|
575
|
-
const items = Object.entries(converted).map(
|
|
576
|
-
let [address, stakeMap] =
|
|
574
|
+
const items = Object.entries(converted).map(_ref0 => {
|
|
575
|
+
let [address, stakeMap] = _ref0;
|
|
577
576
|
const value = stakeMap[netuid] || (0, _bignumber.default)(0);
|
|
578
577
|
return {
|
|
579
578
|
address: address,
|
|
@@ -57,10 +57,8 @@ async function retryTonTxStatus(fn, options) {
|
|
|
57
57
|
await new Promise(resolve => setTimeout(resolve, options.delay)); // wait for delay period, then recall the fn()
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
|
|
61
60
|
throw lastError; // throw only last error, in case no successful result from fn()
|
|
62
61
|
}
|
|
63
|
-
|
|
64
62
|
function getMessageTxStatus(txByMsgInfo) {
|
|
65
63
|
var _txDetailInfo$descrip, _txDetailInfo$descrip2, _txDetailInfo$descrip3, _txDetailInfo$descrip4, _txDetailInfo$descrip5, _txDetailInfo$descrip6, _txDetailInfo$out_msg, _txDetailInfo$out_msg2;
|
|
66
64
|
const txDetailInfo = txByMsgInfo.transactions[0];
|
|
@@ -86,7 +84,6 @@ async function getJettonTxStatus(tonApi, jettonTransferMsgHash) {
|
|
|
86
84
|
const jettonInternalTransferTxInfoRaw = await tonApi.getTxByInMsg(jettonInternalTransferHash);
|
|
87
85
|
return getMessageTxStatus(jettonInternalTransferTxInfoRaw); // Jetton Internal Transfer success -> Receiver successfully receiver fund!
|
|
88
86
|
}
|
|
89
|
-
|
|
90
87
|
return false;
|
|
91
88
|
}
|
|
92
89
|
async function estimateTonTxFee(tonApi, messages, walletContract, _seqno) {
|
|
@@ -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 = {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports._ZK_ASSET_PREFIX = exports._TRANSFER_CHAIN_GROUP = exports._SUBSTRATE_DEFAULT_INFLATION_PARAMS = exports._STAKING_ERA_LENGTH_MAP = exports._PURE_EVM_CHAINS = exports._PREDEFINED_SINGLE_MODES = exports._PARACHAIN_INFLATION_DISTRIBUTION = exports._NFT_CHAIN_GROUP = exports._MANTA_ZK_CHAIN_GROUP = exports._KNOWN_CHAIN_INFLATION_PARAMS = exports._EXPECTED_BLOCK_TIME = exports._DEFAULT_MANTA_ZK_CHAIN = exports._DEFAULT_ACTIVE_CHAINS = exports._BTC_SERVICE_TOKEN = exports._BITCOIN_TESTNET_NAME = exports._BITCOIN_TESTNET_CHAIN_SLUG = exports._BITCOIN_NAME = exports._BITCOIN_CHAIN_SLUG = exports._BALANCE_LOCKED_ID_GROUP = exports._BALANCE_CHAIN_GROUP = exports._API_OPTIONS_CHAIN_GROUP = exports.LATEST_CHAIN_DATA_FETCHING_INTERVAL = exports.EVM_REFORMAT_DECIMALS = exports.EVM_PASS_CONNECT_STATUS = exports.API_CONNECT_TIMEOUT = exports.API_AUTO_CONNECT_MS = void 0;
|
|
6
|
+
exports._ZK_ASSET_PREFIX = exports._TRANSFER_CHAIN_GROUP = exports._SUBSTRATE_DEFAULT_INFLATION_PARAMS = exports._STAKING_ERA_LENGTH_MAP = exports._PURE_EVM_CHAINS = exports._PREDEFINED_SINGLE_MODES = exports._PARACHAIN_INFLATION_DISTRIBUTION = exports._NFT_CHAIN_GROUP = exports._MANTA_ZK_CHAIN_GROUP = exports._KNOWN_CHAIN_INFLATION_PARAMS = exports._GOVERNANCE_CHAIN_GROUP = exports._EXPECTED_BLOCK_TIME = exports._DEFAULT_MANTA_ZK_CHAIN = exports._DEFAULT_ACTIVE_CHAINS = exports._BTC_SERVICE_TOKEN = exports._BITCOIN_TESTNET_NAME = exports._BITCOIN_TESTNET_CHAIN_SLUG = exports._BITCOIN_NAME = exports._BITCOIN_CHAIN_SLUG = exports._BALANCE_LOCKED_ID_GROUP = exports._BALANCE_CHAIN_GROUP = exports._API_OPTIONS_CHAIN_GROUP = exports.LATEST_CHAIN_DATA_FETCHING_INTERVAL = exports.EVM_REFORMAT_DECIMALS = exports.EVM_PASS_CONNECT_STATUS = exports.API_CONNECT_TIMEOUT = exports.API_AUTO_CONNECT_MS = void 0;
|
|
7
7
|
var _chainList = require("@subwallet/chain-list");
|
|
8
8
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
9
9
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
@@ -30,9 +30,18 @@ const _PREDEFINED_SINGLE_MODES = {
|
|
|
30
30
|
};
|
|
31
31
|
exports._PREDEFINED_SINGLE_MODES = _PREDEFINED_SINGLE_MODES;
|
|
32
32
|
const _PURE_EVM_CHAINS = ['binance', 'binance_test', 'ethereum', 'ethereum_goerli', 'astarEvm', 'shidenEvm', 'shibuyaEvm', 'crabEvm', 'pangolinEvm', 'cloverEvm', 'boba_rinkeby', 'boba', 'bobabase', 'bobabeam', 'watr_network_evm'];
|
|
33
|
+
exports._PURE_EVM_CHAINS = _PURE_EVM_CHAINS;
|
|
34
|
+
const _GOVERNANCE_CHAIN_GROUP = {
|
|
35
|
+
polkadot: ['statemint', 'bifrost_dot', 'hydradx_main', 'ajunaPolkadot', 'astar', 'phala', 'litentry', 'acala', 'centrifuge', 'interlay', 'laos_network'],
|
|
36
|
+
kusama: ['statemine', 'bifrost', 'basilisk', 'karura', 'kintsugi'],
|
|
37
|
+
westend_assethub: ['westend_assethub'],
|
|
38
|
+
paseo: ['paseo_assethub'],
|
|
39
|
+
solo: ['vara_network', 'zkverify'],
|
|
40
|
+
testnet: ['zkverify_testnet']
|
|
41
|
+
};
|
|
33
42
|
|
|
34
43
|
// Get balance----------------------------------------------------------------------------------------------------------
|
|
35
|
-
exports.
|
|
44
|
+
exports._GOVERNANCE_CHAIN_GROUP = _GOVERNANCE_CHAIN_GROUP;
|
|
36
45
|
const _BALANCE_CHAIN_GROUP = {
|
|
37
46
|
kintsugi: ['kintsugi', 'interlay', 'kintsugi_test', 'mangatax_para'],
|
|
38
47
|
genshiro: ['genshiro_testnet', 'genshiro'],
|
|
@@ -139,6 +148,8 @@ const _EXPECTED_BLOCK_TIME = {
|
|
|
139
148
|
statemint: 6,
|
|
140
149
|
statemine: 6,
|
|
141
150
|
polkadex: 12,
|
|
151
|
+
westend_assethub: 6,
|
|
152
|
+
paseo_assethub: 6,
|
|
142
153
|
ternoa: 6,
|
|
143
154
|
ternoa_alphanet: 6,
|
|
144
155
|
westend: 6,
|
|
@@ -149,8 +160,8 @@ const _EXPECTED_BLOCK_TIME = {
|
|
|
149
160
|
vara_testnet: 3,
|
|
150
161
|
goldberg_testnet: 20,
|
|
151
162
|
polimec: 12,
|
|
152
|
-
bifrost:
|
|
153
|
-
//
|
|
163
|
+
bifrost: 6,
|
|
164
|
+
// bifrost kusama
|
|
154
165
|
moonbeam: 12,
|
|
155
166
|
moonriver: 12,
|
|
156
167
|
moonbase: 6,
|
|
@@ -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'];
|
|
@@ -515,28 +512,36 @@ function _getChainNativeTokenBasicInfo(chainInfo) {
|
|
|
515
512
|
return defaultTokenInfo;
|
|
516
513
|
}
|
|
517
514
|
if (chainInfo.substrateInfo) {
|
|
518
|
-
// substrate by default
|
|
519
515
|
return {
|
|
516
|
+
...defaultTokenInfo,
|
|
520
517
|
symbol: chainInfo.substrateInfo.symbol,
|
|
521
518
|
decimals: chainInfo.substrateInfo.decimals
|
|
522
519
|
};
|
|
523
|
-
}
|
|
520
|
+
}
|
|
521
|
+
if (chainInfo.evmInfo) {
|
|
524
522
|
return {
|
|
523
|
+
...defaultTokenInfo,
|
|
525
524
|
symbol: chainInfo.evmInfo.symbol,
|
|
526
525
|
decimals: chainInfo.evmInfo.decimals
|
|
527
526
|
};
|
|
528
|
-
}
|
|
527
|
+
}
|
|
528
|
+
if (chainInfo.tonInfo) {
|
|
529
529
|
return {
|
|
530
|
+
...defaultTokenInfo,
|
|
530
531
|
symbol: chainInfo.tonInfo.symbol,
|
|
531
532
|
decimals: chainInfo.tonInfo.decimals
|
|
532
533
|
};
|
|
533
|
-
}
|
|
534
|
+
}
|
|
535
|
+
if (chainInfo.cardanoInfo) {
|
|
534
536
|
return {
|
|
537
|
+
...defaultTokenInfo,
|
|
535
538
|
symbol: chainInfo.cardanoInfo.symbol,
|
|
536
539
|
decimals: chainInfo.cardanoInfo.decimals
|
|
537
540
|
};
|
|
538
|
-
}
|
|
541
|
+
}
|
|
542
|
+
if (chainInfo.bitcoinInfo) {
|
|
539
543
|
return {
|
|
544
|
+
...defaultTokenInfo,
|
|
540
545
|
symbol: chainInfo.bitcoinInfo.symbol,
|
|
541
546
|
decimals: chainInfo.bitcoinInfo.decimals
|
|
542
547
|
};
|
|
@@ -565,7 +570,6 @@ function _isTokenEvmSmartContract(tokenInfo) {
|
|
|
565
570
|
function _isTokenTonSmartContract(tokenInfo) {
|
|
566
571
|
return [_types._AssetType.TEP74].includes(tokenInfo.assetType); // add TEP-62 when supporting
|
|
567
572
|
}
|
|
568
|
-
|
|
569
573
|
function _isCIP26Token(tokenInfo) {
|
|
570
574
|
return [_types._AssetType.CIP26].includes(tokenInfo.assetType);
|
|
571
575
|
}
|
|
@@ -593,12 +597,12 @@ function _getXcmAssetType(tokenInfo) {
|
|
|
593
597
|
return ((_tokenInfo$metadata9 = tokenInfo.metadata) === null || _tokenInfo$metadata9 === void 0 ? void 0 : _tokenInfo$metadata9.assetType) || '';
|
|
594
598
|
}
|
|
595
599
|
function _getXcmAssetId(tokenInfo) {
|
|
596
|
-
var _tokenInfo$
|
|
597
|
-
return ((_tokenInfo$
|
|
600
|
+
var _tokenInfo$metadata0;
|
|
601
|
+
return ((_tokenInfo$metadata0 = tokenInfo.metadata) === null || _tokenInfo$metadata0 === void 0 ? void 0 : _tokenInfo$metadata0.assetId) || '-1';
|
|
598
602
|
}
|
|
599
603
|
function _getXcmAssetMultilocation(tokenInfo) {
|
|
600
|
-
var _tokenInfo$
|
|
601
|
-
return (_tokenInfo$
|
|
604
|
+
var _tokenInfo$metadata1;
|
|
605
|
+
return (_tokenInfo$metadata1 = tokenInfo.metadata) === null || _tokenInfo$metadata1 === void 0 ? void 0 : _tokenInfo$metadata1.multilocation;
|
|
602
606
|
}
|
|
603
607
|
function _getXcmTransferType(originChainInfo, destinationChainInfo) {
|
|
604
608
|
var _originChainInfo$subs, _destinationChainInfo;
|
|
@@ -608,12 +612,12 @@ function _isRelayChain(chainInfo) {
|
|
|
608
612
|
return _isSubstrateRelayChain(chainInfo) || _isPureEvmChain(chainInfo);
|
|
609
613
|
}
|
|
610
614
|
function _isSubstrateRelayChain(chainInfo) {
|
|
611
|
-
var _chainInfo$
|
|
612
|
-
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;
|
|
613
617
|
}
|
|
614
618
|
function _isSubstrateParaChain(chainInfo) {
|
|
615
|
-
var _chainInfo$
|
|
616
|
-
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;
|
|
617
621
|
}
|
|
618
622
|
function _getEvmAbiExplorer(chainInfo) {
|
|
619
623
|
var _chainInfo$evmInfo4;
|
|
@@ -667,8 +671,8 @@ function _getBlockExplorerFromChain(chainInfo) {
|
|
|
667
671
|
var _chainInfo$tonInfo;
|
|
668
672
|
blockExplorer = chainInfo === null || chainInfo === void 0 ? void 0 : (_chainInfo$tonInfo = chainInfo.tonInfo) === null || _chainInfo$tonInfo === void 0 ? void 0 : _chainInfo$tonInfo.blockExplorer;
|
|
669
673
|
} else {
|
|
670
|
-
var _chainInfo$
|
|
671
|
-
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;
|
|
672
676
|
}
|
|
673
677
|
if (!blockExplorer) {
|
|
674
678
|
return undefined;
|
|
@@ -700,8 +704,8 @@ const _isAssetAutoEnable = chainAsset => {
|
|
|
700
704
|
};
|
|
701
705
|
exports._isAssetAutoEnable = _isAssetAutoEnable;
|
|
702
706
|
function _getCrowdloanUrlFromChain(chainInfo) {
|
|
703
|
-
var _chainInfo$
|
|
704
|
-
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) || '';
|
|
705
709
|
}
|
|
706
710
|
function _isCustomProvider(providerKey) {
|
|
707
711
|
return providerKey.startsWith(_types2._CUSTOM_PREFIX);
|
|
@@ -739,8 +743,8 @@ function _isMantaZkAsset(chainAsset) {
|
|
|
739
743
|
return _constants._MANTA_ZK_CHAIN_GROUP.includes(chainAsset.originChain) && chainAsset.symbol.startsWith(_constants._ZK_ASSET_PREFIX);
|
|
740
744
|
}
|
|
741
745
|
function _getChainExistentialDeposit(chainInfo) {
|
|
742
|
-
var _chainInfo$
|
|
743
|
-
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';
|
|
744
748
|
}
|
|
745
749
|
function _getAssetExistentialDeposit(chainAsset) {
|
|
746
750
|
return (chainAsset === null || chainAsset === void 0 ? void 0 : chainAsset.minAmount) || '0';
|
|
@@ -872,7 +876,7 @@ const _isChainInfoCompatibleWithAccountInfo = (chainInfo, accountInfo) => {
|
|
|
872
876
|
type: accountType
|
|
873
877
|
} = accountInfo;
|
|
874
878
|
if (accountChainType === _types3.AccountChainType.SUBSTRATE) {
|
|
875
|
-
return _isPureSubstrateChain(chainInfo) && _types4.
|
|
879
|
+
return _isPureSubstrateChain(chainInfo) && _types4.AllSubstrateKeypairTypes.includes(accountType);
|
|
876
880
|
}
|
|
877
881
|
if (accountChainType === _types3.AccountChainType.ETHEREUM) {
|
|
878
882
|
if (accountSignMode === _types3.AccountSignMode.ECDSA_SUBSTRATE_LEDGER) {
|