@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.
- package/API/API.cjs +1 -1
- package/API/API.d.ts +0 -5
- package/API/API.mjs +112 -117
- package/README.md +0 -22
- package/constants/chains.constants.cjs +1 -1
- package/constants/chains.constants.mjs +2 -1
- package/constants/index.cjs +1 -1
- package/constants/index.d.ts +0 -2
- package/constants/index.mjs +0 -2
- package/constants/mediaUrls.constants.cjs +1 -1
- package/constants/mediaUrls.constants.d.ts +0 -1
- package/constants/mediaUrls.constants.mjs +0 -1
- package/constants/rewards.constants.cjs +1 -1
- package/constants/rewards.constants.d.ts +0 -2
- package/constants/rewards.constants.mjs +2 -2
- package/constants/server.constants.cjs +1 -1
- package/constants/server.constants.d.ts +0 -4
- package/constants/server.constants.mjs +0 -5
- package/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/data-structures/Hinkal/Hinkal.d.ts +0 -3
- package/data-structures/Hinkal/Hinkal.mjs +69 -80
- package/data-structures/Hinkal/IHinkal.d.ts +0 -3
- package/data-structures/TokenDBs/PublicTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/PublicTokensDB.mjs +22 -21
- package/data-structures/TokenDBs/TempoPublicTokensDB.cjs +1 -0
- package/data-structures/TokenDBs/TempoPublicTokensDB.d.ts +9 -0
- package/data-structures/TokenDBs/TempoPublicTokensDB.mjs +42 -0
- package/data-structures/TokenDBs/index.cjs +1 -1
- package/data-structures/TokenDBs/index.d.ts +1 -0
- package/data-structures/TokenDBs/index.mjs +1 -0
- package/data-structures/index.cjs +1 -1
- package/data-structures/index.mjs +1 -0
- package/error-handling/error-codes.constants.cjs +1 -1
- package/error-handling/error-codes.constants.d.ts +0 -5
- package/error-handling/error-codes.constants.mjs +0 -5
- package/externalABIs/index.cjs +1 -1
- package/externalABIs/index.d.ts +1 -36
- package/externalABIs/index.mjs +2 -4
- package/functions/index.cjs +1 -1
- package/functions/index.d.ts +0 -1
- package/functions/index.mjs +0 -4
- package/index.cjs +1 -1
- package/index.mjs +314 -319
- package/package.json +2 -2
- package/types/cache.types.cjs +1 -1
- package/types/cache.types.d.ts +1 -0
- package/types/cache.types.mjs +1 -1
- package/types/commitments.types.d.ts +0 -10
- package/types/hinkal.types.cjs +1 -1
- package/types/hinkal.types.d.ts +0 -7
- package/types/hinkal.types.mjs +2 -4
- package/types/index.cjs +1 -1
- package/types/index.d.ts +0 -1
- package/types/index.mjs +0 -1
- package/types/new-rewards.type.cjs +1 -1
- package/types/new-rewards.type.d.ts +0 -1
- package/types/new-rewards.type.mjs +1 -1
- package/webworker/{logError-B1LyaM6e.js → logError-CU_5hb0O.js} +1 -1
- package/webworker/package.json +2 -2
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
- package/webworker/snarkjsWorkerNode.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
- package/webworker/utxoWorkerNode.cjs +1 -1
- package/webworker/viteWorkerURL.constant.cjs +3 -3
- package/webworker/viteWorkerURL.constant.mjs +3 -3
- package/webworker/{workerProxy-UUs7pDb1.js → workerProxy-JYVsEgnC.js} +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
- package/webworker/zkProofWorkerNode.cjs +1 -1
- package/API/kycCalls.cjs +0 -1
- package/API/kycCalls.d.ts +0 -14
- package/API/kycCalls.mjs +0 -26
- package/constants/assets.constants.cjs +0 -1
- package/constants/assets.constants.d.ts +0 -13
- package/constants/assets.constants.mjs +0 -16
- package/constants/kyc.constants.cjs +0 -1
- package/constants/kyc.constants.d.ts +0 -29
- package/constants/kyc.constants.mjs +0 -126
- package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +0 -1
- package/data-structures/Hinkal/hinkalGetZkMeProvider.d.ts +0 -28
- package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +0 -22
- package/externalABIs/BabPassport.json.cjs +0 -1
- package/externalABIs/BabPassport.json.mjs +0 -20
- package/externalABIs/GalxePassport.json.cjs +0 -1
- package/externalABIs/GalxePassport.json.mjs +0 -37
- package/functions/kyc/aiPriseHelper.d.ts +0 -0
- package/functions/kyc/checkTokenLimitsUSD.cjs +0 -1
- package/functions/kyc/checkTokenLimitsUSD.d.ts +0 -1
- package/functions/kyc/checkTokenLimitsUSD.mjs +0 -29
- package/functions/kyc/index.cjs +0 -1
- package/functions/kyc/index.d.ts +0 -3
- package/functions/kyc/index.mjs +0 -3
- package/functions/kyc/openDefaultPassportWindow.cjs +0 -1
- package/functions/kyc/openDefaultPassportWindow.d.ts +0 -1
- package/functions/kyc/openDefaultPassportWindow.mjs +0 -7
- package/functions/kyc/passportHelper.cjs +0 -1
- package/functions/kyc/passportHelper.d.ts +0 -3
- package/functions/kyc/passportHelper.mjs +0 -9
- package/functions/kyc/zkMeHelper.cjs +0 -1
- package/functions/kyc/zkMeHelper.d.ts +0 -4
- package/functions/kyc/zkMeHelper.mjs +0 -42
- package/types/kyc.types.cjs +0 -1
- package/types/kyc.types.d.ts +0 -41
- 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
|
|
8
|
-
import { API as
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
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
|
|
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 {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
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
|
|
33
|
+
import { resetMerkleTrees as V } from "./resetMerkleTrees.mjs";
|
|
36
34
|
import { MultiThreadedUtxoUtils as H } from "../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs";
|
|
37
|
-
import { hinkalPrivateWallet as
|
|
38
|
-
import { getRecipientInfo as
|
|
39
|
-
import { hinkalSignSubAccount as
|
|
40
|
-
import { hinkalActionReceive as
|
|
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
|
|
43
|
-
import { hinkalProxySwap as
|
|
44
|
-
import { hinkalMultiSendPrivateRecipients as
|
|
45
|
-
import { hinkalTransfer as
|
|
46
|
-
import { hinkalProxyToPrivate as
|
|
47
|
-
import { TronProviderAdapter as
|
|
48
|
-
import { hinkalSolanaDepositAndWithdraw as
|
|
49
|
-
import { hinkalSolanaWithdraw as
|
|
50
|
-
import { hinkalSolanaTransfer as
|
|
51
|
-
import { hinkalSolanaSwap as
|
|
52
|
-
import { hinkalSolanaProxySend as
|
|
53
|
-
import { hinkalSolanaProxySwap as
|
|
54
|
-
import { hinkalSolanaProxyShield as
|
|
55
|
-
import { hinkalDepositAndBridge as
|
|
56
|
-
import { hinkalNearDepositAndBridge as
|
|
57
|
-
import { hinkalClaimUtxo as
|
|
58
|
-
import { hinkalSolanaProoflessDeposit as
|
|
59
|
-
import { hinkalSolanaClaimUtxo as
|
|
60
|
-
import { hinkalWithdrawStuckUtxos as
|
|
61
|
-
import { PublicKey as $, Transaction as
|
|
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
|
|
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] =
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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(
|
|
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
|
|
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) :
|
|
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
|
|
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
|
|
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
|
|
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
|
-
]),
|
|
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])) ?
|
|
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])) ?
|
|
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
|
|
339
|
+
return de(this, e, t, n, r, i, a, o, s);
|
|
351
340
|
}
|
|
352
341
|
async checkSendTransactionStatus(e) {
|
|
353
|
-
return
|
|
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
|
-
]),
|
|
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)) ?
|
|
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) ?
|
|
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)) ?
|
|
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)) ?
|
|
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
|
|
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) :
|
|
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
|
|
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)) ?
|
|
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
|
-
]),
|
|
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)) ?
|
|
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
|
-
]),
|
|
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
|
|
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
|
-
]),
|
|
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 {
|
|
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
|
|
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,
|
|
2
|
-
import { Logger as
|
|
3
|
-
import { getStateKey as
|
|
4
|
-
import { alchemyPublicTokensDB as
|
|
5
|
-
import { eventsPublicTokensDB as
|
|
6
|
-
import { arcPublicTokensDB as
|
|
7
|
-
import { tronPublicTokensDB as
|
|
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
|
|
10
|
+
var d = class {
|
|
10
11
|
useAlternativeDB = {};
|
|
11
|
-
async getPublicTokens(t,
|
|
12
|
-
let
|
|
13
|
-
return this.useAlternativeDB[
|
|
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,
|
|
16
|
-
let
|
|
17
|
-
return this.useAlternativeDB[
|
|
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(
|
|
20
|
-
let
|
|
20
|
+
async fetchAndUpdatePublicTokens(d, f) {
|
|
21
|
+
let p = a(d, f);
|
|
21
22
|
try {
|
|
22
|
-
|
|
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 (
|
|
25
|
-
await
|
|
25
|
+
if (i.error("error", e), t(f)) return;
|
|
26
|
+
await s.fetchAndUpdatePublicTokens(d, f), this.useAlternativeDB[p] = !0;
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
|
-
},
|
|
29
|
+
}, f = new d();
|
|
29
30
|
//#endregion
|
|
30
|
-
export {
|
|
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`);
|
|
@@ -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";
|