@sabaaa1/common 0.0.44 → 0.0.45

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 (31) hide show
  1. package/assets/{snarkjsWorkerLogic-B9NbAQYW.js → snarkjsWorkerLauncher-Cw1M6jKV.js} +535 -536
  2. package/assets/{utxoWorkerLogic-DEqWaadT.js → utxoWorkerLauncher-DU_Rrw_I.js} +16801 -15613
  3. package/assets/{zkProofWorkerLogic-DB9cbXu-.js → zkProofWorkerLauncher-BEDgIMB_.js} +16094 -14906
  4. package/data-structures/Hinkal/Hinkal.cjs +1 -1
  5. package/data-structures/Hinkal/Hinkal.mjs +5 -2
  6. package/data-structures/IndexedDB/activity-db.cjs +1 -1
  7. package/data-structures/IndexedDB/activity-db.mjs +25 -22
  8. package/data-structures/IndexedDB/contact-db.cjs +1 -1
  9. package/data-structures/IndexedDB/contact-db.mjs +24 -21
  10. package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  11. package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +16 -13
  12. package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  13. package/functions/web3/functionCalls/transactCallRelayer.mjs +5 -2
  14. package/package.json +1 -1
  15. package/providers/EthersProviderAdapter.cjs +1 -1
  16. package/providers/EthersProviderAdapter.mjs +19 -16
  17. package/providers/prepareEthersHinkal.cjs +1 -1
  18. package/providers/prepareEthersHinkal.mjs +5 -2
  19. package/providers/prepareWagmiHinkal.cjs +1 -1
  20. package/providers/prepareWagmiHinkal.mjs +5 -2
  21. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +1 -1
  22. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +1 -1
  23. package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
  24. package/webworker/utxoWorker/utxoWorkerLauncher.mjs +2 -2
  25. package/webworker/workerFactory.cjs +1 -1
  26. package/webworker/workerFactory.mjs +26 -27
  27. package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
  28. package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +1 -1
  29. package/assets/snarkjsWorkerLauncher-Dsmwcy9L.js +0 -1176
  30. package/assets/utxoWorkerLauncher-BUSzpnDL.js +0 -1205
  31. package/assets/zkProofWorkerLauncher-CoKmCKjC.js +0 -1205
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("../../types/hinkal.types.cjs"),v=require("../../types/ethereum-network.types.cjs"),m=require("../../functions/web3/functionCalls/accessTokenCalls.cjs"),F=require("../../functions/web3/events/getShieldedBalance.cjs"),k=require("../crypto-keys/keys.cjs"),q=require("./hinkalDeposit.cjs"),E=require("./hinkalSwap.cjs"),M=require("./hinkalWithdraw.cjs"),R=require("./resetMerkleTrees.cjs"),P=require("../merkle-tree/MerkleTree.cjs");require("ethers");const f=require("../../error-handling/error-codes.constants.cjs"),S=require("../../crypto/poseidon.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const H=require("../../constants/chains.constants.cjs");require("../../API/getServerURL.cjs");require("axios");require("../../constants/coingecko.constants.cjs");require("../../constants/server.constants.cjs");const U=require("../../constants/vite.constants.cjs"),A=require("../../API/API.cjs");require("../../constants/token-data/index.cjs");require("../../constants/contracts.constants.cjs");const B=require("../../constants/kyc.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/mystery-boxes.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");require("../../API/tenderly.api.cjs");const b=require("../../functions/utils/reloadPage.cjs"),W=require("../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs"),D=require("./hinkalPrivateWallet.cjs"),K=require("../../functions/utils/cacheFunctions.cjs"),x=require("../../functions/utils/cacheDevice.utils.cjs"),N=require("../../functions/web3/getContractMetadata.cjs"),L=require("./hinkalGetRecipientInfo.cjs"),O=require("./hinkalApprove.cjs"),_=require("./hinkalInsideTransact.cjs"),u=require("../../functions/web3/events/getApprovedBalance.cjs"),y=require("../../functions/web3/functionCalls/inHinkalApprovalCalls.cjs"),j=require("./hinkalSignSubAccount.cjs"),G=require("./hinkalCheckTokenRegistry.cjs"),z=require("./hinkalActionReceive.cjs"),J=require("./hinkalActionFundApproveAndTransact.cjs"),Q=require("../TokenDBs/PrivateTokensDB.cjs");require("idb-keyval");const V=require("../../functions/utils/erc20tokenFunctions.cjs");require("multiformats");require("async-mutex");require("../../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("../../types/circom-data.types.cjs");require("../../types/transactions.types.cjs");require("../../types/activities.types.cjs");require("../../functions/utils/userAgent.cjs");require("../../functions/utils/mutexes.utils.cjs");require("node-forge");require("../../functions/web3/getTokenHolder.cjs");require("ethers-v6h");const X=require("./hinkalProoflessDeposit.cjs"),Y=require("./hinkalProxySwap.cjs"),Z=require("./hinkalMultiSend.cjs"),$=require("./hinkalTransfer.cjs");class ee{providerAdapter;userKeys;signingMessage="Login to Hinkal Protocol";merkleTreeHinkal;merkleTreeAccessToken;nullifiers;encryptedOutputs;approvals;commitmentsSnapshotService;nullifierSnapshotService;accessTokenSnapshotService;approvalsSnapshotService;utxoUtils;cacheDevice;generateProofRemotely;disableMerkleTreeUpdates;constructor(e){this.userKeys=new k.UserKeys(void 0),this.merkleTreeHinkal=P.MerkleTree.create(S.poseidonFunction,0n),this.merkleTreeAccessToken=P.MerkleTree.create(S.poseidonFunction,0n),this.nullifiers=new Set,this.encryptedOutputs=[],this.approvals=new Map,this.generateProofRemotely=e?.generateProofRemotely??!1,this.utxoUtils=new W.MultiThreadedUtxoUtils,this.cacheDevice=x.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!1}async initProviderAdapter(e,t){await this.updateProviderAdapter(t),this.providerAdapter?.initConnector(e);const r=await this.connectAndPatchProvider(e);await t.init(r),await this.setListeners()}async initUserKeys(){this.userKeys=new k.UserKeys(await this.getProviderAdapter().signMessage(this.signingMessage))}async initUserKeysWithPassword(e){this.userKeys=new k.UserKeys(e)}async resetMerkle(){this.disableMerkleTreeUpdates||this.isSelectedNetworkSupported()&&await R.resetMerkleTrees(this)}getProviderAdapter(){if(!this.providerAdapter)throw new Error("ProviderAdapter is not initialized");return this.providerAdapter}async waitForTransaction(e,t=1){return!!await this.providerAdapter?.waitForTransaction(e,t)}getContractMetadata(e,t){return this.getProviderAdapter().getContractMetadata(e,t)}getContract(e,t=void 0,r){return this.getProviderAdapter().getContract(e,t,r)}getContractWithFetcherByChainId(e,t,r=void 0){return N.getContractWithFetcherByChainId(e,t,r)}async signMessage(e){return await this.getProviderAdapter().signMessage(e)}async signTypedData(e,t,r){return await this.getProviderAdapter().signTypedData(e,t,r)}async signWithSubAccount(e,t,r){return j.hinkalSignSubAccount(this,e,t,r)}getContractWithSigner(e,t=""){return this.getProviderAdapter().getContractWithSigner(e,t)}getContractWithFetcher(e,t=""){return this.getProviderAdapter().getContractWithFetcher(e,t)}getContractWithFetcherForEthereum(e,t){return this.getProviderAdapter().getContractWithFetcherForEthereum(e,t)}isSelectedNetworkSupported(){return!!H.networkRegistry[this.getCurrentChainId()]}async switchNetwork(e){try{await this.getProviderAdapter().switchNetwork(e)}catch{throw new Error(f.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}async switchAccount(e){await this.getProviderAdapter().switchAccount(e)}getCurrentChainId(){const{chainId:e}=this.getProviderAdapter();if(!e)throw new Error("Illegal State: no chainId");return e}getSelectedNetwork(){return this.providerAdapter?.getSelectedNetwork()}isPermitterAvailable(){return this.getProviderAdapter().isPermitterAvailable()}async connectAndPatchProvider(e){return await this.getProviderAdapter().connectAndPatchProvider(e)}async disconnectFromConnector(){await this.getProviderAdapter().disconnectFromConnector()}async updateProviderAdapter(e){try{this.providerAdapter&&this.providerAdapter.release(),this.providerAdapter=e}catch(t){throw console.error(t),Error("updateProviderAdapter failed, please try again.")}}async setListeners(){this.providerAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}})}async onAccountChanged(){await this.getProviderAdapter().onAccountChanged();const e=C.EventType.AccountChanged;typeof document<"u"?document?.dispatchEvent(new Event(e)):process?.emit("message",e,void 0)}async onChainChanged(e){if(e){await this.getProviderAdapter().onChainChanged(e);const t=C.EventType.NetworkChange;typeof document<"u"?document.dispatchEvent(new Event(t)):process?.emit("message",t,void 0)}else await this.disconnectFromConnector(),b.reloadPage()}async monitorConnectedAddress(){await A.API.monitor(await this.getEthereumAddress(),this.getCurrentChainId())}async getBalances(e,t,r,n,i=!1,s){return F.getShieldedBalance(this,e,t,r,n,i,this.generateProofRemotely,s)}async getApprovedBalances(e=!1,t=!1){return u.getApprovedBalance(this,e,t)}async getTotalBalance(e,t,r,n=!1,i){const s=e??this.getCurrentChainId(),a=r??await this.getEthereumAddress(),o=t??this.userKeys,c=await this.getBalances(s,o.getShieldedPrivateKey(),o.getShieldedPublicKey(),a,n,i),h=await this.getApprovedBalances(n,i),d=U.isExtension?await Q.privateTokensDB.getPrivateTokens(s,a):V.getErc20TokensForChain(s),l=[];return d.forEach(p=>{const T=p.erc20TokenAddress.toLowerCase(),g=c.get(T),w=h.get(T),I={token:p,balance:(g?.balance??0n)+(w?.balance??0n),timestamp:g?.timestamp||w?.timestamp||"0",nfts:g?.nfts||[]};l.push(I)}),l}getSupportedPassportLinks(){return B.supportedPassportLinks}checkAccessToken(){return m.checkHinkalAccessToken(this)}async mintHinkalAccessToken(e,t){return m.mintAccessToken(this,e,t)}async getHinkalTreeRootHash(){return this.getContractWithFetcher(v.ContractType.HinkalContract).getRootHash()}async getAccessTokenTreeRootHash(){return this.getContractWithFetcher(v.ContractType.AccessTokenContract).getRootHash()}async resetMerkleTreesIfNecessary(){if(!this.isSelectedNetworkSupported())throw new Error(f.transactionErrorCodes.UNSUPPORTED_NETWORK);const[e,t]=await Promise.all([this.getHinkalTreeRootHash(),this.getAccessTokenTreeRootHash()]);(e.toBigInt()!==this.merkleTreeHinkal.getRootHash()||t.toBigInt()!==this.merkleTreeAccessToken.getRootHash())&&(console.log("resetting merkle tree in resetMerkleTreesIfNecessary"),await this.resetMerkle())}async getEventsFromHinkal(){await Promise.all([this.accessTokenSnapshotService?.retrieveEventsFromLatestBlock(),this.commitmentsSnapshotService?.retrieveEventsFromLatestBlock(),this.nullifierSnapshotService?.retrieveEventsFromLatestBlock(),this.approvalsSnapshotService?.retrieveEventsFromLatestBlock()])}getEthereumAddress(){return this.getProviderAdapter().getAddress()}async getRandomRelay(e=!1){return(await A.API.getIdleRelay(this.getCurrentChainId(),e)).relay}getGasPrice(){if(!this.providerAdapter?.chainId)throw new Error("Illegal State of providerAdapter in Hinkal: no chainId");return this.providerAdapter.getGasPrice()}getAPI(){return A.API}resetCache(){K.resetCache(this,this.getCurrentChainId(),this.userKeys.getShieldedPublicKey())}snapshotsClearInterval(){this.commitmentsSnapshotService?.intervalClear(),this.accessTokenSnapshotService?.intervalClear(),this.nullifierSnapshotService?.intervalClear(),this.approvalsSnapshotService?.intervalClear()}checkTokenRegistry(e,t){const r=this.getContractWithFetcher(v.ContractType.HinkalHelperContract);return G.hinkalCheckTokenRegistry(r,e,t)}getRecipientInfo(e=!1){return L.getRecipientInfo(this,e)}async getInteractionApprovals(e){return await y.getInteractionApprovals(this,e)}getApprovedUtxos(e=!1){return u.getApprovedUtxos(this,e)}getApprovedUtxosForToken(e,t=!1){return u.getApprovedUtxosForToken(this,e,t)}getMyApprovalAmountForInteraction(e,t){return u.getMyApprovalAmountForInteraction(this,e,t)}async checkExistingApprovalFromHinkal(e,t){return await y.checkExistingApprovalFromHinkal(this,e,t)}async getBufferEntry(e,t,r){return y.getBufferEntry(this,e,t,r)}async deposit(e,t){return q.hinkalDeposit(this,e,t)}async depositForOther(e,t,r){return q.hinkalDepositForOther(this,e,t,r)}async prooflessDeposit(e,t,r){return X.hinkalProoflessDeposit(this,e,t,r)}async transfer(e,t,r,n,i,s,a=!1){return $.hinkalTransfer(this,e,t,r,n,i,s,a)}async withdraw(e,t,r,n,i,s,a,o=!1){return M.hinkalWithdraw(this,e,t,r,n,i,s,a,o)}async swap(e,t,r,n,i,s,a,o=!1,c=!1){return E.hinkalSwap(this,e,t,r,n,i,s,a,o,c)}async actionReceive(e,t,r,n,i,s,a=!1){return z.hinkalActionReceive(this,e,t,r,n,i,s,a)}async actionFundApproveAndTransact(e,t,r,n,i,s,a,o,c=!1,h,d,l){return J.hinkalActionFundApproveAndTransact(this,e,t,r,n,i,s,a,o,c,h,d,l)}async actionPrivateWallet(e,t,r,n,i,s,a,o,c,h=!1,d,l,p=!1){return D.hinkalPrivateWallet(this,e,t,r,n,i,s,a,o,c,h,d,l,p)}async approve(e,t,r,n,i,s=!1){return O.hinkalApprove(this,e,t,r,n,i,s)}async hinkalInsideTransact(e,t,r,n,i,s,a,o,c,h=!1){return _.hinkalInsideTransact(this,e,t,r,n,i,s,a,o,c,h)}async proxySwap(e,t,r,n,i,s,a,o,c=!1,h,d,l=!1){return Y.hinkalProxySwap(this,e,t,r,n,i,s,a,o,c,h,d,l)}async multiSendPrivateRecipients(e,t,r){return Z.hinkalMultiSendPrivateRecipients(this,e,t,r)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}}exports.Hinkal=ee;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("../../types/hinkal.types.cjs"),v=require("../../types/ethereum-network.types.cjs"),q=require("../../functions/web3/functionCalls/accessTokenCalls.cjs"),F=require("../../functions/web3/events/getShieldedBalance.cjs"),k=require("../crypto-keys/keys.cjs"),m=require("./hinkalDeposit.cjs"),E=require("./hinkalSwap.cjs"),M=require("./hinkalWithdraw.cjs"),R=require("./resetMerkleTrees.cjs"),P=require("../merkle-tree/MerkleTree.cjs");require("ethers");const f=require("../../error-handling/error-codes.constants.cjs"),S=require("../../crypto/poseidon.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const H=require("../../constants/chains.constants.cjs");require("../../API/getServerURL.cjs");require("axios");require("../../constants/coingecko.constants.cjs");require("../../constants/server.constants.cjs");const U=require("../../constants/vite.constants.cjs"),A=require("../../API/API.cjs");require("../../constants/token-data/index.cjs");require("../../constants/contracts.constants.cjs");const B=require("../../constants/kyc.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/mystery-boxes.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");require("../../API/tenderly.api.cjs");const b=require("../../functions/utils/reloadPage.cjs"),W=require("../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs"),D=require("./hinkalPrivateWallet.cjs"),K=require("../../functions/utils/cacheFunctions.cjs"),x=require("../../functions/utils/cacheDevice.utils.cjs"),N=require("../../functions/web3/getContractMetadata.cjs"),L=require("./hinkalGetRecipientInfo.cjs"),O=require("./hinkalApprove.cjs"),_=require("./hinkalInsideTransact.cjs"),p=require("../../functions/web3/events/getApprovedBalance.cjs"),y=require("../../functions/web3/functionCalls/inHinkalApprovalCalls.cjs"),j=require("./hinkalSignSubAccount.cjs"),G=require("./hinkalCheckTokenRegistry.cjs"),z=require("./hinkalActionReceive.cjs"),J=require("./hinkalActionFundApproveAndTransact.cjs"),Q=require("../TokenDBs/PrivateTokensDB.cjs");require("idb-keyval");const V=require("../../functions/utils/erc20tokenFunctions.cjs");require("multiformats");require("async-mutex");require("../../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("../../types/circom-data.types.cjs");require("../../types/transactions.types.cjs");require("../../types/activities.types.cjs");require("../../functions/utils/userAgent.cjs");require("../../functions/utils/mutexes.utils.cjs");require("node-forge");require("../../functions/web3/getTokenHolder.cjs");require("../../webworker/snarkjsWorker/snarkjsWorkerLogic.cjs");require("../../webworker/zkProofWorker/zkProofWorkerLogic.cjs");require("../../webworker/utxoWorker/utxoWorkerLogic.cjs");require("ethers-v6h");const X=require("./hinkalProoflessDeposit.cjs"),Y=require("./hinkalProxySwap.cjs"),Z=require("./hinkalMultiSend.cjs"),$=require("./hinkalTransfer.cjs");class ee{providerAdapter;userKeys;signingMessage="Login to Hinkal Protocol";merkleTreeHinkal;merkleTreeAccessToken;nullifiers;encryptedOutputs;approvals;commitmentsSnapshotService;nullifierSnapshotService;accessTokenSnapshotService;approvalsSnapshotService;utxoUtils;cacheDevice;generateProofRemotely;disableMerkleTreeUpdates;constructor(e){this.userKeys=new k.UserKeys(void 0),this.merkleTreeHinkal=P.MerkleTree.create(S.poseidonFunction,0n),this.merkleTreeAccessToken=P.MerkleTree.create(S.poseidonFunction,0n),this.nullifiers=new Set,this.encryptedOutputs=[],this.approvals=new Map,this.generateProofRemotely=e?.generateProofRemotely??!1,this.utxoUtils=new W.MultiThreadedUtxoUtils,this.cacheDevice=x.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!1}async initProviderAdapter(e,t){await this.updateProviderAdapter(t),this.providerAdapter?.initConnector(e);const r=await this.connectAndPatchProvider(e);await t.init(r),await this.setListeners()}async initUserKeys(){this.userKeys=new k.UserKeys(await this.getProviderAdapter().signMessage(this.signingMessage))}async initUserKeysWithPassword(e){this.userKeys=new k.UserKeys(e)}async resetMerkle(){this.disableMerkleTreeUpdates||this.isSelectedNetworkSupported()&&await R.resetMerkleTrees(this)}getProviderAdapter(){if(!this.providerAdapter)throw new Error("ProviderAdapter is not initialized");return this.providerAdapter}async waitForTransaction(e,t=1){return!!await this.providerAdapter?.waitForTransaction(e,t)}getContractMetadata(e,t){return this.getProviderAdapter().getContractMetadata(e,t)}getContract(e,t=void 0,r){return this.getProviderAdapter().getContract(e,t,r)}getContractWithFetcherByChainId(e,t,r=void 0){return N.getContractWithFetcherByChainId(e,t,r)}async signMessage(e){return await this.getProviderAdapter().signMessage(e)}async signTypedData(e,t,r){return await this.getProviderAdapter().signTypedData(e,t,r)}async signWithSubAccount(e,t,r){return j.hinkalSignSubAccount(this,e,t,r)}getContractWithSigner(e,t=""){return this.getProviderAdapter().getContractWithSigner(e,t)}getContractWithFetcher(e,t=""){return this.getProviderAdapter().getContractWithFetcher(e,t)}getContractWithFetcherForEthereum(e,t){return this.getProviderAdapter().getContractWithFetcherForEthereum(e,t)}isSelectedNetworkSupported(){return!!H.networkRegistry[this.getCurrentChainId()]}async switchNetwork(e){try{await this.getProviderAdapter().switchNetwork(e)}catch{throw new Error(f.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}async switchAccount(e){await this.getProviderAdapter().switchAccount(e)}getCurrentChainId(){const{chainId:e}=this.getProviderAdapter();if(!e)throw new Error("Illegal State: no chainId");return e}getSelectedNetwork(){return this.providerAdapter?.getSelectedNetwork()}isPermitterAvailable(){return this.getProviderAdapter().isPermitterAvailable()}async connectAndPatchProvider(e){return await this.getProviderAdapter().connectAndPatchProvider(e)}async disconnectFromConnector(){await this.getProviderAdapter().disconnectFromConnector()}async updateProviderAdapter(e){try{this.providerAdapter&&this.providerAdapter.release(),this.providerAdapter=e}catch(t){throw console.error(t),Error("updateProviderAdapter failed, please try again.")}}async setListeners(){this.providerAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}})}async onAccountChanged(){await this.getProviderAdapter().onAccountChanged();const e=C.EventType.AccountChanged;typeof document<"u"?document?.dispatchEvent(new Event(e)):process?.emit("message",e,void 0)}async onChainChanged(e){if(e){await this.getProviderAdapter().onChainChanged(e);const t=C.EventType.NetworkChange;typeof document<"u"?document.dispatchEvent(new Event(t)):process?.emit("message",t,void 0)}else await this.disconnectFromConnector(),b.reloadPage()}async monitorConnectedAddress(){await A.API.monitor(await this.getEthereumAddress(),this.getCurrentChainId())}async getBalances(e,t,r,n,i=!1,s){return F.getShieldedBalance(this,e,t,r,n,i,this.generateProofRemotely,s)}async getApprovedBalances(e=!1,t=!1){return p.getApprovedBalance(this,e,t)}async getTotalBalance(e,t,r,n=!1,i){const s=e??this.getCurrentChainId(),a=r??await this.getEthereumAddress(),o=t??this.userKeys,c=await this.getBalances(s,o.getShieldedPrivateKey(),o.getShieldedPublicKey(),a,n,i),h=await this.getApprovedBalances(n,i),d=U.isExtension?await Q.privateTokensDB.getPrivateTokens(s,a):V.getErc20TokensForChain(s),l=[];return d.forEach(u=>{const T=u.erc20TokenAddress.toLowerCase(),g=c.get(T),w=h.get(T),I={token:u,balance:(g?.balance??0n)+(w?.balance??0n),timestamp:g?.timestamp||w?.timestamp||"0",nfts:g?.nfts||[]};l.push(I)}),l}getSupportedPassportLinks(){return B.supportedPassportLinks}checkAccessToken(){return q.checkHinkalAccessToken(this)}async mintHinkalAccessToken(e,t){return q.mintAccessToken(this,e,t)}async getHinkalTreeRootHash(){return this.getContractWithFetcher(v.ContractType.HinkalContract).getRootHash()}async getAccessTokenTreeRootHash(){return this.getContractWithFetcher(v.ContractType.AccessTokenContract).getRootHash()}async resetMerkleTreesIfNecessary(){if(!this.isSelectedNetworkSupported())throw new Error(f.transactionErrorCodes.UNSUPPORTED_NETWORK);const[e,t]=await Promise.all([this.getHinkalTreeRootHash(),this.getAccessTokenTreeRootHash()]);(e.toBigInt()!==this.merkleTreeHinkal.getRootHash()||t.toBigInt()!==this.merkleTreeAccessToken.getRootHash())&&(console.log("resetting merkle tree in resetMerkleTreesIfNecessary"),await this.resetMerkle())}async getEventsFromHinkal(){await Promise.all([this.accessTokenSnapshotService?.retrieveEventsFromLatestBlock(),this.commitmentsSnapshotService?.retrieveEventsFromLatestBlock(),this.nullifierSnapshotService?.retrieveEventsFromLatestBlock(),this.approvalsSnapshotService?.retrieveEventsFromLatestBlock()])}getEthereumAddress(){return this.getProviderAdapter().getAddress()}async getRandomRelay(e=!1){return(await A.API.getIdleRelay(this.getCurrentChainId(),e)).relay}getGasPrice(){if(!this.providerAdapter?.chainId)throw new Error("Illegal State of providerAdapter in Hinkal: no chainId");return this.providerAdapter.getGasPrice()}getAPI(){return A.API}resetCache(){K.resetCache(this,this.getCurrentChainId(),this.userKeys.getShieldedPublicKey())}snapshotsClearInterval(){this.commitmentsSnapshotService?.intervalClear(),this.accessTokenSnapshotService?.intervalClear(),this.nullifierSnapshotService?.intervalClear(),this.approvalsSnapshotService?.intervalClear()}checkTokenRegistry(e,t){const r=this.getContractWithFetcher(v.ContractType.HinkalHelperContract);return G.hinkalCheckTokenRegistry(r,e,t)}getRecipientInfo(e=!1){return L.getRecipientInfo(this,e)}async getInteractionApprovals(e){return await y.getInteractionApprovals(this,e)}getApprovedUtxos(e=!1){return p.getApprovedUtxos(this,e)}getApprovedUtxosForToken(e,t=!1){return p.getApprovedUtxosForToken(this,e,t)}getMyApprovalAmountForInteraction(e,t){return p.getMyApprovalAmountForInteraction(this,e,t)}async checkExistingApprovalFromHinkal(e,t){return await y.checkExistingApprovalFromHinkal(this,e,t)}async getBufferEntry(e,t,r){return y.getBufferEntry(this,e,t,r)}async deposit(e,t){return m.hinkalDeposit(this,e,t)}async depositForOther(e,t,r){return m.hinkalDepositForOther(this,e,t,r)}async prooflessDeposit(e,t,r){return X.hinkalProoflessDeposit(this,e,t,r)}async transfer(e,t,r,n,i,s,a=!1){return $.hinkalTransfer(this,e,t,r,n,i,s,a)}async withdraw(e,t,r,n,i,s,a,o=!1){return M.hinkalWithdraw(this,e,t,r,n,i,s,a,o)}async swap(e,t,r,n,i,s,a,o=!1,c=!1){return E.hinkalSwap(this,e,t,r,n,i,s,a,o,c)}async actionReceive(e,t,r,n,i,s,a=!1){return z.hinkalActionReceive(this,e,t,r,n,i,s,a)}async actionFundApproveAndTransact(e,t,r,n,i,s,a,o,c=!1,h,d,l){return J.hinkalActionFundApproveAndTransact(this,e,t,r,n,i,s,a,o,c,h,d,l)}async actionPrivateWallet(e,t,r,n,i,s,a,o,c,h=!1,d,l,u=!1){return D.hinkalPrivateWallet(this,e,t,r,n,i,s,a,o,c,h,d,l,u)}async approve(e,t,r,n,i,s=!1){return O.hinkalApprove(this,e,t,r,n,i,s)}async hinkalInsideTransact(e,t,r,n,i,s,a,o,c,h=!1){return _.hinkalInsideTransact(this,e,t,r,n,i,s,a,o,c,h)}async proxySwap(e,t,r,n,i,s,a,o,c=!1,h,d,l=!1){return Y.hinkalProxySwap(this,e,t,r,n,i,s,a,o,c,h,d,l)}async multiSendPrivateRecipients(e,t,r){return Z.hinkalMultiSendPrivateRecipients(this,e,t,r)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}}exports.Hinkal=ee;
@@ -62,12 +62,15 @@ import "../../functions/utils/userAgent.mjs";
62
62
  import "../../functions/utils/mutexes.utils.mjs";
63
63
  import "node-forge";
64
64
  import "../../functions/web3/getTokenHolder.mjs";
65
+ import "../../webworker/snarkjsWorker/snarkjsWorkerLogic.mjs";
66
+ import "../../webworker/zkProofWorker/zkProofWorkerLogic.mjs";
67
+ import "../../webworker/utxoWorker/utxoWorkerLogic.mjs";
65
68
  import "ethers-v6h";
66
69
  import { hinkalProoflessDeposit as ie } from "./hinkalProoflessDeposit.mjs";
67
70
  import { hinkalProxySwap as se } from "./hinkalProxySwap.mjs";
68
71
  import { hinkalMultiSendPrivateRecipients as ae } from "./hinkalMultiSend.mjs";
69
72
  import { hinkalTransfer as oe } from "./hinkalTransfer.mjs";
70
- class Tt {
73
+ class It {
71
74
  providerAdapter;
72
75
  userKeys;
73
76
  signingMessage = "Login to Hinkal Protocol";
@@ -452,5 +455,5 @@ class Tt {
452
455
  }
453
456
  }
454
457
  export {
455
- Tt as Hinkal
458
+ It as Hinkal
456
459
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("idb-keyval"),q=require("ethers");require("../../types/circom-data.types.cjs");const f=require("../../constants/protocol.constants.cjs");require("../../types/transactions.types.cjs");const T=require("../../types/activities.types.cjs"),y=require("../../types/cache.types.cjs");require("../../constants/token-data/index.cjs");require("../../constants/chains.constants.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");require("../../constants/server.constants.cjs");require("../../constants/vite.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/mystery-boxes.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");const R=require("../../functions/utils/amounts.utils.cjs"),b=require("../../error-handling/logger.cjs");require("axios");const k=require("../../functions/utils/erc20tokenFunctions.cjs");require("../../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("circomlibjs-hinkal-fork");const P=require("../../functions/web3/etherFunctions.cjs");require("../crypto-keys/keys.cjs");require("../../error-handling/error-codes.constants.cjs");require("../../API/getServerURL.cjs");require("../../functions/utils/mutexes.utils.cjs");require("libsodium-wrappers");require("process");require("buffer");require("../../constants/save-depths.cjs");require("../../functions/utils/userAgent.cjs");require("multiformats");const N=require("../../API/getTokenPrice.cjs");require("../../API/tenderly.api.cjs");require("node-forge");require("../../functions/web3/events/getApprovedBalance.cjs");require("../../functions/web3/getTokenHolder.cjs");require("ethers-v6h");class _{generateTxId(){const e=new Date().getTime(),t=Math.random().toString(36).substring(2,15);return`tx_${e}_${t}`}async getTransactionRecord(){return await v.get(y.StorageKeys.TX_ACTIVITY)||{}}async saveTransactionRecord(e){await v.set(y.StorageKeys.TX_ACTIVITY,e)}async saveTxRequest(e){const{from:t,to:r,gas:i,gasPrice:n,value:s,chainId:o,status:c,txHash:a,activityType:u,tokensReceive:g,tokensSpend:d,tokensApprove:h,ownerPublicAddress:w,activityIcon:p,dappUrl:I,dappName:S,integrationProvider:x}=e,l=this.generateTxId(),m=await this.getTransactionRecord(),D=await this.getGasInDollar(i,n,o),A={id:l,from:t,to:r,gas:i,gasPrice:n,gasInDollar:D?.toString(),value:s,chainId:o,txHash:a,activityType:u,status:c??T.ActivityStatus.PENDING,timestamp:new Date,tokensReceive:g,tokensSpend:d,tokensApprove:h,ownerPublicAddress:w,activityIcon:p,dappUrl:I,dappName:S,integrationProvider:x};return m[l]=A,await this.saveTransactionRecord(m),l}async getTxRequest(e){return(await this.getTransactionRecord())[e]||null}async getAllTxRequests(e){const t=await this.getTransactionRecord();return Object.values(t).filter(r=>r.chainId===e).sort((r,i)=>new Date(i.timestamp).getTime()-new Date(r.timestamp).getTime())}async updateTxStatusAndHash(e,t,r,i,n,s,o,c){const a=await this.getTxRequest(e);if(!a)throw new Error("Transaction not found");const u=await this.getTransactionRecord(),g=await this.getGasInDollar(o,c,a.chainId),d={...a,status:t,txHash:r,value:a.value??i,from:a.from??n,to:a.to??s,gas:o,gasPrice:c,gasInDollar:g?.toString(),timestamp:new Date};return u[e]=d,await this.saveTransactionRecord(u),d}async updateActivity(e,t,r,i,n,s,o,c){try{await this.updateTxStatusAndHash(e,t,r,i,n,s,o,c)}catch(a){console.log("error in updating tx request",a)}}async removePendingTransactions(e){try{const t=await this.getTransactionRecord();delete t[e],await this.saveTransactionRecord(t)}catch(t){console.log("error in deleting tx requests",t)}}async updatePendingTransactions(e,t){try{if(!e.success){await this.updateActivity(t,T.ActivityStatus.FAILED,"erroredTx"in e?e.erroredTx?.transactionHash:void 0);return}if("tx"in e){const{tx:r}=e;await this.updateActivity(t,T.ActivityStatus.SUCCESSFUL,r.hash,q.BigNumber.from(r.value??0n).toHexString(),r.from,r.to,q.BigNumber.from(r.gas??0n),q.BigNumber.from(r.gasPrice??0n))}}catch(r){console.log("error in updating pending transactions",r)}}getGasInDollar=async(e,t,r)=>{if(!(!e||!t))try{const i=k.getERC20Token(f.zeroAddress,r);if(!i)return;const n=(await N.getTokenPrice(r,i.erc20TokenAddress)).price;if(!n)return;const o=n*Number(P.getAmountInToken(i,t.toBigInt()))*Number(e.toBigInt());return R.fixDecimalsAmount(o)}catch(i){b.Logger.error("Failed to calculate gas cost in dollars:",{chainId:r,error:i});return}}}const B=new _;exports.activityStorage=B;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("idb-keyval"),q=require("ethers");require("../../types/circom-data.types.cjs");const f=require("../../constants/protocol.constants.cjs");require("../../types/transactions.types.cjs");const T=require("../../types/activities.types.cjs"),y=require("../../types/cache.types.cjs");require("../../constants/token-data/index.cjs");require("../../constants/chains.constants.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");require("../../constants/server.constants.cjs");require("../../constants/vite.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/mystery-boxes.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");const R=require("../../functions/utils/amounts.utils.cjs"),b=require("../../error-handling/logger.cjs");require("axios");const k=require("../../functions/utils/erc20tokenFunctions.cjs");require("../../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("circomlibjs-hinkal-fork");const P=require("../../functions/web3/etherFunctions.cjs");require("../crypto-keys/keys.cjs");require("../../error-handling/error-codes.constants.cjs");require("../../API/getServerURL.cjs");require("../../functions/utils/mutexes.utils.cjs");require("libsodium-wrappers");require("process");require("buffer");require("../../constants/save-depths.cjs");require("../../functions/utils/userAgent.cjs");require("multiformats");const N=require("../../API/getTokenPrice.cjs");require("../../API/tenderly.api.cjs");require("node-forge");require("../../functions/web3/events/getApprovedBalance.cjs");require("../../functions/web3/getTokenHolder.cjs");require("../../webworker/snarkjsWorker/snarkjsWorkerLogic.cjs");require("../../webworker/zkProofWorker/zkProofWorkerLogic.cjs");require("../../webworker/utxoWorker/utxoWorkerLogic.cjs");require("ethers-v6h");class _{generateTxId(){const e=new Date().getTime(),t=Math.random().toString(36).substring(2,15);return`tx_${e}_${t}`}async getTransactionRecord(){return await v.get(y.StorageKeys.TX_ACTIVITY)||{}}async saveTransactionRecord(e){await v.set(y.StorageKeys.TX_ACTIVITY,e)}async saveTxRequest(e){const{from:t,to:r,gas:i,gasPrice:n,value:s,chainId:o,status:c,txHash:a,activityType:u,tokensReceive:g,tokensSpend:d,tokensApprove:h,ownerPublicAddress:w,activityIcon:p,dappUrl:I,dappName:S,integrationProvider:x}=e,l=this.generateTxId(),m=await this.getTransactionRecord(),D=await this.getGasInDollar(i,n,o),A={id:l,from:t,to:r,gas:i,gasPrice:n,gasInDollar:D?.toString(),value:s,chainId:o,txHash:a,activityType:u,status:c??T.ActivityStatus.PENDING,timestamp:new Date,tokensReceive:g,tokensSpend:d,tokensApprove:h,ownerPublicAddress:w,activityIcon:p,dappUrl:I,dappName:S,integrationProvider:x};return m[l]=A,await this.saveTransactionRecord(m),l}async getTxRequest(e){return(await this.getTransactionRecord())[e]||null}async getAllTxRequests(e){const t=await this.getTransactionRecord();return Object.values(t).filter(r=>r.chainId===e).sort((r,i)=>new Date(i.timestamp).getTime()-new Date(r.timestamp).getTime())}async updateTxStatusAndHash(e,t,r,i,n,s,o,c){const a=await this.getTxRequest(e);if(!a)throw new Error("Transaction not found");const u=await this.getTransactionRecord(),g=await this.getGasInDollar(o,c,a.chainId),d={...a,status:t,txHash:r,value:a.value??i,from:a.from??n,to:a.to??s,gas:o,gasPrice:c,gasInDollar:g?.toString(),timestamp:new Date};return u[e]=d,await this.saveTransactionRecord(u),d}async updateActivity(e,t,r,i,n,s,o,c){try{await this.updateTxStatusAndHash(e,t,r,i,n,s,o,c)}catch(a){console.log("error in updating tx request",a)}}async removePendingTransactions(e){try{const t=await this.getTransactionRecord();delete t[e],await this.saveTransactionRecord(t)}catch(t){console.log("error in deleting tx requests",t)}}async updatePendingTransactions(e,t){try{if(!e.success){await this.updateActivity(t,T.ActivityStatus.FAILED,"erroredTx"in e?e.erroredTx?.transactionHash:void 0);return}if("tx"in e){const{tx:r}=e;await this.updateActivity(t,T.ActivityStatus.SUCCESSFUL,r.hash,q.BigNumber.from(r.value??0n).toHexString(),r.from,r.to,q.BigNumber.from(r.gas??0n),q.BigNumber.from(r.gasPrice??0n))}}catch(r){console.log("error in updating pending transactions",r)}}getGasInDollar=async(e,t,r)=>{if(!(!e||!t))try{const i=k.getERC20Token(f.zeroAddress,r);if(!i)return;const n=(await N.getTokenPrice(r,i.erc20TokenAddress)).price;if(!n)return;const o=n*Number(P.getAmountInToken(i,t.toBigInt()))*Number(e.toBigInt());return R.fixDecimalsAmount(o)}catch(i){b.Logger.error("Failed to calculate gas cost in dollars:",{chainId:r,error:i});return}}}const B=new _;exports.activityStorage=B;
@@ -42,6 +42,9 @@ import "../../API/tenderly.api.mjs";
42
42
  import "node-forge";
43
43
  import "../../functions/web3/events/getApprovedBalance.mjs";
44
44
  import "../../functions/web3/getTokenHolder.mjs";
45
+ import "../../webworker/snarkjsWorker/snarkjsWorkerLogic.mjs";
46
+ import "../../webworker/zkProofWorker/zkProofWorkerLogic.mjs";
47
+ import "../../webworker/utxoWorker/utxoWorkerLogic.mjs";
45
48
  import "ethers-v6h";
46
49
  class E {
47
50
  generateTxId() {
@@ -59,11 +62,11 @@ class E {
59
62
  from: o,
60
63
  to: r,
61
64
  gas: e,
62
- gasPrice: i,
65
+ gasPrice: a,
63
66
  value: s,
64
67
  chainId: n,
65
68
  status: c,
66
- txHash: a,
69
+ txHash: i,
67
70
  activityType: m,
68
71
  tokensReceive: d,
69
72
  tokensSpend: p,
@@ -73,16 +76,16 @@ class E {
73
76
  dappUrl: y,
74
77
  dappName: I,
75
78
  integrationProvider: x
76
- } = t, g = this.generateTxId(), T = await this.getTransactionRecord(), D = await this.getGasInDollar(e, i, n), A = {
79
+ } = t, g = this.generateTxId(), T = await this.getTransactionRecord(), D = await this.getGasInDollar(e, a, n), A = {
77
80
  id: g,
78
81
  from: o,
79
82
  to: r,
80
83
  gas: e,
81
- gasPrice: i,
84
+ gasPrice: a,
82
85
  gasInDollar: D?.toString(),
83
86
  value: s,
84
87
  chainId: n,
85
- txHash: a,
88
+ txHash: i,
86
89
  activityType: m,
87
90
  status: c ?? u.PENDING,
88
91
  timestamp: /* @__PURE__ */ new Date(),
@@ -104,17 +107,17 @@ class E {
104
107
  const o = await this.getTransactionRecord();
105
108
  return Object.values(o).filter((r) => r.chainId === t).sort((r, e) => new Date(e.timestamp).getTime() - new Date(r.timestamp).getTime());
106
109
  }
107
- async updateTxStatusAndHash(t, o, r, e, i, s, n, c) {
108
- const a = await this.getTxRequest(t);
109
- if (!a)
110
+ async updateTxStatusAndHash(t, o, r, e, a, s, n, c) {
111
+ const i = await this.getTxRequest(t);
112
+ if (!i)
110
113
  throw new Error("Transaction not found");
111
- const m = await this.getTransactionRecord(), d = await this.getGasInDollar(n, c, a.chainId), p = {
112
- ...a,
114
+ const m = await this.getTransactionRecord(), d = await this.getGasInDollar(n, c, i.chainId), p = {
115
+ ...i,
113
116
  status: o,
114
117
  txHash: r,
115
- value: a.value ?? e,
116
- from: a.from ?? i,
117
- to: a.to ?? s,
118
+ value: i.value ?? e,
119
+ from: i.from ?? a,
120
+ to: i.to ?? s,
118
121
  gas: n,
119
122
  gasPrice: c,
120
123
  gasInDollar: d?.toString(),
@@ -122,11 +125,11 @@ class E {
122
125
  };
123
126
  return m[t] = p, await this.saveTransactionRecord(m), p;
124
127
  }
125
- async updateActivity(t, o, r, e, i, s, n, c) {
128
+ async updateActivity(t, o, r, e, a, s, n, c) {
126
129
  try {
127
- await this.updateTxStatusAndHash(t, o, r, e, i, s, n, c);
128
- } catch (a) {
129
- console.log("error in updating tx request", a);
130
+ await this.updateTxStatusAndHash(t, o, r, e, a, s, n, c);
131
+ } catch (i) {
132
+ console.log("error in updating tx request", i);
130
133
  }
131
134
  }
132
135
  async removePendingTransactions(t) {
@@ -170,10 +173,10 @@ class E {
170
173
  const e = q(k, r);
171
174
  if (!e)
172
175
  return;
173
- const i = (await C(r, e.erc20TokenAddress)).price;
174
- if (!i)
176
+ const a = (await C(r, e.erc20TokenAddress)).price;
177
+ if (!a)
175
178
  return;
176
- const n = i * Number(N(e, o.toBigInt())) * Number(t.toBigInt());
179
+ const n = a * Number(N(e, o.toBigInt())) * Number(t.toBigInt());
177
180
  return P(n);
178
181
  } catch (e) {
179
182
  b.error("Failed to calculate gas cost in dollars:", { chainId: r, error: e });
@@ -181,7 +184,7 @@ class E {
181
184
  }
182
185
  };
183
186
  }
184
- const Rt = new E();
187
+ const bt = new E();
185
188
  export {
186
- Rt as activityStorage
189
+ bt as activityStorage
187
190
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("idb-keyval"),q=require("../../error-handling/logger.cjs");require("../../types/circom-data.types.cjs");require("../../types/transactions.types.cjs");require("../../types/activities.types.cjs");require("../../constants/kyc.constants.cjs");require("ethers");require("axios");require("../../constants/token-data/index.cjs");require("../../error-handling/error-codes.constants.cjs");require("../../constants/chains.constants.cjs");require("../../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("circomlibjs-hinkal-fork");require("../crypto-keys/keys.cjs");require("../../constants/server.constants.cjs");require("../../constants/vite.constants.cjs");const d=require("../../functions/utils/caseInsensitive.utils.cjs");require("../../API/getServerURL.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../functions/utils/mutexes.utils.cjs");require("libsodium-wrappers");require("process");require("buffer");require("../../constants/save-depths.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/mystery-boxes.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");require("../../functions/utils/userAgent.cjs");require("multiformats");require("../../API/tenderly.api.cjs");require("node-forge");require("../../functions/web3/events/getApprovedBalance.cjs");require("../../functions/web3/getTokenHolder.cjs");require("ethers-v6h");class l{STORAGE_KEY="contacts";checkForDuplicate(o,e,r){if(o.find(({ethereumAddress:t,nickname:i})=>(t===e.ethereumAddress||i===e.nickname)&&t!==r)!==void 0)throw new Error("Duplicate Contact attribute")}async createContact(o,e){const r=o.toLowerCase();await s.update(this.STORAGE_KEY,c=>{const t=c??{},i=t[r]??[];return this.checkForDuplicate(i,e),i.push(e),t[r]=i,t})}async getContacts(o){try{const e=o.toLowerCase(),r=await s.get(this.STORAGE_KEY);return!r||!r[e]?[]:r[e]}catch(e){return q.Logger.error("Error while getting contacts:",e),[]}}async editContact(o,e,r){const c=o.toLowerCase();await s.update(this.STORAGE_KEY,t=>{const i=t??{},a=i[c];if(!i||!a)throw new Error("Contacts could not be fetched");this.checkForDuplicate(a,r,e);const n=a.findIndex(({ethereumAddress:u})=>d.caseInsensitiveEqual(u,e));if(n===-1)throw new Error("Contact to be edited was not found");return a[n]=r,i[c]=a,i})}async deleteContact(o,e){const r=o.toLowerCase();await s.update(this.STORAGE_KEY,c=>{const t=c??{},i=t[r];if(!t||!i)throw new Error("Contacts could not be fetched");const a=i.filter(({ethereumAddress:n})=>n!==e);return t[r]=a,t})}}const w=new l;exports.contactStorage=w;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("idb-keyval"),q=require("../../error-handling/logger.cjs");require("../../types/circom-data.types.cjs");require("../../types/transactions.types.cjs");require("../../types/activities.types.cjs");require("../../constants/kyc.constants.cjs");require("ethers");require("axios");require("../../constants/token-data/index.cjs");require("../../error-handling/error-codes.constants.cjs");require("../../constants/chains.constants.cjs");require("../../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("circomlibjs-hinkal-fork");require("../crypto-keys/keys.cjs");require("../../constants/server.constants.cjs");require("../../constants/vite.constants.cjs");const d=require("../../functions/utils/caseInsensitive.utils.cjs");require("../../API/getServerURL.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../functions/utils/mutexes.utils.cjs");require("libsodium-wrappers");require("process");require("buffer");require("../../constants/save-depths.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/mystery-boxes.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");require("../../functions/utils/userAgent.cjs");require("multiformats");require("../../API/tenderly.api.cjs");require("node-forge");require("../../functions/web3/events/getApprovedBalance.cjs");require("../../functions/web3/getTokenHolder.cjs");require("../../webworker/snarkjsWorker/snarkjsWorkerLogic.cjs");require("../../webworker/zkProofWorker/zkProofWorkerLogic.cjs");require("../../webworker/utxoWorker/utxoWorkerLogic.cjs");require("ethers-v6h");class l{STORAGE_KEY="contacts";checkForDuplicate(o,e,r){if(o.find(({ethereumAddress:t,nickname:i})=>(t===e.ethereumAddress||i===e.nickname)&&t!==r)!==void 0)throw new Error("Duplicate Contact attribute")}async createContact(o,e){const r=o.toLowerCase();await s.update(this.STORAGE_KEY,c=>{const t=c??{},i=t[r]??[];return this.checkForDuplicate(i,e),i.push(e),t[r]=i,t})}async getContacts(o){try{const e=o.toLowerCase(),r=await s.get(this.STORAGE_KEY);return!r||!r[e]?[]:r[e]}catch(e){return q.Logger.error("Error while getting contacts:",e),[]}}async editContact(o,e,r){const c=o.toLowerCase();await s.update(this.STORAGE_KEY,t=>{const i=t??{},a=i[c];if(!i||!a)throw new Error("Contacts could not be fetched");this.checkForDuplicate(a,r,e);const n=a.findIndex(({ethereumAddress:u})=>d.caseInsensitiveEqual(u,e));if(n===-1)throw new Error("Contact to be edited was not found");return a[n]=r,i[c]=a,i})}async deleteContact(o,e){const r=o.toLowerCase();await s.update(this.STORAGE_KEY,c=>{const t=c??{},i=t[r];if(!t||!i)throw new Error("Contacts could not be fetched");const a=i.filter(({ethereumAddress:n})=>n!==e);return t[r]=a,t})}}const w=new l;exports.contactStorage=w;
@@ -37,35 +37,38 @@ import "../../API/tenderly.api.mjs";
37
37
  import "node-forge";
38
38
  import "../../functions/web3/events/getApprovedBalance.mjs";
39
39
  import "../../functions/web3/getTokenHolder.mjs";
40
+ import "../../webworker/snarkjsWorker/snarkjsWorkerLogic.mjs";
41
+ import "../../webworker/zkProofWorker/zkProofWorkerLogic.mjs";
42
+ import "../../webworker/utxoWorker/utxoWorkerLogic.mjs";
40
43
  import "ethers-v6h";
41
44
  class w {
42
45
  STORAGE_KEY = "contacts";
43
- checkForDuplicate(i, t, o) {
44
- if (i.find(
45
- ({ ethereumAddress: r, nickname: e }) => (r === t.ethereumAddress || e === t.nickname) && r !== o
46
+ checkForDuplicate(e, t, o) {
47
+ if (e.find(
48
+ ({ ethereumAddress: r, nickname: i }) => (r === t.ethereumAddress || i === t.nickname) && r !== o
46
49
  ) !== void 0)
47
50
  throw new Error("Duplicate Contact attribute");
48
51
  }
49
- async createContact(i, t) {
50
- const o = i.toLowerCase();
52
+ async createContact(e, t) {
53
+ const o = e.toLowerCase();
51
54
  await s(this.STORAGE_KEY, (c) => {
52
- const r = c ?? {}, e = r[o] ?? [];
53
- return this.checkForDuplicate(e, t), e.push(t), r[o] = e, r;
55
+ const r = c ?? {}, i = r[o] ?? [];
56
+ return this.checkForDuplicate(i, t), i.push(t), r[o] = i, r;
54
57
  });
55
58
  }
56
- async getContacts(i) {
59
+ async getContacts(e) {
57
60
  try {
58
- const t = i.toLowerCase(), o = await p(this.STORAGE_KEY);
61
+ const t = e.toLowerCase(), o = await p(this.STORAGE_KEY);
59
62
  return !o || !o[t] ? [] : o[t];
60
63
  } catch (t) {
61
64
  return d.error("Error while getting contacts:", t), [];
62
65
  }
63
66
  }
64
- async editContact(i, t, o) {
65
- const c = i.toLowerCase();
67
+ async editContact(e, t, o) {
68
+ const c = e.toLowerCase();
66
69
  await s(this.STORAGE_KEY, (r) => {
67
- const e = r ?? {}, a = e[c];
68
- if (!e || !a)
70
+ const i = r ?? {}, a = i[c];
71
+ if (!i || !a)
69
72
  throw new Error("Contacts could not be fetched");
70
73
  this.checkForDuplicate(a, o, t);
71
74
  const n = a.findIndex(
@@ -73,23 +76,23 @@ class w {
73
76
  );
74
77
  if (n === -1)
75
78
  throw new Error("Contact to be edited was not found");
76
- return a[n] = o, e[c] = a, e;
79
+ return a[n] = o, i[c] = a, i;
77
80
  });
78
81
  }
79
- async deleteContact(i, t) {
80
- const o = i.toLowerCase();
82
+ async deleteContact(e, t) {
83
+ const o = e.toLowerCase();
81
84
  await s(this.STORAGE_KEY, (c) => {
82
- const r = c ?? {}, e = r[o];
83
- if (!r || !e)
85
+ const r = c ?? {}, i = r[o];
86
+ if (!r || !i)
84
87
  throw new Error("Contacts could not be fetched");
85
- const a = e.filter(
88
+ const a = i.filter(
86
89
  ({ ethereumAddress: n }) => n !== t
87
90
  );
88
91
  return r[o] = a, r;
89
92
  });
90
93
  }
91
94
  }
92
- const ot = new w();
95
+ const et = new w();
93
96
  export {
94
- ot as contactStorage
97
+ et as contactStorage
95
98
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("ethers"),T=require("idb-keyval"),_=require("../../API/API.cjs"),A=require("../../constants/chains.constants.cjs"),p=require("../../error-handling/logger.cjs"),E=require("../../functions/utils/caseInsensitive.utils.cjs"),g=require("../../types/cache.types.cjs"),d=require("../../functions/utils/string.utils.cjs"),m=require("../../constants/protocol.constants.cjs"),C=require("async-mutex"),S=require("../../functions/utils/erc20tokenFunctions.cjs"),I=require("./token-visibility-db.cjs");require("../../types/circom-data.types.cjs");require("../../types/transactions.types.cjs");require("../../types/activities.types.cjs");require("../../constants/kyc.constants.cjs");const K=require("../../functions/utils/create-provider.cjs");require("../../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("circomlibjs-hinkal-fork");require("../../error-handling/error-codes.constants.cjs");require("../crypto-keys/keys.cjs");require("../../constants/server.constants.cjs");require("../../constants/vite.constants.cjs");require("axios");require("../../API/getServerURL.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../functions/utils/mutexes.utils.cjs");require("libsodium-wrappers");require("process");require("buffer");require("../../constants/save-depths.cjs");require("../../constants/token-data/index.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/mystery-boxes.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");const x=require("../../constants/events.constants.cjs");require("../../functions/utils/userAgent.cjs");require("multiformats");require("../../API/tenderly.api.cjs");require("node-forge");require("../../functions/web3/events/getApprovedBalance.cjs");require("../../functions/web3/getTokenHolder.cjs");require("ethers-v6h");class P{fetchedTokens={};updateMutexes={};transferEventTopic=k.ethers.utils.id("Transfer(address,address,uint256)");getMutex(t){return this.updateMutexes[t]||(this.updateMutexes[t]=new C.Mutex),this.updateMutexes[t]}async getPublicTokens(t,o){const r=d.getStateKey(o,t);return(await T.get(g.StorageKeys.EVENTS_PUBLIC_TOKENS))?.[r]||[]}getFetchedTokens(t,o){const r=d.getStateKey(o,t);return this.fetchedTokens[r]||[]}async fetchAndUpdatePublicTokens(t,o){const r=d.getStateKey(t,o);await this.getMutex(r).runExclusive(async()=>{try{const s=(await this.getPublicTokens(o,t)).map(a=>a.erc20TokenAddress),{toEvents:i,fromEvents:u,latestBlock:c}=await this.getEvents(t,o),q=[...i,...u],{erc20Tokens:l}=await this.fetchPublicTokens(q,o,s),b=await I.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(o,l),B=l.filter(a=>!E.lowerCaseIncludes(b,a.erc20TokenAddress));await T.update(g.StorageKeys.EVENTS_PUBLIC_TOKENS,(a={})=>{const h=a[r]||[],w=h.map(f=>f.erc20TokenAddress),L=B.filter(f=>!E.lowerCaseIncludes(w,f.erc20TokenAddress));h.push(...L);const v=this.updateTokenIds(u,i,h),y={...a,[r]:v};return this.fetchedTokens=y,y}),c&&await this.updateLastProcessedBlock(o,t,c)}catch(e){p.Logger.error("public tokens db error",e)}})}async getLastProcessedBlock(t,o){const r=await T.get(g.StorageKeys.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS)||{},n=d.getStateKey(o,t);return r[n]||x.EVENTS_INITIAL_BLOCKS[t]}async updateLastProcessedBlock(t,o,r){await T.update(g.StorageKeys.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS,(n={})=>{const e=d.getStateKey(o,t);return{...n,[e]:r}})}async getEvents(t,o){try{const{fetchRpcUrl:r}=A.networkRegistry[o];if(!r)throw Error("No fetchRpcUrl in PublicTokensDB");const n=K.createTorRpcProvider(r),e=await this.getLastProcessedBlock(o,t)+1,s=await n.getBlockNumber(),i=k.ethers.utils.hexZeroPad(t.toLowerCase(),32),u={topics:[this.transferEventTopic,null,i],fromBlock:e,toBlock:s},c={topics:[this.transferEventTopic,i,null],fromBlock:e,toBlock:s},[q,l]=await Promise.all([n.getLogs(u),n.getLogs(c)]);return{toEvents:q,fromEvents:l,latestBlock:s}}catch(r){return p.Logger.error("Error fetching events:",r),{toEvents:[],fromEvents:[],latestBlock:void 0}}}updateTokenIds(t,o,r){const n=new Map;return r.forEach(e=>{if(S.isNFTToken(e)&&e.tokenIds){const s=e.erc20TokenAddress.toLowerCase();n.set(s,[...e.tokenIds])}}),o.forEach(e=>{if(e.topics.length<=3)return;const s=e.address.toLowerCase(),i=k.ethers.BigNumber.from(e.topics[3]).toString();n.has(s)||n.set(s,[]),n.get(s)?.push(i)}),t.forEach(e=>{if(e.topics.length<=3)return;const s=e.address.toLowerCase(),i=n.get(s);if(i?.length){const u=k.ethers.BigNumber.from(e.topics[3]).toString(),c=i.indexOf(u);c!==-1&&i.splice(c,1)}}),r.forEach(e=>{if(S.isNFTToken(e)){const s=e.erc20TokenAddress.toLowerCase(),i=n.get(s);e.tokenIds=i?.length&&i.length>0?i:void 0}}),r}async fetchPublicTokens(t,o,r){try{const n=[m.zeroAddress,...new Set(t.map(s=>s.address))].filter(s=>s&&!E.lowerCaseIncludes(r,s));return n.length?{erc20Tokens:(await _.API.tokensInfoCall(o,n)).filter(s=>!!s)}:{erc20Tokens:[]}}catch(n){return p.Logger.error("Error fetching public tokens:",n),{erc20Tokens:[]}}}}const N=new P;exports.EventsPublicTokensDB=P;exports.eventsPublicTokensDB=N;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("ethers"),T=require("idb-keyval"),_=require("../../API/API.cjs"),A=require("../../constants/chains.constants.cjs"),p=require("../../error-handling/logger.cjs"),E=require("../../functions/utils/caseInsensitive.utils.cjs"),g=require("../../types/cache.types.cjs"),d=require("../../functions/utils/string.utils.cjs"),m=require("../../constants/protocol.constants.cjs"),C=require("async-mutex"),S=require("../../functions/utils/erc20tokenFunctions.cjs"),I=require("./token-visibility-db.cjs");require("../../types/circom-data.types.cjs");require("../../types/transactions.types.cjs");require("../../types/activities.types.cjs");require("../../constants/kyc.constants.cjs");const K=require("../../functions/utils/create-provider.cjs");require("../../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("circomlibjs-hinkal-fork");require("../../error-handling/error-codes.constants.cjs");require("../crypto-keys/keys.cjs");require("../../constants/server.constants.cjs");require("../../constants/vite.constants.cjs");require("axios");require("../../API/getServerURL.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../functions/utils/mutexes.utils.cjs");require("libsodium-wrappers");require("process");require("buffer");require("../../constants/save-depths.cjs");require("../../constants/token-data/index.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/mystery-boxes.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");const x=require("../../constants/events.constants.cjs");require("../../functions/utils/userAgent.cjs");require("multiformats");require("../../API/tenderly.api.cjs");require("node-forge");require("../../functions/web3/events/getApprovedBalance.cjs");require("../../functions/web3/getTokenHolder.cjs");require("../../webworker/snarkjsWorker/snarkjsWorkerLogic.cjs");require("../../webworker/zkProofWorker/zkProofWorkerLogic.cjs");require("../../webworker/utxoWorker/utxoWorkerLogic.cjs");require("ethers-v6h");class P{fetchedTokens={};updateMutexes={};transferEventTopic=k.ethers.utils.id("Transfer(address,address,uint256)");getMutex(r){return this.updateMutexes[r]||(this.updateMutexes[r]=new C.Mutex),this.updateMutexes[r]}async getPublicTokens(r,o){const t=d.getStateKey(o,r);return(await T.get(g.StorageKeys.EVENTS_PUBLIC_TOKENS))?.[t]||[]}getFetchedTokens(r,o){const t=d.getStateKey(o,r);return this.fetchedTokens[t]||[]}async fetchAndUpdatePublicTokens(r,o){const t=d.getStateKey(r,o);await this.getMutex(t).runExclusive(async()=>{try{const s=(await this.getPublicTokens(o,r)).map(a=>a.erc20TokenAddress),{toEvents:i,fromEvents:u,latestBlock:c}=await this.getEvents(r,o),q=[...i,...u],{erc20Tokens:l}=await this.fetchPublicTokens(q,o,s),b=await I.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(o,l),B=l.filter(a=>!E.lowerCaseIncludes(b,a.erc20TokenAddress));await T.update(g.StorageKeys.EVENTS_PUBLIC_TOKENS,(a={})=>{const h=a[t]||[],w=h.map(f=>f.erc20TokenAddress),L=B.filter(f=>!E.lowerCaseIncludes(w,f.erc20TokenAddress));h.push(...L);const v=this.updateTokenIds(u,i,h),y={...a,[t]:v};return this.fetchedTokens=y,y}),c&&await this.updateLastProcessedBlock(o,r,c)}catch(e){p.Logger.error("public tokens db error",e)}})}async getLastProcessedBlock(r,o){const t=await T.get(g.StorageKeys.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS)||{},n=d.getStateKey(o,r);return t[n]||x.EVENTS_INITIAL_BLOCKS[r]}async updateLastProcessedBlock(r,o,t){await T.update(g.StorageKeys.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS,(n={})=>{const e=d.getStateKey(o,r);return{...n,[e]:t}})}async getEvents(r,o){try{const{fetchRpcUrl:t}=A.networkRegistry[o];if(!t)throw Error("No fetchRpcUrl in PublicTokensDB");const n=K.createTorRpcProvider(t),e=await this.getLastProcessedBlock(o,r)+1,s=await n.getBlockNumber(),i=k.ethers.utils.hexZeroPad(r.toLowerCase(),32),u={topics:[this.transferEventTopic,null,i],fromBlock:e,toBlock:s},c={topics:[this.transferEventTopic,i,null],fromBlock:e,toBlock:s},[q,l]=await Promise.all([n.getLogs(u),n.getLogs(c)]);return{toEvents:q,fromEvents:l,latestBlock:s}}catch(t){return p.Logger.error("Error fetching events:",t),{toEvents:[],fromEvents:[],latestBlock:void 0}}}updateTokenIds(r,o,t){const n=new Map;return t.forEach(e=>{if(S.isNFTToken(e)&&e.tokenIds){const s=e.erc20TokenAddress.toLowerCase();n.set(s,[...e.tokenIds])}}),o.forEach(e=>{if(e.topics.length<=3)return;const s=e.address.toLowerCase(),i=k.ethers.BigNumber.from(e.topics[3]).toString();n.has(s)||n.set(s,[]),n.get(s)?.push(i)}),r.forEach(e=>{if(e.topics.length<=3)return;const s=e.address.toLowerCase(),i=n.get(s);if(i?.length){const u=k.ethers.BigNumber.from(e.topics[3]).toString(),c=i.indexOf(u);c!==-1&&i.splice(c,1)}}),t.forEach(e=>{if(S.isNFTToken(e)){const s=e.erc20TokenAddress.toLowerCase(),i=n.get(s);e.tokenIds=i?.length&&i.length>0?i:void 0}}),t}async fetchPublicTokens(r,o,t){try{const n=[m.zeroAddress,...new Set(r.map(s=>s.address))].filter(s=>s&&!E.lowerCaseIncludes(t,s));return n.length?{erc20Tokens:(await _.API.tokensInfoCall(o,n)).filter(s=>!!s)}:{erc20Tokens:[]}}catch(n){return p.Logger.error("Error fetching public tokens:",n),{erc20Tokens:[]}}}}const N=new P;exports.EventsPublicTokensDB=P;exports.eventsPublicTokensDB=N;
@@ -5,7 +5,7 @@ import { networkRegistry as C } from "../../constants/chains.constants.mjs";
5
5
  import { Logger as h } from "../../error-handling/logger.mjs";
6
6
  import { lowerCaseIncludes as g } from "../../functions/utils/caseInsensitive.utils.mjs";
7
7
  import { StorageKeys as k } from "../../types/cache.types.mjs";
8
- import { getStateKey as d } from "../../functions/utils/string.utils.mjs";
8
+ import { getStateKey as m } from "../../functions/utils/string.utils.mjs";
9
9
  import { zeroAddress as x } from "../../constants/protocol.constants.mjs";
10
10
  import { Mutex as _ } from "async-mutex";
11
11
  import { isNFTToken as P } from "../../functions/utils/erc20tokenFunctions.mjs";
@@ -45,6 +45,9 @@ import "../../API/tenderly.api.mjs";
45
45
  import "node-forge";
46
46
  import "../../functions/web3/events/getApprovedBalance.mjs";
47
47
  import "../../functions/web3/getTokenHolder.mjs";
48
+ import "../../webworker/snarkjsWorker/snarkjsWorkerLogic.mjs";
49
+ import "../../webworker/zkProofWorker/zkProofWorkerLogic.mjs";
50
+ import "../../webworker/utxoWorker/utxoWorkerLogic.mjs";
48
51
  import "ethers-v6h";
49
52
  class K {
50
53
  fetchedTokens = {};
@@ -54,21 +57,21 @@ class K {
54
57
  return this.updateMutexes[e] || (this.updateMutexes[e] = new _()), this.updateMutexes[e];
55
58
  }
56
59
  async getPublicTokens(e, s) {
57
- const o = d(s, e);
60
+ const o = m(s, e);
58
61
  return (await B(k.EVENTS_PUBLIC_TOKENS))?.[o] || [];
59
62
  }
60
63
  getFetchedTokens(e, s) {
61
- const o = d(s, e);
64
+ const o = m(s, e);
62
65
  return this.fetchedTokens[o] || [];
63
66
  }
64
67
  async fetchAndUpdatePublicTokens(e, s) {
65
- const o = d(e, s);
68
+ const o = m(e, s);
66
69
  await this.getMutex(o).runExclusive(async () => {
67
70
  try {
68
- const r = (await this.getPublicTokens(s, e)).map((a) => a.erc20TokenAddress), { toEvents: i, fromEvents: p, latestBlock: c } = await this.getEvents(e, s), l = [...i, ...p], { erc20Tokens: m } = await this.fetchPublicTokens(l, s, r), S = await N.hideSpamsAndFetchHiddenTokensAddresses(
71
+ const r = (await this.getPublicTokens(s, e)).map((a) => a.erc20TokenAddress), { toEvents: i, fromEvents: p, latestBlock: c } = await this.getEvents(e, s), l = [...i, ...p], { erc20Tokens: d } = await this.fetchPublicTokens(l, s, r), S = await N.hideSpamsAndFetchHiddenTokensAddresses(
69
72
  s,
70
- m
71
- ), L = m.filter(
73
+ d
74
+ ), L = d.filter(
72
75
  (a) => !g(S, a.erc20TokenAddress)
73
76
  // filter out hidden tokens
74
77
  );
@@ -89,12 +92,12 @@ class K {
89
92
  });
90
93
  }
91
94
  async getLastProcessedBlock(e, s) {
92
- const o = await B(k.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS) || {}, n = d(s, e);
95
+ const o = await B(k.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS) || {}, n = m(s, e);
93
96
  return o[n] || O[e];
94
97
  }
95
98
  async updateLastProcessedBlock(e, s, o) {
96
99
  await w(k.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS, (n = {}) => {
97
- const t = d(s, e);
100
+ const t = m(s, e);
98
101
  return {
99
102
  ...n,
100
103
  [t]: o
@@ -114,8 +117,8 @@ class K {
114
117
  topics: [this.transferEventTopic, i, null],
115
118
  fromBlock: t,
116
119
  toBlock: r
117
- }, [l, m] = await Promise.all([n.getLogs(p), n.getLogs(c)]);
118
- return { toEvents: l, fromEvents: m, latestBlock: r };
120
+ }, [l, d] = await Promise.all([n.getLogs(p), n.getLogs(c)]);
121
+ return { toEvents: l, fromEvents: d, latestBlock: r };
119
122
  } catch (o) {
120
123
  return h.error("Error fetching events:", o), { toEvents: [], fromEvents: [], latestBlock: void 0 };
121
124
  }
@@ -163,8 +166,8 @@ class K {
163
166
  }
164
167
  }
165
168
  }
166
- const _t = new K();
169
+ const Ot = new K();
167
170
  export {
168
171
  K as EventsPublicTokensDB,
169
- _t as eventsPublicTokensDB
172
+ Ot as eventsPublicTokensDB
170
173
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../error-handling/error-codes.constants.cjs");require("ethers");const n=require("../../../error-handling/customErrors/ErrorWithTx.cjs");require("../../../types/circom-data.types.cjs");require("../../../types/transactions.types.cjs");require("../../../types/activities.types.cjs");require("../../../constants/server.constants.cjs");require("../../../API/getServerURL.cjs");require("axios");require("../../../constants/chains.constants.cjs");require("../../../constants/reorg-depths.constants.cjs");require("../../utils/mutexes.utils.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");require("../../../constants/vite.constants.cjs");require("../../../constants/save-depths.cjs");const l=require("../../../API/callRelayer.cjs");require("../../../data-structures/crypto-keys/keys.cjs");const m=require("../../snarkjs/common.snarkjs.cjs");require("node-forge");require("../../../constants/token-data/index.cjs");require("idb-keyval");require("../../utils/convertIntegrationProviderToExternalActionId.cjs");require("../../../constants/contracts.constants.cjs");require("../../../constants/kyc.constants.cjs");require("../../../constants/coingecko.constants.cjs");require("../../../constants/addresses.constants.cjs");require("../../../constants/token.limits.constants.cjs");require("../../../constants/presale.constants.cjs");require("../../../constants/mystery-boxes.constants.cjs");require("../../../constants/activity.constants.cjs");require("../../../constants/tasks.constants.cjs");require("../../../constants/events.constants.cjs");require("../../utils/userAgent.cjs");require("multiformats");require("../../../API/tenderly.api.cjs");require("ethers-v6h");const y=async(i,e,u,q,o,s,a,t)=>{const c=m.serializeCircomData(q),r=await l.callRelayerTransactAPI(i,{a:e[0],b:e[1],c:e[2],dimData:u,circomData:c,withPrivateMempool:o,withUniswapWorkAround:s,authorizationData:a,adminData:t});if(r.status==="success")return r.message;throw r.message&&r.error?new n.ErrorWithRelayerTransaction(r.error,r.message):new Error(r.error)};exports.transactCallRelayer=y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../error-handling/error-codes.constants.cjs");require("ethers");const n=require("../../../error-handling/customErrors/ErrorWithTx.cjs");require("../../../types/circom-data.types.cjs");require("../../../types/transactions.types.cjs");require("../../../types/activities.types.cjs");require("../../../constants/server.constants.cjs");require("../../../API/getServerURL.cjs");require("axios");require("../../../constants/chains.constants.cjs");require("../../../constants/reorg-depths.constants.cjs");require("../../utils/mutexes.utils.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");require("../../../constants/vite.constants.cjs");require("../../../constants/save-depths.cjs");const l=require("../../../API/callRelayer.cjs");require("../../../data-structures/crypto-keys/keys.cjs");require("../../../webworker/snarkjsWorker/snarkjsWorkerLogic.cjs");require("../../../webworker/zkProofWorker/zkProofWorkerLogic.cjs");require("../../../webworker/utxoWorker/utxoWorkerLogic.cjs");const m=require("../../snarkjs/common.snarkjs.cjs");require("node-forge");require("../../../constants/token-data/index.cjs");require("idb-keyval");require("../../utils/convertIntegrationProviderToExternalActionId.cjs");require("../../../constants/contracts.constants.cjs");require("../../../constants/kyc.constants.cjs");require("../../../constants/coingecko.constants.cjs");require("../../../constants/addresses.constants.cjs");require("../../../constants/token.limits.constants.cjs");require("../../../constants/presale.constants.cjs");require("../../../constants/mystery-boxes.constants.cjs");require("../../../constants/activity.constants.cjs");require("../../../constants/tasks.constants.cjs");require("../../../constants/events.constants.cjs");require("../../utils/userAgent.cjs");require("multiformats");require("../../../API/tenderly.api.cjs");require("ethers-v6h");const y=async(i,e,u,q,o,s,a,t)=>{const c=m.serializeCircomData(q),r=await l.callRelayerTransactAPI(i,{a:e[0],b:e[1],c:e[2],dimData:u,circomData:c,withPrivateMempool:o,withUniswapWorkAround:s,authorizationData:a,adminData:t});if(r.status==="success")return r.message;throw r.message&&r.error?new n.ErrorWithRelayerTransaction(r.error,r.message):new Error(r.error)};exports.transactCallRelayer=y;
@@ -18,6 +18,9 @@ import "../../../constants/vite.constants.mjs";
18
18
  import "../../../constants/save-depths.mjs";
19
19
  import { callRelayerTransactAPI as f } from "../../../API/callRelayer.mjs";
20
20
  import "../../../data-structures/crypto-keys/keys.mjs";
21
+ import "../../../webworker/snarkjsWorker/snarkjsWorkerLogic.mjs";
22
+ import "../../../webworker/zkProofWorker/zkProofWorkerLogic.mjs";
23
+ import "../../../webworker/utxoWorker/utxoWorkerLogic.mjs";
21
24
  import { serializeCircomData as l } from "../../snarkjs/common.snarkjs.mjs";
22
25
  import "node-forge";
23
26
  import "../../../constants/token-data/index.mjs";
@@ -37,7 +40,7 @@ import "../../utils/userAgent.mjs";
37
40
  import "multiformats";
38
41
  import "../../../API/tenderly.api.mjs";
39
42
  import "ethers-v6h";
40
- const rr = async (t, o, i, m, p, e, s, a) => {
43
+ const ir = async (t, o, i, m, p, e, s, a) => {
41
44
  const c = l(m), r = await f(t, {
42
45
  a: o[0],
43
46
  b: o[1],
@@ -54,5 +57,5 @@ const rr = async (t, o, i, m, p, e, s, a) => {
54
57
  throw r.message && r.error ? new n(r.error, r.message) : new Error(r.error);
55
58
  };
56
59
  export {
57
- rr as transactCallRelayer
60
+ ir as transactCallRelayer
58
61
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sabaaa1/common",
3
- "version": "0.0.44",
3
+ "version": "0.0.45",
4
4
  "homepage": "hinkal.pro",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../constants/chains.constants.cjs"),n=require("../error-handling/error-codes.constants.cjs"),c=require("ethers"),o=require("../functions/web3/getContractMetadata.cjs");require("../types/circom-data.types.cjs");require("../types/transactions.types.cjs");require("../types/activities.types.cjs");require("../constants/kyc.constants.cjs");require("idb-keyval");const h=require("../functions/utils/create-provider.cjs");require("../constants/token-data/index.cjs");require("../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("circomlibjs-hinkal-fork");require("../data-structures/crypto-keys/keys.cjs");require("../constants/server.constants.cjs");require("../constants/vite.constants.cjs");require("axios");require("../API/getServerURL.cjs");require("../constants/reorg-depths.constants.cjs");require("../functions/utils/mutexes.utils.cjs");require("libsodium-wrappers");require("process");require("buffer");require("../constants/save-depths.cjs");require("../constants/contracts.constants.cjs");require("../constants/coingecko.constants.cjs");require("../constants/addresses.constants.cjs");require("../constants/token.limits.constants.cjs");require("../constants/presale.constants.cjs");require("../constants/mystery-boxes.constants.cjs");require("../constants/activity.constants.cjs");require("../constants/tasks.constants.cjs");require("../constants/events.constants.cjs");require("../functions/utils/userAgent.cjs");require("multiformats");require("../API/tenderly.api.cjs");require("node-forge");require("../functions/web3/events/getApprovedBalance.cjs");require("../functions/web3/getTokenHolder.cjs");require("ethers-v6h");class s{signer;chainId;originalProvider;fetchProvider;chainEventListener;initConnector(){}initSigner(r){this.signer=r}getSigner(){if(!this.signer)throw new Error("No Signer In Provider Adapter");return this.signer}requireSigner(){if(!this.signer)throw Error("No Connector In Provider Adapter")}async init(r){this.requireSigner(),r&&(this.chainId=r);const e=this.signer.provider,t=this.createFetchProvider();this.originalProvider=e,this.fetchProvider=t??e,this.fetchProvider===e&&console.warn("fetchProvider not available, falling back to signer provider")}async disconnectFromConnector(){}async connectToConnector(){return 0}async waitForTransaction(r,e){if((await this.fetchProvider?.waitForTransaction(r,e))?.status)return!0;throw Error(n.transactionErrorCodes.TRANSACTION_NOT_CONFIRMED)}async signMessage(r){this.requireSigner();const e=await this.signer.signMessage(r);if(!e)throw new Error(n.transactionErrorCodes.SIGNING_FAILED);if(e.includes("error"))throw new Error(n.transactionErrorCodes.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);return e}async signTypedData(r,e,t){return this.signer._signTypedData(r,e,t)}getSelectedNetwork=()=>{if(!this.chainId)throw new Error("Illegal state: no chaindId");return i.networkRegistry[this.chainId]};async switchNetwork(r){if(this.originalProvider=this.createFetchProvider(r)??this.originalProvider,!this.originalProvider)throw new Error("switchNetwork illegal state: no provider");this.signer=this.signer?.connect(this.originalProvider),this.chainEventListener?.onChainChanged(r.chainId)}async switchAccount(r){const e=this.createFetchProvider();if(!e)throw new Error("can't create new fetch provider");this.signer=r.connect(e),await this.onAccountChanged(),this.chainEventListener?.onAccountChanged()}createFetchProvider(r){try{const t=(r??i.networkRegistry[this.chainId])?.fetchRpcUrl;return t?h.createTorRpcProvider(t):void 0}catch(e){console.log("create Fetch Provider error",e);return}}async getAddress(){this.requireSigner();const r=await this.signer.getAddress();if(!r)throw new Error("IllegalState");return c.utils.getAddress(r)}setChainEventListener(r){this.chainEventListener=r}onAccountChanged(){return this.init()}onChainChanged(r){return this.init(r)}release(){this.removeListeners()}removeListeners(){this.chainEventListener=void 0}parseChainIdParam(r){const e=r??this.chainId;if(!e)throw new Error("No chainId provided in context");return e}getContractMetadata(r,e){const t=this.parseChainIdParam(e);return o.getContractMetadata(r,t)}getContract(r,e=void 0,t){const a=this.parseChainIdParam(t);return o.getContract(r,a,e)}getContractWithSigner(r,e=void 0){if(!this.signer)throw new Error("IllegalState: no signer");return this.getContract(r,e).connect(this.signer)}getContractWithFetcher(r,e=void 0){if(!this.fetchProvider)throw new Error("fetchProvider not initialized");return this.getContract(r,e).connect(this.fetchProvider)}getContractWithFetcherForEthereum(r,e=void 0){const t=this.chainId===i.chainIds.localhost&&i.localhostNetwork===i.chainIds.ethMainnet?i.chainIds.localhost:i.chainIds.ethMainnet;return o.getContractWithFetcherByChainId(t,r,e)}async sendTransaction(r){if(!this.signer)throw new Error("IllegalState: no signer");return await this.signer.sendTransaction(r)}async connectAndPatchProvider(){return this.requireSigner(),await this.signer.getChainId()}isPermitterAvailable(){return!1}async getGasPrice(){const r=await this.fetchProvider?.getGasPrice();if(!r)throw Error("Could not fetch gas price in getGasPrice");return r.toBigInt()}}const d=new s,u=()=>new s;exports.EthersProviderAdapter=s;exports.default=u;exports.ethersProvierAdapter=d;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../constants/chains.constants.cjs"),n=require("../error-handling/error-codes.constants.cjs"),c=require("ethers"),o=require("../functions/web3/getContractMetadata.cjs");require("../types/circom-data.types.cjs");require("../types/transactions.types.cjs");require("../types/activities.types.cjs");require("../constants/kyc.constants.cjs");require("idb-keyval");const h=require("../functions/utils/create-provider.cjs");require("../constants/token-data/index.cjs");require("../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("circomlibjs-hinkal-fork");require("../data-structures/crypto-keys/keys.cjs");require("../constants/server.constants.cjs");require("../constants/vite.constants.cjs");require("axios");require("../API/getServerURL.cjs");require("../constants/reorg-depths.constants.cjs");require("../functions/utils/mutexes.utils.cjs");require("libsodium-wrappers");require("process");require("buffer");require("../constants/save-depths.cjs");require("../constants/contracts.constants.cjs");require("../constants/coingecko.constants.cjs");require("../constants/addresses.constants.cjs");require("../constants/token.limits.constants.cjs");require("../constants/presale.constants.cjs");require("../constants/mystery-boxes.constants.cjs");require("../constants/activity.constants.cjs");require("../constants/tasks.constants.cjs");require("../constants/events.constants.cjs");require("../functions/utils/userAgent.cjs");require("multiformats");require("../API/tenderly.api.cjs");require("node-forge");require("../functions/web3/events/getApprovedBalance.cjs");require("../functions/web3/getTokenHolder.cjs");require("../webworker/snarkjsWorker/snarkjsWorkerLogic.cjs");require("../webworker/zkProofWorker/zkProofWorkerLogic.cjs");require("../webworker/utxoWorker/utxoWorkerLogic.cjs");require("ethers-v6h");class s{signer;chainId;originalProvider;fetchProvider;chainEventListener;initConnector(){}initSigner(r){this.signer=r}getSigner(){if(!this.signer)throw new Error("No Signer In Provider Adapter");return this.signer}requireSigner(){if(!this.signer)throw Error("No Connector In Provider Adapter")}async init(r){this.requireSigner(),r&&(this.chainId=r);const e=this.signer.provider,t=this.createFetchProvider();this.originalProvider=e,this.fetchProvider=t??e,this.fetchProvider===e&&console.warn("fetchProvider not available, falling back to signer provider")}async disconnectFromConnector(){}async connectToConnector(){return 0}async waitForTransaction(r,e){if((await this.fetchProvider?.waitForTransaction(r,e))?.status)return!0;throw Error(n.transactionErrorCodes.TRANSACTION_NOT_CONFIRMED)}async signMessage(r){this.requireSigner();const e=await this.signer.signMessage(r);if(!e)throw new Error(n.transactionErrorCodes.SIGNING_FAILED);if(e.includes("error"))throw new Error(n.transactionErrorCodes.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);return e}async signTypedData(r,e,t){return this.signer._signTypedData(r,e,t)}getSelectedNetwork=()=>{if(!this.chainId)throw new Error("Illegal state: no chaindId");return i.networkRegistry[this.chainId]};async switchNetwork(r){if(this.originalProvider=this.createFetchProvider(r)??this.originalProvider,!this.originalProvider)throw new Error("switchNetwork illegal state: no provider");this.signer=this.signer?.connect(this.originalProvider),this.chainEventListener?.onChainChanged(r.chainId)}async switchAccount(r){const e=this.createFetchProvider();if(!e)throw new Error("can't create new fetch provider");this.signer=r.connect(e),await this.onAccountChanged(),this.chainEventListener?.onAccountChanged()}createFetchProvider(r){try{const t=(r??i.networkRegistry[this.chainId])?.fetchRpcUrl;return t?h.createTorRpcProvider(t):void 0}catch(e){console.log("create Fetch Provider error",e);return}}async getAddress(){this.requireSigner();const r=await this.signer.getAddress();if(!r)throw new Error("IllegalState");return c.utils.getAddress(r)}setChainEventListener(r){this.chainEventListener=r}onAccountChanged(){return this.init()}onChainChanged(r){return this.init(r)}release(){this.removeListeners()}removeListeners(){this.chainEventListener=void 0}parseChainIdParam(r){const e=r??this.chainId;if(!e)throw new Error("No chainId provided in context");return e}getContractMetadata(r,e){const t=this.parseChainIdParam(e);return o.getContractMetadata(r,t)}getContract(r,e=void 0,t){const a=this.parseChainIdParam(t);return o.getContract(r,a,e)}getContractWithSigner(r,e=void 0){if(!this.signer)throw new Error("IllegalState: no signer");return this.getContract(r,e).connect(this.signer)}getContractWithFetcher(r,e=void 0){if(!this.fetchProvider)throw new Error("fetchProvider not initialized");return this.getContract(r,e).connect(this.fetchProvider)}getContractWithFetcherForEthereum(r,e=void 0){const t=this.chainId===i.chainIds.localhost&&i.localhostNetwork===i.chainIds.ethMainnet?i.chainIds.localhost:i.chainIds.ethMainnet;return o.getContractWithFetcherByChainId(t,r,e)}async sendTransaction(r){if(!this.signer)throw new Error("IllegalState: no signer");return await this.signer.sendTransaction(r)}async connectAndPatchProvider(){return this.requireSigner(),await this.signer.getChainId()}isPermitterAvailable(){return!1}async getGasPrice(){const r=await this.fetchProvider?.getGasPrice();if(!r)throw Error("Could not fetch gas price in getGasPrice");return r.toBigInt()}}const d=new s,u=()=>new s;exports.EthersProviderAdapter=s;exports.default=u;exports.ethersProvierAdapter=d;
@@ -1,4 +1,4 @@
1
- import { networkRegistry as o, chainIds as i, localhostNetwork as c } from "../constants/chains.constants.mjs";
1
+ import { networkRegistry as o, chainIds as e, localhostNetwork as c } from "../constants/chains.constants.mjs";
2
2
  import { transactionErrorCodes as n } from "../error-handling/error-codes.constants.mjs";
3
3
  import { utils as h } from "ethers";
4
4
  import { getContractMetadata as d, getContract as g, getContractWithFetcherByChainId as p } from "../functions/web3/getContractMetadata.mjs";
@@ -37,6 +37,9 @@ import "../API/tenderly.api.mjs";
37
37
  import "node-forge";
38
38
  import "../functions/web3/events/getApprovedBalance.mjs";
39
39
  import "../functions/web3/getTokenHolder.mjs";
40
+ import "../webworker/snarkjsWorker/snarkjsWorkerLogic.mjs";
41
+ import "../webworker/zkProofWorker/zkProofWorkerLogic.mjs";
42
+ import "../webworker/utxoWorker/utxoWorkerLogic.mjs";
40
43
  import "ethers-v6h";
41
44
  class s {
42
45
  signer;
@@ -60,8 +63,8 @@ class s {
60
63
  }
61
64
  async init(r) {
62
65
  this.requireSigner(), r && (this.chainId = r);
63
- const t = this.signer.provider, e = this.createFetchProvider();
64
- this.originalProvider = t, this.fetchProvider = e ?? t, this.fetchProvider === t && console.warn("fetchProvider not available, falling back to signer provider");
66
+ const t = this.signer.provider, i = this.createFetchProvider();
67
+ this.originalProvider = t, this.fetchProvider = i ?? t, this.fetchProvider === t && console.warn("fetchProvider not available, falling back to signer provider");
65
68
  }
66
69
  async disconnectFromConnector() {
67
70
  }
@@ -82,8 +85,8 @@ class s {
82
85
  throw new Error(n.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);
83
86
  return t;
84
87
  }
85
- async signTypedData(r, t, e) {
86
- return this.signer._signTypedData(r, t, e);
88
+ async signTypedData(r, t, i) {
89
+ return this.signer._signTypedData(r, t, i);
87
90
  }
88
91
  getSelectedNetwork = () => {
89
92
  if (!this.chainId)
@@ -103,8 +106,8 @@ class s {
103
106
  }
104
107
  createFetchProvider(r) {
105
108
  try {
106
- const e = (r ?? o[this.chainId])?.fetchRpcUrl;
107
- return e ? m(e) : void 0;
109
+ const i = (r ?? o[this.chainId])?.fetchRpcUrl;
110
+ return i ? m(i) : void 0;
108
111
  } catch (t) {
109
112
  console.log("create Fetch Provider error", t);
110
113
  return;
@@ -139,11 +142,11 @@ class s {
139
142
  return t;
140
143
  }
141
144
  getContractMetadata(r, t) {
142
- const e = this.parseChainIdParam(t);
143
- return d(r, e);
145
+ const i = this.parseChainIdParam(t);
146
+ return d(r, i);
144
147
  }
145
- getContract(r, t = void 0, e) {
146
- const a = this.parseChainIdParam(e);
148
+ getContract(r, t = void 0, i) {
149
+ const a = this.parseChainIdParam(i);
147
150
  return g(r, a, t);
148
151
  }
149
152
  getContractWithSigner(r, t = void 0) {
@@ -157,8 +160,8 @@ class s {
157
160
  return this.getContract(r, t).connect(this.fetchProvider);
158
161
  }
159
162
  getContractWithFetcherForEthereum(r, t = void 0) {
160
- const e = this.chainId === i.localhost && c === i.ethMainnet ? i.localhost : i.ethMainnet;
161
- return p(e, r, t);
163
+ const i = this.chainId === e.localhost && c === e.ethMainnet ? e.localhost : e.ethMainnet;
164
+ return p(i, r, t);
162
165
  }
163
166
  async sendTransaction(r) {
164
167
  if (!this.signer)
@@ -178,9 +181,9 @@ class s {
178
181
  return r.toBigInt();
179
182
  }
180
183
  }
181
- const tr = new s(), er = () => new s();
184
+ const nr = new s(), or = () => new s();
182
185
  export {
183
186
  s as EthersProviderAdapter,
184
- er as default,
185
- tr as ethersProvierAdapter
187
+ or as default,
188
+ nr as ethersProvierAdapter
186
189
  };