@sabaaa1/common 0.0.46 → 0.1.2
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/snarkjsWorkerLauncher-CTJxY_k6.js +1176 -0
- package/assets/{snarkjsWorkerLauncher-vcG8FTkU.js → snarkjsWorkerLogic-BTc2hrlU.js} +2845 -2821
- package/assets/utxoWorkerLauncher-B6d6svhO.js +1205 -0
- package/assets/{utxoWorkerLauncher-Bd564vtl.js → utxoWorkerLogic-YPywVy-e.js} +15473 -16633
- package/assets/zkProofWorkerLauncher-CCedBtfh.js +1205 -0
- package/assets/{zkProofWorkerLauncher-BEDgIMB_.js → zkProofWorkerLogic-B_sgmDOg.js} +14938 -16100
- package/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/data-structures/Hinkal/Hinkal.mjs +2 -5
- package/data-structures/IndexedDB/activity-db.cjs +1 -1
- package/data-structures/IndexedDB/activity-db.mjs +22 -25
- package/data-structures/IndexedDB/contact-db.cjs +1 -1
- package/data-structures/IndexedDB/contact-db.mjs +21 -24
- package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +13 -16
- package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
- package/functions/web3/functionCalls/transactCallRelayer.mjs +2 -5
- package/package.json +1 -1
- package/providers/EthersProviderAdapter.cjs +1 -1
- package/providers/EthersProviderAdapter.mjs +16 -19
- package/providers/prepareEthersHinkal.cjs +1 -1
- package/providers/prepareEthersHinkal.mjs +2 -5
- package/providers/prepareWagmiHinkal.cjs +1 -1
- package/providers/prepareWagmiHinkal.mjs +2 -5
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +1 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +1 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLogic.cjs +1 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLogic.d.ts +3 -7
- package/webworker/snarkjsWorker/snarkjsWorkerLogic.mjs +26 -29
- package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.mjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLogic.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLogic.mjs +38 -36
- package/webworker/workerFactory.cjs +1 -1
- package/webworker/workerFactory.d.ts +1 -1
- package/webworker/workerFactory.mjs +30 -25
- package/webworker/workerProxy.cjs +1 -1
- package/webworker/workerProxy.mjs +36 -10
- package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +1 -1
|
@@ -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"),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;
|
|
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;
|
|
@@ -62,15 +62,12 @@ 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";
|
|
68
65
|
import "ethers-v6h";
|
|
69
66
|
import { hinkalProoflessDeposit as ie } from "./hinkalProoflessDeposit.mjs";
|
|
70
67
|
import { hinkalProxySwap as se } from "./hinkalProxySwap.mjs";
|
|
71
68
|
import { hinkalMultiSendPrivateRecipients as ae } from "./hinkalMultiSend.mjs";
|
|
72
69
|
import { hinkalTransfer as oe } from "./hinkalTransfer.mjs";
|
|
73
|
-
class
|
|
70
|
+
class Tt {
|
|
74
71
|
providerAdapter;
|
|
75
72
|
userKeys;
|
|
76
73
|
signingMessage = "Login to Hinkal Protocol";
|
|
@@ -455,5 +452,5 @@ class It {
|
|
|
455
452
|
}
|
|
456
453
|
}
|
|
457
454
|
export {
|
|
458
|
-
|
|
455
|
+
Tt as Hinkal
|
|
459
456
|
};
|
|
@@ -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("
|
|
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;
|
|
@@ -42,9 +42,6 @@ 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";
|
|
48
45
|
import "ethers-v6h";
|
|
49
46
|
class E {
|
|
50
47
|
generateTxId() {
|
|
@@ -62,11 +59,11 @@ class E {
|
|
|
62
59
|
from: o,
|
|
63
60
|
to: r,
|
|
64
61
|
gas: e,
|
|
65
|
-
gasPrice:
|
|
62
|
+
gasPrice: i,
|
|
66
63
|
value: s,
|
|
67
64
|
chainId: n,
|
|
68
65
|
status: c,
|
|
69
|
-
txHash:
|
|
66
|
+
txHash: a,
|
|
70
67
|
activityType: m,
|
|
71
68
|
tokensReceive: d,
|
|
72
69
|
tokensSpend: p,
|
|
@@ -76,16 +73,16 @@ class E {
|
|
|
76
73
|
dappUrl: y,
|
|
77
74
|
dappName: I,
|
|
78
75
|
integrationProvider: x
|
|
79
|
-
} = t, g = this.generateTxId(), T = await this.getTransactionRecord(), D = await this.getGasInDollar(e,
|
|
76
|
+
} = t, g = this.generateTxId(), T = await this.getTransactionRecord(), D = await this.getGasInDollar(e, i, n), A = {
|
|
80
77
|
id: g,
|
|
81
78
|
from: o,
|
|
82
79
|
to: r,
|
|
83
80
|
gas: e,
|
|
84
|
-
gasPrice:
|
|
81
|
+
gasPrice: i,
|
|
85
82
|
gasInDollar: D?.toString(),
|
|
86
83
|
value: s,
|
|
87
84
|
chainId: n,
|
|
88
|
-
txHash:
|
|
85
|
+
txHash: a,
|
|
89
86
|
activityType: m,
|
|
90
87
|
status: c ?? u.PENDING,
|
|
91
88
|
timestamp: /* @__PURE__ */ new Date(),
|
|
@@ -107,17 +104,17 @@ class E {
|
|
|
107
104
|
const o = await this.getTransactionRecord();
|
|
108
105
|
return Object.values(o).filter((r) => r.chainId === t).sort((r, e) => new Date(e.timestamp).getTime() - new Date(r.timestamp).getTime());
|
|
109
106
|
}
|
|
110
|
-
async updateTxStatusAndHash(t, o, r, e,
|
|
111
|
-
const
|
|
112
|
-
if (!
|
|
107
|
+
async updateTxStatusAndHash(t, o, r, e, i, s, n, c) {
|
|
108
|
+
const a = await this.getTxRequest(t);
|
|
109
|
+
if (!a)
|
|
113
110
|
throw new Error("Transaction not found");
|
|
114
|
-
const m = await this.getTransactionRecord(), d = await this.getGasInDollar(n, c,
|
|
115
|
-
...
|
|
111
|
+
const m = await this.getTransactionRecord(), d = await this.getGasInDollar(n, c, a.chainId), p = {
|
|
112
|
+
...a,
|
|
116
113
|
status: o,
|
|
117
114
|
txHash: r,
|
|
118
|
-
value:
|
|
119
|
-
from:
|
|
120
|
-
to:
|
|
115
|
+
value: a.value ?? e,
|
|
116
|
+
from: a.from ?? i,
|
|
117
|
+
to: a.to ?? s,
|
|
121
118
|
gas: n,
|
|
122
119
|
gasPrice: c,
|
|
123
120
|
gasInDollar: d?.toString(),
|
|
@@ -125,11 +122,11 @@ class E {
|
|
|
125
122
|
};
|
|
126
123
|
return m[t] = p, await this.saveTransactionRecord(m), p;
|
|
127
124
|
}
|
|
128
|
-
async updateActivity(t, o, r, e,
|
|
125
|
+
async updateActivity(t, o, r, e, i, s, n, c) {
|
|
129
126
|
try {
|
|
130
|
-
await this.updateTxStatusAndHash(t, o, r, e,
|
|
131
|
-
} catch (
|
|
132
|
-
console.log("error in updating tx request",
|
|
127
|
+
await this.updateTxStatusAndHash(t, o, r, e, i, s, n, c);
|
|
128
|
+
} catch (a) {
|
|
129
|
+
console.log("error in updating tx request", a);
|
|
133
130
|
}
|
|
134
131
|
}
|
|
135
132
|
async removePendingTransactions(t) {
|
|
@@ -173,10 +170,10 @@ class E {
|
|
|
173
170
|
const e = q(k, r);
|
|
174
171
|
if (!e)
|
|
175
172
|
return;
|
|
176
|
-
const
|
|
177
|
-
if (!
|
|
173
|
+
const i = (await C(r, e.erc20TokenAddress)).price;
|
|
174
|
+
if (!i)
|
|
178
175
|
return;
|
|
179
|
-
const n =
|
|
176
|
+
const n = i * Number(N(e, o.toBigInt())) * Number(t.toBigInt());
|
|
180
177
|
return P(n);
|
|
181
178
|
} catch (e) {
|
|
182
179
|
b.error("Failed to calculate gas cost in dollars:", { chainId: r, error: e });
|
|
@@ -184,7 +181,7 @@ class E {
|
|
|
184
181
|
}
|
|
185
182
|
};
|
|
186
183
|
}
|
|
187
|
-
const
|
|
184
|
+
const Rt = new E();
|
|
188
185
|
export {
|
|
189
|
-
|
|
186
|
+
Rt as activityStorage
|
|
190
187
|
};
|
|
@@ -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("
|
|
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;
|
|
@@ -37,38 +37,35 @@ 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";
|
|
43
40
|
import "ethers-v6h";
|
|
44
41
|
class w {
|
|
45
42
|
STORAGE_KEY = "contacts";
|
|
46
|
-
checkForDuplicate(
|
|
47
|
-
if (
|
|
48
|
-
({ ethereumAddress: r, nickname:
|
|
43
|
+
checkForDuplicate(i, t, o) {
|
|
44
|
+
if (i.find(
|
|
45
|
+
({ ethereumAddress: r, nickname: e }) => (r === t.ethereumAddress || e === t.nickname) && r !== o
|
|
49
46
|
) !== void 0)
|
|
50
47
|
throw new Error("Duplicate Contact attribute");
|
|
51
48
|
}
|
|
52
|
-
async createContact(
|
|
53
|
-
const o =
|
|
49
|
+
async createContact(i, t) {
|
|
50
|
+
const o = i.toLowerCase();
|
|
54
51
|
await s(this.STORAGE_KEY, (c) => {
|
|
55
|
-
const r = c ?? {},
|
|
56
|
-
return this.checkForDuplicate(
|
|
52
|
+
const r = c ?? {}, e = r[o] ?? [];
|
|
53
|
+
return this.checkForDuplicate(e, t), e.push(t), r[o] = e, r;
|
|
57
54
|
});
|
|
58
55
|
}
|
|
59
|
-
async getContacts(
|
|
56
|
+
async getContacts(i) {
|
|
60
57
|
try {
|
|
61
|
-
const t =
|
|
58
|
+
const t = i.toLowerCase(), o = await p(this.STORAGE_KEY);
|
|
62
59
|
return !o || !o[t] ? [] : o[t];
|
|
63
60
|
} catch (t) {
|
|
64
61
|
return d.error("Error while getting contacts:", t), [];
|
|
65
62
|
}
|
|
66
63
|
}
|
|
67
|
-
async editContact(
|
|
68
|
-
const c =
|
|
64
|
+
async editContact(i, t, o) {
|
|
65
|
+
const c = i.toLowerCase();
|
|
69
66
|
await s(this.STORAGE_KEY, (r) => {
|
|
70
|
-
const
|
|
71
|
-
if (!
|
|
67
|
+
const e = r ?? {}, a = e[c];
|
|
68
|
+
if (!e || !a)
|
|
72
69
|
throw new Error("Contacts could not be fetched");
|
|
73
70
|
this.checkForDuplicate(a, o, t);
|
|
74
71
|
const n = a.findIndex(
|
|
@@ -76,23 +73,23 @@ class w {
|
|
|
76
73
|
);
|
|
77
74
|
if (n === -1)
|
|
78
75
|
throw new Error("Contact to be edited was not found");
|
|
79
|
-
return a[n] = o,
|
|
76
|
+
return a[n] = o, e[c] = a, e;
|
|
80
77
|
});
|
|
81
78
|
}
|
|
82
|
-
async deleteContact(
|
|
83
|
-
const o =
|
|
79
|
+
async deleteContact(i, t) {
|
|
80
|
+
const o = i.toLowerCase();
|
|
84
81
|
await s(this.STORAGE_KEY, (c) => {
|
|
85
|
-
const r = c ?? {},
|
|
86
|
-
if (!r || !
|
|
82
|
+
const r = c ?? {}, e = r[o];
|
|
83
|
+
if (!r || !e)
|
|
87
84
|
throw new Error("Contacts could not be fetched");
|
|
88
|
-
const a =
|
|
85
|
+
const a = e.filter(
|
|
89
86
|
({ ethereumAddress: n }) => n !== t
|
|
90
87
|
);
|
|
91
88
|
return r[o] = a, r;
|
|
92
89
|
});
|
|
93
90
|
}
|
|
94
91
|
}
|
|
95
|
-
const
|
|
92
|
+
const ot = new w();
|
|
96
93
|
export {
|
|
97
|
-
|
|
94
|
+
ot as contactStorage
|
|
98
95
|
};
|
|
@@ -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("
|
|
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;
|
|
@@ -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 d } 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,9 +45,6 @@ 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";
|
|
51
48
|
import "ethers-v6h";
|
|
52
49
|
class K {
|
|
53
50
|
fetchedTokens = {};
|
|
@@ -57,21 +54,21 @@ class K {
|
|
|
57
54
|
return this.updateMutexes[e] || (this.updateMutexes[e] = new _()), this.updateMutexes[e];
|
|
58
55
|
}
|
|
59
56
|
async getPublicTokens(e, s) {
|
|
60
|
-
const o =
|
|
57
|
+
const o = d(s, e);
|
|
61
58
|
return (await B(k.EVENTS_PUBLIC_TOKENS))?.[o] || [];
|
|
62
59
|
}
|
|
63
60
|
getFetchedTokens(e, s) {
|
|
64
|
-
const o =
|
|
61
|
+
const o = d(s, e);
|
|
65
62
|
return this.fetchedTokens[o] || [];
|
|
66
63
|
}
|
|
67
64
|
async fetchAndUpdatePublicTokens(e, s) {
|
|
68
|
-
const o =
|
|
65
|
+
const o = d(e, s);
|
|
69
66
|
await this.getMutex(o).runExclusive(async () => {
|
|
70
67
|
try {
|
|
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:
|
|
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(
|
|
72
69
|
s,
|
|
73
|
-
|
|
74
|
-
), L =
|
|
70
|
+
m
|
|
71
|
+
), L = m.filter(
|
|
75
72
|
(a) => !g(S, a.erc20TokenAddress)
|
|
76
73
|
// filter out hidden tokens
|
|
77
74
|
);
|
|
@@ -92,12 +89,12 @@ class K {
|
|
|
92
89
|
});
|
|
93
90
|
}
|
|
94
91
|
async getLastProcessedBlock(e, s) {
|
|
95
|
-
const o = await B(k.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS) || {}, n =
|
|
92
|
+
const o = await B(k.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS) || {}, n = d(s, e);
|
|
96
93
|
return o[n] || O[e];
|
|
97
94
|
}
|
|
98
95
|
async updateLastProcessedBlock(e, s, o) {
|
|
99
96
|
await w(k.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS, (n = {}) => {
|
|
100
|
-
const t =
|
|
97
|
+
const t = d(s, e);
|
|
101
98
|
return {
|
|
102
99
|
...n,
|
|
103
100
|
[t]: o
|
|
@@ -117,8 +114,8 @@ class K {
|
|
|
117
114
|
topics: [this.transferEventTopic, i, null],
|
|
118
115
|
fromBlock: t,
|
|
119
116
|
toBlock: r
|
|
120
|
-
}, [l,
|
|
121
|
-
return { toEvents: l, fromEvents:
|
|
117
|
+
}, [l, m] = await Promise.all([n.getLogs(p), n.getLogs(c)]);
|
|
118
|
+
return { toEvents: l, fromEvents: m, latestBlock: r };
|
|
122
119
|
} catch (o) {
|
|
123
120
|
return h.error("Error fetching events:", o), { toEvents: [], fromEvents: [], latestBlock: void 0 };
|
|
124
121
|
}
|
|
@@ -166,8 +163,8 @@ class K {
|
|
|
166
163
|
}
|
|
167
164
|
}
|
|
168
165
|
}
|
|
169
|
-
const
|
|
166
|
+
const _t = new K();
|
|
170
167
|
export {
|
|
171
168
|
K as EventsPublicTokensDB,
|
|
172
|
-
|
|
169
|
+
_t as eventsPublicTokensDB
|
|
173
170
|
};
|
|
@@ -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");
|
|
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;
|
|
@@ -18,9 +18,6 @@ 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";
|
|
24
21
|
import { serializeCircomData as l } from "../../snarkjs/common.snarkjs.mjs";
|
|
25
22
|
import "node-forge";
|
|
26
23
|
import "../../../constants/token-data/index.mjs";
|
|
@@ -40,7 +37,7 @@ import "../../utils/userAgent.mjs";
|
|
|
40
37
|
import "multiformats";
|
|
41
38
|
import "../../../API/tenderly.api.mjs";
|
|
42
39
|
import "ethers-v6h";
|
|
43
|
-
const
|
|
40
|
+
const rr = async (t, o, i, m, p, e, s, a) => {
|
|
44
41
|
const c = l(m), r = await f(t, {
|
|
45
42
|
a: o[0],
|
|
46
43
|
b: o[1],
|
|
@@ -57,5 +54,5 @@ const ir = async (t, o, i, m, p, e, s, a) => {
|
|
|
57
54
|
throw r.message && r.error ? new n(r.error, r.message) : new Error(r.error);
|
|
58
55
|
};
|
|
59
56
|
export {
|
|
60
|
-
|
|
57
|
+
rr as transactCallRelayer
|
|
61
58
|
};
|
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("
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import { networkRegistry as o, chainIds as
|
|
1
|
+
import { networkRegistry as o, chainIds as i, 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,9 +37,6 @@ 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";
|
|
43
40
|
import "ethers-v6h";
|
|
44
41
|
class s {
|
|
45
42
|
signer;
|
|
@@ -63,8 +60,8 @@ class s {
|
|
|
63
60
|
}
|
|
64
61
|
async init(r) {
|
|
65
62
|
this.requireSigner(), r && (this.chainId = r);
|
|
66
|
-
const t = this.signer.provider,
|
|
67
|
-
this.originalProvider = t, this.fetchProvider =
|
|
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");
|
|
68
65
|
}
|
|
69
66
|
async disconnectFromConnector() {
|
|
70
67
|
}
|
|
@@ -85,8 +82,8 @@ class s {
|
|
|
85
82
|
throw new Error(n.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);
|
|
86
83
|
return t;
|
|
87
84
|
}
|
|
88
|
-
async signTypedData(r, t,
|
|
89
|
-
return this.signer._signTypedData(r, t,
|
|
85
|
+
async signTypedData(r, t, e) {
|
|
86
|
+
return this.signer._signTypedData(r, t, e);
|
|
90
87
|
}
|
|
91
88
|
getSelectedNetwork = () => {
|
|
92
89
|
if (!this.chainId)
|
|
@@ -106,8 +103,8 @@ class s {
|
|
|
106
103
|
}
|
|
107
104
|
createFetchProvider(r) {
|
|
108
105
|
try {
|
|
109
|
-
const
|
|
110
|
-
return
|
|
106
|
+
const e = (r ?? o[this.chainId])?.fetchRpcUrl;
|
|
107
|
+
return e ? m(e) : void 0;
|
|
111
108
|
} catch (t) {
|
|
112
109
|
console.log("create Fetch Provider error", t);
|
|
113
110
|
return;
|
|
@@ -142,11 +139,11 @@ class s {
|
|
|
142
139
|
return t;
|
|
143
140
|
}
|
|
144
141
|
getContractMetadata(r, t) {
|
|
145
|
-
const
|
|
146
|
-
return d(r,
|
|
142
|
+
const e = this.parseChainIdParam(t);
|
|
143
|
+
return d(r, e);
|
|
147
144
|
}
|
|
148
|
-
getContract(r, t = void 0,
|
|
149
|
-
const a = this.parseChainIdParam(
|
|
145
|
+
getContract(r, t = void 0, e) {
|
|
146
|
+
const a = this.parseChainIdParam(e);
|
|
150
147
|
return g(r, a, t);
|
|
151
148
|
}
|
|
152
149
|
getContractWithSigner(r, t = void 0) {
|
|
@@ -160,8 +157,8 @@ class s {
|
|
|
160
157
|
return this.getContract(r, t).connect(this.fetchProvider);
|
|
161
158
|
}
|
|
162
159
|
getContractWithFetcherForEthereum(r, t = void 0) {
|
|
163
|
-
const
|
|
164
|
-
return p(
|
|
160
|
+
const e = this.chainId === i.localhost && c === i.ethMainnet ? i.localhost : i.ethMainnet;
|
|
161
|
+
return p(e, r, t);
|
|
165
162
|
}
|
|
166
163
|
async sendTransaction(r) {
|
|
167
164
|
if (!this.signer)
|
|
@@ -181,9 +178,9 @@ class s {
|
|
|
181
178
|
return r.toBigInt();
|
|
182
179
|
}
|
|
183
180
|
}
|
|
184
|
-
const
|
|
181
|
+
const tr = new s(), er = () => new s();
|
|
185
182
|
export {
|
|
186
183
|
s as EthersProviderAdapter,
|
|
187
|
-
|
|
188
|
-
|
|
184
|
+
er as default,
|
|
185
|
+
tr as ethersProvierAdapter
|
|
189
186
|
};
|