@subwallet/extension-base 1.1.40-1 → 1.1.42-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 +3 -1
- package/cjs/constants/index.js +1 -1
- package/cjs/koni/api/dotsama/transfer.js +1 -1
- package/cjs/koni/api/nft/bit.country/index.js +2 -0
- package/cjs/koni/api/nft/config.js +3 -1
- package/cjs/koni/api/tokens/evm/transfer.js +4 -4
- package/cjs/koni/background/handlers/Extension.js +32 -17
- package/cjs/koni/background/handlers/State.js +42 -10
- package/cjs/packageInfo.js +1 -1
- package/cjs/page/SubWalleEvmProvider.js +5 -9
- package/cjs/services/balance-service/helpers/subscribe/substrate/index.js +58 -0
- package/cjs/services/chain-service/constants.js +11 -7
- package/cjs/services/chain-service/handler/chain-spec/goldberg.js +75 -8
- package/cjs/services/chain-service/index.js +88 -79
- package/cjs/services/chain-service/utils.js +11 -6
- package/cjs/services/earning-service/constants/chains.js +10 -5
- package/cjs/services/earning-service/handlers/liquid-staking/acala.js +9 -3
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +8 -1
- package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +6 -1
- package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +25 -17
- package/cjs/services/earning-service/handlers/native-staking/amplitude.js +4 -0
- package/cjs/services/earning-service/handlers/native-staking/astar.js +6 -2
- package/cjs/services/earning-service/handlers/native-staking/para-chain.js +144 -45
- package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +14 -16
- package/cjs/services/earning-service/handlers/nomination-pool/index.js +9 -11
- package/cjs/services/earning-service/handlers/special.js +2 -0
- package/cjs/services/earning-service/service.js +51 -18
- package/cjs/services/fee-service/service.js +70 -0
- package/cjs/services/fee-service/utils/index.js +209 -0
- package/cjs/services/migration-service/scripts/DeleteChainStaking.js +23 -0
- package/cjs/services/migration-service/scripts/databases/MigrateAssetSetting.js +50 -0
- package/cjs/services/migration-service/scripts/index.js +6 -1
- package/cjs/services/transaction-service/index.js +37 -37
- package/cjs/types/fee/index.js +1 -0
- package/cjs/types/index.js +11 -0
- package/cjs/utils/eth.js +2 -105
- package/cjs/utils/index.js +12 -0
- package/cjs/utils/reportError.js +31 -0
- package/constants/index.d.ts +1 -1
- package/constants/index.js +1 -1
- package/koni/api/dotsama/transfer.js +1 -1
- package/koni/api/nft/bit.country/index.js +3 -1
- package/koni/api/nft/config.d.ts +1 -0
- package/koni/api/nft/config.js +1 -0
- package/koni/api/tokens/evm/transfer.js +1 -1
- package/koni/background/handlers/Extension.d.ts +1 -0
- package/koni/background/handlers/Extension.js +18 -3
- package/koni/background/handlers/State.d.ts +4 -1
- package/koni/background/handlers/State.js +33 -2
- package/package.json +36 -6
- package/packageInfo.js +1 -1
- package/page/SubWalleEvmProvider.d.ts +0 -1
- package/page/SubWalleEvmProvider.js +5 -9
- package/services/balance-service/helpers/subscribe/substrate/index.js +59 -1
- package/services/chain-service/constants.d.ts +2 -0
- package/services/chain-service/constants.js +11 -7
- package/services/chain-service/handler/chain-spec/goldberg.d.ts +70 -1
- package/services/chain-service/handler/chain-spec/goldberg.js +75 -8
- package/services/chain-service/index.d.ts +8 -4
- package/services/chain-service/index.js +74 -67
- package/services/chain-service/types.d.ts +4 -0
- package/services/chain-service/utils.d.ts +1 -0
- package/services/chain-service/utils.js +10 -6
- package/services/earning-service/constants/chains.d.ts +3 -0
- package/services/earning-service/constants/chains.js +7 -4
- package/services/earning-service/handlers/liquid-staking/acala.js +9 -3
- package/services/earning-service/handlers/liquid-staking/bifrost.js +8 -1
- package/services/earning-service/handlers/liquid-staking/parallel.d.ts +1 -1
- package/services/earning-service/handlers/liquid-staking/parallel.js +6 -1
- package/services/earning-service/handlers/liquid-staking/stella-swap.js +25 -17
- package/services/earning-service/handlers/native-staking/amplitude.js +4 -0
- package/services/earning-service/handlers/native-staking/astar.js +6 -2
- package/services/earning-service/handlers/native-staking/para-chain.js +144 -45
- package/services/earning-service/handlers/native-staking/relay-chain.js +15 -17
- package/services/earning-service/handlers/nomination-pool/index.js +10 -12
- package/services/earning-service/handlers/special.d.ts +1 -0
- package/services/earning-service/handlers/special.js +2 -0
- package/services/earning-service/service.d.ts +4 -1
- package/services/earning-service/service.js +52 -19
- package/services/fee-service/service.d.ts +12 -0
- package/services/fee-service/service.js +63 -0
- package/services/fee-service/utils/index.d.ts +8 -0
- package/services/fee-service/utils/index.js +193 -0
- package/services/migration-service/scripts/DeleteChainStaking.d.ts +4 -0
- package/services/migration-service/scripts/DeleteChainStaking.js +15 -0
- package/services/migration-service/scripts/databases/MigrateAssetSetting.d.ts +4 -0
- package/services/migration-service/scripts/databases/MigrateAssetSetting.js +42 -0
- package/services/migration-service/scripts/index.js +5 -1
- package/services/transaction-service/index.js +2 -2
- package/types/fee/index.d.ts +49 -0
- package/types/fee/index.js +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.js +1 -0
- package/types/yield/info/account/unstake.d.ts +2 -0
- package/types/yield/info/pallet.d.ts +4 -0
- package/utils/eth.d.ts +0 -15
- package/utils/eth.js +0 -101
- package/utils/index.d.ts +1 -0
- package/utils/index.js +1 -0
- package/utils/reportError.d.ts +1 -0
- package/utils/reportError.js +23 -0
|
@@ -1227,7 +1227,8 @@ export interface UnstakingInfo {
|
|
|
1227
1227
|
chain: string;
|
|
1228
1228
|
status: UnstakingStatus;
|
|
1229
1229
|
claimable: string;
|
|
1230
|
-
waitingTime
|
|
1230
|
+
waitingTime?: number;
|
|
1231
|
+
targetTimestampMs?: number;
|
|
1231
1232
|
validatorAddress?: string;
|
|
1232
1233
|
}
|
|
1233
1234
|
export interface NominatorMetadata {
|
|
@@ -1645,6 +1646,7 @@ export interface KoniRequestSignatures {
|
|
|
1645
1646
|
'pri(bonding.nominationPool.submitUnbonding)': [RequestStakePoolingUnbonding, SWTransactionResponse];
|
|
1646
1647
|
'pri(chainService.subscribeChainInfoMap)': [null, Record<string, any>, Record<string, any>];
|
|
1647
1648
|
'pri(chainService.subscribeChainStateMap)': [null, Record<string, any>, Record<string, any>];
|
|
1649
|
+
'pri(chainService.subscribeChainStatusMap)': [null, Record<string, any>, Record<string, any>];
|
|
1648
1650
|
'pri(chainService.subscribeAssetRegistry)': [null, Record<string, any>, Record<string, any>];
|
|
1649
1651
|
'pri(chainService.subscribeMultiChainAssetMap)': [null, Record<string, _MultiChainAsset>, Record<string, _MultiChainAsset>];
|
|
1650
1652
|
'pri(chainService.subscribeXcmRefMap)': [null, Record<string, _AssetRef>, Record<string, _AssetRef>];
|
package/cjs/constants/index.js
CHANGED
|
@@ -88,7 +88,7 @@ const CRON_REFRESH_HISTORY_INTERVAL = 900000;
|
|
|
88
88
|
exports.CRON_REFRESH_HISTORY_INTERVAL = CRON_REFRESH_HISTORY_INTERVAL;
|
|
89
89
|
const CRON_GET_API_MAP_STATUS = 10000;
|
|
90
90
|
exports.CRON_GET_API_MAP_STATUS = CRON_GET_API_MAP_STATUS;
|
|
91
|
-
const CRON_REFRESH_CHAIN_STAKING_METADATA =
|
|
91
|
+
const CRON_REFRESH_CHAIN_STAKING_METADATA = 90000;
|
|
92
92
|
exports.CRON_REFRESH_CHAIN_STAKING_METADATA = CRON_REFRESH_CHAIN_STAKING_METADATA;
|
|
93
93
|
const CRON_REFRESH_CHAIN_NOMINATOR_METADATA = 1800000;
|
|
94
94
|
exports.CRON_REFRESH_CHAIN_NOMINATOR_METADATA = CRON_REFRESH_CHAIN_NOMINATOR_METADATA;
|
|
@@ -190,7 +190,7 @@ const createTransferExtrinsic = async _ref => {
|
|
|
190
190
|
} else if (_constants._TRANSFER_CHAIN_GROUP.sora_substrate.includes(networkKey) && isTxAssetsSupported) {
|
|
191
191
|
transfer = api.tx.assets.transfer((0, _utils2._getTokenOnChainAssetId)(tokenInfo), to, value);
|
|
192
192
|
} else if (isTxBalancesSupported && (0, _utils2._isNativeToken)(tokenInfo)) {
|
|
193
|
-
if (networkKey
|
|
193
|
+
if (_constants._TRANSFER_CHAIN_GROUP.disable_transfer.includes(networkKey)) {
|
|
194
194
|
return [null, transferAmount || value];
|
|
195
195
|
}
|
|
196
196
|
if (transferAll) {
|
|
@@ -60,6 +60,8 @@ class BitCountryNftApi extends _nft.BaseNftApi {
|
|
|
60
60
|
// check if NFT is Land/Estate
|
|
61
61
|
if (onChainMeta.data.attributes['MetaverseId:']) {
|
|
62
62
|
return await (0, _crossFetch.default)(`${_config.BIT_COUNTRY_LAND_ESTATE_METADATA_API}/${assetId.classId}/${assetId.tokenId}/metadata.json`).then(resp => resp.json());
|
|
63
|
+
} else if (onChainMeta.metadata.startsWith('/avatar/')) {
|
|
64
|
+
return await (0, _crossFetch.default)(_config.BIT_AVATAR_API + onChainMeta.metadata).then(resp => resp.json());
|
|
63
65
|
} else {
|
|
64
66
|
return await (0, _crossFetch.default)(_config.BIT_COUNTRY_IPFS_SERVER + onChainMeta.metadata).then(resp => resp.json());
|
|
65
67
|
}
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.W3S_IPFS = exports.VARA_SCAN_ENDPOINT = exports.UNIQUE_SCAN_ENDPOINT = exports.UNIQUE_IPFS_GATEWAY = exports.TRANSFER_CHAIN_ID = exports.SUPPORTED_TRANSFER_SUBSTRATE_CHAIN_NAME = exports.SUPPORTED_TRANSFER_EVM_CHAIN_NAME = exports.SUPPORTED_TRANSFER_EVM_CHAIN = exports.SUPPORTED_NFT_NETWORKS = exports.SUBWALLET_IPFS = exports.SINGULAR_V2_ENDPOINT = exports.SINGULAR_V2_COLLECTION_ENDPOINT = exports.SINGULAR_V1_ENDPOINT = exports.SINGULAR_V1_COLLECTION_ENDPOINT = exports.RMRK_PINATA_SERVER = exports.QUARTZ_SCAN_ENDPOINT = exports.PINATA_IPFS_GATEWAY = exports.OPAL_SCAN_ENDPOINT = exports.NFT_STORAGE_GATEWAY = exports.KANARIA_EXTERNAL_SERVER = exports.KANARIA_ENDPOINT = exports.IPFS_W3S_LINK = exports.IPFS_IO = exports.IPFS_GATEWAY_4EVERLAND = exports.IPFS_FLEEK = exports.IPFS_ETH_ARAGON = exports.IPFS2_RMRK = exports.GATEWAY_IPFS_IO = exports.DWEB_LINK = exports.CLOUDFLARE_PINATA_SERVER = exports.CF_IPFS_GATEWAY = exports.BIT_COUNTRY_THUMBNAIL_RESOLVER = exports.BIT_COUNTRY_LAND_ESTATE_METADATA_API = exports.BIT_COUNTRY_IPFS_SERVER = void 0;
|
|
7
|
+
exports.W3S_IPFS = exports.VARA_SCAN_ENDPOINT = exports.UNIQUE_SCAN_ENDPOINT = exports.UNIQUE_IPFS_GATEWAY = exports.TRANSFER_CHAIN_ID = exports.SUPPORTED_TRANSFER_SUBSTRATE_CHAIN_NAME = exports.SUPPORTED_TRANSFER_EVM_CHAIN_NAME = exports.SUPPORTED_TRANSFER_EVM_CHAIN = exports.SUPPORTED_NFT_NETWORKS = exports.SUBWALLET_IPFS = exports.SINGULAR_V2_ENDPOINT = exports.SINGULAR_V2_COLLECTION_ENDPOINT = exports.SINGULAR_V1_ENDPOINT = exports.SINGULAR_V1_COLLECTION_ENDPOINT = exports.RMRK_PINATA_SERVER = exports.QUARTZ_SCAN_ENDPOINT = exports.PINATA_IPFS_GATEWAY = exports.OPAL_SCAN_ENDPOINT = exports.NFT_STORAGE_GATEWAY = exports.KANARIA_EXTERNAL_SERVER = exports.KANARIA_ENDPOINT = exports.IPFS_W3S_LINK = exports.IPFS_IO = exports.IPFS_GATEWAY_4EVERLAND = exports.IPFS_FLEEK = exports.IPFS_ETH_ARAGON = exports.IPFS2_RMRK = exports.GATEWAY_IPFS_IO = exports.DWEB_LINK = exports.CLOUDFLARE_PINATA_SERVER = exports.CF_IPFS_GATEWAY = exports.BIT_COUNTRY_THUMBNAIL_RESOLVER = exports.BIT_COUNTRY_LAND_ESTATE_METADATA_API = exports.BIT_COUNTRY_IPFS_SERVER = exports.BIT_AVATAR_API = void 0;
|
|
8
8
|
exports.getRandomIpfsGateway = getRandomIpfsGateway;
|
|
9
9
|
var _storage = require("@subwallet/extension-base/storage");
|
|
10
10
|
var _utils = require("@subwallet/extension-base/utils");
|
|
@@ -30,6 +30,8 @@ const CLOUDFLARE_PINATA_SERVER = 'https://cloudflare-ipfs.com/ipfs/';
|
|
|
30
30
|
exports.CLOUDFLARE_PINATA_SERVER = CLOUDFLARE_PINATA_SERVER;
|
|
31
31
|
const BIT_COUNTRY_IPFS_SERVER = 'https://ipfs-cdn.bit.country/';
|
|
32
32
|
exports.BIT_COUNTRY_IPFS_SERVER = BIT_COUNTRY_IPFS_SERVER;
|
|
33
|
+
const BIT_AVATAR_API = 'https://api.bitavatar.io/v1';
|
|
34
|
+
exports.BIT_AVATAR_API = BIT_AVATAR_API;
|
|
33
35
|
const BIT_COUNTRY_LAND_ESTATE_METADATA_API = 'https://pioneer-api.bit.country/metadata/landTokenUriPioneer';
|
|
34
36
|
exports.BIT_COUNTRY_LAND_ESTATE_METADATA_API = BIT_COUNTRY_LAND_ESTATE_METADATA_API;
|
|
35
37
|
const BIT_COUNTRY_THUMBNAIL_RESOLVER = 'https://res.cloudinary.com/ddftctzph/image/upload/c_scale,q_100,w_250/production-ipfs/asset/';
|
|
@@ -12,7 +12,7 @@ var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
|
12
12
|
var _web = require("@subwallet/extension-base/koni/api/tokens/evm/web3");
|
|
13
13
|
var _constants = require("@subwallet/extension-base/services/chain-service/constants");
|
|
14
14
|
var _helper = require("@subwallet/extension-base/services/chain-service/helper");
|
|
15
|
-
var
|
|
15
|
+
var _utils = require("@subwallet/extension-base/services/fee-service/utils");
|
|
16
16
|
var _bignumber = _interopRequireDefault(require("bignumber.js"));
|
|
17
17
|
var _util = require("@polkadot/util");
|
|
18
18
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
@@ -50,7 +50,7 @@ async function getEVMTransactionObject(chainInfo, from, to, value, transferAll,
|
|
|
50
50
|
var _priority$maxFeePerGa, _priority$maxPriority;
|
|
51
51
|
const networkKey = chainInfo.slug;
|
|
52
52
|
const web3Api = evmApiMap[networkKey];
|
|
53
|
-
const priority = await (0,
|
|
53
|
+
const priority = await (0, _utils.calculateGasFeeParams)(web3Api, networkKey);
|
|
54
54
|
const transactionObject = {
|
|
55
55
|
to: to,
|
|
56
56
|
value: value,
|
|
@@ -97,7 +97,7 @@ async function getERC20TransactionObject(assetAddress, chainInfo, from, to, valu
|
|
|
97
97
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
|
|
98
98
|
erc20Contract.methods.transfer(to, transferValue).estimateGas({
|
|
99
99
|
from
|
|
100
|
-
}), (0,
|
|
100
|
+
}), (0, _utils.calculateGasFeeParams)(evmApi, networkKey)]);
|
|
101
101
|
const transactionObject = {
|
|
102
102
|
gas: gasLimit,
|
|
103
103
|
from,
|
|
@@ -122,7 +122,7 @@ async function getERC721Transaction(web3Api, chain, contractAddress, senderAddre
|
|
|
122
122
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
|
|
123
123
|
contract.methods.safeTransferFrom(senderAddress, recipientAddress, tokenId).estimateGas({
|
|
124
124
|
from: senderAddress
|
|
125
|
-
}), (0,
|
|
125
|
+
}), (0, _utils.calculateGasFeeParams)(web3Api, chain)]);
|
|
126
126
|
return {
|
|
127
127
|
from: senderAddress,
|
|
128
128
|
gasPrice: priority.gasPrice,
|
|
@@ -30,19 +30,19 @@ var _utils = require("@subwallet/extension-base/koni/api/yield/helper/utils");
|
|
|
30
30
|
var _constants2 = require("@subwallet/extension-base/services/chain-service/constants");
|
|
31
31
|
var _types2 = require("@subwallet/extension-base/services/chain-service/types");
|
|
32
32
|
var _utils2 = require("@subwallet/extension-base/services/chain-service/utils");
|
|
33
|
+
var _utils3 = require("@subwallet/extension-base/services/fee-service/utils");
|
|
33
34
|
var _constants3 = require("@subwallet/extension-base/services/request-service/constants");
|
|
34
35
|
var _constants4 = require("@subwallet/extension-base/services/setting-service/constants");
|
|
35
36
|
var _constants5 = require("@subwallet/extension-base/services/wallet-connect-service/constants");
|
|
36
37
|
var _helpers2 = require("@subwallet/extension-base/services/wallet-connect-service/helpers");
|
|
37
38
|
var _stores = require("@subwallet/extension-base/stores");
|
|
38
39
|
var _types3 = require("@subwallet/extension-base/types");
|
|
39
|
-
var
|
|
40
|
-
var _eth = require("@subwallet/extension-base/utils/eth");
|
|
40
|
+
var _utils4 = require("@subwallet/extension-base/utils");
|
|
41
41
|
var _parseTransaction2 = require("@subwallet/extension-base/utils/eth/parseTransaction");
|
|
42
42
|
var _number = require("@subwallet/extension-base/utils/number");
|
|
43
43
|
var _keyring = require("@subwallet/keyring");
|
|
44
44
|
var _uiKeyring = require("@subwallet/ui-keyring");
|
|
45
|
-
var
|
|
45
|
+
var _utils5 = require("@walletconnect/utils");
|
|
46
46
|
var _bignumber = _interopRequireDefault(require("bignumber.js"));
|
|
47
47
|
var _i18next = require("i18next");
|
|
48
48
|
var _types4 = require("@polkadot/types");
|
|
@@ -550,7 +550,7 @@ class KoniExtension {
|
|
|
550
550
|
const _cb = (0, _subscriptions.createSubscription)(id, port);
|
|
551
551
|
let old = '';
|
|
552
552
|
const subscription = this.#koniState.keyringService.addressesSubject.subscribe(subjectInfo => {
|
|
553
|
-
const addresses = (0,
|
|
553
|
+
const addresses = (0, _utils4.convertSubjectInfoToAddresses)(subjectInfo);
|
|
554
554
|
const _new = JSON.stringify(addresses);
|
|
555
555
|
if (old !== _new) {
|
|
556
556
|
_cb({
|
|
@@ -565,7 +565,7 @@ class KoniExtension {
|
|
|
565
565
|
});
|
|
566
566
|
const subjectInfo = this.#koniState.keyringService.addresses;
|
|
567
567
|
return {
|
|
568
|
-
addresses: (0,
|
|
568
|
+
addresses: (0, _utils4.convertSubjectInfoToAddresses)(subjectInfo)
|
|
569
569
|
};
|
|
570
570
|
}
|
|
571
571
|
saveRecentAccount(_ref22) {
|
|
@@ -574,7 +574,7 @@ class KoniExtension {
|
|
|
574
574
|
chain
|
|
575
575
|
} = _ref22;
|
|
576
576
|
if ((0, _utilCrypto.isAddress)(accountId)) {
|
|
577
|
-
const address = (0,
|
|
577
|
+
const address = (0, _utils4.reformatAddress)(accountId);
|
|
578
578
|
const account = _uiKeyring.keyring.getAccount(address);
|
|
579
579
|
const contact = _uiKeyring.keyring.getAddress(address, 'address');
|
|
580
580
|
if (account) {
|
|
@@ -616,7 +616,7 @@ class KoniExtension {
|
|
|
616
616
|
meta
|
|
617
617
|
} = _ref23;
|
|
618
618
|
if ((0, _utilCrypto.isAddress)(address)) {
|
|
619
|
-
const _address = (0,
|
|
619
|
+
const _address = (0, _utils4.reformatAddress)(address);
|
|
620
620
|
_uiKeyring.keyring.saveAddress(_address, meta);
|
|
621
621
|
return true;
|
|
622
622
|
} else {
|
|
@@ -628,7 +628,7 @@ class KoniExtension {
|
|
|
628
628
|
address
|
|
629
629
|
} = _ref24;
|
|
630
630
|
if ((0, _utilCrypto.isAddress)(address)) {
|
|
631
|
-
const _address = (0,
|
|
631
|
+
const _address = (0, _utils4.reformatAddress)(address);
|
|
632
632
|
_uiKeyring.keyring.forgetAddress(_address);
|
|
633
633
|
return true;
|
|
634
634
|
} else {
|
|
@@ -1521,7 +1521,7 @@ class KoniExtension {
|
|
|
1521
1521
|
const addresses = _uiKeyring.keyring.getAccounts().map(a => a.address);
|
|
1522
1522
|
|
|
1523
1523
|
// Re-filter
|
|
1524
|
-
cb(histories.filter(item => addresses.some(address => (0,
|
|
1524
|
+
cb(histories.filter(item => addresses.some(address => (0, _utils4.isSameAddress)(item.address, address))));
|
|
1525
1525
|
});
|
|
1526
1526
|
this.createUnsubscriptionHandle(id, subscription.unsubscribe);
|
|
1527
1527
|
port.onDisconnect.addListener(() => {
|
|
@@ -1530,7 +1530,7 @@ class KoniExtension {
|
|
|
1530
1530
|
const addresses = _uiKeyring.keyring.getAccounts().map(a => a.address);
|
|
1531
1531
|
|
|
1532
1532
|
// Re-filter
|
|
1533
|
-
return historySubject.getValue().filter(item => addresses.some(address => (0,
|
|
1533
|
+
return historySubject.getValue().filter(item => addresses.some(address => (0, _utils4.isSameAddress)(item.address, address)));
|
|
1534
1534
|
}
|
|
1535
1535
|
subscribeHistoryByChainAndAddress(_ref44, id, port) {
|
|
1536
1536
|
let {
|
|
@@ -1975,7 +1975,7 @@ class KoniExtension {
|
|
|
1975
1975
|
from: address
|
|
1976
1976
|
};
|
|
1977
1977
|
const gasLimit = await web3.api.eth.estimateGas(transaction);
|
|
1978
|
-
const priority = await (0,
|
|
1978
|
+
const priority = await (0, _utils3.calculateGasFeeParams)(web3, networkKey);
|
|
1979
1979
|
if (priority.baseGasFee) {
|
|
1980
1980
|
const maxFee = priority.maxFeePerGas;
|
|
1981
1981
|
estimatedFee = maxFee.multipliedBy(gasLimit).toFixed(0);
|
|
@@ -2521,7 +2521,7 @@ class KoniExtension {
|
|
|
2521
2521
|
signed = await pair.evmSigner.signMessage(data, 'personal_sign');
|
|
2522
2522
|
} else {
|
|
2523
2523
|
var _signedTranaction$r, _signedTranaction$s, _signedTranaction$v;
|
|
2524
|
-
const tx = (0,
|
|
2524
|
+
const tx = (0, _utils4.createTransactionFromRLP)(message);
|
|
2525
2525
|
if (!tx) {
|
|
2526
2526
|
throw new Error((0, _i18next.t)('Failed to decode data. Please use a valid QR code'));
|
|
2527
2527
|
}
|
|
@@ -2546,7 +2546,7 @@ class KoniExtension {
|
|
|
2546
2546
|
common
|
|
2547
2547
|
});
|
|
2548
2548
|
const signedTranaction = _tx.LegacyTransaction.fromSerializedTx((0, _util.hexToU8a)(pair.evmSigner.signTransaction(transaction)));
|
|
2549
|
-
signed = (0,
|
|
2549
|
+
signed = (0, _utils4.signatureToHex)({
|
|
2550
2550
|
r: ((_signedTranaction$r = signedTranaction.r) === null || _signedTranaction$r === void 0 ? void 0 : _signedTranaction$r.toString(16)) || '',
|
|
2551
2551
|
s: ((_signedTranaction$s = signedTranaction.s) === null || _signedTranaction$s === void 0 ? void 0 : _signedTranaction$s.toString(16)) || '',
|
|
2552
2552
|
v: ((_signedTranaction$v = signedTranaction.v) === null || _signedTranaction$v === void 0 ? void 0 : _signedTranaction$v.toString(16)) || ''
|
|
@@ -3255,6 +3255,19 @@ class KoniExtension {
|
|
|
3255
3255
|
});
|
|
3256
3256
|
return this.#koniState.getChainStateMap();
|
|
3257
3257
|
}
|
|
3258
|
+
subscribeChainStatusMap(id, port) {
|
|
3259
|
+
const cb = (0, _subscriptions.createSubscription)(id, port);
|
|
3260
|
+
const chainStateMapSubscription = this.#koniState.chainService.subscribeChainStatusMap().subscribe({
|
|
3261
|
+
next: rs => {
|
|
3262
|
+
cb(rs);
|
|
3263
|
+
}
|
|
3264
|
+
});
|
|
3265
|
+
this.createUnsubscriptionHandle(id, chainStateMapSubscription.unsubscribe);
|
|
3266
|
+
port.onDisconnect.addListener(() => {
|
|
3267
|
+
this.cancelSubscription(id);
|
|
3268
|
+
});
|
|
3269
|
+
return this.#koniState.chainService.getChainStatusMap();
|
|
3270
|
+
}
|
|
3258
3271
|
async subscribeAssetRegistry(id, port) {
|
|
3259
3272
|
const cb = (0, _subscriptions.createSubscription)(id, port);
|
|
3260
3273
|
let ready = false;
|
|
@@ -3421,12 +3434,12 @@ class KoniExtension {
|
|
|
3421
3434
|
if (namespace.chains) {
|
|
3422
3435
|
const unSupportChains = namespace.chains.filter(chain => !(0, _helpers2.isSupportWalletConnectChain)(chain, chainInfoMap));
|
|
3423
3436
|
if (unSupportChains.length) {
|
|
3424
|
-
throw new Error((0,
|
|
3437
|
+
throw new Error((0, _utils5.getSdkError)('UNSUPPORTED_CHAINS').message + ' ' + unSupportChains.toString());
|
|
3425
3438
|
}
|
|
3426
3439
|
availableNamespaces[key] = namespace;
|
|
3427
3440
|
}
|
|
3428
3441
|
} else {
|
|
3429
|
-
throw new Error((0,
|
|
3442
|
+
throw new Error((0, _utils5.getSdkError)('UNSUPPORTED_NAMESPACE_KEY').message + ' ' + key);
|
|
3430
3443
|
}
|
|
3431
3444
|
});
|
|
3432
3445
|
Object.entries(optionalNamespaces).forEach(_ref84 => {
|
|
@@ -3458,7 +3471,7 @@ class KoniExtension {
|
|
|
3458
3471
|
let [key, namespace] = _ref85;
|
|
3459
3472
|
if (namespace.chains) {
|
|
3460
3473
|
const accounts = [];
|
|
3461
|
-
const chains = (0,
|
|
3474
|
+
const chains = (0, _utils4.uniqueStringArray)(namespace.chains);
|
|
3462
3475
|
chains.forEach(chain => {
|
|
3463
3476
|
accounts.push(...selectedAccounts.filter(address => (0, _utilCrypto.isEthereumAddress)(address) === (key === _constants5.WALLET_CONNECT_EIP155_NAMESPACE)).map(address => `${chain}:${address}`));
|
|
3464
3477
|
});
|
|
@@ -3558,7 +3571,7 @@ class KoniExtension {
|
|
|
3558
3571
|
});
|
|
3559
3572
|
const {
|
|
3560
3573
|
connectionStatus
|
|
3561
|
-
} = this.#koniState.chainService.
|
|
3574
|
+
} = this.#koniState.chainService.getChainStatusByKey(_constants2._DEFAULT_MANTA_ZK_CHAIN);
|
|
3562
3575
|
if (connectionStatus !== _types2._ChainConnectionStatus.CONNECTED) {
|
|
3563
3576
|
// TODO: do better
|
|
3564
3577
|
await timeout();
|
|
@@ -4298,6 +4311,8 @@ class KoniExtension {
|
|
|
4298
4311
|
return this.subscribeChainInfoMap(id, port);
|
|
4299
4312
|
case 'pri(chainService.subscribeChainStateMap)':
|
|
4300
4313
|
return this.subscribeChainStateMap(id, port);
|
|
4314
|
+
case 'pri(chainService.subscribeChainStatusMap)':
|
|
4315
|
+
return this.subscribeChainStatusMap(id, port);
|
|
4301
4316
|
case 'pri(chainService.subscribeXcmRefMap)':
|
|
4302
4317
|
return this.subscribeXcmRefMap(id, port);
|
|
4303
4318
|
case 'pri(chainService.getSupportedContractTypes)':
|
|
@@ -20,6 +20,8 @@ var _constants2 = require("@subwallet/extension-base/services/chain-service/cons
|
|
|
20
20
|
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
21
21
|
var _service = _interopRequireDefault(require("@subwallet/extension-base/services/earning-service/service"));
|
|
22
22
|
var _eventService = require("@subwallet/extension-base/services/event-service");
|
|
23
|
+
var _service2 = _interopRequireDefault(require("@subwallet/extension-base/services/fee-service/service"));
|
|
24
|
+
var _utils2 = require("@subwallet/extension-base/services/fee-service/utils");
|
|
23
25
|
var _historyService = require("@subwallet/extension-base/services/history-service");
|
|
24
26
|
var _keyringService = require("@subwallet/extension-base/services/keyring-service");
|
|
25
27
|
var _migrationService = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service"));
|
|
@@ -34,8 +36,7 @@ var _subscanChainMap = require("@subwallet/extension-base/services/subscan-servi
|
|
|
34
36
|
var _transactionService = _interopRequireDefault(require("@subwallet/extension-base/services/transaction-service"));
|
|
35
37
|
var _walletConnectService = _interopRequireDefault(require("@subwallet/extension-base/services/wallet-connect-service"));
|
|
36
38
|
var _AccountRef = _interopRequireDefault(require("@subwallet/extension-base/stores/AccountRef"));
|
|
37
|
-
var
|
|
38
|
-
var _eth = require("@subwallet/extension-base/utils/eth");
|
|
39
|
+
var _utils3 = require("@subwallet/extension-base/utils");
|
|
39
40
|
var _parseTransaction = require("@subwallet/extension-base/utils/eth/parseTransaction");
|
|
40
41
|
var _promise = require("@subwallet/extension-base/utils/promise");
|
|
41
42
|
var _decode = require("@subwallet/keyring/pair/decode");
|
|
@@ -111,12 +112,13 @@ class KoniState {
|
|
|
111
112
|
this.buyService = new _buyService.default(this);
|
|
112
113
|
this.transactionService = new _transactionService.default(this);
|
|
113
114
|
this.earningService = new _service.default(this);
|
|
115
|
+
this.feeService = new _service2.default(this);
|
|
114
116
|
this.subscription = new _subscription.KoniSubscription(this, this.dbService);
|
|
115
117
|
this.cron = new _cron.KoniCron(this, this.subscription, this.dbService);
|
|
116
118
|
this.logger = (0, _util.logger)('State');
|
|
117
119
|
|
|
118
120
|
// Init state
|
|
119
|
-
if (
|
|
121
|
+
if (_utils3.TARGET_ENV !== 'mobile') {
|
|
120
122
|
this.init().catch(console.error);
|
|
121
123
|
}
|
|
122
124
|
}
|
|
@@ -202,7 +204,7 @@ class KoniState {
|
|
|
202
204
|
generateDefaultBalanceMap(_addresses) {
|
|
203
205
|
const balanceMap = {};
|
|
204
206
|
const activeChains = this.chainService.getActiveChainInfoMap();
|
|
205
|
-
const isAllAccount = (0,
|
|
207
|
+
const isAllAccount = (0, _utils3.isAccountAll)(this.keyringService.currentAccount.address);
|
|
206
208
|
const addresses = _addresses || (isAllAccount ? Object.keys(this.keyringService.accounts) : [this.keyringService.currentAccount.address]);
|
|
207
209
|
addresses.forEach(address => {
|
|
208
210
|
const temp = {};
|
|
@@ -707,7 +709,7 @@ class KoniState {
|
|
|
707
709
|
async handleResetBalance(newAddress, forceRefresh) {
|
|
708
710
|
if (this.isFirstLoad) {
|
|
709
711
|
const backupBalanceData = await this.dbService.getStoredBalance();
|
|
710
|
-
this.balanceMap.updateBalanceItems(backupBalanceData, (0,
|
|
712
|
+
this.balanceMap.updateBalanceItems(backupBalanceData, (0, _utils3.isAccountAll)(newAddress));
|
|
711
713
|
this.isFirstLoad = false;
|
|
712
714
|
}
|
|
713
715
|
if (forceRefresh) {
|
|
@@ -750,8 +752,8 @@ class KoniState {
|
|
|
750
752
|
};
|
|
751
753
|
this.balanceUpdateCache.push(balance);
|
|
752
754
|
}
|
|
753
|
-
(0,
|
|
754
|
-
const isAllAccount = (0,
|
|
755
|
+
(0, _utils3.addLazy)('updateBalanceStore', () => {
|
|
756
|
+
const isAllAccount = (0, _utils3.isAccountAll)(this.keyringService.currentAccount.address);
|
|
755
757
|
this.balanceMap.updateBalanceItems(this.balanceUpdateCache, isAllAccount);
|
|
756
758
|
if (isAllAccount) {
|
|
757
759
|
this.balanceUpdateCache = [...this.balanceUpdateCache, ...Object.values(this.balanceMap.map[_constants.ALL_ACCOUNT_KEY])];
|
|
@@ -822,7 +824,7 @@ class KoniState {
|
|
|
822
824
|
return this.chainService.getMultiChainAssetMap();
|
|
823
825
|
}
|
|
824
826
|
getXcmRefMap() {
|
|
825
|
-
return this.chainService.
|
|
827
|
+
return this.chainService.xcmRefMap;
|
|
826
828
|
}
|
|
827
829
|
getAssetByChainAndAsset(chain, assetTypes) {
|
|
828
830
|
return this.chainService.getAssetByChainAndType(chain, assetTypes);
|
|
@@ -1228,6 +1230,36 @@ class KoniState {
|
|
|
1228
1230
|
}
|
|
1229
1231
|
});
|
|
1230
1232
|
}
|
|
1233
|
+
async calculateAllGasFeeOnChain(activeEvmChains) {
|
|
1234
|
+
let timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10000;
|
|
1235
|
+
const promiseList = [];
|
|
1236
|
+
activeEvmChains.forEach(slug => {
|
|
1237
|
+
const timeoutPromise = new Promise(resolve => {
|
|
1238
|
+
setTimeout(() => resolve(null), timeout);
|
|
1239
|
+
});
|
|
1240
|
+
const promise = (async () => {
|
|
1241
|
+
try {
|
|
1242
|
+
const web3Api = this.chainService.getEvmApi(slug);
|
|
1243
|
+
await web3Api.isReady;
|
|
1244
|
+
return await (0, _utils2.calculateGasFeeParams)(web3Api, slug, false, false);
|
|
1245
|
+
} catch (e) {
|
|
1246
|
+
console.error(e);
|
|
1247
|
+
return null;
|
|
1248
|
+
}
|
|
1249
|
+
})();
|
|
1250
|
+
promiseList.push(Promise.race([promise, timeoutPromise]).then(result => {
|
|
1251
|
+
var _result$gasPrice, _result$maxFeePerGas, _result$maxPriorityFe, _result$baseGasFee;
|
|
1252
|
+
return [slug, result ? {
|
|
1253
|
+
...result,
|
|
1254
|
+
gasPrice: (_result$gasPrice = result.gasPrice) === null || _result$gasPrice === void 0 ? void 0 : _result$gasPrice.toString(),
|
|
1255
|
+
maxFeePerGas: (_result$maxFeePerGas = result.maxFeePerGas) === null || _result$maxFeePerGas === void 0 ? void 0 : _result$maxFeePerGas.toString(),
|
|
1256
|
+
maxPriorityFeePerGas: (_result$maxPriorityFe = result.maxPriorityFeePerGas) === null || _result$maxPriorityFe === void 0 ? void 0 : _result$maxPriorityFe.toString(),
|
|
1257
|
+
baseGasFee: (_result$baseGasFee = result.baseGasFee) === null || _result$baseGasFee === void 0 ? void 0 : _result$baseGasFee.toString()
|
|
1258
|
+
} : null];
|
|
1259
|
+
}));
|
|
1260
|
+
});
|
|
1261
|
+
return Object.fromEntries(await Promise.all(promiseList));
|
|
1262
|
+
}
|
|
1231
1263
|
async evmSendTransaction(id, url, networkKey, allowedAccounts, transactionParams) {
|
|
1232
1264
|
const evmApi = this.getEvmApi(networkKey);
|
|
1233
1265
|
const evmNetwork = this.getChainInfo(networkKey);
|
|
@@ -1272,7 +1304,7 @@ class KoniState {
|
|
|
1272
1304
|
} else if (transactionParams.gasPrice) {
|
|
1273
1305
|
estimateGas = new _bignumber.default(transactionParams.gasPrice).multipliedBy(transaction.gas).toFixed(0);
|
|
1274
1306
|
} else {
|
|
1275
|
-
const priority = await (0,
|
|
1307
|
+
const priority = await (0, _utils2.calculateGasFeeParams)(evmApi, networkKey);
|
|
1276
1308
|
if (priority.baseGasFee) {
|
|
1277
1309
|
transaction.maxPriorityFeePerGas = priority.maxPriorityFeePerGas.toString();
|
|
1278
1310
|
transaction.maxFeePerGas = priority.maxFeePerGas.toString();
|
|
@@ -1599,7 +1631,7 @@ class KoniState {
|
|
|
1599
1631
|
const result = {
|
|
1600
1632
|
...value
|
|
1601
1633
|
};
|
|
1602
|
-
const url = (0,
|
|
1634
|
+
const url = (0, _utils3.stripUrl)(_url);
|
|
1603
1635
|
result[url] = {
|
|
1604
1636
|
pass: true
|
|
1605
1637
|
};
|
package/cjs/packageInfo.js
CHANGED
|
@@ -14,7 +14,6 @@ class SubWalletEvmProvider extends _safeEventEmitter.default {
|
|
|
14
14
|
isSubWallet = true;
|
|
15
15
|
isMetaMask = false;
|
|
16
16
|
_connected = false;
|
|
17
|
-
_isEnable = false;
|
|
18
17
|
constructor(sendMessage, version) {
|
|
19
18
|
super();
|
|
20
19
|
this.version = version;
|
|
@@ -76,13 +75,11 @@ class SubWalletEvmProvider extends _safeEventEmitter.default {
|
|
|
76
75
|
method,
|
|
77
76
|
params
|
|
78
77
|
} = _ref2;
|
|
79
|
-
if (!this._isEnable) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
}
|
|
78
|
+
// if (!this._isEnable) {
|
|
79
|
+
// if (method === 'eth_accounts') {
|
|
80
|
+
// return this.request<T>({ method: 'eth_requestAccounts' });
|
|
81
|
+
// }
|
|
82
|
+
// }
|
|
86
83
|
|
|
87
84
|
// Subscribe events
|
|
88
85
|
switch (method) {
|
|
@@ -93,7 +90,6 @@ class SubWalletEvmProvider extends _safeEventEmitter.default {
|
|
|
93
90
|
origin,
|
|
94
91
|
accountAuthType: 'evm'
|
|
95
92
|
}).then(() => {
|
|
96
|
-
this._isEnable = true;
|
|
97
93
|
// Return account list
|
|
98
94
|
this.request({
|
|
99
95
|
method: 'eth_accounts'
|
|
@@ -26,6 +26,7 @@ async function subscribeSubstrateBalance(addresses, chainInfo, chain, networkAPI
|
|
|
26
26
|
let unsubLocalToken;
|
|
27
27
|
let unsubEvmContractToken;
|
|
28
28
|
let unsubWasmContractToken;
|
|
29
|
+
let unsubBridgedToken;
|
|
29
30
|
try {
|
|
30
31
|
if (_constants2._BALANCE_CHAIN_GROUP.bifrost.includes(chain)) {
|
|
31
32
|
unsubLocalToken = await subscribeTokensAccountsPallet(addresses, chain, networkAPI.api, callBack);
|
|
@@ -38,6 +39,9 @@ async function subscribeSubstrateBalance(addresses, chainInfo, chain, networkAPI
|
|
|
38
39
|
} else if (_constants2._BALANCE_CHAIN_GROUP.centrifuge.includes(chain)) {
|
|
39
40
|
unsubLocalToken = await subscribeOrmlTokensPallet(addresses, chain, networkAPI.api, callBack);
|
|
40
41
|
}
|
|
42
|
+
if (_constants2._BALANCE_CHAIN_GROUP.supportBridged.includes(chain)) {
|
|
43
|
+
unsubBridgedToken = await subscribeBridgedBalance(addresses, chain, networkAPI.api, callBack);
|
|
44
|
+
}
|
|
41
45
|
if ((0, _utils2._isChainEvmCompatible)(chainInfo)) {
|
|
42
46
|
unsubEvmContractToken = (0, _evm.subscribeERC20Interval)(addresses, chain, evmApiMap, callBack);
|
|
43
47
|
}
|
|
@@ -53,6 +57,7 @@ async function subscribeSubstrateBalance(addresses, chainInfo, chain, networkAPI
|
|
|
53
57
|
unsubLocalToken && unsubLocalToken();
|
|
54
58
|
unsubEvmContractToken && unsubEvmContractToken();
|
|
55
59
|
unsubWasmContractToken && unsubWasmContractToken();
|
|
60
|
+
unsubBridgedToken && unsubBridgedToken();
|
|
56
61
|
};
|
|
57
62
|
}
|
|
58
63
|
|
|
@@ -117,6 +122,59 @@ async function subscribeWithSystemAccountPallet(addresses, chainInfo, networkAPI
|
|
|
117
122
|
unsub();
|
|
118
123
|
};
|
|
119
124
|
}
|
|
125
|
+
async function subscribeBridgedBalance(addresses, chain, api, callBack) {
|
|
126
|
+
const tokenMap = _handlers.state.getAssetByChainAndAsset(chain, [_types._AssetType.LOCAL]);
|
|
127
|
+
|
|
128
|
+
// @ts-ignore
|
|
129
|
+
const unsubList = await Promise.all(Object.values(tokenMap).map(async tokenInfo => {
|
|
130
|
+
try {
|
|
131
|
+
const isBridgedToken = (0, _utils2._isBridgedToken)(tokenInfo);
|
|
132
|
+
if (isBridgedToken) {
|
|
133
|
+
const multiLocation = (0, _utils2._getXcmAssetMultilocation)(tokenInfo);
|
|
134
|
+
return await api.query.foreignAssets.account.multi(addresses.map(address => [multiLocation, address]), balances => {
|
|
135
|
+
const items = balances.map((balance, index) => {
|
|
136
|
+
const bdata = balance === null || balance === void 0 ? void 0 : balance.toHuman();
|
|
137
|
+
let frozen = _util.BN_ZERO;
|
|
138
|
+
let total = _util.BN_ZERO;
|
|
139
|
+
if (bdata) {
|
|
140
|
+
// @ts-ignore
|
|
141
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument
|
|
142
|
+
const addressBalance = new _util.BN(String(bdata === null || bdata === void 0 ? void 0 : bdata.balance).replaceAll(',', '') || '0');
|
|
143
|
+
|
|
144
|
+
// @ts-ignore
|
|
145
|
+
if (bdata !== null && bdata !== void 0 && bdata.isFrozen) {
|
|
146
|
+
frozen = addressBalance;
|
|
147
|
+
} else {
|
|
148
|
+
total = addressBalance;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
const free = total.sub(frozen);
|
|
152
|
+
return {
|
|
153
|
+
address: addresses[index],
|
|
154
|
+
tokenSlug: tokenInfo.slug,
|
|
155
|
+
free: free.toString(),
|
|
156
|
+
locked: frozen.toString(),
|
|
157
|
+
state: _KoniTypes.APIItemState.READY,
|
|
158
|
+
substrateInfo: {
|
|
159
|
+
miscFrozen: frozen.toString(),
|
|
160
|
+
reserved: '0'
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
});
|
|
164
|
+
callBack(items);
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
} catch (err) {
|
|
168
|
+
console.warn(err);
|
|
169
|
+
}
|
|
170
|
+
return undefined;
|
|
171
|
+
}));
|
|
172
|
+
return () => {
|
|
173
|
+
unsubList.forEach(unsub => {
|
|
174
|
+
unsub && unsub();
|
|
175
|
+
});
|
|
176
|
+
};
|
|
177
|
+
}
|
|
120
178
|
function subscribePSP22Balance(addresses, chain, api, callBack) {
|
|
121
179
|
let tokenList = {};
|
|
122
180
|
const psp22ContractMap = {};
|
|
@@ -39,11 +39,12 @@ const _BALANCE_CHAIN_GROUP = {
|
|
|
39
39
|
kintsugi: ['kintsugi', 'interlay', 'kintsugi_test', 'mangatax_para'],
|
|
40
40
|
genshiro: ['genshiro_testnet', 'genshiro'],
|
|
41
41
|
equilibrium_parachain: ['equilibrium_parachain'],
|
|
42
|
-
bifrost: ['bifrost', 'acala', 'karura', 'acala_testnet', 'pioneer', 'bitcountry', 'bifrost_dot', 'hydradx_main', 'pendulum', 'amplitude'],
|
|
43
|
-
statemine: ['statemine', 'astar', 'shiden', 'statemint', 'moonbeam', 'moonbase', 'moonriver', 'crabParachain', 'darwinia2', 'parallel', 'calamari', 'manta_network'],
|
|
42
|
+
bifrost: ['bifrost', 'acala', 'karura', 'acala_testnet', 'pioneer', 'bitcountry', 'bifrost_dot', 'hydradx_main', 'pendulum', 'amplitude', 'continuum_network'],
|
|
43
|
+
statemine: ['statemine', 'astar', 'shiden', 'statemint', 'moonbeam', 'moonbase', 'moonriver', 'crabParachain', 'darwinia2', 'parallel', 'calamari', 'manta_network', 'rococo_assethub', 'liberlandTest', 'liberland', 'dentnet'],
|
|
44
44
|
kusama: ['kusama', 'kintsugi', 'kintsugi_test', 'interlay', 'acala', 'statemint', 'karura', 'bifrost'],
|
|
45
45
|
// perhaps there are some runtime updates
|
|
46
|
-
centrifuge: ['centrifuge']
|
|
46
|
+
centrifuge: ['centrifuge'],
|
|
47
|
+
supportBridged: ['rococo_assethub']
|
|
47
48
|
};
|
|
48
49
|
exports._BALANCE_CHAIN_GROUP = _BALANCE_CHAIN_GROUP;
|
|
49
50
|
const _BALANCE_TOKEN_GROUP = {
|
|
@@ -59,7 +60,7 @@ const _NFT_CHAIN_GROUP = {
|
|
|
59
60
|
statemine: ['statemine'],
|
|
60
61
|
statemint: ['statemint'],
|
|
61
62
|
unique_network: ['unique_network', 'quartz', 'opal'],
|
|
62
|
-
bitcountry: ['bitcountry', 'pioneer'],
|
|
63
|
+
bitcountry: ['bitcountry', 'pioneer', 'continuum_network'],
|
|
63
64
|
vara: ['vara_network']
|
|
64
65
|
};
|
|
65
66
|
|
|
@@ -84,6 +85,7 @@ const _STAKING_ERA_LENGTH_MAP = {
|
|
|
84
85
|
shibuya: 24,
|
|
85
86
|
bifrost_testnet: 0.5,
|
|
86
87
|
bifrost: 2,
|
|
88
|
+
bifrost_dot: 24,
|
|
87
89
|
ternoa: 24,
|
|
88
90
|
calamari: 6,
|
|
89
91
|
calamari_test: 6,
|
|
@@ -219,12 +221,13 @@ const _TRANSFER_CHAIN_GROUP = {
|
|
|
219
221
|
genshiro: ['genshiro_testnet', 'genshiro', 'equilibrium_parachain'],
|
|
220
222
|
crab: ['crab', 'pangolin'],
|
|
221
223
|
bitcountry: ['pioneer', 'bitcountry', 'bifrost', 'bifrost_dot'],
|
|
222
|
-
statemine: ['statemint', 'statemine', 'darwinia2', 'astar', 'shiden', 'shibuya', 'parallel'],
|
|
224
|
+
statemine: ['statemint', 'statemine', 'darwinia2', 'astar', 'shiden', 'shibuya', 'parallel', 'liberland', 'liberlandTest', 'dentnet'],
|
|
223
225
|
riochain: ['riochain'],
|
|
224
226
|
sora_substrate: ['sora_substrate'],
|
|
225
227
|
avail: ['kate', 'goldberg_testnet'],
|
|
226
228
|
pendulum: ['pendulum', 'amplitude', 'amplitude_test', 'hydradx_main'],
|
|
227
|
-
centrifuge: ['centrifuge']
|
|
229
|
+
centrifuge: ['centrifuge'],
|
|
230
|
+
disable_transfer: ['invarch']
|
|
228
231
|
};
|
|
229
232
|
exports._TRANSFER_CHAIN_GROUP = _TRANSFER_CHAIN_GROUP;
|
|
230
233
|
const _BALANCE_PARSING_CHAIN_GROUP = {
|
|
@@ -256,7 +259,8 @@ exports._XCM_TYPE = _XCM_TYPE;
|
|
|
256
259
|
const _DEFAULT_ACTIVE_CHAINS = [..._chainList._DEFAULT_CHAINS, 'vara_network'];
|
|
257
260
|
exports._DEFAULT_ACTIVE_CHAINS = _DEFAULT_ACTIVE_CHAINS;
|
|
258
261
|
const EVM_PASS_CONNECT_STATUS = {
|
|
259
|
-
arbitrum_one: ['*']
|
|
262
|
+
arbitrum_one: ['*'],
|
|
263
|
+
okxTest: ['*']
|
|
260
264
|
};
|
|
261
265
|
exports.EVM_PASS_CONNECT_STATUS = EVM_PASS_CONNECT_STATUS;
|
|
262
266
|
const EVM_REFORMAT_DECIMALS = {
|