@hinkal/common 0.2.37 → 0.2.38

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.
Files changed (106) hide show
  1. package/API/API.cjs +1 -1
  2. package/API/API.d.ts +0 -5
  3. package/API/API.mjs +112 -117
  4. package/README.md +0 -22
  5. package/constants/chains.constants.cjs +1 -1
  6. package/constants/chains.constants.mjs +2 -1
  7. package/constants/index.cjs +1 -1
  8. package/constants/index.d.ts +0 -2
  9. package/constants/index.mjs +0 -2
  10. package/constants/mediaUrls.constants.cjs +1 -1
  11. package/constants/mediaUrls.constants.d.ts +0 -1
  12. package/constants/mediaUrls.constants.mjs +0 -1
  13. package/constants/rewards.constants.cjs +1 -1
  14. package/constants/rewards.constants.d.ts +0 -2
  15. package/constants/rewards.constants.mjs +2 -2
  16. package/constants/server.constants.cjs +1 -1
  17. package/constants/server.constants.d.ts +0 -4
  18. package/constants/server.constants.mjs +0 -5
  19. package/data-structures/Hinkal/Hinkal.cjs +1 -1
  20. package/data-structures/Hinkal/Hinkal.d.ts +0 -3
  21. package/data-structures/Hinkal/Hinkal.mjs +69 -80
  22. package/data-structures/Hinkal/IHinkal.d.ts +0 -3
  23. package/data-structures/TokenDBs/PublicTokensDB.cjs +1 -1
  24. package/data-structures/TokenDBs/PublicTokensDB.mjs +22 -21
  25. package/data-structures/TokenDBs/TempoPublicTokensDB.cjs +1 -0
  26. package/data-structures/TokenDBs/TempoPublicTokensDB.d.ts +9 -0
  27. package/data-structures/TokenDBs/TempoPublicTokensDB.mjs +42 -0
  28. package/data-structures/TokenDBs/index.cjs +1 -1
  29. package/data-structures/TokenDBs/index.d.ts +1 -0
  30. package/data-structures/TokenDBs/index.mjs +1 -0
  31. package/data-structures/index.cjs +1 -1
  32. package/data-structures/index.mjs +1 -0
  33. package/error-handling/error-codes.constants.cjs +1 -1
  34. package/error-handling/error-codes.constants.d.ts +0 -5
  35. package/error-handling/error-codes.constants.mjs +0 -5
  36. package/externalABIs/index.cjs +1 -1
  37. package/externalABIs/index.d.ts +1 -36
  38. package/externalABIs/index.mjs +2 -4
  39. package/functions/index.cjs +1 -1
  40. package/functions/index.d.ts +0 -1
  41. package/functions/index.mjs +0 -4
  42. package/index.cjs +1 -1
  43. package/index.mjs +314 -319
  44. package/package.json +2 -2
  45. package/types/cache.types.cjs +1 -1
  46. package/types/cache.types.d.ts +1 -0
  47. package/types/cache.types.mjs +1 -1
  48. package/types/commitments.types.d.ts +0 -10
  49. package/types/hinkal.types.cjs +1 -1
  50. package/types/hinkal.types.d.ts +0 -7
  51. package/types/hinkal.types.mjs +2 -4
  52. package/types/index.cjs +1 -1
  53. package/types/index.d.ts +0 -1
  54. package/types/index.mjs +0 -1
  55. package/types/new-rewards.type.cjs +1 -1
  56. package/types/new-rewards.type.d.ts +0 -1
  57. package/types/new-rewards.type.mjs +1 -1
  58. package/webworker/{logError-B1LyaM6e.js → logError-CU_5hb0O.js} +1 -1
  59. package/webworker/package.json +2 -2
  60. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  61. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  62. package/webworker/snarkjsWorkerNode.cjs +1 -1
  63. package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  64. package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  65. package/webworker/utxoWorkerNode.cjs +1 -1
  66. package/webworker/viteWorkerURL.constant.cjs +3 -3
  67. package/webworker/viteWorkerURL.constant.mjs +3 -3
  68. package/webworker/{workerProxy-UUs7pDb1.js → workerProxy-JYVsEgnC.js} +1 -1
  69. package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  70. package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  71. package/webworker/zkProofWorkerNode.cjs +1 -1
  72. package/API/kycCalls.cjs +0 -1
  73. package/API/kycCalls.d.ts +0 -14
  74. package/API/kycCalls.mjs +0 -26
  75. package/constants/assets.constants.cjs +0 -1
  76. package/constants/assets.constants.d.ts +0 -13
  77. package/constants/assets.constants.mjs +0 -16
  78. package/constants/kyc.constants.cjs +0 -1
  79. package/constants/kyc.constants.d.ts +0 -29
  80. package/constants/kyc.constants.mjs +0 -126
  81. package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +0 -1
  82. package/data-structures/Hinkal/hinkalGetZkMeProvider.d.ts +0 -28
  83. package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +0 -22
  84. package/externalABIs/BabPassport.json.cjs +0 -1
  85. package/externalABIs/BabPassport.json.mjs +0 -20
  86. package/externalABIs/GalxePassport.json.cjs +0 -1
  87. package/externalABIs/GalxePassport.json.mjs +0 -37
  88. package/functions/kyc/aiPriseHelper.d.ts +0 -0
  89. package/functions/kyc/checkTokenLimitsUSD.cjs +0 -1
  90. package/functions/kyc/checkTokenLimitsUSD.d.ts +0 -1
  91. package/functions/kyc/checkTokenLimitsUSD.mjs +0 -29
  92. package/functions/kyc/index.cjs +0 -1
  93. package/functions/kyc/index.d.ts +0 -3
  94. package/functions/kyc/index.mjs +0 -3
  95. package/functions/kyc/openDefaultPassportWindow.cjs +0 -1
  96. package/functions/kyc/openDefaultPassportWindow.d.ts +0 -1
  97. package/functions/kyc/openDefaultPassportWindow.mjs +0 -7
  98. package/functions/kyc/passportHelper.cjs +0 -1
  99. package/functions/kyc/passportHelper.d.ts +0 -3
  100. package/functions/kyc/passportHelper.mjs +0 -9
  101. package/functions/kyc/zkMeHelper.cjs +0 -1
  102. package/functions/kyc/zkMeHelper.d.ts +0 -4
  103. package/functions/kyc/zkMeHelper.mjs +0 -42
  104. package/types/kyc.types.cjs +0 -1
  105. package/types/kyc.types.d.ts +0 -41
  106. package/types/kyc.types.mjs +0 -12
@@ -1 +1 @@
1
- require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../functions/utils/serialize.utils.cjs`),n=require(`../../constants/vite.constants.cjs`),r=require(`../../constants/chains.constants.cjs`),i=require(`../../constants/protocol.constants.cjs`),a=require(`../../types/hinkal.types.cjs`),o=require(`../../API/scheduled-transactions-calls.cjs`),s=require(`../../API/API.cjs`),c=require(`../../constants/kyc.constants.cjs`),l=require(`../../error-handling/error-codes.constants.cjs`),u=require(`../../functions/utils/erc20tokenFunctions.cjs`);require(`../../API/index.cjs`);const d=require(`../../crypto/poseidon.cjs`),f=require(`../crypto-keys/keys.cjs`),p=require(`../../functions/utils/token-check.utils.cjs`),m=require(`../TokenDBs/PrivateTokensDB.cjs`),h=require(`../../functions/web3/events/getShieldedBalance.cjs`),g=require(`../../functions/pre-transaction/solana.cjs`),_=require(`../../functions/web3/getContractMetadata.cjs`),v=require(`../../functions/utils/reloadPage.cjs`),y=require(`../../functions/utils/cacheDevice.utils.cjs`),b=require(`../../providers/SolanaProviderAdapter.cjs`),ee=require(`../../functions/utils/enclave-signature-storage.cjs`),x=require(`../../functions/utils/mnemonics.cjs`),S=require(`../../functions/web3/fetchSolanaMerkleTreeRootHash.cjs`),C=require(`../../functions/private-wallet/emporium.helpers.cjs`),w=require(`./hinkalDeposit.cjs`),T=require(`../../functions/kyc/checkTokenLimitsUSD.cjs`),E=require(`./hinkalDepositAndWithdraw.cjs`),D=require(`./hinkalSolanaDeposit.cjs`),O=require(`./hinkalSwap.cjs`),k=require(`./hinkalWithdraw.cjs`),A=require(`../merkle-tree/MerkleTree.cjs`);require(`../merkle-tree/index.cjs`);const j=require(`./resetMerkleTrees.cjs`),M=require(`../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs`),N=require(`./hinkalPrivateWallet.cjs`),P=require(`./hinkalGetRecipientInfo.cjs`),F=require(`./hinkalSignSubAccount.cjs`),te=require(`./hinkalActionReceive.cjs`);require(`../TokenDBs/index.cjs`);const I=require(`./hinkalProoflessDeposit.cjs`),L=require(`./hinkalProxySwap.cjs`),R=require(`./hinkalMultiSend.cjs`),z=require(`./hinkalTransfer.cjs`),B=require(`./hinkalProxyToPrivate.cjs`),V=require(`../../providers/TronProviderAdapter.cjs`),H=require(`./hinkalSolanaDepositAndWithdraw.cjs`),U=require(`./hinkalSolanaWithdraw.cjs`),W=require(`./hinkalSolanaTransfer.cjs`),G=require(`./hinkalSolanaSwap.cjs`),K=require(`./hinkalSolanaProxySend.cjs`),q=require(`./hinkalSolanaProxySwap.cjs`),J=require(`./hinkalSolanaProxyShield.cjs`),Y=require(`./hinkalDepositAndBridge.cjs`),X=require(`./hinkalNearDepositAndBridge.cjs`),Z=require(`./hinkalClaimUtxo.cjs`),Q=require(`./hinkalSolanaProoflessDeposit.cjs`),ne=require(`./hinkalSolanaClaimUtxo.cjs`),re=require(`./hinkalWithdrawStuckUtxos.cjs`);let $=require(`@solana/web3.js`);var ie=class{ethereumProviderAdapter;solanaProviderAdapter;tronProviderAdapter;userKeys;signingMessage=`Login to Hinkal Protocol`;privateTransferSigningMessage=`Login to Hinkal's Private Transfer App`;merkleTreeHinkalByChain={};nullifiersByChain={};encryptedOutputsByChain={};commitmentsSnapshotServiceByChain={};nullifierSnapshotServiceByChain={};utxoUtils;lastCallState=new Map;cacheDevice;generateProofRemotely;disableMerkleTreeUpdates;constructor(e){this.userKeys=new f.UserKeys(void 0),e?.tronChainOverride&&r.setHinkalTronChainId(e.tronChainOverride),r.HINKAL_SUPPORTED_CHAINS.forEach(e=>{this.merkleTreeHinkalByChain[e]=A.MerkleTree.create(d.poseidonFunction,0n),this.nullifiersByChain[e]=new Set,this.encryptedOutputsByChain[e]=[]}),this.generateProofRemotely=e?.generateProofRemotely??!0,this.utxoUtils=new M.MultiThreadedUtxoUtils,this.cacheDevice=y.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!1}enforceRateLimit(e,n,r=1e3){let i=Date.now(),a=t.CustomJSONStringify(n),o=this.lastCallState.get(e);if(o&&o.argsKey===a&&i-o.timestamp<r)throw Error(`${e} was already called with the same arguments`);this.lastCallState.set(e,{timestamp:i,argsKey:a})}getProviderAdapter(e){let t=e;t||=this.ethereumProviderAdapter?r.chainIds.ethMainnet:this.solanaProviderAdapter?r.currentSolanaChainId:r.chainIds.tronMainnet;let n;if(n=r.isSolanaLike(t)?this.solanaProviderAdapter:r.isTronLike(t)?this.tronProviderAdapter:this.ethereumProviderAdapter,!n)throw Error(`ProviderAdapter is not initialized`);return n}async initProviderAdapter(e,t){let n=r.chainIds.ethMainnet;t instanceof b.SolanaProviderAdapter?n=r.currentSolanaChainId:t instanceof V.TronProviderAdapter&&(n=r.currentTronChainId),await this.updateProviderAdapter(n,t),t.initConnector(e);let i=await t.connectAndPatchProvider(e);await t.init(i),await this.setListeners()}getSigningMessage(e=a.LoginMessageMode.PROTOCOL){switch(e){case a.LoginMessageMode.PRIVATE_TRANSFER:return this.privateTransferSigningMessage;case a.LoginMessageMode.PROTOCOL:default:return this.signingMessage}}async signHinkalMessage(e=a.LoginMessageMode.PROTOCOL){let t=this.getSigningMessage(e);return this.getProviderAdapter().signMessage(t)}async signSolanaLedgerMessage(){let e=new $.Transaction({blockhash:i.DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH,lastValidBlockHeight:i.DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT,feePayer:this.getSolanaPublicKey()}),t=await this.getProviderAdapter().signTransactionWithoutBroadcast?.(e);if(!t)throw Error(`Failed to sign transaction without broadcast`);return{signature:t.signature,txMessageForSolanaLedger:t.transactionMessageB64}}async initUserKeys(e=a.LoginMessageMode.PROTOCOL){this.userKeys=new f.UserKeys(await this.signHinkalMessage(e))}initUserKeysWithSignature(e){this.userKeys=new f.UserKeys(e)}async initUserKeysFromSeedPhrases(e){let t=x.generateHashFromSeedPhrases(e);this.userKeys=new f.UserKeys(t)}async storeAndGetInitialSignature(e,t=!1,n){let r=await this.getEthereumAddress();if(!r)throw Error(`Connected address not found`);return await ee.storeAndGetSignatureFromEnclave(r,e,t,n)}async resetMerkle(e){this.disableMerkleTreeUpdates||(e?.every(e=>this.isSelectedNetworkSupported(e))??!0)&&await j.resetMerkleTrees(this,e)}getTronWeb(){let e=this.tronProviderAdapter;if(!e)throw Error(`Tron provider adapter not initialized`);if(!(e instanceof V.TronProviderAdapter))throw Error(`Tron provider adapter is not a TronProviderAdapter`);let t=e.getTronWeb();if(!t)throw Error(`TronWeb not available`);return t}getSupportedChains(){return this.ethereumProviderAdapter&&this.solanaProviderAdapter?r.WALLET_SUPPORTED_CHAINS:this.ethereumProviderAdapter?r.HINKAL_SUPPORTED_CHAINS.filter(e=>!r.isSolanaLike(e)&&!r.isTronLike(e)):this.solanaProviderAdapter?r.HINKAL_SUPPORTED_CHAINS.filter(e=>r.isSolanaLike(e)):this.tronProviderAdapter?[r.currentTronChainId]:[]}async waitForTransaction(e,t,n=1){return!!await this.getProviderAdapter(e).waitForTransaction(e,t,n)}getContract(e,t,n=void 0){return this.getProviderAdapter(e).getContract(e,t,n)}getContractWithFetcherByChainId(e,t,n=void 0){return _.getContractWithFetcherByChainId(e,t,n)}async signMessage(e){return await this.getProviderAdapter().signMessage(e)}async signTypedData(e,t,n){return await this.getProviderAdapter().signTypedData(e,t,n)}async signWithSubAccount(e,t,n,r){return F.hinkalSignSubAccount(e,t,n,r)}getContractWithSigner(e,t,n=``){return this.getProviderAdapter(e).getContractWithSigner(e,t,n)}getContractWithFetcher(e,t,n=``){return this.getProviderAdapter(e).getContractWithFetcher(e,t,n)}isSelectedNetworkSupported(e){return!!r.networkRegistry[e]}async switchNetwork(e){let t=this.getProviderAdapter(),n=t.getChainId(),i=n!==void 0&&r.isSameOnchainNetwork(e.chainId,n);if(!(e.chainId===n||i))try{await t.switchNetwork(e)}catch{throw Error(l.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}isPermitterAvailable(e){return this.getProviderAdapter(e).isPermitterAvailable()}async disconnectFromConnector(){await this.ethereumProviderAdapter?.disconnectFromConnector(),await this.solanaProviderAdapter?.disconnectFromConnector(),await this.tronProviderAdapter?.disconnectFromConnector()}async resetProviderAdapters(){this.ethereumProviderAdapter=void 0,this.solanaProviderAdapter=void 0,this.tronProviderAdapter=void 0}async updateProviderAdapter(e,t){try{r.isSolanaLike(e)?(this.solanaProviderAdapter&&this.solanaProviderAdapter.release(),this.solanaProviderAdapter=t):r.isTronLike(e)?(this.tronProviderAdapter&&this.tronProviderAdapter.release(),this.tronProviderAdapter=t):(this.ethereumProviderAdapter&&this.ethereumProviderAdapter.release(),this.ethereumProviderAdapter=t)}catch(e){throw console.error(e),Error(`updateProviderAdapter failed, please try again.`)}}async setListeners(){this.ethereumProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.solanaProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.tronProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}})}async onAccountChanged(){await this.ethereumProviderAdapter?.onAccountChanged(),await this.solanaProviderAdapter?.onAccountChanged(),await this.tronProviderAdapter?.onAccountChanged();let e=a.EventType.AccountChanged;typeof document<`u`?document?.dispatchEvent(new Event(e)):process?.emit(`message`,e,void 0)}async onChainChanged(e){e?await this.getProviderAdapter(e).onChainChanged(e):(await this.disconnectFromConnector(),v.reloadPage())}async monitorConnectedAddress(e){await s.API.monitor(await this.getEthereumAddressByChain(e))}async getBalances(e,t,n,r,i=!1,a,o=!1){return h.getShieldedBalance(this,e,t,n,r,i,this.generateProofRemotely,a,o)}async getTotalBalance(e,t,r,i=!1,a,o=!1){let s=r??await this.getEthereumAddressByChain(e),c=t??this.userKeys,l=await this.getBalances(e,c.getShieldedPrivateKey(),c.getShieldedPublicKey(),s,i,a,o),d=n.isExtension?await m.privateTokensDB.getPrivateTokens(e,s):u.getErc20TokensForChain(e),f=[];return d.forEach(e=>{let t=e.erc20TokenAddress.toLowerCase(),n=l.get(t),r={token:e,balance:n?.balance??0n,timestamp:n?.timestamp||`0`,nfts:n?.nfts||[]};f.push(r)}),f}async getStuckShieldedBalances(e,t,n){return(await this.getTotalBalance(e,t,n,!1,!1,!0)).filter(e=>e.balance>0n)}getSupportedPassportLinks(){return c.supportedPassportLinks}checkAccessToken(e,t){return Promise.resolve(!0)}checkExternalTokenLimitsUSD(e,t,n){return T.checkTokenLimitsUSD(e,t,n)}async getHinkalTreeRootHash(t){if(r.isSolanaLike(t)){let{hinkalIdl:e,hinkalAddress:n,originalDeployer:i}=r.networkRegistry[t].contractData;if(!e||!n||!i)throw Error(`Missing Solana configuration for chain ${t}`);let a=new $.PublicKey(i),o=g.getMerkleAccountPublicKey(new $.PublicKey(n),a);return S.fetchSolanaMerkleTreeRootHash(this.getSolanaProgram(e),o)}return this.getContractWithFetcherByChainId(t,e.ContractType.HinkalContract).getRootHash()}async resetMerkleTreesIfNecessary(e){let t=(await Promise.all((e??this.getSupportedChains()).map(async e=>{let t=await this.getHinkalTreeRootHash(e);return{chainId:e,needsReset:BigInt(t)!==this.merkleTreeHinkalByChain[e].getRootHash()}}))).filter(e=>e.needsReset).map(e=>e.chainId);t.length>0&&(console.log(`resetting merkle tree in resetMerkleTreesIfNecessary for chains:`,t),await this.resetMerkle(t))}async getEthereumAddress(){let e=this.ethereumProviderAdapter??this.solanaProviderAdapter??this.tronProviderAdapter;if(!e)throw Error(`No provider adapter initialized`);return e.getAddress()}getEthereumAddressByChain(e){return this.getProviderAdapter(e).getAddress()}async getRandomRelay(e,t=!1){return(await s.API.getIdleRelay(e,t)).relay}getGasPrice(e){let t=this.getProviderAdapter(e);if(!t)throw Error(`Illegal State of providerAdapter in Hinkal: no providerAdapter initialized`);return t.getGasPrice(e)}getAPI(){return s.API}snapshotsClearInterval(){this.getSupportedChains().forEach(e=>{this.commitmentsSnapshotServiceByChain[e]?.intervalClear(),this.nullifierSnapshotServiceByChain[e]?.intervalClear()})}getRecipientInfo(){return P.getRecipientInfo(this)}async deposit(e,t,n=!0,r=!1){return w.hinkalDeposit(this,e,t,n,r)}async depositSolana(e,t,n=!1){return D.hinkalSolanaDeposit(this,e,t,n)}async depositForOther(e,t,n,r=!0,i=!1,a){return this.enforceRateLimit(this.depositForOther.name,[e,t,n]),w.hinkalDepositForOther(this,e,t,n,r,i,a)}async depositSolanaForOther(e,t,n,r=!1,i){return this.enforceRateLimit(this.depositSolanaForOther.name,[e,t,n]),D.hinkalSolanaDepositForOther(this,e,t,n,r,i)}async depositAndWithdraw(e,t,n,r,i,a,o,s,c=!0){return(await this.depositAndWithdrawExtended(e,t,n,r,i,a,o,s,c)).depositTxHash}async depositAndWithdrawExtended(e,t,n,i,a,o,s,c,l=!0){return r.isSolanaLike(p.validateAndGetChainId([e]))?H.hinkalSolanaDepositAndWithdraw(this,e,t,n,i,a,o,s,c):E.hinkalDepositAndWithdraw(this,e,t,n,i,a,o,s,c,l)}async claimUtxo(e,t,n,i){return r.isSolanaLike(p.validateAndGetChainId([e]))?ne.hinkalSolanaClaimUtxo(this,e,t,n,i):Z.hinkalClaimUtxo(this,e,t,n,i)}async depositAndBridge(e,t,n,r,i,a,o,s=!0){return(await this.depositAndBridgeExtended(e,t,n,r,i,a,o,s)).depositTxHash}async depositAndBridgeExtended(e,t,n,r,i,a,o,s=!0){return Y.hinkalDepositAndBridge(this,e,t,n,r,i,a,o,s)}async checkSendTransactionStatus(e){return o.getScheduledTransactionById(e)}async nearDepositAndBridge(e,t,n,r,i,a,o,s,c){return this.enforceRateLimit(this.nearDepositAndBridge.name,[e,t,n,r]),X.hinkalNearDepositAndBridge(this,e,t,n,r,i,a,o,s,c)}async prooflessDeposit(e,t,n,i,a=!1){return r.isSolanaLike(p.validateAndGetChainId(e))?Q.hinkalSolanaProoflessDeposit(this,e,t,n,i,a):I.hinkalProoflessDeposit(this,e,t,n,i,a)}async prooflessDepositWithPublicFee(e,t,n,i,a){let o=p.validateAndGetChainId([e]);return r.isSolanaLike(o)?D.hinkalSolanaProoflessDepositWithPublicFee(this,e,t,n,i,a):I.hinkalProoflessDepositWithPublicFee(this,o,e,t,n,i,a)}getSolanaProgram(e){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaProgram`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaProgram(e)}getSolanaPublicKey(){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaPublicKey`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaPublicKey()}async transfer(e,t,n,i,a,o){return this.enforceRateLimit(this.transfer.name,[e,t,n]),r.isSolanaLike(p.validateAndGetChainId(e))?W.hinkalSolanaTransfer(this,e,t,n,i,a,o):z.hinkalTransfer(this,e,t,n,i,a,o)}async withdraw(e,t,n,i,a,o,s){return r.isSolanaLike(p.validateAndGetChainId(e))?U.hinkalSolanaWithdraw(this,e,t,n,a,o,s):k.hinkalWithdraw(this,e,t,n,i,a,o,s)}async withdrawStuckUtxos(e,t){return re.hinkalWithdrawStuckUtxos(this,e,t)}async swap(e,t,n,i,a,o,s){return r.isSolanaLike(p.validateAndGetChainId(e))?this.swapSolana(e,t,i,a,o,s):O.hinkalSwap(this,e,t,n,i,a,o,s)}async swapSolana(e,t,n,r,i,a){let o=JSON.parse(n),s=BigInt(o.swapperAccountSalt),{instructionLists:c,addressLookupTableAccount:l}=o.data;return G.hinkalSolanaSwap(this,e,t,s,c,l,r,i,a)}async actionReceive(e,t,n,i,a,o){if(!a)throw Error(`subAccount is required`);return r.isSolanaLike(p.validateAndGetChainId(e))?J.hinkalSolanaProxyShield(this,e[0],t[0],a,void 0,o):te.hinkalActionReceive(this,e,t,n,i,a,o)}async actionPrivateWallet(e,t,n,r,i,a,o,s,c,l,u=!1,d,f,p){return this.enforceRateLimit(this.actionPrivateWallet.name,[e,t,n,r,i,a,o,s,c,p]),N.hinkalPrivateWallet(this,e,t,n,r,i,a,o,s,c,l,u,d,f,p)}async proxySwap(e,t,n,i,a,o,s,c,l=!1,u,d){return r.isSolanaLike(p.validateAndGetChainId(e))?q.hinkalSolanaProxySwap(this,e,t,i,o,n,s,c,d):L.hinkalProxySwap(this,e,t,n,i,a,o,s,c,l,u,d)}async proxyToPrivate(e,t,n,i,a,o,s){return r.isSolanaLike(p.validateAndGetChainId(e))?(this.enforceRateLimit(this.proxyToPrivate.name,[e[0],t[0],n,i]),J.hinkalSolanaProxyShield(this,e[0],t[0],n,i,s)):B.hinkalProxyToPrivate(this,e,t,i,a,o,n,s)}async proxySend(e,t,n,i,a,o,s){let c=p.validateAndGetChainId(e);if(r.isSolanaLike(c))return K.hinkalSolanaProxySend(this,e[0],t[0],n,i,s);let l=C.createTransaferEmporiumOpsBatch(this,c,e.map(e=>e.erc20TokenAddress),t,i),u=e.map((e,n)=>({token:e,amount:-1n*t[n]}));return await this.actionPrivateWallet(c,[],[],[],l,u,n,a,o,void 0,void 0,void 0,s,void 0)}async multiSendPrivateRecipients(e,t,n){return this.enforceRateLimit(this.multiSendPrivateRecipients.name,[e,t,n]),R.hinkalMultiSendPrivateRecipients(this,e,t,n)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}};exports.Hinkal=ie;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../functions/utils/serialize.utils.cjs`),n=require(`../../constants/vite.constants.cjs`),r=require(`../../constants/chains.constants.cjs`),i=require(`../../constants/protocol.constants.cjs`),a=require(`../../types/hinkal.types.cjs`),o=require(`../../API/scheduled-transactions-calls.cjs`),s=require(`../../API/API.cjs`),c=require(`../../error-handling/error-codes.constants.cjs`),l=require(`../../functions/utils/erc20tokenFunctions.cjs`);require(`../../API/index.cjs`);const u=require(`../../crypto/poseidon.cjs`),d=require(`../crypto-keys/keys.cjs`),f=require(`../../functions/utils/token-check.utils.cjs`),p=require(`../TokenDBs/PrivateTokensDB.cjs`),m=require(`../../functions/web3/events/getShieldedBalance.cjs`),h=require(`../../functions/pre-transaction/solana.cjs`),g=require(`../../functions/web3/getContractMetadata.cjs`),_=require(`../../functions/utils/reloadPage.cjs`),v=require(`../../functions/utils/cacheDevice.utils.cjs`),y=require(`../../providers/SolanaProviderAdapter.cjs`),ee=require(`../../functions/utils/enclave-signature-storage.cjs`),b=require(`../../functions/utils/mnemonics.cjs`),x=require(`../../functions/web3/fetchSolanaMerkleTreeRootHash.cjs`),S=require(`../../functions/private-wallet/emporium.helpers.cjs`),C=require(`./hinkalDeposit.cjs`),w=require(`./hinkalDepositAndWithdraw.cjs`),T=require(`./hinkalSolanaDeposit.cjs`),E=require(`./hinkalSwap.cjs`),D=require(`./hinkalWithdraw.cjs`),O=require(`../merkle-tree/MerkleTree.cjs`);require(`../merkle-tree/index.cjs`);const k=require(`./resetMerkleTrees.cjs`),A=require(`../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs`),j=require(`./hinkalPrivateWallet.cjs`),M=require(`./hinkalGetRecipientInfo.cjs`),N=require(`./hinkalSignSubAccount.cjs`),P=require(`./hinkalActionReceive.cjs`);require(`../TokenDBs/index.cjs`);const F=require(`./hinkalProoflessDeposit.cjs`),te=require(`./hinkalProxySwap.cjs`),I=require(`./hinkalMultiSend.cjs`),L=require(`./hinkalTransfer.cjs`),R=require(`./hinkalProxyToPrivate.cjs`),z=require(`../../providers/TronProviderAdapter.cjs`),B=require(`./hinkalSolanaDepositAndWithdraw.cjs`),V=require(`./hinkalSolanaWithdraw.cjs`),H=require(`./hinkalSolanaTransfer.cjs`),U=require(`./hinkalSolanaSwap.cjs`),W=require(`./hinkalSolanaProxySend.cjs`),G=require(`./hinkalSolanaProxySwap.cjs`),K=require(`./hinkalSolanaProxyShield.cjs`),q=require(`./hinkalDepositAndBridge.cjs`),J=require(`./hinkalNearDepositAndBridge.cjs`),Y=require(`./hinkalClaimUtxo.cjs`),X=require(`./hinkalSolanaProoflessDeposit.cjs`),Z=require(`./hinkalSolanaClaimUtxo.cjs`),Q=require(`./hinkalWithdrawStuckUtxos.cjs`);let $=require(`@solana/web3.js`);var ne=class{ethereumProviderAdapter;solanaProviderAdapter;tronProviderAdapter;userKeys;signingMessage=`Login to Hinkal Protocol`;privateTransferSigningMessage=`Login to Hinkal's Private Transfer App`;merkleTreeHinkalByChain={};nullifiersByChain={};encryptedOutputsByChain={};commitmentsSnapshotServiceByChain={};nullifierSnapshotServiceByChain={};utxoUtils;lastCallState=new Map;cacheDevice;generateProofRemotely;disableMerkleTreeUpdates;constructor(e){this.userKeys=new d.UserKeys(void 0),e?.tronChainOverride&&r.setHinkalTronChainId(e.tronChainOverride),r.HINKAL_SUPPORTED_CHAINS.forEach(e=>{this.merkleTreeHinkalByChain[e]=O.MerkleTree.create(u.poseidonFunction,0n),this.nullifiersByChain[e]=new Set,this.encryptedOutputsByChain[e]=[]}),this.generateProofRemotely=e?.generateProofRemotely??!0,this.utxoUtils=new A.MultiThreadedUtxoUtils,this.cacheDevice=v.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!1}enforceRateLimit(e,n,r=1e3){let i=Date.now(),a=t.CustomJSONStringify(n),o=this.lastCallState.get(e);if(o&&o.argsKey===a&&i-o.timestamp<r)throw Error(`${e} was already called with the same arguments`);this.lastCallState.set(e,{timestamp:i,argsKey:a})}getProviderAdapter(e){let t=e;t||=this.ethereumProviderAdapter?r.chainIds.ethMainnet:this.solanaProviderAdapter?r.currentSolanaChainId:r.chainIds.tronMainnet;let n;if(n=r.isSolanaLike(t)?this.solanaProviderAdapter:r.isTronLike(t)?this.tronProviderAdapter:this.ethereumProviderAdapter,!n)throw Error(`ProviderAdapter is not initialized`);return n}async initProviderAdapter(e,t){let n=r.chainIds.ethMainnet;t instanceof y.SolanaProviderAdapter?n=r.currentSolanaChainId:t instanceof z.TronProviderAdapter&&(n=r.currentTronChainId),await this.updateProviderAdapter(n,t),t.initConnector(e);let i=await t.connectAndPatchProvider(e);await t.init(i),await this.setListeners()}getSigningMessage(e=a.LoginMessageMode.PROTOCOL){switch(e){case a.LoginMessageMode.PRIVATE_TRANSFER:return this.privateTransferSigningMessage;case a.LoginMessageMode.PROTOCOL:default:return this.signingMessage}}async signHinkalMessage(e=a.LoginMessageMode.PROTOCOL){let t=this.getSigningMessage(e);return this.getProviderAdapter().signMessage(t)}async signSolanaLedgerMessage(){let e=new $.Transaction({blockhash:i.DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH,lastValidBlockHeight:i.DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT,feePayer:this.getSolanaPublicKey()}),t=await this.getProviderAdapter().signTransactionWithoutBroadcast?.(e);if(!t)throw Error(`Failed to sign transaction without broadcast`);return{signature:t.signature,txMessageForSolanaLedger:t.transactionMessageB64}}async initUserKeys(e=a.LoginMessageMode.PROTOCOL){this.userKeys=new d.UserKeys(await this.signHinkalMessage(e))}initUserKeysWithSignature(e){this.userKeys=new d.UserKeys(e)}async initUserKeysFromSeedPhrases(e){let t=b.generateHashFromSeedPhrases(e);this.userKeys=new d.UserKeys(t)}async storeAndGetInitialSignature(e,t=!1,n){let r=await this.getEthereumAddress();if(!r)throw Error(`Connected address not found`);return await ee.storeAndGetSignatureFromEnclave(r,e,t,n)}async resetMerkle(e){this.disableMerkleTreeUpdates||(e?.every(e=>this.isSelectedNetworkSupported(e))??!0)&&await k.resetMerkleTrees(this,e)}getTronWeb(){let e=this.tronProviderAdapter;if(!e)throw Error(`Tron provider adapter not initialized`);if(!(e instanceof z.TronProviderAdapter))throw Error(`Tron provider adapter is not a TronProviderAdapter`);let t=e.getTronWeb();if(!t)throw Error(`TronWeb not available`);return t}getSupportedChains(){return this.ethereumProviderAdapter&&this.solanaProviderAdapter?r.WALLET_SUPPORTED_CHAINS:this.ethereumProviderAdapter?r.HINKAL_SUPPORTED_CHAINS.filter(e=>!r.isSolanaLike(e)&&!r.isTronLike(e)):this.solanaProviderAdapter?r.HINKAL_SUPPORTED_CHAINS.filter(e=>r.isSolanaLike(e)):this.tronProviderAdapter?[r.currentTronChainId]:[]}async waitForTransaction(e,t,n=1){return!!await this.getProviderAdapter(e).waitForTransaction(e,t,n)}getContract(e,t,n=void 0){return this.getProviderAdapter(e).getContract(e,t,n)}getContractWithFetcherByChainId(e,t,n=void 0){return g.getContractWithFetcherByChainId(e,t,n)}async signMessage(e){return await this.getProviderAdapter().signMessage(e)}async signTypedData(e,t,n){return await this.getProviderAdapter().signTypedData(e,t,n)}async signWithSubAccount(e,t,n,r){return N.hinkalSignSubAccount(e,t,n,r)}getContractWithSigner(e,t,n=``){return this.getProviderAdapter(e).getContractWithSigner(e,t,n)}getContractWithFetcher(e,t,n=``){return this.getProviderAdapter(e).getContractWithFetcher(e,t,n)}isSelectedNetworkSupported(e){return!!r.networkRegistry[e]}async switchNetwork(e){let t=this.getProviderAdapter(),n=t.getChainId(),i=n!==void 0&&r.isSameOnchainNetwork(e.chainId,n);if(!(e.chainId===n||i))try{await t.switchNetwork(e)}catch{throw Error(c.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}isPermitterAvailable(e){return this.getProviderAdapter(e).isPermitterAvailable()}async disconnectFromConnector(){await this.ethereumProviderAdapter?.disconnectFromConnector(),await this.solanaProviderAdapter?.disconnectFromConnector(),await this.tronProviderAdapter?.disconnectFromConnector()}async resetProviderAdapters(){this.ethereumProviderAdapter=void 0,this.solanaProviderAdapter=void 0,this.tronProviderAdapter=void 0}async updateProviderAdapter(e,t){try{r.isSolanaLike(e)?(this.solanaProviderAdapter&&this.solanaProviderAdapter.release(),this.solanaProviderAdapter=t):r.isTronLike(e)?(this.tronProviderAdapter&&this.tronProviderAdapter.release(),this.tronProviderAdapter=t):(this.ethereumProviderAdapter&&this.ethereumProviderAdapter.release(),this.ethereumProviderAdapter=t)}catch(e){throw console.error(e),Error(`updateProviderAdapter failed, please try again.`)}}async setListeners(){this.ethereumProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.solanaProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.tronProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}})}async onAccountChanged(){await this.ethereumProviderAdapter?.onAccountChanged(),await this.solanaProviderAdapter?.onAccountChanged(),await this.tronProviderAdapter?.onAccountChanged();let e=a.EventType.AccountChanged;typeof document<`u`?document?.dispatchEvent(new Event(e)):process?.emit(`message`,e,void 0)}async onChainChanged(e){e?await this.getProviderAdapter(e).onChainChanged(e):(await this.disconnectFromConnector(),_.reloadPage())}async monitorConnectedAddress(e){await s.API.monitor(await this.getEthereumAddressByChain(e))}async getBalances(e,t,n,r,i=!1,a,o=!1){return m.getShieldedBalance(this,e,t,n,r,i,this.generateProofRemotely,a,o)}async getTotalBalance(e,t,r,i=!1,a,o=!1){let s=r??await this.getEthereumAddressByChain(e),c=t??this.userKeys,u=await this.getBalances(e,c.getShieldedPrivateKey(),c.getShieldedPublicKey(),s,i,a,o),d=n.isExtension?await p.privateTokensDB.getPrivateTokens(e,s):l.getErc20TokensForChain(e),f=[];return d.forEach(e=>{let t=e.erc20TokenAddress.toLowerCase(),n=u.get(t),r={token:e,balance:n?.balance??0n,timestamp:n?.timestamp||`0`,nfts:n?.nfts||[]};f.push(r)}),f}async getStuckShieldedBalances(e,t,n){return(await this.getTotalBalance(e,t,n,!1,!1,!0)).filter(e=>e.balance>0n)}async getHinkalTreeRootHash(t){if(r.isSolanaLike(t)){let{hinkalIdl:e,hinkalAddress:n,originalDeployer:i}=r.networkRegistry[t].contractData;if(!e||!n||!i)throw Error(`Missing Solana configuration for chain ${t}`);let a=new $.PublicKey(i),o=h.getMerkleAccountPublicKey(new $.PublicKey(n),a);return x.fetchSolanaMerkleTreeRootHash(this.getSolanaProgram(e),o)}return this.getContractWithFetcherByChainId(t,e.ContractType.HinkalContract).getRootHash()}async resetMerkleTreesIfNecessary(e){let t=(await Promise.all((e??this.getSupportedChains()).map(async e=>{let t=await this.getHinkalTreeRootHash(e);return{chainId:e,needsReset:BigInt(t)!==this.merkleTreeHinkalByChain[e].getRootHash()}}))).filter(e=>e.needsReset).map(e=>e.chainId);t.length>0&&(console.log(`resetting merkle tree in resetMerkleTreesIfNecessary for chains:`,t),await this.resetMerkle(t))}async getEthereumAddress(){let e=this.ethereumProviderAdapter??this.solanaProviderAdapter??this.tronProviderAdapter;if(!e)throw Error(`No provider adapter initialized`);return e.getAddress()}getEthereumAddressByChain(e){return this.getProviderAdapter(e).getAddress()}async getRandomRelay(e,t=!1){return(await s.API.getIdleRelay(e,t)).relay}getGasPrice(e){let t=this.getProviderAdapter(e);if(!t)throw Error(`Illegal State of providerAdapter in Hinkal: no providerAdapter initialized`);return t.getGasPrice(e)}getAPI(){return s.API}snapshotsClearInterval(){this.getSupportedChains().forEach(e=>{this.commitmentsSnapshotServiceByChain[e]?.intervalClear(),this.nullifierSnapshotServiceByChain[e]?.intervalClear()})}getRecipientInfo(){return M.getRecipientInfo(this)}async deposit(e,t,n=!0,r=!1){return C.hinkalDeposit(this,e,t,n,r)}async depositSolana(e,t,n=!1){return T.hinkalSolanaDeposit(this,e,t,n)}async depositForOther(e,t,n,r=!0,i=!1,a){return this.enforceRateLimit(this.depositForOther.name,[e,t,n]),C.hinkalDepositForOther(this,e,t,n,r,i,a)}async depositSolanaForOther(e,t,n,r=!1,i){return this.enforceRateLimit(this.depositSolanaForOther.name,[e,t,n]),T.hinkalSolanaDepositForOther(this,e,t,n,r,i)}async depositAndWithdraw(e,t,n,r,i,a,o,s,c=!0){return(await this.depositAndWithdrawExtended(e,t,n,r,i,a,o,s,c)).depositTxHash}async depositAndWithdrawExtended(e,t,n,i,a,o,s,c,l=!0){return r.isSolanaLike(f.validateAndGetChainId([e]))?B.hinkalSolanaDepositAndWithdraw(this,e,t,n,i,a,o,s,c):w.hinkalDepositAndWithdraw(this,e,t,n,i,a,o,s,c,l)}async claimUtxo(e,t,n,i){return r.isSolanaLike(f.validateAndGetChainId([e]))?Z.hinkalSolanaClaimUtxo(this,e,t,n,i):Y.hinkalClaimUtxo(this,e,t,n,i)}async depositAndBridge(e,t,n,r,i,a,o,s=!0){return(await this.depositAndBridgeExtended(e,t,n,r,i,a,o,s)).depositTxHash}async depositAndBridgeExtended(e,t,n,r,i,a,o,s=!0){return q.hinkalDepositAndBridge(this,e,t,n,r,i,a,o,s)}async checkSendTransactionStatus(e){return o.getScheduledTransactionById(e)}async nearDepositAndBridge(e,t,n,r,i,a,o,s,c){return this.enforceRateLimit(this.nearDepositAndBridge.name,[e,t,n,r]),J.hinkalNearDepositAndBridge(this,e,t,n,r,i,a,o,s,c)}async prooflessDeposit(e,t,n,i,a=!1){return r.isSolanaLike(f.validateAndGetChainId(e))?X.hinkalSolanaProoflessDeposit(this,e,t,n,i,a):F.hinkalProoflessDeposit(this,e,t,n,i,a)}async prooflessDepositWithPublicFee(e,t,n,i,a){let o=f.validateAndGetChainId([e]);return r.isSolanaLike(o)?T.hinkalSolanaProoflessDepositWithPublicFee(this,e,t,n,i,a):F.hinkalProoflessDepositWithPublicFee(this,o,e,t,n,i,a)}getSolanaProgram(e){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaProgram`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaProgram(e)}getSolanaPublicKey(){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaPublicKey`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaPublicKey()}async transfer(e,t,n,i,a,o){return this.enforceRateLimit(this.transfer.name,[e,t,n]),r.isSolanaLike(f.validateAndGetChainId(e))?H.hinkalSolanaTransfer(this,e,t,n,i,a,o):L.hinkalTransfer(this,e,t,n,i,a,o)}async withdraw(e,t,n,i,a,o,s){return r.isSolanaLike(f.validateAndGetChainId(e))?V.hinkalSolanaWithdraw(this,e,t,n,a,o,s):D.hinkalWithdraw(this,e,t,n,i,a,o,s)}async withdrawStuckUtxos(e,t){return Q.hinkalWithdrawStuckUtxos(this,e,t)}async swap(e,t,n,i,a,o,s){return r.isSolanaLike(f.validateAndGetChainId(e))?this.swapSolana(e,t,i,a,o,s):E.hinkalSwap(this,e,t,n,i,a,o,s)}async swapSolana(e,t,n,r,i,a){let o=JSON.parse(n),s=BigInt(o.swapperAccountSalt),{instructionLists:c,addressLookupTableAccount:l}=o.data;return U.hinkalSolanaSwap(this,e,t,s,c,l,r,i,a)}async actionReceive(e,t,n,i,a,o){if(!a)throw Error(`subAccount is required`);return r.isSolanaLike(f.validateAndGetChainId(e))?K.hinkalSolanaProxyShield(this,e[0],t[0],a,void 0,o):P.hinkalActionReceive(this,e,t,n,i,a,o)}async actionPrivateWallet(e,t,n,r,i,a,o,s,c,l,u=!1,d,f,p){return this.enforceRateLimit(this.actionPrivateWallet.name,[e,t,n,r,i,a,o,s,c,p]),j.hinkalPrivateWallet(this,e,t,n,r,i,a,o,s,c,l,u,d,f,p)}async proxySwap(e,t,n,i,a,o,s,c,l=!1,u,d){return r.isSolanaLike(f.validateAndGetChainId(e))?G.hinkalSolanaProxySwap(this,e,t,i,o,n,s,c,d):te.hinkalProxySwap(this,e,t,n,i,a,o,s,c,l,u,d)}async proxyToPrivate(e,t,n,i,a,o,s){return r.isSolanaLike(f.validateAndGetChainId(e))?(this.enforceRateLimit(this.proxyToPrivate.name,[e[0],t[0],n,i]),K.hinkalSolanaProxyShield(this,e[0],t[0],n,i,s)):R.hinkalProxyToPrivate(this,e,t,i,a,o,n,s)}async proxySend(e,t,n,i,a,o,s){let c=f.validateAndGetChainId(e);if(r.isSolanaLike(c))return W.hinkalSolanaProxySend(this,e[0],t[0],n,i,s);let l=S.createTransaferEmporiumOpsBatch(this,c,e.map(e=>e.erc20TokenAddress),t,i),u=e.map((e,n)=>({token:e,amount:-1n*t[n]}));return await this.actionPrivateWallet(c,[],[],[],l,u,n,a,o,void 0,void 0,void 0,s,void 0)}async multiSendPrivateRecipients(e,t,n){return this.enforceRateLimit(this.multiSendPrivateRecipients.name,[e,t,n]),I.hinkalMultiSendPrivateRecipients(this,e,t,n)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}};exports.Hinkal=ne;
@@ -78,9 +78,6 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
78
78
  getBalances(chainId: number, passedShieldedPrivateKey: string, passedShieldedPublicKey: string, ethAddress: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<Map<string, TokenBalance>>;
79
79
  getTotalBalance(chainId: number, _userKeys?: UserKeys, _ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<TokenBalance[]>;
80
80
  getStuckShieldedBalances(chainId: number, _userKeys?: UserKeys, _ethAddress?: string): Promise<TokenBalance[]>;
81
- getSupportedPassportLinks(): string[];
82
- checkAccessToken(_chainId: number, _accessKeyOverride?: string): Promise<boolean>;
83
- checkExternalTokenLimitsUSD(chainId: number, tokenAddresses: string[], amounts: bigint[]): Promise<boolean>;
84
81
  getHinkalTreeRootHash(chainId: number): Promise<any>;
85
82
  resetMerkleTreesIfNecessary(chainIdsToCheck?: number[]): Promise<void>;
86
83
  getEthereumAddress(): Promise<string>;
@@ -4,13 +4,12 @@ import { isExtension as n } from "../../constants/vite.constants.mjs";
4
4
  import { HINKAL_SUPPORTED_CHAINS as r, WALLET_SUPPORTED_CHAINS as i, chainIds as a, currentSolanaChainId as o, currentTronChainId as s, isSameOnchainNetwork as c, isSolanaLike as l, isTronLike as u, networkRegistry as d, setHinkalTronChainId as f } from "../../constants/chains.constants.mjs";
5
5
  import { DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH as p, DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT as m } from "../../constants/protocol.constants.mjs";
6
6
  import { EventType as ee, LoginMessageMode as h } from "../../types/hinkal.types.mjs";
7
- import { getScheduledTransactionById as g } from "../../API/scheduled-transactions-calls.mjs";
8
- import { API as _ } from "../../API/API.mjs";
9
- import { supportedPassportLinks as te } from "../../constants/kyc.constants.mjs";
10
- import { transactionErrorCodes as ne } from "../../error-handling/error-codes.constants.mjs";
11
- import { getErc20TokensForChain as re } from "../../functions/utils/erc20tokenFunctions.mjs";
7
+ import { getScheduledTransactionById as te } from "../../API/scheduled-transactions-calls.mjs";
8
+ import { API as g } from "../../API/API.mjs";
9
+ import { transactionErrorCodes as _ } from "../../error-handling/error-codes.constants.mjs";
10
+ import { getErc20TokensForChain as v } from "../../functions/utils/erc20tokenFunctions.mjs";
12
11
  import "../../API/index.mjs";
13
- import { poseidonFunction as v } from "../../crypto/poseidon.mjs";
12
+ import { poseidonFunction as ne } from "../../crypto/poseidon.mjs";
14
13
  import { UserKeys as y } from "../crypto-keys/keys.mjs";
15
14
  import { validateAndGetChainId as b } from "../../functions/utils/token-check.utils.mjs";
16
15
  import { privateTokensDB as x } from "../TokenDBs/PrivateTokensDB.mjs";
@@ -25,42 +24,41 @@ import { generateHashFromSeedPhrases as k } from "../../functions/utils/mnemonic
25
24
  import { fetchSolanaMerkleTreeRootHash as A } from "../../functions/web3/fetchSolanaMerkleTreeRootHash.mjs";
26
25
  import { createTransaferEmporiumOpsBatch as j } from "../../functions/private-wallet/emporium.helpers.mjs";
27
26
  import { hinkalDeposit as M, hinkalDepositForOther as N } from "./hinkalDeposit.mjs";
28
- import { checkTokenLimitsUSD as P } from "../../functions/kyc/checkTokenLimitsUSD.mjs";
29
- import { hinkalDepositAndWithdraw as F } from "./hinkalDepositAndWithdraw.mjs";
30
- import { hinkalSolanaDeposit as I, hinkalSolanaDepositForOther as L, hinkalSolanaProoflessDepositWithPublicFee as R } from "./hinkalSolanaDeposit.mjs";
31
- import { hinkalSwap as z } from "./hinkalSwap.mjs";
32
- import { hinkalWithdraw as B } from "./hinkalWithdraw.mjs";
33
- import { MerkleTree as V } from "../merkle-tree/MerkleTree.mjs";
27
+ import { hinkalDepositAndWithdraw as P } from "./hinkalDepositAndWithdraw.mjs";
28
+ import { hinkalSolanaDeposit as F, hinkalSolanaDepositForOther as I, hinkalSolanaProoflessDepositWithPublicFee as L } from "./hinkalSolanaDeposit.mjs";
29
+ import { hinkalSwap as R } from "./hinkalSwap.mjs";
30
+ import { hinkalWithdraw as z } from "./hinkalWithdraw.mjs";
31
+ import { MerkleTree as B } from "../merkle-tree/MerkleTree.mjs";
34
32
  import "../merkle-tree/index.mjs";
35
- import { resetMerkleTrees as ie } from "./resetMerkleTrees.mjs";
33
+ import { resetMerkleTrees as V } from "./resetMerkleTrees.mjs";
36
34
  import { MultiThreadedUtxoUtils as H } from "../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs";
37
- import { hinkalPrivateWallet as U } from "./hinkalPrivateWallet.mjs";
38
- import { getRecipientInfo as W } from "./hinkalGetRecipientInfo.mjs";
39
- import { hinkalSignSubAccount as G } from "./hinkalSignSubAccount.mjs";
40
- import { hinkalActionReceive as K } from "./hinkalActionReceive.mjs";
35
+ import { hinkalPrivateWallet as re } from "./hinkalPrivateWallet.mjs";
36
+ import { getRecipientInfo as U } from "./hinkalGetRecipientInfo.mjs";
37
+ import { hinkalSignSubAccount as W } from "./hinkalSignSubAccount.mjs";
38
+ import { hinkalActionReceive as G } from "./hinkalActionReceive.mjs";
41
39
  import "../TokenDBs/index.mjs";
42
- import { hinkalProoflessDeposit as q, hinkalProoflessDepositWithPublicFee as J } from "./hinkalProoflessDeposit.mjs";
43
- import { hinkalProxySwap as Y } from "./hinkalProxySwap.mjs";
44
- import { hinkalMultiSendPrivateRecipients as ae } from "./hinkalMultiSend.mjs";
45
- import { hinkalTransfer as oe } from "./hinkalTransfer.mjs";
46
- import { hinkalProxyToPrivate as se } from "./hinkalProxyToPrivate.mjs";
47
- import { TronProviderAdapter as X } from "../../providers/TronProviderAdapter.mjs";
48
- import { hinkalSolanaDepositAndWithdraw as ce } from "./hinkalSolanaDepositAndWithdraw.mjs";
49
- import { hinkalSolanaWithdraw as le } from "./hinkalSolanaWithdraw.mjs";
50
- import { hinkalSolanaTransfer as ue } from "./hinkalSolanaTransfer.mjs";
51
- import { hinkalSolanaSwap as de } from "./hinkalSolanaSwap.mjs";
52
- import { hinkalSolanaProxySend as fe } from "./hinkalSolanaProxySend.mjs";
53
- import { hinkalSolanaProxySwap as pe } from "./hinkalSolanaProxySwap.mjs";
54
- import { hinkalSolanaProxyShield as Z } from "./hinkalSolanaProxyShield.mjs";
55
- import { hinkalDepositAndBridge as me } from "./hinkalDepositAndBridge.mjs";
56
- import { hinkalNearDepositAndBridge as Q } from "./hinkalNearDepositAndBridge.mjs";
57
- import { hinkalClaimUtxo as he } from "./hinkalClaimUtxo.mjs";
58
- import { hinkalSolanaProoflessDeposit as ge } from "./hinkalSolanaProoflessDeposit.mjs";
59
- import { hinkalSolanaClaimUtxo as _e } from "./hinkalSolanaClaimUtxo.mjs";
60
- import { hinkalWithdrawStuckUtxos as ve } from "./hinkalWithdrawStuckUtxos.mjs";
61
- import { PublicKey as $, Transaction as ye } from "@solana/web3.js";
40
+ import { hinkalProoflessDeposit as K, hinkalProoflessDepositWithPublicFee as q } from "./hinkalProoflessDeposit.mjs";
41
+ import { hinkalProxySwap as J } from "./hinkalProxySwap.mjs";
42
+ import { hinkalMultiSendPrivateRecipients as Y } from "./hinkalMultiSend.mjs";
43
+ import { hinkalTransfer as X } from "./hinkalTransfer.mjs";
44
+ import { hinkalProxyToPrivate as ie } from "./hinkalProxyToPrivate.mjs";
45
+ import { TronProviderAdapter as Z } from "../../providers/TronProviderAdapter.mjs";
46
+ import { hinkalSolanaDepositAndWithdraw as ae } from "./hinkalSolanaDepositAndWithdraw.mjs";
47
+ import { hinkalSolanaWithdraw as oe } from "./hinkalSolanaWithdraw.mjs";
48
+ import { hinkalSolanaTransfer as se } from "./hinkalSolanaTransfer.mjs";
49
+ import { hinkalSolanaSwap as ce } from "./hinkalSolanaSwap.mjs";
50
+ import { hinkalSolanaProxySend as le } from "./hinkalSolanaProxySend.mjs";
51
+ import { hinkalSolanaProxySwap as ue } from "./hinkalSolanaProxySwap.mjs";
52
+ import { hinkalSolanaProxyShield as Q } from "./hinkalSolanaProxyShield.mjs";
53
+ import { hinkalDepositAndBridge as de } from "./hinkalDepositAndBridge.mjs";
54
+ import { hinkalNearDepositAndBridge as fe } from "./hinkalNearDepositAndBridge.mjs";
55
+ import { hinkalClaimUtxo as pe } from "./hinkalClaimUtxo.mjs";
56
+ import { hinkalSolanaProoflessDeposit as me } from "./hinkalSolanaProoflessDeposit.mjs";
57
+ import { hinkalSolanaClaimUtxo as he } from "./hinkalSolanaClaimUtxo.mjs";
58
+ import { hinkalWithdrawStuckUtxos as ge } from "./hinkalWithdrawStuckUtxos.mjs";
59
+ import { PublicKey as $, Transaction as _e } from "@solana/web3.js";
62
60
  //#region libs/shared/common/src/data-structures/Hinkal/Hinkal.ts
63
- var be = class {
61
+ var ve = class {
64
62
  ethereumProviderAdapter;
65
63
  solanaProviderAdapter;
66
64
  tronProviderAdapter;
@@ -79,7 +77,7 @@ var be = class {
79
77
  disableMerkleTreeUpdates;
80
78
  constructor(e) {
81
79
  this.userKeys = new y(void 0), e?.tronChainOverride && f(e.tronChainOverride), r.forEach((e) => {
82
- this.merkleTreeHinkalByChain[e] = V.create(v, 0n), this.nullifiersByChain[e] = /* @__PURE__ */ new Set(), this.encryptedOutputsByChain[e] = [];
80
+ this.merkleTreeHinkalByChain[e] = B.create(ne, 0n), this.nullifiersByChain[e] = /* @__PURE__ */ new Set(), this.encryptedOutputsByChain[e] = [];
83
81
  }), this.generateProofRemotely = e?.generateProofRemotely ?? !0, this.utxoUtils = new H(), this.cacheDevice = E(e), this.disableMerkleTreeUpdates = e?.disableMerkleTreeUpdates ?? !1;
84
82
  }
85
83
  enforceRateLimit(e, n, r = 1e3) {
@@ -99,7 +97,7 @@ var be = class {
99
97
  }
100
98
  async initProviderAdapter(e, t) {
101
99
  let n = a.ethMainnet;
102
- t instanceof D ? n = o : t instanceof X && (n = s), await this.updateProviderAdapter(n, t), t.initConnector(e);
100
+ t instanceof D ? n = o : t instanceof Z && (n = s), await this.updateProviderAdapter(n, t), t.initConnector(e);
103
101
  let r = await t.connectAndPatchProvider(e);
104
102
  await t.init(r), await this.setListeners();
105
103
  }
@@ -115,7 +113,7 @@ var be = class {
115
113
  return this.getProviderAdapter().signMessage(t);
116
114
  }
117
115
  async signSolanaLedgerMessage() {
118
- let e = new ye({
116
+ let e = new _e({
119
117
  blockhash: p,
120
118
  lastValidBlockHeight: m,
121
119
  feePayer: this.getSolanaPublicKey()
@@ -142,12 +140,12 @@ var be = class {
142
140
  return await O(r, e, t, n);
143
141
  }
144
142
  async resetMerkle(e) {
145
- this.disableMerkleTreeUpdates || (e?.every((e) => this.isSelectedNetworkSupported(e)) ?? !0) && await ie(this, e);
143
+ this.disableMerkleTreeUpdates || (e?.every((e) => this.isSelectedNetworkSupported(e)) ?? !0) && await V(this, e);
146
144
  }
147
145
  getTronWeb() {
148
146
  let e = this.tronProviderAdapter;
149
147
  if (!e) throw Error("Tron provider adapter not initialized");
150
- if (!(e instanceof X)) throw Error("Tron provider adapter is not a TronProviderAdapter");
148
+ if (!(e instanceof Z)) throw Error("Tron provider adapter is not a TronProviderAdapter");
151
149
  let t = e.getTronWeb();
152
150
  if (!t) throw Error("TronWeb not available");
153
151
  return t;
@@ -171,7 +169,7 @@ var be = class {
171
169
  return await this.getProviderAdapter().signTypedData(e, t, n);
172
170
  }
173
171
  async signWithSubAccount(e, t, n, r) {
174
- return G(e, t, n, r);
172
+ return W(e, t, n, r);
175
173
  }
176
174
  getContractWithSigner(e, t, n = "") {
177
175
  return this.getProviderAdapter(e).getContractWithSigner(e, t, n);
@@ -187,7 +185,7 @@ var be = class {
187
185
  if (!(e.chainId === n || r)) try {
188
186
  await t.switchNetwork(e);
189
187
  } catch {
190
- throw Error(ne.FAILED_TO_SWITCH_NETWORKS);
188
+ throw Error(_.FAILED_TO_SWITCH_NETWORKS);
191
189
  }
192
190
  }
193
191
  isPermitterAvailable(e) {
@@ -239,13 +237,13 @@ var be = class {
239
237
  e ? await this.getProviderAdapter(e).onChainChanged(e) : (await this.disconnectFromConnector(), T());
240
238
  }
241
239
  async monitorConnectedAddress(e) {
242
- await _.monitor(await this.getEthereumAddressByChain(e));
240
+ await g.monitor(await this.getEthereumAddressByChain(e));
243
241
  }
244
242
  async getBalances(e, t, n, r, i = !1, a, o = !1) {
245
243
  return S(this, e, t, n, r, i, this.generateProofRemotely, a, o);
246
244
  }
247
245
  async getTotalBalance(e, t, r, i = !1, a, o = !1) {
248
- let s = r ?? await this.getEthereumAddressByChain(e), c = t ?? this.userKeys, l = await this.getBalances(e, c.getShieldedPrivateKey(), c.getShieldedPublicKey(), s, i, a, o), u = n ? await x.getPrivateTokens(e, s) : re(e), d = [];
246
+ let s = r ?? await this.getEthereumAddressByChain(e), c = t ?? this.userKeys, l = await this.getBalances(e, c.getShieldedPrivateKey(), c.getShieldedPublicKey(), s, i, a, o), u = n ? await x.getPrivateTokens(e, s) : v(e), d = [];
249
247
  return u.forEach((e) => {
250
248
  let t = e.erc20TokenAddress.toLowerCase(), n = l.get(t), r = {
251
249
  token: e,
@@ -259,15 +257,6 @@ var be = class {
259
257
  async getStuckShieldedBalances(e, t, n) {
260
258
  return (await this.getTotalBalance(e, t, n, !1, !1, !0)).filter((e) => e.balance > 0n);
261
259
  }
262
- getSupportedPassportLinks() {
263
- return te;
264
- }
265
- checkAccessToken(e, t) {
266
- return Promise.resolve(!0);
267
- }
268
- checkExternalTokenLimitsUSD(e, t, n) {
269
- return P(e, t, n);
270
- }
271
260
  async getHinkalTreeRootHash(t) {
272
261
  if (l(t)) {
273
262
  let { hinkalIdl: e, hinkalAddress: n, originalDeployer: r } = d[t].contractData;
@@ -296,7 +285,7 @@ var be = class {
296
285
  return this.getProviderAdapter(e).getAddress();
297
286
  }
298
287
  async getRandomRelay(e, t = !1) {
299
- return (await _.getIdleRelay(e, t)).relay;
288
+ return (await g.getIdleRelay(e, t)).relay;
300
289
  }
301
290
  getGasPrice(e) {
302
291
  let t = this.getProviderAdapter(e);
@@ -304,7 +293,7 @@ var be = class {
304
293
  return t.getGasPrice(e);
305
294
  }
306
295
  getAPI() {
307
- return _;
296
+ return g;
308
297
  }
309
298
  snapshotsClearInterval() {
310
299
  this.getSupportedChains().forEach((e) => {
@@ -312,13 +301,13 @@ var be = class {
312
301
  });
313
302
  }
314
303
  getRecipientInfo() {
315
- return W(this);
304
+ return U(this);
316
305
  }
317
306
  async deposit(e, t, n = !0, r = !1) {
318
307
  return M(this, e, t, n, r);
319
308
  }
320
309
  async depositSolana(e, t, n = !1) {
321
- return I(this, e, t, n);
310
+ return F(this, e, t, n);
322
311
  }
323
312
  async depositForOther(e, t, n, r = !0, i = !1, a) {
324
313
  return this.enforceRateLimit(this.depositForOther.name, [
@@ -332,25 +321,25 @@ var be = class {
332
321
  e,
333
322
  t,
334
323
  n
335
- ]), L(this, e, t, n, r, i);
324
+ ]), I(this, e, t, n, r, i);
336
325
  }
337
326
  async depositAndWithdraw(e, t, n, r, i, a, o, s, c = !0) {
338
327
  return (await this.depositAndWithdrawExtended(e, t, n, r, i, a, o, s, c)).depositTxHash;
339
328
  }
340
329
  async depositAndWithdrawExtended(e, t, n, r, i, a, o, s, c = !0) {
341
- return l(b([e])) ? ce(this, e, t, n, r, i, a, o, s) : F(this, e, t, n, r, i, a, o, s, c);
330
+ return l(b([e])) ? ae(this, e, t, n, r, i, a, o, s) : P(this, e, t, n, r, i, a, o, s, c);
342
331
  }
343
332
  async claimUtxo(e, t, n, r) {
344
- return l(b([e])) ? _e(this, e, t, n, r) : he(this, e, t, n, r);
333
+ return l(b([e])) ? he(this, e, t, n, r) : pe(this, e, t, n, r);
345
334
  }
346
335
  async depositAndBridge(e, t, n, r, i, a, o, s = !0) {
347
336
  return (await this.depositAndBridgeExtended(e, t, n, r, i, a, o, s)).depositTxHash;
348
337
  }
349
338
  async depositAndBridgeExtended(e, t, n, r, i, a, o, s = !0) {
350
- return me(this, e, t, n, r, i, a, o, s);
339
+ return de(this, e, t, n, r, i, a, o, s);
351
340
  }
352
341
  async checkSendTransactionStatus(e) {
353
- return g(e);
342
+ return te(e);
354
343
  }
355
344
  async nearDepositAndBridge(e, t, n, r, i, a, o, s, c) {
356
345
  return this.enforceRateLimit(this.nearDepositAndBridge.name, [
@@ -358,14 +347,14 @@ var be = class {
358
347
  t,
359
348
  n,
360
349
  r
361
- ]), Q(this, e, t, n, r, i, a, o, s, c);
350
+ ]), fe(this, e, t, n, r, i, a, o, s, c);
362
351
  }
363
352
  async prooflessDeposit(e, t, n, r, i = !1) {
364
- return l(b(e)) ? ge(this, e, t, n, r, i) : q(this, e, t, n, r, i);
353
+ return l(b(e)) ? me(this, e, t, n, r, i) : K(this, e, t, n, r, i);
365
354
  }
366
355
  async prooflessDepositWithPublicFee(e, t, n, r, i) {
367
356
  let a = b([e]);
368
- return l(a) ? R(this, e, t, n, r, i) : J(this, a, e, t, n, r, i);
357
+ return l(a) ? L(this, e, t, n, r, i) : q(this, a, e, t, n, r, i);
369
358
  }
370
359
  getSolanaProgram(e) {
371
360
  if (!this.solanaProviderAdapter) throw Error("No provider adapter initialized");
@@ -382,24 +371,24 @@ var be = class {
382
371
  e,
383
372
  t,
384
373
  n
385
- ]), l(b(e)) ? ue(this, e, t, n, r, i, a) : oe(this, e, t, n, r, i, a);
374
+ ]), l(b(e)) ? se(this, e, t, n, r, i, a) : X(this, e, t, n, r, i, a);
386
375
  }
387
376
  async withdraw(e, t, n, r, i, a, o) {
388
- return l(b(e)) ? le(this, e, t, n, i, a, o) : B(this, e, t, n, r, i, a, o);
377
+ return l(b(e)) ? oe(this, e, t, n, i, a, o) : z(this, e, t, n, r, i, a, o);
389
378
  }
390
379
  async withdrawStuckUtxos(e, t) {
391
- return ve(this, e, t);
380
+ return ge(this, e, t);
392
381
  }
393
382
  async swap(e, t, n, r, i, a, o) {
394
- return l(b(e)) ? this.swapSolana(e, t, r, i, a, o) : z(this, e, t, n, r, i, a, o);
383
+ return l(b(e)) ? this.swapSolana(e, t, r, i, a, o) : R(this, e, t, n, r, i, a, o);
395
384
  }
396
385
  async swapSolana(e, t, n, r, i, a) {
397
386
  let o = JSON.parse(n), s = BigInt(o.swapperAccountSalt), { instructionLists: c, addressLookupTableAccount: l } = o.data;
398
- return de(this, e, t, s, c, l, r, i, a);
387
+ return ce(this, e, t, s, c, l, r, i, a);
399
388
  }
400
389
  async actionReceive(e, t, n, r, i, a) {
401
390
  if (!i) throw Error("subAccount is required");
402
- return l(b(e)) ? Z(this, e[0], t[0], i, void 0, a) : K(this, e, t, n, r, i, a);
391
+ return l(b(e)) ? Q(this, e[0], t[0], i, void 0, a) : G(this, e, t, n, r, i, a);
403
392
  }
404
393
  async actionPrivateWallet(e, t, n, r, i, a, o, s, c, l, u = !1, d, f, p) {
405
394
  return this.enforceRateLimit(this.actionPrivateWallet.name, [
@@ -413,10 +402,10 @@ var be = class {
413
402
  s,
414
403
  c,
415
404
  p
416
- ]), U(this, e, t, n, r, i, a, o, s, c, l, u, d, f, p);
405
+ ]), re(this, e, t, n, r, i, a, o, s, c, l, u, d, f, p);
417
406
  }
418
407
  async proxySwap(e, t, n, r, i, a, o, s, c = !1, u, d) {
419
- return l(b(e)) ? pe(this, e, t, r, a, n, o, s, d) : Y(this, e, t, n, r, i, a, o, s, c, u, d);
408
+ return l(b(e)) ? ue(this, e, t, r, a, n, o, s, d) : J(this, e, t, n, r, i, a, o, s, c, u, d);
420
409
  }
421
410
  async proxyToPrivate(e, t, n, r, i, a, o) {
422
411
  return l(b(e)) ? (this.enforceRateLimit(this.proxyToPrivate.name, [
@@ -424,11 +413,11 @@ var be = class {
424
413
  t[0],
425
414
  n,
426
415
  r
427
- ]), Z(this, e[0], t[0], n, r, o)) : se(this, e, t, r, i, a, n, o);
416
+ ]), Q(this, e[0], t[0], n, r, o)) : ie(this, e, t, r, i, a, n, o);
428
417
  }
429
418
  async proxySend(e, t, n, r, i, a, o) {
430
419
  let s = b(e);
431
- if (l(s)) return fe(this, e[0], t[0], n, r, o);
420
+ if (l(s)) return le(this, e[0], t[0], n, r, o);
432
421
  let c = j(this, s, e.map((e) => e.erc20TokenAddress), t, r), u = e.map((e, n) => ({
433
422
  token: e,
434
423
  amount: -1n * t[n]
@@ -440,7 +429,7 @@ var be = class {
440
429
  e,
441
430
  t,
442
431
  n
443
- ]), ae(this, e, t, n);
432
+ ]), Y(this, e, t, n);
444
433
  }
445
434
  areMerkleTreeUpdatesDisabled() {
446
435
  return this.disableMerkleTreeUpdates;
@@ -450,4 +439,4 @@ var be = class {
450
439
  }
451
440
  };
452
441
  //#endregion
453
- export { be as Hinkal };
442
+ export { ve as Hinkal };
@@ -37,9 +37,6 @@ export interface IHinkal<ConnectorType = unknown> {
37
37
  getBalances(chainId: number, passedShieldedPrivateKey: string, passedShieldedPublicKey: string, ethAddress: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<Map<string, TokenBalance>>;
38
38
  getTotalBalance(chainId: number, userKeys?: UserKeys, ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<TokenBalance[]>;
39
39
  getStuckShieldedBalances(chainId: number, userKeys?: UserKeys, ethAddress?: string): Promise<TokenBalance[]>;
40
- getSupportedPassportLinks(): string[];
41
- checkAccessToken(chainId: number, accessKeyOverride?: string): Promise<boolean>;
42
- checkExternalTokenLimitsUSD(chainId: number, tokenAddresses: string[], amounts: bigint[]): Promise<boolean>;
43
40
  getSupportedChains(): number[];
44
41
  getEthereumAddress(): Promise<string>;
45
42
  getEthereumAddressByChain(chainId: number): Promise<string>;
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../error-handling/logger.cjs`),n=require(`../../functions/utils/string.utils.cjs`),r=require(`./AlchemyPublicTokensDB.cjs`),i=require(`./EventsPublicTokensDB.cjs`),a=require(`./ArcPublicTokensDB.cjs`),o=require(`./TronPublicTokensDB.cjs`);var s=class{useAlternativeDB={};async getPublicTokens(t,s){let c=n.getStateKey(s,t);return this.useAlternativeDB[c]?i.eventsPublicTokensDB.getPublicTokens(t,s):t===e.chainIds.arcTestnet?a.arcPublicTokensDB.getPublicTokens(s):e.isTronLike(t)?o.tronPublicTokensDB.getPublicTokens(s,t):r.alchemyPublicTokensDB.getPublicTokens(t,s)}getFetchedTokens(t,s){let c=n.getStateKey(s,t);return this.useAlternativeDB[c]?i.eventsPublicTokensDB.getFetchedTokens(t,s):t===e.chainIds.arcTestnet?a.arcPublicTokensDB.getFetchedTokens(s):e.isTronLike(t)?o.tronPublicTokensDB.getFetchedTokens(s,t):r.alchemyPublicTokensDB.getFetchedTokens(t,s)}async fetchAndUpdatePublicTokens(s,c){let l=n.getStateKey(s,c);try{c===e.chainIds.arcTestnet?await a.arcPublicTokensDB.fetchAndUpdatePublicTokens(s):e.isTronLike(c)?await o.tronPublicTokensDB.fetchAndUpdatePublicTokens(s,c):(await r.alchemyPublicTokensDB.fetchAndUpdatePublicTokens(s,c),this.useAlternativeDB[l]=!1)}catch(n){if(t.Logger.error(`error`,n),e.isSolanaLike(c))return;await i.eventsPublicTokensDB.fetchAndUpdatePublicTokens(s,c),this.useAlternativeDB[l]=!0}}},c=new s;exports.PublicTokensDB=s,exports.publicTokensDB=c;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../error-handling/logger.cjs`),n=require(`../../functions/utils/string.utils.cjs`),r=require(`./AlchemyPublicTokensDB.cjs`),i=require(`./EventsPublicTokensDB.cjs`),a=require(`./ArcPublicTokensDB.cjs`),o=require(`./TronPublicTokensDB.cjs`),s=require(`./TempoPublicTokensDB.cjs`);var c=class{useAlternativeDB={};async getPublicTokens(t,c){let l=n.getStateKey(c,t);return this.useAlternativeDB[l]?i.eventsPublicTokensDB.getPublicTokens(t,c):t===e.chainIds.arcTestnet?a.arcPublicTokensDB.getPublicTokens(c):e.isTronLike(t)?o.tronPublicTokensDB.getPublicTokens(c,t):e.isTempo(t)?s.tempoPublicTokensDB.getPublicTokens(c,t):r.alchemyPublicTokensDB.getPublicTokens(t,c)}getFetchedTokens(t,c){let l=n.getStateKey(c,t);return this.useAlternativeDB[l]?i.eventsPublicTokensDB.getFetchedTokens(t,c):t===e.chainIds.arcTestnet?a.arcPublicTokensDB.getFetchedTokens(c):e.isTronLike(t)?o.tronPublicTokensDB.getFetchedTokens(c,t):e.isTempo(t)?s.tempoPublicTokensDB.getFetchedTokens(c,t):r.alchemyPublicTokensDB.getFetchedTokens(t,c)}async fetchAndUpdatePublicTokens(c,l){let u=n.getStateKey(c,l);try{l===e.chainIds.arcTestnet?await a.arcPublicTokensDB.fetchAndUpdatePublicTokens(c):e.isTronLike(l)?await o.tronPublicTokensDB.fetchAndUpdatePublicTokens(c,l):e.isTempo(l)?await s.tempoPublicTokensDB.fetchAndUpdatePublicTokens(c,l):await r.alchemyPublicTokensDB.fetchAndUpdatePublicTokens(c,l),this.useAlternativeDB[u]=!1}catch(n){if(t.Logger.error(`error`,n),e.isSolanaLike(l))return;await i.eventsPublicTokensDB.fetchAndUpdatePublicTokens(c,l),this.useAlternativeDB[u]=!0}}},l=new c;exports.PublicTokensDB=c,exports.publicTokensDB=l;
@@ -1,30 +1,31 @@
1
- import { chainIds as e, isSolanaLike as t, isTronLike as n } from "../../constants/chains.constants.mjs";
2
- import { Logger as r } from "../../error-handling/logger.mjs";
3
- import { getStateKey as i } from "../../functions/utils/string.utils.mjs";
4
- import { alchemyPublicTokensDB as a } from "./AlchemyPublicTokensDB.mjs";
5
- import { eventsPublicTokensDB as o } from "./EventsPublicTokensDB.mjs";
6
- import { arcPublicTokensDB as s } from "./ArcPublicTokensDB.mjs";
7
- import { tronPublicTokensDB as c } from "./TronPublicTokensDB.mjs";
1
+ import { chainIds as e, isSolanaLike as t, isTempo as n, isTronLike as r } from "../../constants/chains.constants.mjs";
2
+ import { Logger as i } from "../../error-handling/logger.mjs";
3
+ import { getStateKey as a } from "../../functions/utils/string.utils.mjs";
4
+ import { alchemyPublicTokensDB as o } from "./AlchemyPublicTokensDB.mjs";
5
+ import { eventsPublicTokensDB as s } from "./EventsPublicTokensDB.mjs";
6
+ import { arcPublicTokensDB as c } from "./ArcPublicTokensDB.mjs";
7
+ import { tronPublicTokensDB as l } from "./TronPublicTokensDB.mjs";
8
+ import { tempoPublicTokensDB as u } from "./TempoPublicTokensDB.mjs";
8
9
  //#region libs/shared/common/src/data-structures/TokenDBs/PublicTokensDB.ts
9
- var l = class {
10
+ var d = class {
10
11
  useAlternativeDB = {};
11
- async getPublicTokens(t, r) {
12
- let l = i(r, t);
13
- return this.useAlternativeDB[l] ? o.getPublicTokens(t, r) : t === e.arcTestnet ? s.getPublicTokens(r) : n(t) ? c.getPublicTokens(r, t) : a.getPublicTokens(t, r);
12
+ async getPublicTokens(t, i) {
13
+ let d = a(i, t);
14
+ return this.useAlternativeDB[d] ? s.getPublicTokens(t, i) : t === e.arcTestnet ? c.getPublicTokens(i) : r(t) ? l.getPublicTokens(i, t) : n(t) ? u.getPublicTokens(i, t) : o.getPublicTokens(t, i);
14
15
  }
15
- getFetchedTokens(t, r) {
16
- let l = i(r, t);
17
- return this.useAlternativeDB[l] ? o.getFetchedTokens(t, r) : t === e.arcTestnet ? s.getFetchedTokens(r) : n(t) ? c.getFetchedTokens(r, t) : a.getFetchedTokens(t, r);
16
+ getFetchedTokens(t, i) {
17
+ let d = a(i, t);
18
+ return this.useAlternativeDB[d] ? s.getFetchedTokens(t, i) : t === e.arcTestnet ? c.getFetchedTokens(i) : r(t) ? l.getFetchedTokens(i, t) : n(t) ? u.getFetchedTokens(i, t) : o.getFetchedTokens(t, i);
18
19
  }
19
- async fetchAndUpdatePublicTokens(l, u) {
20
- let d = i(l, u);
20
+ async fetchAndUpdatePublicTokens(d, f) {
21
+ let p = a(d, f);
21
22
  try {
22
- u === e.arcTestnet ? await s.fetchAndUpdatePublicTokens(l) : n(u) ? await c.fetchAndUpdatePublicTokens(l, u) : (await a.fetchAndUpdatePublicTokens(l, u), this.useAlternativeDB[d] = !1);
23
+ f === e.arcTestnet ? await c.fetchAndUpdatePublicTokens(d) : r(f) ? await l.fetchAndUpdatePublicTokens(d, f) : n(f) ? await u.fetchAndUpdatePublicTokens(d, f) : await o.fetchAndUpdatePublicTokens(d, f), this.useAlternativeDB[p] = !1;
23
24
  } catch (e) {
24
- if (r.error("error", e), t(u)) return;
25
- await o.fetchAndUpdatePublicTokens(l, u), this.useAlternativeDB[d] = !0;
25
+ if (i.error("error", e), t(f)) return;
26
+ await s.fetchAndUpdatePublicTokens(d, f), this.useAlternativeDB[p] = !0;
26
27
  }
27
28
  }
28
- }, u = new l();
29
+ }, f = new d();
29
30
  //#endregion
30
- export { l as PublicTokensDB, u as publicTokensDB };
31
+ export { d as PublicTokensDB, f as publicTokensDB };
@@ -0,0 +1 @@
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/cache.types.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../API/API.cjs`),r=require(`../../constants/token-data/ERC20Registry.cjs`),i=require(`../../functions/utils/erc20tokenFunctions.cjs`),a=require(`../../functions/utils/string.utils.cjs`),o=require(`./token-visibility-db.cjs`),s=require(`../../functions/utils/publicBalance.utils.cjs`);let c=require(`idb-keyval`);var l=class{fetchedTokens={};async getPublicTokens(t,n){let r=a.getStateKey(t,n);return((await(0,c.get)(e.StorageKeys.TEMPO_PUBLIC_TOKENS))?.[r]||[]).map(e=>i.overlayTokenWithRegistryData(e,n))}getFetchedTokens(e,t){let n=a.getStateKey(e,t);return(this.fetchedTokens[n]||[]).map(e=>i.overlayTokenWithRegistryData(e,t))}async fetchAndUpdatePublicTokens(r,i){let s=a.getStateKey(r,i),l=await this.getHeldTokenAddresses(r,i);if(!l.length)return;let u=(await n.API.tokensInfoCall(i,l)).filter(e=>!!e),d=await o.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(i,u),f=u.filter(e=>!t.lowerCaseIncludes(d,e.erc20TokenAddress));await(0,c.update)(e.StorageKeys.TEMPO_PUBLIC_TOKENS,(e={})=>{let t={...e,[s]:f};return this.fetchedTokens=t,t})}async getHeldTokenAddresses(e,t){let n=r.getERC20Registry(t),i=await Promise.all(n.map(async n=>{let r=await s.getPublicBalanceByTokenAddress(t,e,n.erc20TokenAddress);return r&&r>0n?n.erc20TokenAddress:null}));return Array.from(new Set(i.filter(e=>!!e)))}},u=new l;exports.TempoPublicTokensDB=l,exports.tempoPublicTokensDB=u;
@@ -0,0 +1,9 @@
1
+ import { ERC20Token } from '../../types/token.types';
2
+ export declare class TempoPublicTokensDB {
3
+ private fetchedTokens;
4
+ getPublicTokens(walletAddress: string, chainId: number): Promise<ERC20Token[]>;
5
+ getFetchedTokens(walletAddress: string, chainId: number): ERC20Token[];
6
+ fetchAndUpdatePublicTokens(walletAddress: string, chainId: number): Promise<void>;
7
+ private getHeldTokenAddresses;
8
+ }
9
+ export declare const tempoPublicTokensDB: TempoPublicTokensDB;
@@ -0,0 +1,42 @@
1
+ import { StorageKeys as e } from "../../types/cache.types.mjs";
2
+ import { lowerCaseIncludes as t } from "../../functions/utils/caseInsensitive.utils.mjs";
3
+ import { API as n } from "../../API/API.mjs";
4
+ import { getERC20Registry as r } from "../../constants/token-data/ERC20Registry.mjs";
5
+ import { overlayTokenWithRegistryData as i } from "../../functions/utils/erc20tokenFunctions.mjs";
6
+ import { getStateKey as a } from "../../functions/utils/string.utils.mjs";
7
+ import { tokenVisibilityStorage as o } from "./token-visibility-db.mjs";
8
+ import { getPublicBalanceByTokenAddress as s } from "../../functions/utils/publicBalance.utils.mjs";
9
+ import { get as c, update as l } from "idb-keyval";
10
+ //#region libs/shared/common/src/data-structures/TokenDBs/TempoPublicTokensDB.ts
11
+ var u = class {
12
+ fetchedTokens = {};
13
+ async getPublicTokens(t, n) {
14
+ let r = a(t, n);
15
+ return ((await c(e.TEMPO_PUBLIC_TOKENS))?.[r] || []).map((e) => i(e, n));
16
+ }
17
+ getFetchedTokens(e, t) {
18
+ let n = a(e, t);
19
+ return (this.fetchedTokens[n] || []).map((e) => i(e, t));
20
+ }
21
+ async fetchAndUpdatePublicTokens(r, i) {
22
+ let s = a(r, i), c = await this.getHeldTokenAddresses(r, i);
23
+ if (!c.length) return;
24
+ let u = (await n.tokensInfoCall(i, c)).filter((e) => !!e), d = await o.hideSpamsAndFetchHiddenTokensAddresses(i, u), f = u.filter((e) => !t(d, e.erc20TokenAddress));
25
+ await l(e.TEMPO_PUBLIC_TOKENS, (e = {}) => {
26
+ let t = {
27
+ ...e,
28
+ [s]: f
29
+ };
30
+ return this.fetchedTokens = t, t;
31
+ });
32
+ }
33
+ async getHeldTokenAddresses(e, t) {
34
+ let n = r(t), i = await Promise.all(n.map(async (n) => {
35
+ let r = await s(t, e, n.erc20TokenAddress);
36
+ return r && r > 0n ? n.erc20TokenAddress : null;
37
+ }));
38
+ return Array.from(new Set(i.filter((e) => !!e)));
39
+ }
40
+ }, d = new u();
41
+ //#endregion
42
+ export { u as TempoPublicTokensDB, d as tempoPublicTokensDB };
@@ -1 +1 @@
1
- require(`./token-visibility-db.cjs`),require(`./PrivateTokensDB.cjs`),require(`./ArcPublicTokensDB.cjs`),require(`./TronPublicTokensDB.cjs`),require(`./PublicTokensDB.cjs`);
1
+ require(`./token-visibility-db.cjs`),require(`./PrivateTokensDB.cjs`),require(`./ArcPublicTokensDB.cjs`),require(`./TronPublicTokensDB.cjs`),require(`./TempoPublicTokensDB.cjs`),require(`./PublicTokensDB.cjs`);
@@ -3,3 +3,4 @@ export * from './PublicTokensDB';
3
3
  export * from './token-visibility-db';
4
4
  export * from './ArcPublicTokensDB';
5
5
  export * from './TronPublicTokensDB';
6
+ export * from './TempoPublicTokensDB';
@@ -2,4 +2,5 @@ import "./token-visibility-db.mjs";
2
2
  import "./PrivateTokensDB.mjs";
3
3
  import "./ArcPublicTokensDB.mjs";
4
4
  import "./TronPublicTokensDB.mjs";
5
+ import "./TempoPublicTokensDB.mjs";
5
6
  import "./PublicTokensDB.mjs";
@@ -1 +1 @@
1
- require(`./http/BasicHttpClient.cjs`),require(`./http/HttpClient.cjs`),require(`./http/index.cjs`),require(`./custom-token-registry/CustomTokenRegistry.cjs`),require(`./ValueCache/ValueCache.cjs`),require(`./crypto-keys/keyUtils.cjs`),require(`./crypto-keys/keys.cjs`),require(`./utxo/Utxo.cjs`),require(`./crypto-keys/decodeUTXO.cjs`),require(`./crypto-keys/encryptDecryptUtxo.cjs`),require(`./crypto-keys/index.cjs`),require(`./TokenDBs/token-visibility-db.cjs`),require(`./TokenDBs/PrivateTokensDB.cjs`),require(`./token-price-fetcher/TokenChecker.cjs`),require(`./AccountActions/AccountActions.cjs`),require(`./cacheDevices/FileCacheDevice.cjs`),require(`./cacheDevices/LocalStorageCacheDevice.cjs`),require(`./cacheDevices/index.cjs`),require(`./Hinkal/hinkalDeposit.cjs`),require(`./Hinkal/prepareDepositOnChainUtxosZkProof.cjs`),require(`./Hinkal/hinkalDepositAndWithdraw.cjs`),require(`./Hinkal/hinkalSwap.cjs`),require(`./Hinkal/hinkalWithdraw.cjs`),require(`./merkle-tree/MerkleTreeIncompleteError.cjs`),require(`./merkle-tree/MerkleTree.cjs`),require(`./merkle-tree/index.cjs`),require(`./event-service/evm/AbstractEventService.cjs`),require(`./event-service/evm/AbstractSnapshotService.cjs`),require(`./event-service/evm/AbstractCommitmentsSnapshotService.cjs`),require(`./event-service/evm/AbstractNullifierSnapshotService.cjs`),require(`./BlockchainEvent/BlockchainEvent.cjs`),require(`./event-service/evm/BlockchainEventEmitter.cjs`),require(`./event-service/evm/PollingBlockchainEventEmitter.cjs`),require(`./event-service/evm/ClientBlockchainEventEmitter.cjs`),require(`./event-service/solana/SolanaBlockchainEventEmitter.cjs`),require(`./event-service/solana/ClientSolanaBlockchainEventEmitter.cjs`),require(`./event-service/solana/PollingSolanaBlockchainEventEmitter.cjs`),require(`./event-service/solana/AbstractSolanaEventService.cjs`),require(`./event-service/solana/AbstractSolanaSnapshotService.cjs`),require(`./event-service/solana/AbstractSolanaNullifierSnapshotService.cjs`),require(`./event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs`),require(`./event-service/index.cjs`),require(`./snapshot/SnapshotFetcherService.cjs`),require(`./snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs`),require(`./snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs`),require(`./snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs`),require(`./snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs`),require(`./snapshot/index.cjs`),require(`./Hinkal/resetMerkleTrees.cjs`),require(`./MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs`),require(`./IndexedDB/activity-db.cjs`),require(`./IndexedDB/balances-db.cjs`),require(`./IndexedDB/private-balances-db.cjs`),require(`./IndexedDB/prices-db.cjs`),require(`./IndexedDB/contact-db.cjs`),require(`./IndexedDB/signatures-db.cjs`),require(`./IndexedDB/pay-activity-db.cjs`),require(`./IndexedDB/index.cjs`),require(`./Hinkal/hinkalPrivateWallet.cjs`),require(`./AccountActions/index.cjs`),require(`./TokenDBs/ArcPublicTokensDB.cjs`),require(`./TokenDBs/TronPublicTokensDB.cjs`),require(`./TokenDBs/PublicTokensDB.cjs`),require(`./TokenDBs/index.cjs`),require(`./Hinkal/hinkalProxySwap.cjs`),require(`./Hinkal/hinkalTransfer.cjs`),require(`./Hinkal/hinkalSolanaDepositAndWithdraw.cjs`),require(`./Hinkal/hinkalSolanaTransfer.cjs`),require(`./Hinkal/hinkalSolanaProxySend.cjs`),require(`./Hinkal/hinkalSolanaProxySwap.cjs`),require(`./Hinkal/hinkalSolanaProxyShield.cjs`),require(`./Hinkal/hinkalNearDepositAndBridge.cjs`),require(`./Hinkal/hinkalClaimUtxo.cjs`),require(`./Hinkal/hinkalSolanaProoflessDeposit.cjs`),require(`./Hinkal/hinkalSolanaClaimUtxo.cjs`),require(`./Hinkal/hinkalWithdrawStuckUtxos.cjs`),require(`./Hinkal/Hinkal.cjs`),require(`./Hinkal/hinkalPalSolanaDepositPrepare.cjs`),require(`./Hinkal/hinkalPalEvmDeposit.cjs`),require(`./Hinkal/hinkalPalTronDepositPrepare.cjs`),require(`./Hinkal/index.cjs`),require(`./token-price-fetcher/index.cjs`),require(`./transactions-manager/history/history.types.cjs`),require(`./presale/PresaleContractWrapper.cjs`),require(`./presale/index.cjs`),require(`./ApprovalDBs/EventsPublicApprovalsDB.cjs`),require(`./ApprovalDBs/index.cjs`),require(`./WalletManager/WalletManager.cjs`),require(`./WalletManager/index.cjs`);
1
+ require(`./http/BasicHttpClient.cjs`),require(`./http/HttpClient.cjs`),require(`./http/index.cjs`),require(`./custom-token-registry/CustomTokenRegistry.cjs`),require(`./ValueCache/ValueCache.cjs`),require(`./crypto-keys/keyUtils.cjs`),require(`./crypto-keys/keys.cjs`),require(`./utxo/Utxo.cjs`),require(`./crypto-keys/decodeUTXO.cjs`),require(`./crypto-keys/encryptDecryptUtxo.cjs`),require(`./crypto-keys/index.cjs`),require(`./TokenDBs/token-visibility-db.cjs`),require(`./TokenDBs/PrivateTokensDB.cjs`),require(`./token-price-fetcher/TokenChecker.cjs`),require(`./AccountActions/AccountActions.cjs`),require(`./cacheDevices/FileCacheDevice.cjs`),require(`./cacheDevices/LocalStorageCacheDevice.cjs`),require(`./cacheDevices/index.cjs`),require(`./Hinkal/hinkalDeposit.cjs`),require(`./Hinkal/prepareDepositOnChainUtxosZkProof.cjs`),require(`./Hinkal/hinkalDepositAndWithdraw.cjs`),require(`./Hinkal/hinkalSwap.cjs`),require(`./Hinkal/hinkalWithdraw.cjs`),require(`./merkle-tree/MerkleTreeIncompleteError.cjs`),require(`./merkle-tree/MerkleTree.cjs`),require(`./merkle-tree/index.cjs`),require(`./event-service/evm/AbstractEventService.cjs`),require(`./event-service/evm/AbstractSnapshotService.cjs`),require(`./event-service/evm/AbstractCommitmentsSnapshotService.cjs`),require(`./event-service/evm/AbstractNullifierSnapshotService.cjs`),require(`./BlockchainEvent/BlockchainEvent.cjs`),require(`./event-service/evm/BlockchainEventEmitter.cjs`),require(`./event-service/evm/PollingBlockchainEventEmitter.cjs`),require(`./event-service/evm/ClientBlockchainEventEmitter.cjs`),require(`./event-service/solana/SolanaBlockchainEventEmitter.cjs`),require(`./event-service/solana/ClientSolanaBlockchainEventEmitter.cjs`),require(`./event-service/solana/PollingSolanaBlockchainEventEmitter.cjs`),require(`./event-service/solana/AbstractSolanaEventService.cjs`),require(`./event-service/solana/AbstractSolanaSnapshotService.cjs`),require(`./event-service/solana/AbstractSolanaNullifierSnapshotService.cjs`),require(`./event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs`),require(`./event-service/index.cjs`),require(`./snapshot/SnapshotFetcherService.cjs`),require(`./snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs`),require(`./snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs`),require(`./snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs`),require(`./snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs`),require(`./snapshot/index.cjs`),require(`./Hinkal/resetMerkleTrees.cjs`),require(`./MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs`),require(`./IndexedDB/activity-db.cjs`),require(`./IndexedDB/balances-db.cjs`),require(`./IndexedDB/private-balances-db.cjs`),require(`./IndexedDB/prices-db.cjs`),require(`./IndexedDB/contact-db.cjs`),require(`./IndexedDB/signatures-db.cjs`),require(`./IndexedDB/pay-activity-db.cjs`),require(`./IndexedDB/index.cjs`),require(`./Hinkal/hinkalPrivateWallet.cjs`),require(`./AccountActions/index.cjs`),require(`./TokenDBs/ArcPublicTokensDB.cjs`),require(`./TokenDBs/TronPublicTokensDB.cjs`),require(`./TokenDBs/TempoPublicTokensDB.cjs`),require(`./TokenDBs/PublicTokensDB.cjs`),require(`./TokenDBs/index.cjs`),require(`./Hinkal/hinkalProxySwap.cjs`),require(`./Hinkal/hinkalTransfer.cjs`),require(`./Hinkal/hinkalSolanaDepositAndWithdraw.cjs`),require(`./Hinkal/hinkalSolanaTransfer.cjs`),require(`./Hinkal/hinkalSolanaProxySend.cjs`),require(`./Hinkal/hinkalSolanaProxySwap.cjs`),require(`./Hinkal/hinkalSolanaProxyShield.cjs`),require(`./Hinkal/hinkalNearDepositAndBridge.cjs`),require(`./Hinkal/hinkalClaimUtxo.cjs`),require(`./Hinkal/hinkalSolanaProoflessDeposit.cjs`),require(`./Hinkal/hinkalSolanaClaimUtxo.cjs`),require(`./Hinkal/hinkalWithdrawStuckUtxos.cjs`),require(`./Hinkal/Hinkal.cjs`),require(`./Hinkal/hinkalPalSolanaDepositPrepare.cjs`),require(`./Hinkal/hinkalPalEvmDeposit.cjs`),require(`./Hinkal/hinkalPalTronDepositPrepare.cjs`),require(`./Hinkal/index.cjs`),require(`./token-price-fetcher/index.cjs`),require(`./transactions-manager/history/history.types.cjs`),require(`./presale/PresaleContractWrapper.cjs`),require(`./presale/index.cjs`),require(`./ApprovalDBs/EventsPublicApprovalsDB.cjs`),require(`./ApprovalDBs/index.cjs`),require(`./WalletManager/WalletManager.cjs`),require(`./WalletManager/index.cjs`);
@@ -60,6 +60,7 @@ import "./Hinkal/hinkalPrivateWallet.mjs";
60
60
  import "./AccountActions/index.mjs";
61
61
  import "./TokenDBs/ArcPublicTokensDB.mjs";
62
62
  import "./TokenDBs/TronPublicTokensDB.mjs";
63
+ import "./TokenDBs/TempoPublicTokensDB.mjs";
63
64
  import "./TokenDBs/PublicTokensDB.mjs";
64
65
  import "./TokenDBs/index.mjs";
65
66
  import "./Hinkal/hinkalProxySwap.mjs";