@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.
- package/assets/{snarkjsWorkerLogic-B9NbAQYW.js → snarkjsWorkerLauncher-Cw1M6jKV.js} +535 -536
- package/assets/{utxoWorkerLogic-DEqWaadT.js → utxoWorkerLauncher-DU_Rrw_I.js} +16801 -15613
- package/assets/{zkProofWorkerLogic-DB9cbXu-.js → zkProofWorkerLauncher-BEDgIMB_.js} +16094 -14906
- package/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/data-structures/Hinkal/Hinkal.mjs +5 -2
- package/data-structures/IndexedDB/activity-db.cjs +1 -1
- package/data-structures/IndexedDB/activity-db.mjs +25 -22
- package/data-structures/IndexedDB/contact-db.cjs +1 -1
- package/data-structures/IndexedDB/contact-db.mjs +24 -21
- package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +16 -13
- package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
- package/functions/web3/functionCalls/transactCallRelayer.mjs +5 -2
- package/package.json +1 -1
- package/providers/EthersProviderAdapter.cjs +1 -1
- package/providers/EthersProviderAdapter.mjs +19 -16
- package/providers/prepareEthersHinkal.cjs +1 -1
- package/providers/prepareEthersHinkal.mjs +5 -2
- package/providers/prepareWagmiHinkal.cjs +1 -1
- package/providers/prepareWagmiHinkal.mjs +5 -2
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +1 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.mjs +2 -2
- package/webworker/workerFactory.cjs +1 -1
- package/webworker/workerFactory.mjs +26 -27
- package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +1 -1
- package/assets/snarkjsWorkerLauncher-Dsmwcy9L.js +0 -1176
- package/assets/utxoWorkerLauncher-BUSzpnDL.js +0 -1205
- 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
|
|
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
|
-
|
|
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:
|
|
65
|
+
gasPrice: a,
|
|
63
66
|
value: s,
|
|
64
67
|
chainId: n,
|
|
65
68
|
status: c,
|
|
66
|
-
txHash:
|
|
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,
|
|
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:
|
|
84
|
+
gasPrice: a,
|
|
82
85
|
gasInDollar: D?.toString(),
|
|
83
86
|
value: s,
|
|
84
87
|
chainId: n,
|
|
85
|
-
txHash:
|
|
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,
|
|
108
|
-
const
|
|
109
|
-
if (!
|
|
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,
|
|
112
|
-
...
|
|
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:
|
|
116
|
-
from:
|
|
117
|
-
to:
|
|
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,
|
|
128
|
+
async updateActivity(t, o, r, e, a, s, n, c) {
|
|
126
129
|
try {
|
|
127
|
-
await this.updateTxStatusAndHash(t, o, r, e,
|
|
128
|
-
} catch (
|
|
129
|
-
console.log("error in updating tx request",
|
|
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
|
|
174
|
-
if (!
|
|
176
|
+
const a = (await C(r, e.erc20TokenAddress)).price;
|
|
177
|
+
if (!a)
|
|
175
178
|
return;
|
|
176
|
-
const n =
|
|
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
|
|
187
|
+
const bt = new E();
|
|
185
188
|
export {
|
|
186
|
-
|
|
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(
|
|
44
|
-
if (
|
|
45
|
-
({ ethereumAddress: r, nickname:
|
|
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(
|
|
50
|
-
const o =
|
|
52
|
+
async createContact(e, t) {
|
|
53
|
+
const o = e.toLowerCase();
|
|
51
54
|
await s(this.STORAGE_KEY, (c) => {
|
|
52
|
-
const r = c ?? {},
|
|
53
|
-
return this.checkForDuplicate(
|
|
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(
|
|
59
|
+
async getContacts(e) {
|
|
57
60
|
try {
|
|
58
|
-
const t =
|
|
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(
|
|
65
|
-
const c =
|
|
67
|
+
async editContact(e, t, o) {
|
|
68
|
+
const c = e.toLowerCase();
|
|
66
69
|
await s(this.STORAGE_KEY, (r) => {
|
|
67
|
-
const
|
|
68
|
-
if (!
|
|
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,
|
|
79
|
+
return a[n] = o, i[c] = a, i;
|
|
77
80
|
});
|
|
78
81
|
}
|
|
79
|
-
async deleteContact(
|
|
80
|
-
const o =
|
|
82
|
+
async deleteContact(e, t) {
|
|
83
|
+
const o = e.toLowerCase();
|
|
81
84
|
await s(this.STORAGE_KEY, (c) => {
|
|
82
|
-
const r = c ?? {},
|
|
83
|
-
if (!r || !
|
|
85
|
+
const r = c ?? {}, i = r[o];
|
|
86
|
+
if (!r || !i)
|
|
84
87
|
throw new Error("Contacts could not be fetched");
|
|
85
|
-
const a =
|
|
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
|
|
95
|
+
const et = new w();
|
|
93
96
|
export {
|
|
94
|
-
|
|
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(
|
|
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
|
|
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 =
|
|
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 =
|
|
64
|
+
const o = m(s, e);
|
|
62
65
|
return this.fetchedTokens[o] || [];
|
|
63
66
|
}
|
|
64
67
|
async fetchAndUpdatePublicTokens(e, s) {
|
|
65
|
-
const o =
|
|
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:
|
|
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
|
-
|
|
71
|
-
), L =
|
|
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 =
|
|
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 =
|
|
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,
|
|
118
|
-
return { toEvents: l, fromEvents:
|
|
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
|
|
169
|
+
const Ot = new K();
|
|
167
170
|
export {
|
|
168
171
|
K as EventsPublicTokensDB,
|
|
169
|
-
|
|
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
|
|
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
|
-
|
|
60
|
+
ir as transactCallRelayer
|
|
58
61
|
};
|
package/package.json
CHANGED
|
@@ -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
|
|
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,
|
|
64
|
-
this.originalProvider = t, this.fetchProvider =
|
|
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,
|
|
86
|
-
return this.signer._signTypedData(r, t,
|
|
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
|
|
107
|
-
return
|
|
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
|
|
143
|
-
return d(r,
|
|
145
|
+
const i = this.parseChainIdParam(t);
|
|
146
|
+
return d(r, i);
|
|
144
147
|
}
|
|
145
|
-
getContract(r, t = void 0,
|
|
146
|
-
const a = this.parseChainIdParam(
|
|
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
|
|
161
|
-
return p(
|
|
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
|
|
184
|
+
const nr = new s(), or = () => new s();
|
|
182
185
|
export {
|
|
183
186
|
s as EthersProviderAdapter,
|
|
184
|
-
|
|
185
|
-
|
|
187
|
+
or as default,
|
|
188
|
+
nr as ethersProvierAdapter
|
|
186
189
|
};
|