@hinkal/common 0.3.9 → 0.3.10
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/README.md +2 -8
- package/common/src/API/API.cjs +1 -1
- package/common/src/API/API.d.ts +4 -5
- package/common/src/API/API.mjs +79 -80
- package/common/src/API/dashboardTransactionCalls.cjs +1 -1
- package/common/src/API/dashboardTransactionCalls.d.ts +4 -1
- package/common/src/API/dashboardTransactionCalls.mjs +2 -2
- package/common/src/API/enclaveRecipientInfoCalls.d.ts +0 -2
- package/common/src/API/enclaveSignatureCalls.cjs +1 -1
- package/common/src/API/enclaveSignatureCalls.d.ts +2 -1
- package/common/src/API/enclaveSignatureCalls.mjs +5 -8
- package/common/src/API/enclaveUtxoCalls.cjs +1 -1
- package/common/src/API/enclaveUtxoCalls.d.ts +12 -8
- package/common/src/API/enclaveUtxoCalls.mjs +17 -20
- package/common/src/API/privateSendRecipientInfoCalls.cjs +1 -1
- package/common/src/API/privateSendRecipientInfoCalls.d.ts +3 -6
- package/common/src/API/privateSendRecipientInfoCalls.mjs +12 -6
- package/common/src/API/scheduled-transactions-calls.cjs +1 -1
- package/common/src/API/scheduled-transactions-calls.d.ts +1 -5
- package/common/src/API/scheduled-transactions-calls.mjs +2 -6
- package/common/src/constants/bridging.constants.cjs +1 -1
- package/common/src/constants/bridging.constants.d.ts +1 -0
- package/common/src/constants/bridging.constants.mjs +1 -1
- package/common/src/constants/chains.constants.cjs +1 -1
- package/common/src/constants/chains.constants.d.ts +18 -17
- package/common/src/constants/chains.constants.mjs +108 -89
- package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +2 -1
- package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-base.json.mjs +2 -1
- package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +2 -1
- package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +2 -1
- package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +2 -1
- package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +2 -1
- package/common/src/constants/events.constants.cjs +1 -1
- package/common/src/constants/events.constants.mjs +1 -16
- package/common/src/constants/protocol.constants.d.ts +1 -3
- package/common/src/constants/server.constants.cjs +1 -1
- package/common/src/constants/server.constants.d.ts +1 -4
- package/common/src/constants/server.constants.mjs +1 -4
- package/common/src/constants/tx-confirmation.constants.cjs +1 -1
- package/common/src/constants/tx-confirmation.constants.d.ts +1 -0
- package/common/src/constants/tx-confirmation.constants.mjs +2 -2
- package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/common/src/data-structures/Hinkal/Hinkal.d.ts +6 -9
- package/common/src/data-structures/Hinkal/Hinkal.mjs +129 -160
- package/common/src/data-structures/Hinkal/IHinkal.d.ts +5 -9
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +23 -23
- package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +10 -10
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +18 -18
- package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +3 -2
- package/common/src/data-structures/Hinkal/hinkalProxySend.cjs +1 -0
- package/common/src/data-structures/Hinkal/hinkalProxySend.d.ts +6 -0
- package/common/src/data-structures/Hinkal/hinkalProxySend.mjs +16 -0
- package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +44 -47
- package/common/src/data-structures/Hinkal/hinkalSolanaTransact.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaTransact.mjs +2 -2
- package/common/src/data-structures/Hinkal/hinkalTransact.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransact.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +4 -4
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +101 -94
- package/common/src/data-structures/Hinkal/index.d.ts +0 -1
- package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/activity-db.mjs +34 -34
- package/common/src/data-structures/IndexedDB/index.cjs +1 -1
- package/common/src/data-structures/IndexedDB/index.d.ts +1 -0
- package/common/src/data-structures/IndexedDB/index.mjs +1 -0
- package/common/src/data-structures/IndexedDB/scheduled-transactions-db.cjs +1 -0
- package/common/src/data-structures/IndexedDB/scheduled-transactions-db.d.ts +11 -0
- package/common/src/data-structures/IndexedDB/scheduled-transactions-db.mjs +34 -0
- package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/signatures-db.mjs +11 -11
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +18 -19
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +11 -11
- package/common/src/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -1
- package/common/src/data-structures/event-service/helpers/ClientEventHelper.mjs +6 -6
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.d.ts +1 -0
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +79 -75
- package/common/src/data-structures/provider-adapter/IProviderAdapter.d.ts +1 -4
- package/common/src/error-handling/error-codes.constants.cjs +1 -1
- package/common/src/error-handling/error-codes.constants.d.ts +6 -0
- package/common/src/error-handling/error-codes.constants.mjs +10 -4
- package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.cjs +1 -1
- package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.mjs +7 -6
- package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -1
- package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +8 -8
- package/common/src/functions/index.cjs +1 -1
- package/common/src/functions/index.mjs +1 -2
- package/common/src/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
- package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +12 -12
- package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.helpers.mjs +13 -13
- package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +13 -13
- package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +4 -4
- package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +5 -5
- package/common/src/functions/snarkjs/constructTxEnclave.cjs +1 -1
- package/common/src/functions/snarkjs/constructTxEnclave.d.ts +1 -1
- package/common/src/functions/snarkjs/constructTxEnclave.mjs +61 -133
- package/common/src/functions/snarkjs/constructTxEnclaveVerify.cjs +1 -0
- package/common/src/functions/snarkjs/constructTxEnclaveVerify.d.ts +5 -0
- package/common/src/functions/snarkjs/constructTxEnclaveVerify.mjs +295 -0
- package/common/src/functions/utils/addresses.cjs +1 -1
- package/common/src/functions/utils/addresses.d.ts +1 -0
- package/common/src/functions/utils/addresses.mjs +13 -12
- package/common/src/functions/utils/bridge-arrival.utils.cjs +1 -1
- package/common/src/functions/utils/bridge-arrival.utils.mjs +12 -11
- package/common/src/functions/utils/create-provider.cjs +1 -1
- package/common/src/functions/utils/create-provider.mjs +4 -1
- package/common/src/functions/utils/enclave-recipient-info-storage.cjs +1 -1
- package/common/src/functions/utils/enclave-recipient-info-storage.d.ts +4 -1
- package/common/src/functions/utils/enclave-recipient-info-storage.mjs +1 -0
- package/common/src/functions/utils/enclave-signature-storage.cjs +1 -1
- package/common/src/functions/utils/enclave-signature-storage.d.ts +1 -1
- package/common/src/functions/utils/enclave-signature-storage.mjs +3 -3
- package/common/src/functions/utils/enclave-utxo-storage.cjs +1 -1
- package/common/src/functions/utils/enclave-utxo-storage.d.ts +3 -3
- package/common/src/functions/utils/enclave-utxo-storage.mjs +8 -5
- package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
- package/common/src/functions/utils/encryptInputForEnclave.d.ts +8 -0
- package/common/src/functions/utils/encryptInputForEnclave.mjs +43 -23
- package/common/src/functions/utils/erc20tokenFunctions.cjs +1 -1
- package/common/src/functions/utils/erc20tokenFunctions.mjs +2 -15
- package/common/src/functions/utils/fees.utils.cjs +1 -1
- package/common/src/functions/utils/fees.utils.mjs +6 -6
- package/common/src/functions/utils/index.cjs +1 -1
- package/common/src/functions/utils/index.d.ts +1 -0
- package/common/src/functions/utils/index.mjs +3 -3
- package/common/src/functions/utils/ipfs.d.ts +2 -3
- package/common/src/functions/utils/lifi.utils.d.ts +2 -0
- package/common/src/functions/utils/nearIntents.utils.cjs +1 -1
- package/common/src/functions/utils/nearIntents.utils.mjs +6 -6
- package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
- package/common/src/functions/utils/publicBalance.utils.mjs +9 -10
- package/common/src/functions/utils/temporary-wallet-recovery.utils.cjs +1 -0
- package/common/src/functions/utils/temporary-wallet-recovery.utils.d.ts +7 -0
- package/common/src/functions/utils/temporary-wallet-recovery.utils.mjs +10 -0
- package/common/src/functions/utils/tron.utils.cjs +1 -1
- package/common/src/functions/utils/tron.utils.mjs +16 -29
- package/common/src/functions/utils/tx-confirmation.utils.cjs +1 -1
- package/common/src/functions/utils/tx-confirmation.utils.d.ts +1 -0
- package/common/src/functions/utils/tx-confirmation.utils.mjs +16 -13
- package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
- package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +5 -5
- package/common/src/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
- package/common/src/functions/web3/events/getInputUtxosEnclave.d.ts +1 -1
- package/common/src/functions/web3/events/getInputUtxosEnclave.mjs +19 -11
- package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
- package/common/src/functions/web3/events/getShieldedBalance.d.ts +4 -4
- package/common/src/functions/web3/events/getShieldedBalance.mjs +113 -102
- package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +16 -16
- package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
- package/common/src/providers/SolanaProviderAdapter.d.ts +1 -4
- package/common/src/providers/SolanaProviderAdapter.mjs +3 -6
- package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
- package/common/src/providers/WagmiProviderAdapter.mjs +5 -5
- package/common/src/types/cache.types.cjs +1 -1
- package/common/src/types/cache.types.d.ts +2 -1
- package/common/src/types/cache.types.mjs +1 -1
- package/common/src/types/enclaveApi.types.d.ts +2 -3
- package/common/src/types/ethereum-network.types.d.ts +1 -0
- package/common/src/types/events.types.d.ts +1 -0
- package/common/src/types/near-intents.types.d.ts +1 -0
- package/common/src/types/remote-proof.types.d.ts +5 -0
- package/common/src/types/remote-tx-build.types.d.ts +37 -4
- package/common/src/types/scheduled-transactions.types.d.ts +18 -0
- package/common/src/types/solana.types.d.ts +0 -3
- package/common/src/webworker/{logError-RKYfeI6h.js → logError-CIIt1CO3.js} +1 -1
- package/common/src/webworker/package.json +1 -2
- package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/utxoWorkerNode.cjs +1 -1
- package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
- package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
- package/common/src/webworker/workerProxy-BHzCZ9HT.js +1 -0
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
- package/package.json +1 -2
- package/services/Hinkal.cjs +1 -1
- package/services/Hinkal.d.ts +6 -2
- package/services/Hinkal.mjs +9 -4
- package/types/IHinkal.d.ts +6 -2
- package/common/src/API/evm-token-assets.cjs +0 -1
- package/common/src/API/evm-token-assets.mjs +0 -20
- package/common/src/API/getAnyRecipientInfo.d.ts +0 -1
- package/common/src/API/solana-nft-assets.cjs +0 -1
- package/common/src/API/solana-nft-assets.mjs +0 -11
- package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredProxySend.d.ts +0 -5
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +0 -109
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +0 -94
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +0 -134
- package/common/src/data-structures/TokenDBs/PublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/PublicTokensDB.mjs +0 -32
- package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.mjs +0 -37
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +0 -51
- package/common/src/data-structures/TokenDBs/index.cjs +0 -1
- package/common/src/data-structures/TokenDBs/index.mjs +0 -6
- package/common/src/functions/utils/ipfs.cjs +0 -1
- package/common/src/functions/utils/ipfs.mjs +0 -1
- package/common/src/functions/utils/reloadPage.cjs +0 -1
- package/common/src/functions/utils/reloadPage.mjs +0 -4
- package/common/src/webworker/workerProxy-COB7g4Qc.js +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Logger as e } from "../../error-handling/logger.mjs";
|
|
2
|
+
import { StorageKeys as t } from "../../types/cache.types.mjs";
|
|
2
3
|
import "../../types/index.mjs";
|
|
3
|
-
import { Logger as t } from "../../error-handling/logger.mjs";
|
|
4
4
|
import "../../error-handling/index.mjs";
|
|
5
5
|
import { get as n, set as r } from "idb-keyval";
|
|
6
6
|
new class {
|
|
@@ -9,7 +9,7 @@ new class {
|
|
|
9
9
|
}
|
|
10
10
|
async saveSignedMessage(i, a, o, s, c, l) {
|
|
11
11
|
try {
|
|
12
|
-
let
|
|
12
|
+
let e = this.generateMessageId(), u = await n(t.SIGNED_MESSAGES) || {}, d = {
|
|
13
13
|
chainId: i,
|
|
14
14
|
messageText: a,
|
|
15
15
|
messageType: o,
|
|
@@ -17,12 +17,12 @@ new class {
|
|
|
17
17
|
signature: c,
|
|
18
18
|
appMetaData: l
|
|
19
19
|
};
|
|
20
|
-
u[
|
|
20
|
+
u[e] = {
|
|
21
21
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
22
22
|
...d
|
|
23
|
-
}, await r(
|
|
24
|
-
} catch (
|
|
25
|
-
|
|
23
|
+
}, await r(t.SIGNED_MESSAGES, u);
|
|
24
|
+
} catch (t) {
|
|
25
|
+
e.error("Failed to save signed message:", t, {
|
|
26
26
|
chainId: i,
|
|
27
27
|
messageType: o
|
|
28
28
|
});
|
|
@@ -30,10 +30,10 @@ new class {
|
|
|
30
30
|
}
|
|
31
31
|
async getAllSignedMessages() {
|
|
32
32
|
try {
|
|
33
|
-
let
|
|
34
|
-
return Object.values(
|
|
35
|
-
} catch (
|
|
36
|
-
return
|
|
33
|
+
let e = await n(t.SIGNED_MESSAGES) || {};
|
|
34
|
+
return Object.values(e).sort((e, t) => new Date(t.timestamp).getTime() - new Date(e.timestamp).getTime());
|
|
35
|
+
} catch (t) {
|
|
36
|
+
return e.error("Failed to retrieve signed messages:", t), [];
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
}();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../functions/utils/caseInsensitive.utils.cjs`),t=require(`../../
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../functions/utils/caseInsensitive.utils.cjs`),t=require(`../../error-handling/logger.cjs`),n=require(`../../types/cache.types.cjs`),r=require(`../../API/API.cjs`),i=require(`../../functions/utils/string.utils.cjs`),a=require(`./token-visibility-db.cjs`);let o=require(`idb-keyval`);var s=new class{fetchedTokens={};initalFetched=!1;async updateFetchedTokens(){let e=await(0,o.get)(n.StorageKeys.PRIVATE_TOKENS);this.fetchedTokens=e??{},this.initalFetched=!0}async getPrivateTokens(e,t){let r=i.getStateKey(t,e);return(await(0,o.get)(n.StorageKeys.PRIVATE_TOKENS))?.[r]||[]}async fetchPrivateTokens(n,i,a){try{let t=[...new Set(i)].filter(t=>t&&!e.lowerCaseIncludes(a,t));if(!t.length)return[];let o=(await r.API.tokensInfoCall(n,t)).filter(e=>!!e),s=new Map;return o.forEach(e=>{s.set(e.erc20TokenAddress.toLowerCase(),e)}),Array.from(s.values())}catch(e){return t.Logger.error(`Error fetching private tokens:`,e),[]}}async fetchAndUpdatePrivateTokens(t,r,s,c){let l=(await this.getPrivateTokens(r,s)).map(e=>e.erc20TokenAddress),u=c??await this.fetchPrivateTokens(r,t,l),d=await a.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(r,u),f=i.getStateKey(s,r);await(0,o.update)(n.StorageKeys.PRIVATE_TOKENS,(t={})=>{let n=t?.[f]||[],r=n.map(e=>e.erc20TokenAddress),i=u.filter(t=>!e.lowerCaseIncludes(r,t.erc20TokenAddress));n.push(...i);let a=n.filter(t=>!e.lowerCaseIncludes(d,t.erc20TokenAddress)),o={...t,[f]:a};return this.fetchedTokens=o,o})}getFetchedTokens(e,t){let n=i.getStateKey(t,e);return this.fetchedTokens[n]||[]}};exports.privateTokensDB=s;
|
|
@@ -1,37 +1,36 @@
|
|
|
1
1
|
import { lowerCaseIncludes as e } from "../../functions/utils/caseInsensitive.utils.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { Logger as t } from "../../error-handling/logger.mjs";
|
|
3
|
+
import { StorageKeys as n } from "../../types/cache.types.mjs";
|
|
4
|
+
import { API as r } from "../../API/API.mjs";
|
|
5
5
|
import { getStateKey as i } from "../../functions/utils/string.utils.mjs";
|
|
6
6
|
import { tokenVisibilityStorage as a } from "./token-visibility-db.mjs";
|
|
7
7
|
import { get as o, update as s } from "idb-keyval";
|
|
8
|
-
|
|
9
|
-
var c = class {
|
|
8
|
+
var c = new class {
|
|
10
9
|
fetchedTokens = {};
|
|
11
10
|
initalFetched = !1;
|
|
12
11
|
async updateFetchedTokens() {
|
|
13
|
-
let e = await o(
|
|
12
|
+
let e = await o(n.PRIVATE_TOKENS);
|
|
14
13
|
this.fetchedTokens = e ?? {}, this.initalFetched = !0;
|
|
15
14
|
}
|
|
16
|
-
async getPrivateTokens(e,
|
|
17
|
-
let r = i(
|
|
18
|
-
return (await o(
|
|
15
|
+
async getPrivateTokens(e, t) {
|
|
16
|
+
let r = i(t, e);
|
|
17
|
+
return (await o(n.PRIVATE_TOKENS))?.[r] || [];
|
|
19
18
|
}
|
|
20
|
-
async fetchPrivateTokens(
|
|
19
|
+
async fetchPrivateTokens(n, i, a) {
|
|
21
20
|
try {
|
|
22
|
-
let
|
|
23
|
-
if (!
|
|
24
|
-
let o = (await
|
|
21
|
+
let t = [...new Set(i)].filter((t) => t && !e(a, t));
|
|
22
|
+
if (!t.length) return [];
|
|
23
|
+
let o = (await r.tokensInfoCall(n, t)).filter((e) => !!e), s = /* @__PURE__ */ new Map();
|
|
25
24
|
return o.forEach((e) => {
|
|
26
25
|
s.set(e.erc20TokenAddress.toLowerCase(), e);
|
|
27
26
|
}), Array.from(s.values());
|
|
28
27
|
} catch (e) {
|
|
29
|
-
return
|
|
28
|
+
return t.error("Error fetching private tokens:", e), [];
|
|
30
29
|
}
|
|
31
30
|
}
|
|
32
|
-
async fetchAndUpdatePrivateTokens(
|
|
33
|
-
let l = (await this.getPrivateTokens(r, o)).map((e) => e.erc20TokenAddress), u = c ?? await this.fetchPrivateTokens(r,
|
|
34
|
-
await s(
|
|
31
|
+
async fetchAndUpdatePrivateTokens(t, r, o, c) {
|
|
32
|
+
let l = (await this.getPrivateTokens(r, o)).map((e) => e.erc20TokenAddress), u = c ?? await this.fetchPrivateTokens(r, t, l), d = await a.hideSpamsAndFetchHiddenTokensAddresses(r, u), f = i(o, r);
|
|
33
|
+
await s(n.PRIVATE_TOKENS, (t = {}) => {
|
|
35
34
|
let n = t?.[f] || [], r = n.map((e) => e.erc20TokenAddress), i = u.filter((t) => !e(r, t.erc20TokenAddress));
|
|
36
35
|
n.push(...i);
|
|
37
36
|
let a = n.filter((t) => !e(d, t.erc20TokenAddress)), o = {
|
|
@@ -45,6 +44,6 @@ var c = class {
|
|
|
45
44
|
let n = i(t, e);
|
|
46
45
|
return this.fetchedTokens[n] || [];
|
|
47
46
|
}
|
|
48
|
-
}
|
|
47
|
+
}();
|
|
49
48
|
//#endregion
|
|
50
|
-
export { c as
|
|
49
|
+
export { c as privateTokensDB };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../../constants/chains.constants.cjs`),t=require(`../../../
|
|
1
|
+
require(`../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../../constants/chains.constants.cjs`),t=require(`../../../error-handling/logger.cjs`),n=require(`../../../types/ethereum-network.types.cjs`),r=require(`../../../constants/contracts.constants.cjs`),i=require(`../../../functions/web3/getContractMetadata.cjs`),a=require(`../../../functions/utils/getSignerFromContract.cjs`),o=require(`../../../functions/utils/resolve-sync.utils.cjs`),s=require(`../../../constants/reorg-depths.constants.cjs`),c=require(`../../BlockchainEvent/BlockchainEvent.cjs`);let l=require(`ethers`);var u=class{RETRY_MIN_PAGE_SIZE=100;MAX_RETRIES=20;_chainId;contract;_latestBlockNumber;_blockedUtxosContract;_initialBlockNumber;onEventsProcessed;eventProcessors=new Set;maxPageSize;_isReady=!1;isServer;inProgress;eventsFetchingMutex;constructor(e,t,n,r,i,a){this.contract=t,this._chainId=e,this._initialBlockNumber=n,this.maxPageSize=a,this.isServer=r,this.inProgress=!1,this.eventsFetchingMutex=i}get latestBlockNumber(){return this._latestBlockNumber??this._initialBlockNumber}get chainId(){return this._chainId}get isReady(){return this._isReady}syncFromAtMost(e){(this._latestBlockNumber===void 0||e<this._latestBlockNumber)&&(this._latestBlockNumber=e)}advanceLatestBlockNumber(e){e>(this._latestBlockNumber??this._initialBlockNumber)&&(this._latestBlockNumber=e)}intervalClear(){this._isReady=!1,this.eventProcessors=new Set,this.clear()}async init(){if(this._isReady)throw Error(`Already initialized`);this._isReady=!0,await this.retrieveEvents(this.latestBlockNumber+1),this.startUpdateListener()}requireReady(){if(!this._isReady)throw Error(`Not ready`)}async getEventsForSingleContract(e,t,n,r=0,i=`*`){try{return(await e.queryFilter(i,t,n)).filter(e=>e instanceof l.ethers.EventLog)}catch(a){if(r<this.MAX_RETRIES&&n-t>this.RETRY_MIN_PAGE_SIZE){let a=Math.floor((t+n)/2),o=await this.getEventsForSingleContract(e,t,a,r+1,i),s=await this.getEventsForSingleContract(e,a+1,n,r+1,i);return[...o,...s]}throw a}}get blockedUtxosContract(){if(this._blockedUtxosContract===void 0){let t=e.getNonLocalhostChainId(this._chainId);this._blockedUtxosContract=r.getDepositOnChainUtxosAddress(t)?i.getContractWithFetcherByChainId(t,n.ContractType.DepositOnChainUtxosContract):null}return this._blockedUtxosContract??void 0}addEventProcessorFunction(e){if(this._isReady)throw Error(`Can't add event processor after event emitter initialized`);this.eventProcessors.add(e)}async getEventsInRange(e,t){let n=[];return await o.resolveSync(o.getSequence(e,t,this.maxPageSize).map(({from:e,to:t})=>async()=>{let r=await this.getEventsForSingleContract(this.contract,e,t);n.push(...r);let i=this.blockedUtxosContract;i&&n.push(...await this.getEventsForSingleContract(i,e,t,0,`BlockedUtxosCreated`))})),n.map(e=>c.BlockchainEvent.fromEthers(e))}async getLastBlockNumberForEventRequest(){let e=await a.getProviderFromContract(this.contract).getBlockNumber();if(!this.isServer)return e;let{chainId:t}=await a.getProviderFromContract(this.contract).getNetwork();return Math.max(this.latestBlockNumber,e-s.blockReorgDepth[Number(t)]+1)}async retrieveEvents(e,n=!1){return this.requireReady(),await this.eventsFetchingMutex.runExclusive(async()=>{try{if(this.inProgress&&!n)return!1;this.inProgress=!0;let t=await this.getLastBlockNumberForEventRequest();if(t<e)return this.inProgress=!1,!1;let r=await this.getEventsInRange(e,t);return await this.processEvents(r,t),this._latestBlockNumber=t,this.inProgress=!1,!0}catch(e){return t.Logger.error(`retrieveEvents error`,e),this.inProgress=!1,!1}})}async processEvents(e,t){let n=(await Promise.all([...this.eventProcessors].map(n=>n(e,t)))).reduce((e,t)=>e+t,0);this.onEventsProcessed?.(n)}};exports.BlockchainEventEmitter=u;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getNonLocalhostChainId as e } from "../../../constants/chains.constants.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { Logger as t } from "../../../error-handling/logger.mjs";
|
|
3
|
+
import { ContractType as n } from "../../../types/ethereum-network.types.mjs";
|
|
4
4
|
import { getDepositOnChainUtxosAddress as r } from "../../../constants/contracts.constants.mjs";
|
|
5
5
|
import { getContractWithFetcherByChainId as i } from "../../../functions/web3/getContractMetadata.mjs";
|
|
6
6
|
import { getProviderFromContract as a } from "../../../functions/utils/getSignerFromContract.mjs";
|
|
@@ -65,8 +65,8 @@ var d = class {
|
|
|
65
65
|
}
|
|
66
66
|
get blockedUtxosContract() {
|
|
67
67
|
if (this._blockedUtxosContract === void 0) {
|
|
68
|
-
let
|
|
69
|
-
this._blockedUtxosContract = r(
|
|
68
|
+
let t = e(this._chainId);
|
|
69
|
+
this._blockedUtxosContract = r(t) ? i(t, n.DepositOnChainUtxosContract) : null;
|
|
70
70
|
}
|
|
71
71
|
return this._blockedUtxosContract ?? void 0;
|
|
72
72
|
}
|
|
@@ -89,17 +89,17 @@ var d = class {
|
|
|
89
89
|
let { chainId: t } = await a(this.contract).getNetwork();
|
|
90
90
|
return Math.max(this.latestBlockNumber, e - c[Number(t)] + 1);
|
|
91
91
|
}
|
|
92
|
-
async retrieveEvents(e,
|
|
92
|
+
async retrieveEvents(e, n = !1) {
|
|
93
93
|
return this.requireReady(), await this.eventsFetchingMutex.runExclusive(async () => {
|
|
94
94
|
try {
|
|
95
|
-
if (this.inProgress && !
|
|
95
|
+
if (this.inProgress && !n) return !1;
|
|
96
96
|
this.inProgress = !0;
|
|
97
|
-
let
|
|
98
|
-
if (
|
|
99
|
-
let r = await this.getEventsInRange(e,
|
|
100
|
-
return await this.processEvents(r,
|
|
97
|
+
let t = await this.getLastBlockNumberForEventRequest();
|
|
98
|
+
if (t < e) return this.inProgress = !1, !1;
|
|
99
|
+
let r = await this.getEventsInRange(e, t);
|
|
100
|
+
return await this.processEvents(r, t), this._latestBlockNumber = t, this.inProgress = !1, !0;
|
|
101
101
|
} catch (e) {
|
|
102
|
-
return
|
|
102
|
+
return t.error("retrieveEvents error", e), this.inProgress = !1, !1;
|
|
103
103
|
}
|
|
104
104
|
});
|
|
105
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../../
|
|
1
|
+
const e=require(`../../../error-handling/logger.cjs`),t=require(`../../../API/API.cjs`),n=require(`../../BlockchainEvent/BlockchainEvent.cjs`);var r=5e3,i=class{chainId;eventCategory;pollIntervalId;constructor(e,t){this.chainId=e,this.eventCategory=t}clear(){this.pollIntervalId!=null&&(clearInterval(this.pollIntervalId),this.pollIntervalId=void 0)}startUpdateListener(i,a,o){let s=a,c=async()=>{try{let{events:e,latestBlockNumber:r}=await t.API.getSnapshotServerEvents(this.chainId,this.eventCategory,s);e.length>0&&await i(e.map(e=>n.BlockchainEvent.fromSerialized(e))),r>=s&&(s=r+1,o(s))}catch(t){e.Logger.error(`Snapshot events poll error`,t)}};this.pollIntervalId=setInterval(c,r)}};exports.ClientEventHelper=i;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Logger as e } from "../../../error-handling/logger.mjs";
|
|
2
|
+
import { API as t } from "../../../API/API.mjs";
|
|
3
3
|
import { BlockchainEvent as n } from "../../BlockchainEvent/BlockchainEvent.mjs";
|
|
4
4
|
//#region libs/shared/common/src/data-structures/event-service/helpers/ClientEventHelper.ts
|
|
5
5
|
var r = 5e3, i = class {
|
|
@@ -15,10 +15,10 @@ var r = 5e3, i = class {
|
|
|
15
15
|
startUpdateListener(i, a, o) {
|
|
16
16
|
let s = a, c = async () => {
|
|
17
17
|
try {
|
|
18
|
-
let { events:
|
|
19
|
-
|
|
20
|
-
} catch (
|
|
21
|
-
|
|
18
|
+
let { events: e, latestBlockNumber: r } = await t.getSnapshotServerEvents(this.chainId, this.eventCategory, s);
|
|
19
|
+
e.length > 0 && await i(e.map((e) => n.fromSerialized(e))), r >= s && (s = r + 1, o(s));
|
|
20
|
+
} catch (t) {
|
|
21
|
+
e.error("Snapshot events poll error", t);
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
24
|
this.pollIntervalId = setInterval(c, r);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../functions/web3/etherFunctions.cjs`),t=require(`../../functions/utils/upToDateState.cjs`),n=require(`../../
|
|
1
|
+
const e=require(`../../functions/web3/etherFunctions.cjs`),t=require(`../../functions/utils/upToDateState.cjs`),n=require(`../../error-handling/logger.cjs`),r=require(`../../types/balances.types.cjs`),i=require(`../../functions/utils/string.utils.cjs`),a=require(`../../constants/balance.constants.cjs`),o=require(`./BalanceChangedHandler.cjs`),s=require(`../IndexedDB/private-balances-db.cjs`),c=require(`../IndexedDB/prices-db.cjs`),l=require(`./privateBalancesReducer.cjs`);var u=class{privateBalancesState={};privateBalancesListeners=new Set;hinkal;unsubscribeBalanceChange;pollIntervalId;pollInFlight=!1;constructor(e){this.hinkal=e,this.unsubscribeBalanceChange=o.balanceChangedHandler.subscribe(e=>{this.applyRefreshFromBalanceChangeEvent(e).catch(e=>{n.Logger.error(`Private balance refresh from balance change failed:`,e)})}),this.pollIntervalId=setInterval(()=>this.pollRemoteBalances(),a.REMOTE_BALANCE_POLL_INTERVAL_MS)}getSnapshot(){return this.privateBalancesState}onPrivateBalancesWithUSDChange(e){return this.privateBalancesListeners.add(e),()=>this.privateBalancesListeners.delete(e)}dispose(){clearInterval(this.pollIntervalId),this.unsubscribeBalanceChange(),this.privateBalancesListeners.clear()}pollRemoteBalances(){this.privateBalancesListeners.size!==0&&(!this.hinkal.generateProofRemotely||this.pollInFlight||(this.pollInFlight=!0,this.refreshInternal(r.PrivateBalanceUpdateType.FreshWithoutLoader,void 0,!1,!0).catch(e=>{n.Logger.error(`Remote private balance poll failed:`,e)}).finally(()=>{this.pollInFlight=!1})))}async applyRefreshFromBalanceChangeEvent(e){if(!e){await this.refreshInternal(r.PrivateBalanceUpdateType.FreshWithoutLoader);return}let{updateType:t,balanceChangeState:n,chainIdToUpdate:i,resetCacheBefore:a,updateTokensListBefore:o}=e;await this.refreshInternal(t,n,a,o,i)}dispatch(e){this.privateBalancesState=l.privateBalancesReducer(this.privateBalancesState,e);let t=this.privateBalancesState;this.privateBalancesListeners.forEach(e=>e(t))}async getAddressAndChain(e){try{return{ethAdd:e?.ethereumAddress??await this.hinkal.getEthereumAddress(),userKeys:e?.userKeys??this.hinkal.userKeys}}catch{return{ethAdd:void 0,userKeys:void 0}}}async hasCache(e,t){return await s.privateBalancesStorage.getBalancesByWallet(e,t)!==void 0}async getBalancesWithUsdValues(t,r){try{if(!r)return[];let n=t.map(e=>e.token.erc20TokenAddress);if(!n.length)return[];let i=await c.pricesStorage.getAndUpdatePrices(r,n),a=new Map(n.map((e,t)=>[e,i[t]]));return[...t.map(t=>{try{let n=t.token.erc20TokenAddress,r=a.get(n)??0,i=t.balance,o=Number(e.getAmountInToken(t.token,i))*r;return{...t,usdValue:o}}catch{return{...t,usdValue:0}}})]}catch{return n.Logger.log(`Error fetching private token balances`),[]}}handleCached=async(r,a)=>{try{await t.checkAddressNotUpdated(this.hinkal,r),this.dispatch({type:`SET_BALANCES`,chainId:a,balances:void 0});let n=await s.privateBalancesStorage.getBalancesByWallet(r,a),o=await c.pricesStorage.getPrices();if(await t.checkAddressNotUpdated(this.hinkal,r),!n||(this.dispatch({type:`SET_BALANCES`,chainId:a,balances:n}),!o))return;let l=n.map(t=>{let n=i.getTokenStateKey(t.token.erc20TokenAddress,a);return{...t,usdValue:o[n]?Number(e.getAmountInToken(t.token,t.balance))*o[n]:0}});this.dispatch({type:`SET_USD_BALANCES`,chainId:a,balances:l})}catch(e){n.Logger.error(`Error refreshing cached private balance:`,e)}};applyFreshBalances=async(e,n,r,i)=>{let a=r.filter(e=>e.balance>0n);this.dispatch({type:`SET_BALANCES`,chainId:n,balances:a}),await s.privateBalancesStorage.setBalances(e,n,a),await t.checkAddressNotUpdated(this.hinkal,e),i&&(this.dispatch({type:`SET_USD_LOADING`,chainId:n,newValue:!0}),this.dispatch({type:`SET_LOADING`,chainId:n,newValue:!1})),await t.checkAddressNotUpdated(this.hinkal,e);let o=await this.getBalancesWithUsdValues(a,n);await t.checkAddressNotUpdated(this.hinkal,e),o.length>0&&this.dispatch({type:`SET_USD_BALANCES`,chainId:n,balances:o})};handleFresh=async(e,r,i,a,o,s)=>{let c=new Set;try{await t.checkAddressNotUpdated(this.hinkal,e),await Promise.all(r.map(async t=>{(o||!await this.hasCache(e,t))&&c.add(t)})),await t.checkAddressNotUpdated(this.hinkal,e),c.forEach(e=>this.dispatch({type:`SET_LOADING`,chainId:e,newValue:!0})),a&&await this.hinkal.resetMerkle(r);let n=await this.hinkal.getTotalBalances(r,i,e,a,s);await t.checkAddressNotUpdated(this.hinkal,e),await Promise.all([...n].map(([t,n])=>this.applyFreshBalances(e,t,n,c.has(t))))}catch(e){n.Logger.error(`Error refreshing private balance:`,e)}finally{c.forEach(e=>{this.dispatch({type:`SET_LOADING`,chainId:e,newValue:!1}),this.dispatch({type:`SET_USD_LOADING`,chainId:e,newValue:!1})})}};getSupportedChainsToUpdate(e){let t=this.hinkal.getSupportedChains();return e?t.includes(e)?[e]:[]:t}async refreshInternal(e=r.PrivateBalanceUpdateType.FreshWithoutLoader,t,n=!1,i=!1,a){let{ethAdd:o,userKeys:s}=await this.getAddressAndChain(t);if(!o||!s?.getShieldedPublicKey())return;let c=this.getSupportedChainsToUpdate(a);if(c.length!==0)switch(e){case r.PrivateBalanceUpdateType.OnlyCache:await Promise.all(c.map(e=>this.handleCached(o,e)));break;case r.PrivateBalanceUpdateType.Fresh:await this.handleFresh(o,c,s,n,!0,i);break;case r.PrivateBalanceUpdateType.FreshWithoutLoader:await this.handleFresh(o,c,s,n,!1,i);break;default:break}}};exports.HinkalPrivateBalanceController=u;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getAmountInToken as e } from "../../functions/web3/etherFunctions.mjs";
|
|
2
2
|
import { checkAddressNotUpdated as t } from "../../functions/utils/upToDateState.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { Logger as n } from "../../error-handling/logger.mjs";
|
|
4
|
+
import { PrivateBalanceUpdateType as r } from "../../types/balances.types.mjs";
|
|
5
5
|
import { getTokenStateKey as i } from "../../functions/utils/string.utils.mjs";
|
|
6
6
|
import { REMOTE_BALANCE_POLL_INTERVAL_MS as a } from "../../constants/balance.constants.mjs";
|
|
7
7
|
import { balanceChangedHandler as o } from "./BalanceChangedHandler.mjs";
|
|
@@ -19,7 +19,7 @@ var u = class {
|
|
|
19
19
|
constructor(e) {
|
|
20
20
|
this.hinkal = e, this.unsubscribeBalanceChange = o.subscribe((e) => {
|
|
21
21
|
this.applyRefreshFromBalanceChangeEvent(e).catch((e) => {
|
|
22
|
-
|
|
22
|
+
n.error("Private balance refresh from balance change failed:", e);
|
|
23
23
|
});
|
|
24
24
|
}), this.pollIntervalId = setInterval(() => this.pollRemoteBalances(), a);
|
|
25
25
|
}
|
|
@@ -33,19 +33,19 @@ var u = class {
|
|
|
33
33
|
clearInterval(this.pollIntervalId), this.unsubscribeBalanceChange(), this.privateBalancesListeners.clear();
|
|
34
34
|
}
|
|
35
35
|
pollRemoteBalances() {
|
|
36
|
-
this.privateBalancesListeners.size !== 0 && (!this.hinkal.generateProofRemotely || this.pollInFlight || (this.pollInFlight = !0, this.refreshInternal(
|
|
37
|
-
|
|
36
|
+
this.privateBalancesListeners.size !== 0 && (!this.hinkal.generateProofRemotely || this.pollInFlight || (this.pollInFlight = !0, this.refreshInternal(r.FreshWithoutLoader, void 0, !1, !0).catch((e) => {
|
|
37
|
+
n.error("Remote private balance poll failed:", e);
|
|
38
38
|
}).finally(() => {
|
|
39
39
|
this.pollInFlight = !1;
|
|
40
40
|
})));
|
|
41
41
|
}
|
|
42
42
|
async applyRefreshFromBalanceChangeEvent(e) {
|
|
43
43
|
if (!e) {
|
|
44
|
-
await this.refreshInternal(
|
|
44
|
+
await this.refreshInternal(r.FreshWithoutLoader);
|
|
45
45
|
return;
|
|
46
46
|
}
|
|
47
|
-
let { updateType: t, balanceChangeState:
|
|
48
|
-
await this.refreshInternal(t,
|
|
47
|
+
let { updateType: t, balanceChangeState: n, chainIdToUpdate: i, resetCacheBefore: a, updateTokensListBefore: o } = e;
|
|
48
|
+
await this.refreshInternal(t, n, a, o, i);
|
|
49
49
|
}
|
|
50
50
|
dispatch(e) {
|
|
51
51
|
this.privateBalancesState = l(this.privateBalancesState, e);
|
|
@@ -68,12 +68,12 @@ var u = class {
|
|
|
68
68
|
async hasCache(e, t) {
|
|
69
69
|
return await s.getBalancesByWallet(e, t) !== void 0;
|
|
70
70
|
}
|
|
71
|
-
async getBalancesWithUsdValues(t,
|
|
71
|
+
async getBalancesWithUsdValues(t, r) {
|
|
72
72
|
try {
|
|
73
|
-
if (!
|
|
74
|
-
let
|
|
75
|
-
if (!
|
|
76
|
-
let i = await c.getAndUpdatePrices(
|
|
73
|
+
if (!r) return [];
|
|
74
|
+
let n = t.map((e) => e.token.erc20TokenAddress);
|
|
75
|
+
if (!n.length) return [];
|
|
76
|
+
let i = await c.getAndUpdatePrices(r, n), a = new Map(n.map((e, t) => [e, i[t]]));
|
|
77
77
|
return [...t.map((t) => {
|
|
78
78
|
try {
|
|
79
79
|
let n = t.token.erc20TokenAddress, r = a.get(n) ?? 0, i = t.balance, o = Number(e(t.token, i)) * r;
|
|
@@ -89,23 +89,23 @@ var u = class {
|
|
|
89
89
|
}
|
|
90
90
|
})];
|
|
91
91
|
} catch {
|
|
92
|
-
return
|
|
92
|
+
return n.log("Error fetching private token balances"), [];
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
-
handleCached = async (
|
|
95
|
+
handleCached = async (r, a) => {
|
|
96
96
|
try {
|
|
97
|
-
await t(this.hinkal,
|
|
97
|
+
await t(this.hinkal, r), this.dispatch({
|
|
98
98
|
type: "SET_BALANCES",
|
|
99
99
|
chainId: a,
|
|
100
100
|
balances: void 0
|
|
101
101
|
});
|
|
102
|
-
let
|
|
103
|
-
if (await t(this.hinkal,
|
|
102
|
+
let n = await s.getBalancesByWallet(r, a), o = await c.getPrices();
|
|
103
|
+
if (await t(this.hinkal, r), !n || (this.dispatch({
|
|
104
104
|
type: "SET_BALANCES",
|
|
105
105
|
chainId: a,
|
|
106
|
-
balances:
|
|
106
|
+
balances: n
|
|
107
107
|
}), !o)) return;
|
|
108
|
-
let l =
|
|
108
|
+
let l = n.map((t) => {
|
|
109
109
|
let n = i(t.token.erc20TokenAddress, a);
|
|
110
110
|
return {
|
|
111
111
|
...t,
|
|
@@ -118,75 +118,79 @@ var u = class {
|
|
|
118
118
|
balances: l
|
|
119
119
|
});
|
|
120
120
|
} catch (e) {
|
|
121
|
-
|
|
121
|
+
n.error("Error refreshing cached private balance:", e);
|
|
122
122
|
}
|
|
123
123
|
};
|
|
124
|
-
|
|
125
|
-
let
|
|
124
|
+
applyFreshBalances = async (e, n, r, i) => {
|
|
125
|
+
let a = r.filter((e) => e.balance > 0n);
|
|
126
|
+
this.dispatch({
|
|
127
|
+
type: "SET_BALANCES",
|
|
128
|
+
chainId: n,
|
|
129
|
+
balances: a
|
|
130
|
+
}), await s.setBalances(e, n, a), await t(this.hinkal, e), i && (this.dispatch({
|
|
131
|
+
type: "SET_USD_LOADING",
|
|
132
|
+
chainId: n,
|
|
133
|
+
newValue: !0
|
|
134
|
+
}), this.dispatch({
|
|
135
|
+
type: "SET_LOADING",
|
|
136
|
+
chainId: n,
|
|
137
|
+
newValue: !1
|
|
138
|
+
})), await t(this.hinkal, e);
|
|
139
|
+
let o = await this.getBalancesWithUsdValues(a, n);
|
|
140
|
+
await t(this.hinkal, e), o.length > 0 && this.dispatch({
|
|
141
|
+
type: "SET_USD_BALANCES",
|
|
142
|
+
chainId: n,
|
|
143
|
+
balances: o
|
|
144
|
+
});
|
|
145
|
+
};
|
|
146
|
+
handleFresh = async (e, r, i, a, o, s) => {
|
|
147
|
+
let c = /* @__PURE__ */ new Set();
|
|
126
148
|
try {
|
|
127
|
-
await t(this.hinkal, e)
|
|
128
|
-
|
|
129
|
-
await t(this.hinkal, e),
|
|
149
|
+
await t(this.hinkal, e), await Promise.all(r.map(async (t) => {
|
|
150
|
+
(o || !await this.hasCache(e, t)) && c.add(t);
|
|
151
|
+
})), await t(this.hinkal, e), c.forEach((e) => this.dispatch({
|
|
130
152
|
type: "SET_LOADING",
|
|
131
|
-
chainId:
|
|
153
|
+
chainId: e,
|
|
132
154
|
newValue: !0
|
|
133
|
-
})
|
|
134
|
-
let
|
|
135
|
-
await t(this.hinkal, e);
|
|
136
|
-
let d = u.filter((e) => e.balance > 0n);
|
|
137
|
-
this.dispatch({
|
|
138
|
-
type: "SET_BALANCES",
|
|
139
|
-
chainId: n,
|
|
140
|
-
balances: d
|
|
141
|
-
}), await s.setBalances(e, n, d), await t(this.hinkal, e), l && (this.dispatch({
|
|
142
|
-
type: "SET_USD_LOADING",
|
|
143
|
-
chainId: n,
|
|
144
|
-
newValue: !0
|
|
145
|
-
}), this.dispatch({
|
|
146
|
-
type: "SET_LOADING",
|
|
147
|
-
chainId: n,
|
|
148
|
-
newValue: !1
|
|
149
|
-
})), await t(this.hinkal, e);
|
|
150
|
-
let f = await this.getBalancesWithUsdValues(d, n);
|
|
151
|
-
await t(this.hinkal, e), f.length > 0 && this.dispatch({
|
|
152
|
-
type: "SET_USD_BALANCES",
|
|
153
|
-
chainId: n,
|
|
154
|
-
balances: f
|
|
155
|
-
});
|
|
155
|
+
})), a && await this.hinkal.resetMerkle(r);
|
|
156
|
+
let n = await this.hinkal.getTotalBalances(r, i, e, a, s);
|
|
157
|
+
await t(this.hinkal, e), await Promise.all([...n].map(([t, n]) => this.applyFreshBalances(e, t, n, c.has(t))));
|
|
156
158
|
} catch (e) {
|
|
157
|
-
|
|
159
|
+
n.error("Error refreshing private balance:", e);
|
|
158
160
|
} finally {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
161
|
+
c.forEach((e) => {
|
|
162
|
+
this.dispatch({
|
|
163
|
+
type: "SET_LOADING",
|
|
164
|
+
chainId: e,
|
|
165
|
+
newValue: !1
|
|
166
|
+
}), this.dispatch({
|
|
167
|
+
type: "SET_USD_LOADING",
|
|
168
|
+
chainId: e,
|
|
169
|
+
newValue: !1
|
|
170
|
+
});
|
|
171
|
+
});
|
|
168
172
|
}
|
|
169
173
|
};
|
|
170
174
|
getSupportedChainsToUpdate(e) {
|
|
171
175
|
let t = this.hinkal.getSupportedChains();
|
|
172
176
|
return e ? t.includes(e) ? [e] : [] : t;
|
|
173
177
|
}
|
|
174
|
-
async refreshInternal(e =
|
|
178
|
+
async refreshInternal(e = r.FreshWithoutLoader, t, n = !1, i = !1, a) {
|
|
175
179
|
let { ethAdd: o, userKeys: s } = await this.getAddressAndChain(t);
|
|
176
|
-
!o || !s?.getShieldedPublicKey()
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
}
|
|
180
|
+
if (!o || !s?.getShieldedPublicKey()) return;
|
|
181
|
+
let c = this.getSupportedChainsToUpdate(a);
|
|
182
|
+
if (c.length !== 0) switch (e) {
|
|
183
|
+
case r.OnlyCache:
|
|
184
|
+
await Promise.all(c.map((e) => this.handleCached(o, e)));
|
|
185
|
+
break;
|
|
186
|
+
case r.Fresh:
|
|
187
|
+
await this.handleFresh(o, c, s, n, !0, i);
|
|
188
|
+
break;
|
|
189
|
+
case r.FreshWithoutLoader:
|
|
190
|
+
await this.handleFresh(o, c, s, n, !1, i);
|
|
191
|
+
break;
|
|
192
|
+
default: break;
|
|
193
|
+
}
|
|
190
194
|
}
|
|
191
195
|
};
|
|
192
196
|
//#endregion
|
|
@@ -31,9 +31,6 @@ export interface IProviderAdapter<ConnectorType = unknown> {
|
|
|
31
31
|
signTypedData(domain: ethers.TypedDataDomain, types: Record<string, ethers.TypedDataField[]>, value: Record<string, unknown>): Promise<string>;
|
|
32
32
|
sendBatchCallsTransaction?(chainId: number, calls: Call[]): Promise<ethers.TransactionResponse>;
|
|
33
33
|
supportsBatchCall?(chainId: number): Promise<boolean>;
|
|
34
|
-
signTransactionWithoutBroadcast?(tx: Transaction): Promise<
|
|
35
|
-
signature: string;
|
|
36
|
-
transactionMessageB64: string;
|
|
37
|
-
}>;
|
|
34
|
+
signTransactionWithoutBroadcast?(tx: Transaction): Promise<string>;
|
|
38
35
|
isSolanaLedger?(): boolean;
|
|
39
36
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
var e={WC_NO_MATCHING_KEY:`creating the transaction failed
|
|
2
|
-
version`,CONNECTION_PROBLEM:`Failed to connect wallet. Please try again.`,REQUEST_PENDING:`request of type 'wallet_requestpermissions' already pending for origin`},t={INSUFFICIENT_FUNDS:`Insufficient funds`,INSUFFICIENT_FUNDS_WITHDRAW:`Not enough funds to withdraw`,INSUFFICIENT_FUNDS_TRANSFER:`Not enough funds to transfer`,INSUFFICIENT_FUNDS_TO_TRANSACT:`Not enough funds to transact`,INSUFFICIENT_FUNDS_GAS:`Insufficient funds for gas * price`,INSUFFICIENT_TRON_BALANCE_FOR_FEE:`Insufficient TRX balance to cover transfer amount and transaction fee reserve`,INSUFFICIENT_SOL_BALANCE:`Insufficient SOL balance`},n={GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT:`Skipped shielding due to gas fee exceeding your limit.`,AUTO_SHIELD_INSUFFICIENT_GAS:`Auto-Shield skipped due to insufficient gas.`},r={...e,...t,...n,SOME_ERROR:`Some error has occurred. Please try again in a few minutes. If the issue persists, please report it in Discord`,TOO_HIGH_AMOUNT:`ApproxParamsInvalid`,NOT_ENOUGH_TOKENS:`Transfer amount exceeds balance`,TRANSACTION_NOT_CONFIRMED:`The transaction was not confirmed by the network. Please, try again`,RPC_PROVIDER_LIMIT_ERROR:`Non-200 status code: '429'`,RELAYER_NOT_AVAILABLE:`All relayers are busy, please try in a few seconds`,NO_STUCK_BALANCE_TO_WITHDRAW:`No stuck balance found to withdraw`,TRANSACTION_TIMEOUT:`Your transaction got stale. Please, try in a few seconds`,CONNECT_ERROR:`Connection error`,CONNECT_ERROR2:`DOMException: Failed`,USER_REJECTED_TX:`Transaction rejected`,USER_REJECTED_SIGN:`User rejected signing`,USER_REJECTED_TRANSACTION:`user rejected transaction`,USER_REJECTED_SIGN2:`User rejected the request`,USER_REJECTED_CONNECTION:`The user rejected connection.`,USER_REJECTED_RPC:`User has rejected`,SIMULATION_FAILED:`Simulation failed:`,USER_DENIED_TRANSACTION_SIGNATURE:`User denied transaction signature.`,USER_DENIED_REQUEST_SIGNATURE:`User denied request signature.`,SIGNING_FAILED:`The signing failed. Please, try again`,SIGNATURE_UNSUPPORTED_CHAINS:`Details: Unsupported chains`,SIGNATURE_UNSUPPORTED_CHAINS2:`User disapproved requested chains`,SIGNATURE_REQUEST_EXPIRED:`Request expired. Please try again`,SIGNATURE_UNSUPPORTED_PERSONAL_SIGN:`The method personal_sign does not exist`,USER_DISAPPROVED_REQUESTED_METHODS:`User disapproved requested methods`,INVALID_AUTHORIZATION:`The requested account and/or method has not been authorized by the user`,INVALID_NULLIFIER:`Nullifier cannot be reused`,SANCTIONED_ADDRESS:`Address is sanctioned`,INVALID_AMOUNT:`Please, select correct amount`,RECIPIENT_FORMAT_INCORRECT:`Recipient Information format is incorrect`,INVALID_TOKEN:`Invalid token provided`,STATE_TO_UPDATE:`Error in template Verifier_219 line: 121`,INVALID_RECEIVER:`Receiver address doesn't match`,INVALID_RELAYER:`Relayer address doesn't match`,INVALID_RELAYER_FEE:`Relayer fee amount is not valid`,TIMESTAMP_STALE:`Timestamp provided does not align with current time`,INVALID_ZKP:`Proof must be valid`,NO_TRANSACTIONS_TO_CERTIFY:`This week, you do not have transactions to certify`,RECIPIENT_AMOUNT_INVALID:`Recipient amount is invalid`,UNSUPPORTED_NETWORK:`The selected network is not supported. Please switch to another network to continue.`,SIG_BY_OWNER:`Signature must be signed by the owner of the contract`,AMOUNT_EMPTY:`Please, specify amount`,RELAYER_ISSUE:`Relayer has some issues. Try again later`,RELAYER_GAS_ESTIMATE:`Relayer was not able to estimate the gas costs of tx. Please, try later`,RECEIVER_EMPTY:`Please, enter recipient address`,VALID_ETHEREUM_ADDRESS:`Please, input valid ethereum address`,METAMASK_NOT_INSTALLED:`Please, install Metamask Wallet`,VIABLE_TX:`The transaction is not viable. Please increase the swap amount to swap with Relayer`,TRANSACTION_REPLACED:`transaction was replaced`,TRANSACTION_REPLACED2:`replacement fee too low`,TRANSACTION_CANCELED:`Transaction was cancelled. Please try again`,NONCE_HIGH:`Nonce too high`,WALLET_CONNECT_MATCHING_KEYS:`No matching key. keychain`,UNKNOWN_PROVIDER:`Unknown provider`,SAFE_ERC:`SafeERC20: low-level call failed`,SAFE_ERC_APPROVE:`SafeERC20: approve from non-zero to non-zero allowance`,SWAP_RELAYER_MIN:`Relayer minimum fee is not satisfied`,LOW_LEVEL_CALL:`low-level delegate call failed`,INTEGRAL_CURVE_ZERO:`previous integral cannot be zero`,YOU_CANCELED_REQUEST:`You canceled the request`,YOU_CANCELED_TRANSACTION_REQUEST:`You cancelled the transaction request.`,SLIPPAGE_LIMIT:`Slippage Limit Exceeded`,SLIPPAGE_LIMIT_1:`Slippage screwed you`,QUOTE_EXPIRED:`Quote has expired`,REVERT_NO_STRING:`Transaction reverted without a reason string`,CONNECTION_FAILED:`Failed to connect`,FAILED_TO_SWITCH_NETWORKS:`Please switch networks in your wallet settings`,INVALID_FROM:`Invalid from token`,INVALID_TO:`Invalid to token`,Invalid_Password:`Invalid password`,INTERNAL_ERROR:`Internal error: please, try again`,INVALID_MERKLE_ROOT:`Invalid merkle tree root`,MERLE_TREE_SNARK:`Error in template ForceEqualIfEnabled`,ERROR_MESSAGE_CHAIN_ADDRESS_CHANGED:`Chain/address changed: balance updated canceled`,DECIMALS_LIMIT:`Number of decimals exceed maximum`,MERKLE_TREE_INCOMPLETE:`Merkle tree is incomplete`,FAIL_ESTIMATE_GAS:`Failed to estimate gas: check the transaction parameters`,LEDGER_IS_LOCKED:`Ledger device: Locked device`,LEDGER_BLIDN_SIGNING_NOT_ALLOWED:`Ledger device: UNKNOWN_ERROR (0x6a8c)`,LEDGER_IS_NOT_AVAILABLE:`Ledger device: UNKNOWN_ERROR`,LEDGER_ACCESS_DENIED:`Access denied to use Ledger device.`,GAS_ESTIMATION_ERROR:`Failed Gas Estimates Response`,GAS_ESTIMATE_INCORRECT_PARAMETERS:`Incorrect Parameters for Gas Estimate`,CONNECTIVITY_ERROR:`Request failed with status code 500`,TRANSACTION_FAILED:`Transaction Failed: Revert`,NO_SWAP_QUOTES:`No swap quotes available`,FEES_OVER_TRANSACTION_VALUE:`Fees are over transaction value. Please, increase the amount`,GAS_STATION_NOT_AVAILABLE:`Gas Station Not Available`,INBALANCE_IN_TOKEN:`Inbalance in token detected`,BALANCE_EQUATION_FAILED:`Balance Diff Should be equal to sum of onchain and offchain created commitments`,TOKEN_ADD_ERROR:`Error occoured while adding token. Please make sure you are adding a valid ERC-20 token`,CANNOT_ESTIMATE_GAS:`transaction may require manual gas limit`,NETWORK_ERROR:`Network Error`,MAX_FEE_GAS_ERROR:`max fee per gas less than block base fee`,CORS_ERROR:`has been blocked by CORS policy`,CANNOT_ESTIMATE_GAS2:`transaction may fail or may require manual gas limit`,NO_RESPONSE_PRIVATE:`No resonse from private relay`,TRY_AGAIN_AFTER_TRANSACTION:`Please, try again`,ALREADY_SUBSCRIBED:`User Already Subscribed`,PREFERRED_TOKEN_OR_ADDRESS_MISSING:`Please, specify both the preferred token and public wallet address`,SNAPSHOT_FILE_NOT_FOUND:`We are updating our servers. Please try again in some time`,SAME_ADDRESS_FORBIDDEN:`You cannot recieve staked tokens on the same ethereum address`,NOT_VALID_ETHEREUM_ADDRESS:`Please enter a valid Ethereum address`,MUST_STAKE_AT_LEAST_ONE_ETH:`Amount too low, Please stake at least 1 ETH`,OUT_OF_MEMORY:`Out of memory: Cannot allocate Wasm memory`,OUT_OF_MEMORY2:`could not allocate memory`,OUT_OF_MEMORY3:`out of memory`,UNKNOWN:`Unknown error`,TRANSACTION_WRONG_REQUEST:`The requested Transaction type is not supported`,INSUFFICIENT_LAMPORTS:`insufficient lamports`,TOKENS_DO_NOT_BELONG_SAME_CHAIN:`Tokens belong to different chains. All tokens must belong to the same chain`,OKX_MIN_RETURN_NOT_REACHED:`custom program error: 0x177a`,MIN_RETURNED_NOT_REACHED:`MinReturnNotReached`,SOLANA_RECEIVED_LOWER_THAN_EXPECTED:`ReceivedAmountLowerThanExpected`,AUTO_SHIELD_SKIPPED:`We skipped auto-shield because the asset was an NFT or the remaining token was used as gas.`,LOW_OUTPUT_AMOUNT:`Gas fees exceed received amount. Please try adjusting amount or lowering slippage.`,EXECUTION_REVERTED:`execution reverted`,SOLANA_TRANSACTION_LOG_SIZE_LIMIT:`Transaction logs are too large. Please try again later`,COMPUTATIONAL_BUDGET_EXCEEDED:`ComputationalBudgetExceeded`,RELAY_FEE_OVER_WITHDRAW_AMOUNT:`Relay Fee is over withdraw amount`,TRON_CONFIRMATION_DECLINED:`Confirmation declined by user`,BLACKLISTED_INPUT_COMMITMENT_ADDRESS:`One of the source addresses is restricted from private transactions`,ACCOUNT_RESOURCE_INSUFFICIENT_ERROR:`Account resource insufficient error`,TRON_ROOT_HASH_STALE:`Hinkal Root Hash Is Stale For Proof`,TRON_TX_IN_FLIGHT:`Another Hinkal transaction is in progress`},i=`Not enough memory. Please, close some tabs/applications to free up memory and try again`,a=`Your transaction didn’t go through due to price slippage. Try increasing your slippage tolerance`,o={USER_REJECTED_TRANSACTION:`You cancelled the transaction`,SOME_ERROR:`Some error has occurred. Please try again in a few minutes. If the issue persists, please report it in Discord`,TOO_HIGH_AMOUNT:`The amount you provided is too high, please adjust the amount`,WC_NO_MATCHING_KEY:`Wallet Connect error. Please, try again`,RPC_PROVIDER_LIMIT_ERROR:`Rate Limit: please, use different rpc provider in your wallet`,INSUFFICIENT_FUNDS_GAS:`Your balance is too low to cover the transaction fees. Please add funds to proceed`,INSUFFICIENT_TRON_BALANCE_FOR_FEE:`Your TRX balance is too low to cover amount and transaction fee`,INVALID_NULLIFIER:`There seems to be an issue with syncing your balance. Please press the refresh icon next to your shielded balance`,STATE_TO_UPDATE:`A technical issue has occurred. Please create a ticket on Hinkal discord server`,INVALID_ZKP:`The Zero Knowledge Proof provided is invalid. Please check and try again`,NONCE_HIGH:`To resolve this issue, please reset your wallet in the Settings`,UNKNOWN_PROVIDER:`The provider is not recognized. Please check your settings`,TRANSACTION_REPLACED:`Your transaction was replaced by another. Please submit your transaction again`,TRANSACTION_REPLACED2:`This transaction was replaced. Please try submitting again`,TRANSACTION_TIMEOUT:`Your transaction got stale. Please, try in a few seconds`,SAFE_ERC:`Your approved amount is lower than what you’re trying to send. Increase the approval or adjust the amount, then try again.`,SIMULATION_FAILED:`Transaction simulation failed. Please try again.`,SAFE_ERC_APPROVE:`The selected ERC20 Token could not be approved. Please contact the Hinkal support team`,INTEGRAL_CURVE_ZERO:`There's an issue with the pool's staking function. Please contact the Hinkal support team for assistance`,LOW_LEVEL_CALL:`A technical issue occurred. Please contact the Hinkal team for assistance`,YOU_CANCELED_REQUEST:`You canceled the request`,YOU_CANCELED_TRANSACTION_REQUEST:`You cancelled the transaction request.`,USER_REJECTED_SIGN2:`You canceled the request`,USER_REJECTED_RPC:`You canceled the request`,USER_DENIED_TRANSACTION_SIGNATURE:`You canceled the request`,USER_DENIED_REQUEST_SIGNATURE:`You canceled the request`,CONNECT_ERROR2:`Oops, there are connectivity issues. Please check your internet connection and try again`,WALLET_CONNECT_MATCHING_KEYS:`An internal WalletConnect error occurred. Please try reconnecting`,SIGNATURE_UNSUPPORTED_CHAINS:`The transaction couldn’t be signed: this network is not supported`,SIGNATURE_UNSUPPORTED_CHAINS2:`The transaction couldn’t be signed: this network is not supported`,SIGNATURE_UNSUPPORTED_PERSONAL_SIGN:`Your active wallet doesn't support personal signatures. Please use a different wallet`,REVERT_NO_STRING:`Your transaction didn’t go through due to technical issues. Please submit a ticket on Hinkal discord server`,INVALID_MERKLE_ROOT:`There's an issue with the merkle tree root. Please submit a ticket on Hinkal discord server`,MERLE_TREE_SNARK:`An error occurred in the circuit processing. Please submit a ticket on Hinkal discord server`,MAX_FEE_GAS_ERROR:`Your transaction was rejected due to high network congestion`,MERKLE_TREE_INCOMPLETE:`A technical issue has occurred. Please submit a ticket on Hinkal discord server`,CORS_ERROR:`Unable to reach the remote client. Please submit a ticket on Hinkal discord server`,NETWORK_ERROR:`Connection error. Please, check back later`,CONNECTIVITY_ERROR:`A connectivity issue occurred. Please check your network connection`,LEDGER_IS_LOCKED:`Your wallet is locked. Please unlock your wallet`,LEDGER_BLIDN_SIGNING_NOT_ALLOWED:`Your ledger is not allowed to sign transactions. Please allow blind signing`,LEDGER_IS_NOT_AVAILABLE:`Access denied to use Ledger device.`,LEDGER_ACCESS_DENIED:`Access denied to use Ledger device.`,INBALANCE_IN_TOKEN:a,OKX_MIN_RETURN_NOT_REACHED:a,SOLANA_RECEIVED_LOWER_THAN_EXPECTED:a,MIN_RETURNED_NOT_REACHED:a,BALANCE_EQUATION_FAILED:`There's an issue with the balance calculation. Please adjust your transaction parameters`,SLIPPAGE_LIMIT_1:`Your transaction didn’t go through due to price slippage. Adjust slippage settings and retry`,CANNOT_ESTIMATE_GAS:`Unable to estimate the gas required. Please set the gas limit manually`,CANNOT_ESTIMATE_GAS2:`Your transaction didn’t go through. Please try setting gas limit manually`,GAS_STATION_NOT_AVAILABLE:`The Gas Station service is currently unavailable. Please submit a ticket on Hinkal discord server`,TIMESTAMP_STALE:`This transaction is outdated. Please initiate a new transaction`,ALREADY_SUBSCRIBED:`This email is already subscribed to the Hinkal newsletter`,OUT_OF_MEMORY:i,OUT_OF_MEMORY2:i,OUT_OF_MEMORY3:i,INVALID_RECOVERY_PHRASE:`Invalid recovery phrase`,PHRASES_DONT_MATCH:`Phrases do not match. You can go back and verify your recovery phrase.`,PASSWORDS_DONT_MATCH:`Passwords do not match`,PASSWORD_SAME_AS_OLD:`Password cannot be the same as the old one`,PASSWORD_TOO_SMALL:`Password must be at least 8 characters`,PASSWORD_NOT_CORRECT:`Incorrect current password`,CODE_ALREADY_USED:`This code has already been used`,ACCESS_CODE_REQUIRED:`Access code is required`,ACCESS_CODE_IS_ALREADY_IN_USE:`Access code is already in use`,ACCESS_CODE_IS_ALREADY_IN_USE1:`Access code already in use. Import or connect existing wallet`,ERROR_DURING_PHRASE_CONFIRMATION:`Error during Phrase confirmation`,INSUFFICIENT_LAMPORTS:`Your SOL balance is too low to complete this transaction`,EXECUTION_REVERTED:`Your transaction reverted.`,COMPUTATIONAL_BUDGET_EXCEEDED:`Your transaction exceeded the limited compute units. Please try again.`,RELAY_FEE_OVER_WITHDRAW_AMOUNT:`Your transaction didn’t go through because the relay fee exceeded the transaction amount`,TRON_CONFIRMATION_DECLINED:`You canceled the request`,INVALID_RELAYER_FEE:`The transaction fee changed while submitting. Please try again.`,REQUEST_PENDING:`A request is already pending in your wallet. Please confirm to connect.`,BLACKLISTED_INPUT_COMMITMENT_ADDRESS:`The funds you’re trying to use have been flagged as sanctioned.`,NO_SWAP_QUOTES:`No swap route available for this token pair on the selected network at the moment. Please try again later or adjust the swap parameters.`,TRON_ROOT_HASH_STALE:`Another transaction was processed just before yours. Please try again`,TRON_TX_IN_FLIGHT:`Another transaction is currently being processed. Please try again in a few seconds`,NO_LIFI_PRICE:`Li-Fi provider couldn't fetch the price. please, retry in a few seconds.`},s={UTXO_LIMITATIONS:`Your transaction exceeds the UTXO limit`,INSUFFICIENT_BALANCE_FOR_FEES:`Fees are high right now and would consume a large portion of your balance. Consider reducing the amount or retrying later.`,HIGH_FEE_WARNING:`Total fees exceed your available balance. Consider adding funds or retry later when fees decrease.`};exports.DIRECTLY_SHOW_MESSAGE_ERROR_CODES=s,exports.UserFriendlyErrorCodes=o,exports.gasErrorCodes=n,exports.insufficientResourcesErrorCodes=t,exports.transactionErrorCodes=r;
|
|
2
|
+
version`,CONNECTION_PROBLEM:`Failed to connect wallet. Please try again.`,REQUEST_PENDING:`request of type 'wallet_requestpermissions' already pending for origin`},t={INSUFFICIENT_FUNDS:`Insufficient funds`,INSUFFICIENT_FUNDS_WITHDRAW:`Not enough funds to withdraw`,INSUFFICIENT_FUNDS_TRANSFER:`Not enough funds to transfer`,INSUFFICIENT_FUNDS_TO_TRANSACT:`Not enough funds to transact`,INSUFFICIENT_FUNDS_GAS:`Insufficient funds for gas * price`,INSUFFICIENT_TRON_BALANCE_FOR_FEE:`Insufficient TRX balance to cover transfer amount and transaction fee reserve`,INSUFFICIENT_SOL_BALANCE:`Insufficient SOL balance`},n={GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT:`Skipped shielding due to gas fee exceeding your limit.`,AUTO_SHIELD_INSUFFICIENT_GAS:`Auto-Shield skipped due to insufficient gas.`},r={...e,...t,...n,SOME_ERROR:`Some error has occurred. Please try again in a few minutes. If the issue persists, please report it in Discord`,TOO_HIGH_AMOUNT:`ApproxParamsInvalid`,NOT_ENOUGH_TOKENS:`Transfer amount exceeds balance`,TRANSACTION_NOT_CONFIRMED:`The transaction was not confirmed by the network. Please, try again`,RPC_PROVIDER_LIMIT_ERROR:`Non-200 status code: '429'`,RELAYER_NOT_AVAILABLE:`All relayers are busy, please try in a few seconds`,NO_STUCK_BALANCE_TO_WITHDRAW:`No stuck balance found to withdraw`,TRANSACTION_TIMEOUT:`Your transaction got stale. Please, try in a few seconds`,CONNECT_ERROR:`Connection error`,CONNECT_ERROR2:`DOMException: Failed`,USER_REJECTED_TX:`Transaction rejected`,USER_REJECTED_SIGN:`User rejected signing`,USER_REJECTED_TRANSACTION:`user rejected transaction`,USER_REJECTED_SIGN2:`User rejected the request`,USER_REJECTED_CONNECTION:`The user rejected connection.`,USER_REJECTED_RPC:`User has rejected`,SIMULATION_FAILED:`Simulation failed:`,USER_DENIED_TRANSACTION_SIGNATURE:`User denied transaction signature.`,USER_DENIED_REQUEST_SIGNATURE:`User denied request signature.`,SIGNING_FAILED:`The signing failed. Please, try again`,SIGNATURE_UNSUPPORTED_CHAINS:`Details: Unsupported chains`,SIGNATURE_UNSUPPORTED_CHAINS2:`User disapproved requested chains`,SIGNATURE_REQUEST_EXPIRED:`Request expired. Please try again`,SIGNATURE_UNSUPPORTED_PERSONAL_SIGN:`The method personal_sign does not exist`,USER_DISAPPROVED_REQUESTED_METHODS:`User disapproved requested methods`,INVALID_AUTHORIZATION:`The requested account and/or method has not been authorized by the user`,INVALID_NULLIFIER:`Nullifier cannot be reused`,SANCTIONED_ADDRESS:`Address is sanctioned`,INVALID_AMOUNT:`Please, select correct amount`,RECIPIENT_FORMAT_INCORRECT:`Recipient Information format is incorrect`,INVALID_TOKEN:`Invalid token provided`,STATE_TO_UPDATE:`Error in template Verifier_219 line: 121`,INVALID_RECEIVER:`Receiver address doesn't match`,INVALID_RELAYER:`Relayer address doesn't match`,INVALID_RELAYER_FEE:`Relayer fee amount is not valid`,TIMESTAMP_STALE:`Timestamp provided does not align with current time`,INVALID_ZKP:`Proof must be valid`,NO_TRANSACTIONS_TO_CERTIFY:`This week, you do not have transactions to certify`,RECIPIENT_AMOUNT_INVALID:`Recipient amount is invalid`,UNSUPPORTED_NETWORK:`The selected network is not supported. Please switch to another network to continue.`,SIG_BY_OWNER:`Signature must be signed by the owner of the contract`,AMOUNT_EMPTY:`Please, specify amount`,RELAYER_ISSUE:`Relayer has some issues. Try again later`,RELAYER_GAS_ESTIMATE:`Relayer was not able to estimate the gas costs of tx. Please, try later`,RECEIVER_EMPTY:`Please, enter recipient address`,VALID_ETHEREUM_ADDRESS:`Please, input valid ethereum address`,METAMASK_NOT_INSTALLED:`Please, install Metamask Wallet`,VIABLE_TX:`The transaction is not viable. Please increase the swap amount to swap with Relayer`,TRANSACTION_REPLACED:`transaction was replaced`,TRANSACTION_REPLACED2:`replacement fee too low`,TRANSACTION_CANCELED:`Transaction was cancelled. Please try again`,NONCE_HIGH:`Nonce too high`,WALLET_CONNECT_MATCHING_KEYS:`No matching key. keychain`,UNKNOWN_PROVIDER:`Unknown provider`,SAFE_ERC:`SafeERC20: low-level call failed`,SAFE_ERC_APPROVE:`SafeERC20: approve from non-zero to non-zero allowance`,SWAP_RELAYER_MIN:`Relayer minimum fee is not satisfied`,LOW_LEVEL_CALL:`low-level delegate call failed`,INTEGRAL_CURVE_ZERO:`previous integral cannot be zero`,YOU_CANCELED_REQUEST:`You canceled the request`,YOU_CANCELED_TRANSACTION_REQUEST:`You cancelled the transaction request.`,SLIPPAGE_LIMIT:`Slippage Limit Exceeded`,SLIPPAGE_LIMIT_1:`Slippage screwed you`,QUOTE_EXPIRED:`Quote has expired`,REVERT_NO_STRING:`Transaction reverted without a reason string`,CONNECTION_FAILED:`Failed to connect`,FAILED_TO_SWITCH_NETWORKS:`Please switch networks in your wallet settings`,INVALID_FROM:`Invalid from token`,INVALID_TO:`Invalid to token`,Invalid_Password:`Invalid password`,INTERNAL_ERROR:`Internal error: please, try again`,INVALID_MERKLE_ROOT:`Invalid merkle tree root`,MERLE_TREE_SNARK:`Error in template ForceEqualIfEnabled`,ERROR_MESSAGE_CHAIN_ADDRESS_CHANGED:`Chain/address changed: balance updated canceled`,DECIMALS_LIMIT:`Number of decimals exceed maximum`,MERKLE_TREE_INCOMPLETE:`Merkle tree is incomplete`,FAIL_ESTIMATE_GAS:`Failed to estimate gas: check the transaction parameters`,LEDGER_IS_LOCKED:`Ledger device: Locked device`,LEDGER_BLIDN_SIGNING_NOT_ALLOWED:`Ledger device: UNKNOWN_ERROR (0x6a8c)`,LEDGER_IS_NOT_AVAILABLE:`Ledger device: UNKNOWN_ERROR`,LEDGER_ACCESS_DENIED:`Access denied to use Ledger device.`,GAS_ESTIMATION_ERROR:`Failed Gas Estimates Response`,GAS_ESTIMATE_INCORRECT_PARAMETERS:`Incorrect Parameters for Gas Estimate`,CONNECTIVITY_ERROR:`Request failed with status code 500`,TRANSACTION_FAILED:`Transaction Failed: Revert`,NO_SWAP_QUOTES:`No swap quotes available`,FEES_OVER_TRANSACTION_VALUE:`Fees are over transaction value. Please, increase the amount`,GAS_STATION_NOT_AVAILABLE:`Gas Station Not Available`,INBALANCE_IN_TOKEN:`Inbalance in token detected`,BALANCE_EQUATION_FAILED:`Balance Diff Should be equal to sum of onchain and offchain created commitments`,TOKEN_ADD_ERROR:`Error occoured while adding token. Please make sure you are adding a valid ERC-20 token`,CANNOT_ESTIMATE_GAS:`transaction may require manual gas limit`,NETWORK_ERROR:`Network Error`,MAX_FEE_GAS_ERROR:`max fee per gas less than block base fee`,CORS_ERROR:`has been blocked by CORS policy`,CANNOT_ESTIMATE_GAS2:`transaction may fail or may require manual gas limit`,NO_RESPONSE_PRIVATE:`No resonse from private relay`,TRY_AGAIN_AFTER_TRANSACTION:`Please, try again`,ALREADY_SUBSCRIBED:`User Already Subscribed`,PREFERRED_TOKEN_OR_ADDRESS_MISSING:`Please, specify both the preferred token and public wallet address`,SNAPSHOT_FILE_NOT_FOUND:`We are updating our servers. Please try again in some time`,SAME_ADDRESS_FORBIDDEN:`You cannot recieve staked tokens on the same ethereum address`,NOT_VALID_ETHEREUM_ADDRESS:`Please enter a valid Ethereum address`,MUST_STAKE_AT_LEAST_ONE_ETH:`Amount too low, Please stake at least 1 ETH`,OUT_OF_MEMORY:`Out of memory: Cannot allocate Wasm memory`,OUT_OF_MEMORY2:`could not allocate memory`,OUT_OF_MEMORY3:`out of memory`,UNKNOWN:`Unknown error`,TRANSACTION_WRONG_REQUEST:`The requested Transaction type is not supported`,INSUFFICIENT_LAMPORTS:`insufficient lamports`,TOKENS_DO_NOT_BELONG_SAME_CHAIN:`Tokens belong to different chains. All tokens must belong to the same chain`,OKX_MIN_RETURN_NOT_REACHED:`custom program error: 0x177a`,MIN_RETURNED_NOT_REACHED:`MinReturnNotReached`,SOLANA_RECEIVED_LOWER_THAN_EXPECTED:`ReceivedAmountLowerThanExpected`,AUTO_SHIELD_SKIPPED:`We skipped auto-shield because the asset was an NFT or the remaining token was used as gas.`,LOW_OUTPUT_AMOUNT:`Gas fees exceed received amount. Please try adjusting amount or lowering slippage.`,EXECUTION_REVERTED:`execution reverted`,SOLANA_TRANSACTION_LOG_SIZE_LIMIT:`Transaction logs are too large. Please try again later`,COMPUTATIONAL_BUDGET_EXCEEDED:`ComputationalBudgetExceeded`,RELAY_FEE_OVER_WITHDRAW_AMOUNT:`Relay Fee is over withdraw amount`,TRON_CONFIRMATION_DECLINED:`Confirmation declined by user`,BLACKLISTED_INPUT_COMMITMENT_ADDRESS:`One of the source addresses is restricted from private transactions`,ACCOUNT_RESOURCE_INSUFFICIENT_ERROR:`Account resource insufficient error`,TRON_ROOT_HASH_STALE:`Hinkal Root Hash Is Stale For Insertion`,TRON_TX_IN_FLIGHT:`Another Hinkal transaction is in progress`,SOLANA_CONFIRMATION_TIMEOUT:`Transaction was not confirmed in`,BRIDGE_ARRIVAL_TIMEOUT:`Bridge did not land on destination temp wallet`},i=`Not enough memory. Please, close some tabs/applications to free up memory and try again`,a=`Your transaction didn’t go through due to price slippage. Try increasing your slippage tolerance`,o={USER_REJECTED_TRANSACTION:`You cancelled the transaction`,SOME_ERROR:`Some error has occurred. Please try again in a few minutes. If the issue persists, please report it in Discord`,TOO_HIGH_AMOUNT:`The amount you provided is too high, please adjust the amount`,NOT_ENOUGH_TOKENS:`Transfer amount exceeds balance. Try lowering amount or add funds and retry.`,WC_NO_MATCHING_KEY:`Wallet Connect error. Please, try again`,RPC_PROVIDER_LIMIT_ERROR:`Rate Limit: please, use different rpc provider in your wallet`,INSUFFICIENT_FUNDS_GAS:`Your balance is too low to cover the transaction fees. Please add funds to proceed`,INSUFFICIENT_TRON_BALANCE_FOR_FEE:`Your TRX balance is too low to cover amount and transaction fee`,INVALID_NULLIFIER:`There seems to be an issue with syncing your balance. Please press the refresh icon next to your shielded balance`,STATE_TO_UPDATE:`A technical issue has occurred. Please create a ticket on Hinkal discord server`,INVALID_ZKP:`The Zero Knowledge Proof provided is invalid. Please check and try again`,NONCE_HIGH:`To resolve this issue, please reset your wallet in the Settings`,UNKNOWN_PROVIDER:`The provider is not recognized. Please check your settings`,TRANSACTION_REPLACED:`Your transaction was replaced by another. Please submit your transaction again`,TRANSACTION_REPLACED2:`This transaction was replaced. Please try submitting again`,TRANSACTION_TIMEOUT:`Your transaction got stale. Please, try in a few seconds`,SAFE_ERC:`Your approved amount is lower than what you’re trying to send. Increase the approval or adjust the amount, then try again.`,SIMULATION_FAILED:`Transaction simulation failed. Please try again.`,SAFE_ERC_APPROVE:`The selected ERC20 Token could not be approved. Please contact the Hinkal support team`,INTEGRAL_CURVE_ZERO:`There's an issue with the pool's staking function. Please contact the Hinkal support team for assistance`,LOW_LEVEL_CALL:`A technical issue occurred. Please contact the Hinkal team for assistance`,YOU_CANCELED_REQUEST:`You canceled the request`,YOU_CANCELED_TRANSACTION_REQUEST:`You cancelled the transaction request.`,USER_REJECTED_SIGN2:`You canceled the request`,USER_REJECTED_RPC:`You canceled the request`,USER_DENIED_TRANSACTION_SIGNATURE:`You canceled the request`,USER_DENIED_REQUEST_SIGNATURE:`You canceled the request`,CONNECT_ERROR2:`Oops, there are connectivity issues. Please check your internet connection and try again`,WALLET_CONNECT_MATCHING_KEYS:`An internal WalletConnect error occurred. Please try reconnecting`,SIGNATURE_UNSUPPORTED_CHAINS:`The transaction couldn’t be signed: this network is not supported`,SIGNATURE_UNSUPPORTED_CHAINS2:`The transaction couldn’t be signed: this network is not supported`,SIGNATURE_UNSUPPORTED_PERSONAL_SIGN:`Your active wallet doesn't support personal signatures. Please use a different wallet`,REVERT_NO_STRING:`Your transaction didn’t go through due to technical issues. Please submit a ticket on Hinkal discord server`,INVALID_MERKLE_ROOT:`There's an issue with the merkle tree root. Please submit a ticket on Hinkal discord server`,MERLE_TREE_SNARK:`An error occurred in the circuit processing. Please submit a ticket on Hinkal discord server`,MAX_FEE_GAS_ERROR:`Your transaction was rejected due to high network congestion`,MERKLE_TREE_INCOMPLETE:`A technical issue has occurred. Please submit a ticket on Hinkal discord server`,CORS_ERROR:`Unable to reach the remote client. Please submit a ticket on Hinkal discord server`,NETWORK_ERROR:`Connection error. Please, check back later`,CONNECTIVITY_ERROR:`A connectivity issue occurred. Please check your network connection`,LEDGER_IS_LOCKED:`Your wallet is locked. Please unlock your wallet`,LEDGER_BLIDN_SIGNING_NOT_ALLOWED:`Your ledger is not allowed to sign transactions. Please allow blind signing`,LEDGER_IS_NOT_AVAILABLE:`Access denied to use Ledger device.`,LEDGER_ACCESS_DENIED:`Access denied to use Ledger device.`,INBALANCE_IN_TOKEN:a,OKX_MIN_RETURN_NOT_REACHED:a,SOLANA_RECEIVED_LOWER_THAN_EXPECTED:a,MIN_RETURNED_NOT_REACHED:a,BALANCE_EQUATION_FAILED:`There's an issue with the balance calculation. Please adjust your transaction parameters`,SLIPPAGE_LIMIT_1:`Your transaction didn’t go through due to price slippage. Adjust slippage settings and retry`,CANNOT_ESTIMATE_GAS:`Unable to estimate the gas required. Please set the gas limit manually`,CANNOT_ESTIMATE_GAS2:`Your transaction didn’t go through. Please try setting gas limit manually`,GAS_STATION_NOT_AVAILABLE:`The Gas Station service is currently unavailable. Please submit a ticket on Hinkal discord server`,TIMESTAMP_STALE:`This transaction is outdated. Please initiate a new transaction`,ALREADY_SUBSCRIBED:`This email is already subscribed to the Hinkal newsletter`,OUT_OF_MEMORY:i,OUT_OF_MEMORY2:i,OUT_OF_MEMORY3:i,INVALID_RECOVERY_PHRASE:`Invalid recovery phrase`,PHRASES_DONT_MATCH:`Phrases do not match. You can go back and verify your recovery phrase.`,PASSWORDS_DONT_MATCH:`Passwords do not match`,PASSWORD_SAME_AS_OLD:`Password cannot be the same as the old one`,PASSWORD_TOO_SMALL:`Password must be at least 8 characters`,PASSWORD_NOT_CORRECT:`Incorrect current password`,CODE_ALREADY_USED:`This code has already been used`,ACCESS_CODE_REQUIRED:`Access code is required`,ACCESS_CODE_IS_ALREADY_IN_USE:`Access code is already in use`,ACCESS_CODE_IS_ALREADY_IN_USE1:`Access code already in use. Import or connect existing wallet`,ERROR_DURING_PHRASE_CONFIRMATION:`Error during Phrase confirmation`,INSUFFICIENT_LAMPORTS:`Your SOL balance is too low to complete this transaction`,EXECUTION_REVERTED:`Your transaction reverted.`,COMPUTATIONAL_BUDGET_EXCEEDED:`Your transaction exceeded the limited compute units. Please try again.`,RELAY_FEE_OVER_WITHDRAW_AMOUNT:`Your transaction didn’t go through because the relay fee exceeded the transaction amount`,TRON_CONFIRMATION_DECLINED:`You canceled the request`,INVALID_RELAYER_FEE:`The transaction fee changed while submitting. Please try again.`,REQUEST_PENDING:`A request is already pending in your wallet. Please confirm to connect.`,BLACKLISTED_INPUT_COMMITMENT_ADDRESS:`The funds you’re trying to use have been flagged as sanctioned.`,NO_SWAP_QUOTES:`No swap route available for this token pair on the selected network at the moment. Please try again later or adjust the swap parameters.`,TRON_ROOT_HASH_STALE:`Another transaction was processed just before yours. Please try again`,TRON_TX_IN_FLIGHT:`Another transaction is currently being processed. Please try again in a few seconds`,NO_LIFI_PRICE:`Li-Fi provider couldn't fetch the price. please, retry in a few seconds.`,SOLANA_CONFIRMATION_TIMEOUT:`Network didn't confirm your transfer in time. It may still be confirmed - please, check Solscan before retrying.`,BRIDGE_ARRIVAL_TIMEOUT:`The bridge is taking longer than usual. Your funds left the source chain and are not lost - once they arrive, claim them from Recovery Funds.`},s={UTXO_LIMITATIONS:`Your transaction exceeds the UTXO limit`,INSUFFICIENT_BALANCE_FOR_FEES:`Fees are high right now and would consume a large portion of your balance. Consider reducing the amount or retrying later.`,HIGH_FEE_WARNING:`Total fees exceed your available balance. Consider adding funds or retry later when fees decrease.`,INSUFFICIENT_FUNDS_FOR_RECOVERY_FEES:`Insufficient funds to cover recovery fees`};exports.DIRECTLY_SHOW_MESSAGE_ERROR_CODES=s,exports.UserFriendlyErrorCodes=o,exports.gasErrorCodes=n,exports.insufficientResourcesErrorCodes=t,exports.transactionErrorCodes=r;
|
|
@@ -141,6 +141,8 @@ export declare const transactionErrorCodes: {
|
|
|
141
141
|
ACCOUNT_RESOURCE_INSUFFICIENT_ERROR: string;
|
|
142
142
|
TRON_ROOT_HASH_STALE: string;
|
|
143
143
|
TRON_TX_IN_FLIGHT: string;
|
|
144
|
+
SOLANA_CONFIRMATION_TIMEOUT: string;
|
|
145
|
+
BRIDGE_ARRIVAL_TIMEOUT: string;
|
|
144
146
|
GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT: string;
|
|
145
147
|
AUTO_SHIELD_INSUFFICIENT_GAS: string;
|
|
146
148
|
INSUFFICIENT_FUNDS: string;
|
|
@@ -158,6 +160,7 @@ export declare const UserFriendlyErrorCodes: {
|
|
|
158
160
|
USER_REJECTED_TRANSACTION: string;
|
|
159
161
|
SOME_ERROR: string;
|
|
160
162
|
TOO_HIGH_AMOUNT: string;
|
|
163
|
+
NOT_ENOUGH_TOKENS: string;
|
|
161
164
|
WC_NO_MATCHING_KEY: string;
|
|
162
165
|
RPC_PROVIDER_LIMIT_ERROR: string;
|
|
163
166
|
INSUFFICIENT_FUNDS_GAS: string;
|
|
@@ -235,9 +238,12 @@ export declare const UserFriendlyErrorCodes: {
|
|
|
235
238
|
TRON_ROOT_HASH_STALE: string;
|
|
236
239
|
TRON_TX_IN_FLIGHT: string;
|
|
237
240
|
NO_LIFI_PRICE: string;
|
|
241
|
+
SOLANA_CONFIRMATION_TIMEOUT: string;
|
|
242
|
+
BRIDGE_ARRIVAL_TIMEOUT: string;
|
|
238
243
|
};
|
|
239
244
|
export declare const DIRECTLY_SHOW_MESSAGE_ERROR_CODES: {
|
|
240
245
|
UTXO_LIMITATIONS: string;
|
|
241
246
|
INSUFFICIENT_BALANCE_FOR_FEES: string;
|
|
242
247
|
HIGH_FEE_WARNING: string;
|
|
248
|
+
INSUFFICIENT_FUNDS_FOR_RECOVERY_FEES: string;
|
|
243
249
|
};
|