@hinkal/common 0.2.13 → 0.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/API/API.cjs +1 -1
- package/API/API.d.ts +10 -3
- package/API/API.mjs +42 -31
- package/API/ai-calls.cjs +1 -0
- package/API/ai-calls.d.ts +9 -0
- package/API/ai-calls.mjs +13 -0
- package/API/callCurveAPI.cjs +1 -1
- package/API/callCurveAPI.mjs +28 -22
- package/API/callRelayer.d.ts +3 -2
- package/API/dataServerCalls.cjs +1 -1
- package/API/dataServerCalls.d.ts +4 -0
- package/API/dataServerCalls.mjs +11 -7
- package/API/duneAPI.cjs +1 -1
- package/API/duneAPI.mjs +7 -4
- package/API/fetchCommitmentsCache.cjs +1 -1
- package/API/fetchCommitmentsCache.d.ts +9 -1
- package/API/fetchCommitmentsCache.mjs +6 -5
- package/API/getGasEstimates.cjs +1 -1
- package/API/getGasEstimates.d.ts +2 -1
- package/API/getGasEstimates.mjs +10 -9
- package/API/getRelayerURL.cjs +1 -1
- package/API/getRelayerURL.mjs +4 -4
- package/API/getServerURL.cjs +1 -1
- package/API/getServerURL.d.ts +1 -1
- package/API/getServerURL.mjs +14 -12
- package/API/index.d.ts +2 -0
- package/API/is-tx-stateless.cjs +1 -0
- package/API/is-tx-stateless.d.ts +3 -0
- package/API/is-tx-stateless.mjs +9 -0
- package/API/rewardsPointsCalls.cjs +1 -1
- package/API/rewardsPointsCalls.d.ts +3 -3
- package/API/rewardsPointsCalls.mjs +1 -3
- package/API/tenderly.api.cjs +1 -0
- package/API/tenderly.api.d.ts +14 -0
- package/API/tenderly.api.mjs +55 -0
- package/API/token-calls.cjs +1 -0
- package/API/token-calls.d.ts +2 -0
- package/API/token-calls.mjs +9 -0
- package/API/userVerifyTransactions.cjs +1 -1
- package/API/userVerifyTransactions.d.ts +6 -7
- package/API/userVerifyTransactions.mjs +13 -14
- package/constants/addresses.constants.cjs +1 -0
- package/constants/addresses.constants.d.ts +16 -0
- package/constants/addresses.constants.mjs +50 -0
- package/constants/assets.constants.cjs +1 -1
- package/constants/assets.constants.mjs +13 -13
- package/constants/axelar.constants.cjs +1 -1
- package/constants/axelar.constants.mjs +11 -11
- package/constants/balance.constants.cjs +1 -0
- package/constants/balance.constants.d.ts +1 -0
- package/constants/balance.constants.mjs +4 -0
- package/constants/chains.constants.cjs +1 -1
- package/constants/chains.constants.d.ts +2 -2
- package/constants/chains.constants.mjs +32 -35
- package/constants/contracts.constants.cjs +1 -1
- package/constants/contracts.constants.mjs +144 -140
- package/constants/conversion.constants.cjs +1 -0
- package/constants/conversion.constants.d.ts +1 -0
- package/constants/conversion.constants.mjs +4 -0
- package/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-arbMainnet.json.mjs +10115 -3422
- package/constants/deploy-data/deploy-data-avalanche.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-avalanche.json.mjs +10112 -3415
- package/constants/deploy-data/deploy-data-base.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-base.json.mjs +9408 -3725
- package/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +9893 -3194
- package/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-ethMainnet.json.mjs +6318 -3587
- package/constants/deploy-data/deploy-data-localhost.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-localhost.json.mjs +3208 -1550
- package/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-optimism.json.mjs +10113 -3422
- package/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-polygon.json.mjs +10092 -3423
- package/constants/fees.constants.cjs +1 -1
- package/constants/fees.constants.d.ts +5 -3
- package/constants/fees.constants.mjs +22 -19
- package/constants/index.d.ts +6 -0
- package/constants/kyc.constants.cjs +1 -1
- package/constants/kyc.constants.mjs +30 -18
- package/constants/mediaUrls.constants.cjs +1 -0
- package/constants/mediaUrls.constants.d.ts +23 -0
- package/constants/mediaUrls.constants.mjs +26 -0
- package/constants/permit2.constants.cjs +1 -0
- package/constants/permit2.constants.d.ts +2 -0
- package/constants/permit2.constants.mjs +5 -0
- package/constants/protocol.constants.cjs +1 -1
- package/constants/protocol.constants.d.ts +8 -0
- package/constants/protocol.constants.mjs +29 -15
- package/constants/rewards.constants.cjs +1 -1
- package/constants/rewards.constants.mjs +14 -12
- package/constants/server.constants.cjs +1 -1
- package/constants/server.constants.d.ts +34 -6
- package/constants/server.constants.mjs +48 -20
- package/constants/token-data/ERC20Registry.cjs +1 -1
- package/constants/token-data/ERC20Registry.mjs +49 -48
- package/constants/token-data/arbMainnetRegistry.json.cjs +1 -1
- package/constants/token-data/arbMainnetRegistry.json.mjs +350 -110
- package/constants/token-data/arbMainnetRegistryFixed.json.cjs +1 -1
- package/constants/token-data/arbMainnetRegistryFixed.json.mjs +334 -100
- package/constants/token-data/avalancheRegistry.json.cjs +1 -1
- package/constants/token-data/avalancheRegistry.json.mjs +236 -68
- package/constants/token-data/avalancheRegistryFixed.json.cjs +1 -1
- package/constants/token-data/avalancheRegistryFixed.json.mjs +236 -68
- package/constants/token-data/baseRegistry.json.cjs +1 -1
- package/constants/token-data/baseRegistry.json.mjs +224 -59
- package/constants/token-data/baseRegistryFixed.json.cjs +1 -1
- package/constants/token-data/baseRegistryFixed.json.mjs +212 -56
- package/constants/token-data/bnbMainnetRegistry.json.cjs +1 -1
- package/constants/token-data/bnbMainnetRegistry.json.mjs +67 -64
- package/constants/token-data/bnbMainnetRegistryFixed.json.cjs +1 -1
- package/constants/token-data/bnbMainnetRegistryFixed.json.mjs +67 -64
- package/constants/token-data/ethMainnetRegistry.json.cjs +1 -1
- package/constants/token-data/ethMainnetRegistry.json.mjs +1017 -344
- package/constants/token-data/ethMainnetRegistryFixed.json.cjs +1 -1
- package/constants/token-data/ethMainnetRegistryFixed.json.mjs +946 -303
- package/constants/token-data/index.cjs +1 -0
- package/constants/token-data/index.d.ts +1496 -15
- package/constants/token-data/index.mjs +34 -0
- package/constants/token-data/localhostRegistry.json.cjs +1 -1
- package/constants/token-data/localhostRegistry.json.mjs +296 -276
- package/constants/token-data/optimismRegistry.json.cjs +1 -1
- package/constants/token-data/optimismRegistry.json.mjs +703 -180
- package/constants/token-data/optimismRegistryFixed.json.cjs +1 -1
- package/constants/token-data/optimismRegistryFixed.json.mjs +679 -173
- package/constants/token-data/polygonRegistry.json.cjs +1 -1
- package/constants/token-data/polygonRegistry.json.mjs +530 -155
- package/constants/token-data/polygonRegistryFixed.json.cjs +1 -1
- package/constants/token-data/polygonRegistryFixed.json.mjs +504 -147
- package/constants/token.limits.constants.cjs +1 -0
- package/constants/token.limits.constants.d.ts +5 -0
- package/constants/token.limits.constants.mjs +30 -0
- package/constants/vite.constants.cjs +1 -1
- package/constants/vite.constants.d.ts +7 -1
- package/constants/vite.constants.mjs +27 -22
- package/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/data-structures/Hinkal/Hinkal.d.ts +48 -20
- package/data-structures/Hinkal/Hinkal.mjs +264 -85
- package/data-structures/Hinkal/IHinkal.d.ts +37 -10
- package/data-structures/Hinkal/hinkalActionBeefy.cjs +1 -1
- package/data-structures/Hinkal/hinkalActionBeefy.mjs +25 -23
- package/data-structures/Hinkal/hinkalActionConvex.cjs +1 -1
- package/data-structures/Hinkal/hinkalActionConvex.mjs +11 -9
- package/data-structures/Hinkal/hinkalActionCurve.cjs +1 -1
- package/data-structures/Hinkal/hinkalActionCurve.mjs +18 -16
- package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.cjs +1 -0
- package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.d.ts +3 -0
- package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.mjs +61 -0
- package/data-structures/Hinkal/hinkalActionLidoEth.cjs +1 -1
- package/data-structures/Hinkal/hinkalActionLidoEth.mjs +24 -22
- package/data-structures/Hinkal/hinkalActionPendle.cjs +1 -1
- package/data-structures/Hinkal/hinkalActionPendle.d.ts +1 -1
- package/data-structures/Hinkal/hinkalActionPendle.mjs +17 -15
- package/data-structures/Hinkal/hinkalActionPendleLP.cjs +1 -1
- package/data-structures/Hinkal/hinkalActionPendleLP.mjs +29 -26
- package/data-structures/Hinkal/hinkalActionReceive.cjs +1 -0
- package/data-structures/Hinkal/hinkalActionReceive.d.ts +4 -0
- package/data-structures/Hinkal/hinkalActionReceive.mjs +39 -0
- package/data-structures/Hinkal/hinkalActionStake.cjs +1 -1
- package/data-structures/Hinkal/hinkalActionStake.d.ts +1 -1
- package/data-structures/Hinkal/hinkalActionStake.mjs +15 -11
- package/data-structures/Hinkal/hinkalActionVolatile.cjs +1 -1
- package/data-structures/Hinkal/hinkalActionVolatile.d.ts +1 -1
- package/data-structures/Hinkal/hinkalActionVolatile.mjs +31 -26
- package/data-structures/Hinkal/hinkalApprove.cjs +1 -0
- package/data-structures/Hinkal/hinkalApprove.d.ts +2 -0
- package/data-structures/Hinkal/hinkalApprove.mjs +120 -0
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -0
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.d.ts +3 -0
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +12 -0
- package/data-structures/Hinkal/hinkalDeploySubAccount.cjs +1 -0
- package/data-structures/Hinkal/hinkalDeploySubAccount.d.ts +3 -0
- package/data-structures/Hinkal/hinkalDeploySubAccount.mjs +15 -0
- package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalDeposit.d.ts +3 -2
- package/data-structures/Hinkal/hinkalDeposit.mjs +116 -52
- package/data-structures/Hinkal/hinkalGetRecipientInfo.cjs +1 -0
- package/data-structures/Hinkal/hinkalGetRecipientInfo.d.ts +2 -0
- package/data-structures/Hinkal/hinkalGetRecipientInfo.mjs +10 -0
- package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +1 -1
- package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +6 -17
- package/data-structures/Hinkal/hinkalInsideTransact.cjs +1 -0
- package/data-structures/Hinkal/hinkalInsideTransact.d.ts +2 -0
- package/data-structures/Hinkal/hinkalInsideTransact.mjs +111 -0
- package/data-structures/Hinkal/hinkalMultiSend.cjs +1 -0
- package/data-structures/Hinkal/hinkalMultiSend.d.ts +3 -0
- package/data-structures/Hinkal/hinkalMultiSend.mjs +13 -0
- package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
- package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +2 -1
- package/data-structures/Hinkal/hinkalPrivateWallet.mjs +83 -37
- package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -0
- package/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +4 -0
- package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +46 -0
- package/data-structures/Hinkal/hinkalProxySwap.cjs +1 -0
- package/data-structures/Hinkal/hinkalProxySwap.d.ts +5 -0
- package/data-structures/Hinkal/hinkalProxySwap.mjs +36 -0
- package/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -0
- package/data-structures/Hinkal/hinkalSignSubAccount.d.ts +3 -0
- package/data-structures/Hinkal/hinkalSignSubAccount.mjs +20 -0
- package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSwap.d.ts +2 -1
- package/data-structures/Hinkal/hinkalSwap.mjs +69 -60
- package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdraw.d.ts +3 -1
- package/data-structures/Hinkal/hinkalWithdraw.mjs +77 -50
- package/data-structures/Hinkal/index.d.ts +1 -0
- package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/data-structures/Hinkal/resetMerkleTrees.mjs +18 -11
- package/data-structures/IndexedDB/activity-db.cjs +1 -0
- package/data-structures/IndexedDB/activity-db.d.ts +16 -0
- package/data-structures/IndexedDB/activity-db.mjs +124 -0
- package/data-structures/IndexedDB/balances-db.cjs +1 -0
- package/data-structures/IndexedDB/balances-db.d.ts +13 -0
- package/data-structures/IndexedDB/balances-db.mjs +75 -0
- package/data-structures/IndexedDB/contact-db.cjs +1 -0
- package/data-structures/IndexedDB/contact-db.d.ts +11 -0
- package/data-structures/IndexedDB/contact-db.mjs +44 -0
- package/data-structures/IndexedDB/index.d.ts +5 -0
- package/data-structures/IndexedDB/prices-db.cjs +1 -0
- package/data-structures/IndexedDB/prices-db.d.ts +9 -0
- package/data-structures/IndexedDB/prices-db.mjs +62 -0
- package/data-structures/IndexedDB/private-balances-db.cjs +1 -0
- package/data-structures/IndexedDB/private-balances-db.d.ts +9 -0
- package/data-structures/IndexedDB/private-balances-db.mjs +28 -0
- package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
- package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +47 -44
- package/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -0
- package/data-structures/TokenDBs/PrivateTokensDB.d.ts +11 -0
- package/data-structures/TokenDBs/PrivateTokensDB.mjs +53 -0
- package/data-structures/TokenDBs/PublicTokensDB.cjs +1 -0
- package/data-structures/TokenDBs/PublicTokensDB.d.ts +13 -0
- package/data-structures/TokenDBs/PublicTokensDB.mjs +86 -0
- package/data-structures/TokenDBs/index.d.ts +2 -0
- package/data-structures/cacheDevices/AttachableMemoryCacheDevice.cjs +1 -0
- package/data-structures/cacheDevices/AttachableMemoryCacheDevice.d.ts +8 -0
- package/data-structures/cacheDevices/AttachableMemoryCacheDevice.mjs +28 -0
- package/data-structures/cacheDevices/BaseCacheDevice.cjs +1 -1
- package/data-structures/cacheDevices/BaseCacheDevice.d.ts +9 -6
- package/data-structures/cacheDevices/BaseCacheDevice.mjs +13 -4
- package/data-structures/cacheDevices/FileCacheDevice.cjs +1 -1
- package/data-structures/cacheDevices/FileCacheDevice.d.ts +1 -0
- package/data-structures/cacheDevices/FileCacheDevice.mjs +7 -3
- package/data-structures/cacheDevices/LocalStorageCacheDevice.cjs +1 -1
- package/data-structures/cacheDevices/LocalStorageCacheDevice.d.ts +2 -1
- package/data-structures/cacheDevices/LocalStorageCacheDevice.mjs +10 -5
- package/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
- package/data-structures/crypto-keys/decodeUTXO.mjs +13 -12
- package/data-structures/crypto-keys/keys.cjs +1 -1
- package/data-structures/crypto-keys/keys.d.ts +13 -3
- package/data-structures/crypto-keys/keys.mjs +45 -34
- package/data-structures/custom-token-registry/CustomTokenRegistry.cjs +1 -1
- package/data-structures/custom-token-registry/CustomTokenRegistry.d.ts +2 -3
- package/data-structures/custom-token-registry/CustomTokenRegistry.mjs +17 -21
- package/data-structures/event-service/AbstractAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/event-service/AbstractAccessTokenSnapshotService.mjs +15 -29
- package/data-structures/event-service/AbstractApprovalsSnapshotService.cjs +1 -0
- package/data-structures/event-service/AbstractApprovalsSnapshotService.d.ts +30 -0
- package/data-structures/event-service/AbstractApprovalsSnapshotService.mjs +104 -0
- package/data-structures/event-service/AbstractCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/event-service/AbstractCommitmentsSnapshotService.mjs +24 -37
- package/data-structures/event-service/AbstractEventService.cjs +1 -1
- package/data-structures/event-service/AbstractEventService.d.ts +1 -1
- package/data-structures/event-service/AbstractEventService.mjs +15 -15
- package/data-structures/event-service/index.d.ts +1 -0
- package/data-structures/index.d.ts +2 -0
- package/data-structures/merkle-tree/MerkleTree.cjs +1 -1
- package/data-structures/merkle-tree/MerkleTree.d.ts +7 -2
- package/data-structures/merkle-tree/MerkleTree.mjs +85 -70
- package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.cjs +1 -0
- package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.d.ts +3 -0
- package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.mjs +13 -0
- package/data-structures/merkle-tree/index.d.ts +1 -0
- package/data-structures/provider-adapter/IProviderAdapter.d.ts +2 -0
- package/data-structures/snapshot/ClientAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/snapshot/ClientAccessTokenSnapshotService.mjs +3 -2
- package/data-structures/snapshot/ClientApprovalsSnapshotService.cjs +1 -0
- package/data-structures/snapshot/ClientApprovalsSnapshotService.d.ts +8 -0
- package/data-structures/snapshot/ClientApprovalsSnapshotService.mjs +23 -0
- package/data-structures/snapshot/ClientCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/snapshot/ClientCommitmentsSnapshotService.mjs +3 -2
- package/data-structures/snapshot/ClientNullifierSnapshotService.cjs +1 -1
- package/data-structures/snapshot/ClientNullifierSnapshotService.mjs +6 -5
- package/data-structures/token-price-fetcher/TokenChecker.cjs +1 -1
- package/data-structures/token-price-fetcher/TokenChecker.d.ts +1 -0
- package/data-structures/token-price-fetcher/TokenChecker.mjs +4 -2
- package/data-structures/transactions-manager/TransactionsManager.cjs +1 -1
- package/data-structures/transactions-manager/TransactionsManager.d.ts +8 -6
- package/data-structures/transactions-manager/TransactionsManager.mjs +124 -122
- package/data-structures/transactions-manager/history/getBeefyData.cjs +1 -1
- package/data-structures/transactions-manager/history/getBeefyData.mjs +3 -2
- package/data-structures/transactions-manager/history/getConvexData.cjs +1 -1
- package/data-structures/transactions-manager/history/getConvexData.mjs +3 -2
- package/data-structures/transactions-manager/history/getCurveData.cjs +1 -1
- package/data-structures/transactions-manager/history/getCurveData.mjs +3 -2
- package/data-structures/transactions-manager/history/getLidoData.cjs +1 -1
- package/data-structures/transactions-manager/history/getLidoData.mjs +3 -2
- package/data-structures/transactions-manager/history/getPendleData.cjs +1 -1
- package/data-structures/transactions-manager/history/getPendleData.mjs +13 -12
- package/data-structures/transactions-manager/history/getTxDetails.cjs +1 -1
- package/data-structures/transactions-manager/history/getTxDetails.mjs +22 -20
- package/data-structures/transactions-manager/history/getVolatileData.cjs +1 -1
- package/data-structures/transactions-manager/history/getVolatileData.mjs +11 -10
- package/data-structures/transactions-manager/history/history.types.cjs +1 -1
- package/data-structures/transactions-manager/history/history.types.mjs +4 -2
- package/data-structures/utxo/Utxo.cjs +1 -1
- package/data-structures/utxo/Utxo.d.ts +3 -3
- package/data-structures/utxo/Utxo.mjs +8 -7
- package/error-handling/error-codes.constants.cjs +2 -2
- package/error-handling/error-codes.constants.d.ts +22 -1
- package/error-handling/error-codes.constants.mjs +129 -112
- package/error-handling/get-error.message.cjs +1 -1
- package/error-handling/get-error.message.mjs +29 -25
- package/error-handling/index.d.ts +1 -0
- package/error-handling/logger.cjs +1 -0
- package/error-handling/logger.d.ts +5 -0
- package/error-handling/logger.mjs +16 -0
- package/error-handling/types.cjs +1 -1
- package/error-handling/types.d.ts +3 -1
- package/error-handling/types.mjs +2 -2
- package/externalABIs/BabPassport.json.cjs +1 -1
- package/externalABIs/BabPassport.json.mjs +8 -3
- package/externalABIs/BeefyRouterAbi.json.cjs +1 -1
- package/externalABIs/BeefyRouterAbi.json.mjs +5 -2
- package/externalABIs/BeefyStrategyAbi.json.cjs +1 -1
- package/externalABIs/BeefyStrategyAbi.json.mjs +5 -2
- package/externalABIs/BeefyVaultAbi.json.cjs +1 -1
- package/externalABIs/BeefyVaultAbi.json.mjs +5 -2
- package/externalABIs/BeefyZapAbi.json.cjs +1 -1
- package/externalABIs/BeefyZapAbi.json.mjs +5 -2
- package/externalABIs/BeefyZapOneInchAbi.json.cjs +1 -1
- package/externalABIs/BeefyZapOneInchAbi.json.mjs +5 -2
- package/externalABIs/ConvexBoosterAbi.json.cjs +1 -1
- package/externalABIs/ConvexBoosterAbi.json.mjs +5 -2
- package/externalABIs/ConvexBoosterAbiMainnet.json.cjs +1 -1
- package/externalABIs/ConvexBoosterAbiMainnet.json.mjs +5 -2
- package/externalABIs/ConvexRewardPoolAbi.json.cjs +1 -1
- package/externalABIs/ConvexRewardPoolAbi.json.mjs +5 -2
- package/externalABIs/CurveReadingWrapperAbi.json.cjs +1 -1
- package/externalABIs/CurveReadingWrapperAbi.json.mjs +5 -2
- package/externalABIs/CurveWrappedMainPool.json.cjs +1 -1
- package/externalABIs/CurveWrappedMainPool.json.mjs +5 -2
- package/externalABIs/CurveZap.json.cjs +1 -1
- package/externalABIs/CurveZap.json.mjs +5 -2
- package/externalABIs/CvxCrvUtilities.json.cjs +1 -1
- package/externalABIs/CvxCrvUtilities.json.mjs +5 -2
- package/externalABIs/ERC20.json.cjs +1 -1
- package/externalABIs/ERC20.json.mjs +20 -3
- package/externalABIs/GalxePassport.json.cjs +1 -1
- package/externalABIs/GalxePassport.json.mjs +8 -3
- package/externalABIs/IQuoterV2.json.cjs +1 -1
- package/externalABIs/IQuoterV2.json.mjs +20 -3
- package/externalABIs/ISwapRouter.json.cjs +1 -1
- package/externalABIs/ISwapRouter.json.mjs +5 -2
- package/externalABIs/IUniswapV3Factory.json.cjs +1 -1
- package/externalABIs/IUniswapV3Factory.json.mjs +20 -3
- package/externalABIs/IUniswapV3Pool.json.cjs +1 -1
- package/externalABIs/IUniswapV3Pool.json.mjs +20 -3
- package/externalABIs/PendleRouterAbi.json.cjs +1 -1
- package/externalABIs/PendleRouterAbi.json.mjs +5 -2
- package/externalABIs/UniswapV2PoolAbi.json.cjs +1 -1
- package/externalABIs/UniswapV2PoolAbi.json.mjs +16 -3
- package/externalABIs/index.cjs +1 -0
- package/externalABIs/index.d.ts +307 -11
- package/externalABIs/index.mjs +23 -0
- package/externalABIs/transactionsProver.json.cjs +1 -1
- package/externalABIs/transactionsProver.json.mjs +20 -3
- package/functions/kyc/zkMeHelper.cjs +1 -1
- package/functions/kyc/zkMeHelper.d.ts +0 -1
- package/functions/kyc/zkMeHelper.mjs +8 -11
- package/functions/pre-transaction/getExternalSwapAddress.cjs +1 -0
- package/functions/pre-transaction/getExternalSwapAddress.d.ts +3 -0
- package/functions/pre-transaction/getExternalSwapAddress.mjs +26 -0
- package/functions/pre-transaction/getFeeStructure.cjs +1 -0
- package/functions/pre-transaction/getFeeStructure.d.ts +4 -0
- package/functions/pre-transaction/getFeeStructure.mjs +30 -0
- package/functions/pre-transaction/getFlatFees.cjs +1 -1
- package/functions/pre-transaction/getFlatFees.d.ts +3 -7
- package/functions/pre-transaction/getFlatFees.mjs +52 -46
- package/functions/pre-transaction/getSignatureDataForTransact.cjs +1 -0
- package/functions/pre-transaction/getSignatureDataForTransact.d.ts +3 -0
- package/functions/pre-transaction/getSignatureDataForTransact.mjs +6 -0
- package/functions/pre-transaction/index.d.ts +1 -0
- package/functions/pre-transaction/interaction-to-action.cjs +1 -1
- package/functions/pre-transaction/interaction-to-action.mjs +3 -2
- package/functions/pre-transaction/merge-with-fee-structure.cjs +1 -0
- package/functions/pre-transaction/merge-with-fee-structure.d.ts +2 -0
- package/functions/pre-transaction/merge-with-fee-structure.mjs +25 -0
- package/functions/pre-transaction/outputApprovalDataProcessing.cjs +1 -0
- package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +16 -0
- package/functions/pre-transaction/outputApprovalDataProcessing.mjs +42 -0
- package/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
- package/functions/pre-transaction/outputUtxoProcessing.d.ts +1 -1
- package/functions/pre-transaction/outputUtxoProcessing.mjs +19 -30
- package/functions/pre-transaction/process-gas-estimates.cjs +1 -1
- package/functions/pre-transaction/process-gas-estimates.d.ts +2 -2
- package/functions/pre-transaction/process-gas-estimates.mjs +17 -27
- package/functions/pre-transaction/processAmountChanges.cjs +1 -1
- package/functions/pre-transaction/processAmountChanges.mjs +34 -23
- package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +1 -0
- package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +6 -0
- package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +7 -0
- package/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/functions/private-wallet/emporium.helpers.d.ts +9 -1
- package/functions/private-wallet/emporium.helpers.mjs +117 -22
- package/functions/private-wallet/emporium.swap.helpers.cjs +1 -0
- package/functions/private-wallet/emporium.swap.helpers.d.ts +5 -0
- package/functions/private-wallet/emporium.swap.helpers.mjs +92 -0
- package/functions/private-wallet/index.d.ts +1 -0
- package/functions/private-wallet/opProducer.cjs +1 -1
- package/functions/private-wallet/opProducer.mjs +9 -10
- package/functions/private-wallet/smartContractWalletCalculator.cjs +1 -1
- package/functions/private-wallet/smartContractWalletCalculator.d.ts +5 -1
- package/functions/private-wallet/smartContractWalletCalculator.mjs +22 -17
- package/functions/protocols/convex.protocols.cjs +1 -1
- package/functions/protocols/convex.protocols.mjs +11 -8
- package/functions/protocols/pendle.helpers.cjs +1 -1
- package/functions/protocols/pendle.helpers.mjs +20 -15
- package/functions/snarkjs/common.snarkjs.cjs +1 -1
- package/functions/snarkjs/common.snarkjs.d.ts +8 -5
- package/functions/snarkjs/common.snarkjs.mjs +177 -87
- package/functions/snarkjs/constant.cjs +1 -1
- package/functions/snarkjs/constant.d.ts +223 -1
- package/functions/snarkjs/constant.mjs +315 -94
- package/functions/snarkjs/constructEmporiumProof.cjs +1 -1
- package/functions/snarkjs/constructEmporiumProof.d.ts +6 -3
- package/functions/snarkjs/constructEmporiumProof.mjs +148 -84
- package/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
- package/functions/snarkjs/constructGeneralZkProof.d.ts +5 -3
- package/functions/snarkjs/constructGeneralZkProof.mjs +142 -86
- package/functions/snarkjs/generateCircomData.cjs +1 -1
- package/functions/snarkjs/generateCircomData.d.ts +3 -2
- package/functions/snarkjs/generateCircomData.mjs +33 -35
- package/functions/snarkjs/generateZkProof.cjs +1 -1
- package/functions/snarkjs/generateZkProof.d.ts +2 -2
- package/functions/snarkjs/generateZkProof.mjs +4 -15
- package/functions/snarkjs/generateZkProofEnclave.cjs +1 -0
- package/functions/snarkjs/generateZkProofEnclave.d.ts +6 -0
- package/functions/snarkjs/generateZkProofEnclave.mjs +26 -0
- package/functions/snarkjs/generateZkProofSelf.cjs +1 -0
- package/functions/snarkjs/generateZkProofSelf.d.ts +5 -0
- package/functions/snarkjs/generateZkProofSelf.mjs +17 -0
- package/functions/snarkjs/getOriginalSender.cjs +1 -0
- package/functions/snarkjs/getOriginalSender.d.ts +1 -0
- package/functions/snarkjs/getOriginalSender.mjs +5 -0
- package/functions/snarkjs/getZKFiles.cjs +1 -1
- package/functions/snarkjs/getZKFiles.d.ts +3 -2
- package/functions/snarkjs/getZKFiles.mjs +14 -5
- package/functions/utils/addresses.cjs +1 -0
- package/functions/utils/addresses.d.ts +4 -0
- package/functions/utils/addresses.mjs +20 -0
- package/functions/utils/amounts.utils.cjs +1 -1
- package/functions/utils/amounts.utils.d.ts +4 -1
- package/functions/utils/amounts.utils.mjs +29 -27
- package/functions/utils/arraysMatch.cjs +1 -0
- package/functions/utils/arraysMatch.d.ts +1 -0
- package/functions/utils/arraysMatch.mjs +4 -0
- package/functions/utils/axelar.utils.cjs +1 -1
- package/functions/utils/axelar.utils.d.ts +1 -0
- package/functions/utils/axelar.utils.mjs +32 -9
- package/functions/utils/cacheDevice.utils.cjs +1 -1
- package/functions/utils/cacheDevice.utils.mjs +11 -8
- package/functions/utils/cacheFunctions.cjs +1 -1
- package/functions/utils/cacheFunctions.d.ts +10 -7
- package/functions/utils/cacheFunctions.mjs +62 -39
- package/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -0
- package/functions/utils/convertEmporiumOpToCallInfo.d.ts +2 -0
- package/functions/utils/convertEmporiumOpToCallInfo.mjs +10 -0
- package/functions/utils/convertIntegrationProviderToExternalActionId.cjs +1 -1
- package/functions/utils/convertIntegrationProviderToExternalActionId.d.ts +2 -1
- package/functions/utils/convertIntegrationProviderToExternalActionId.mjs +7 -10
- package/functions/utils/encodeTokenWithId.cjs +1 -0
- package/functions/utils/encodeTokenWithId.d.ts +2 -0
- package/functions/utils/encodeTokenWithId.mjs +4 -0
- package/functions/utils/encryptInputForEnclave.cjs +1 -0
- package/functions/utils/encryptInputForEnclave.d.ts +8 -0
- package/functions/utils/encryptInputForEnclave.mjs +43 -0
- package/functions/utils/erc20tokenFunctions.cjs +1 -1
- package/functions/utils/erc20tokenFunctions.d.ts +8 -2
- package/functions/utils/erc20tokenFunctions.mjs +23 -14
- package/functions/utils/evmNetworkFunctions.cjs +1 -1
- package/functions/utils/evmNetworkFunctions.mjs +7 -4
- package/functions/utils/external-action.utils.d.ts +2 -2
- package/functions/utils/fees.utils.cjs +1 -0
- package/functions/utils/fees.utils.d.ts +2 -0
- package/functions/utils/fees.utils.mjs +14 -0
- package/functions/utils/getBlockExplorerUrl.cjs +1 -0
- package/functions/utils/getBlockExplorerUrl.d.ts +1 -0
- package/functions/utils/getBlockExplorerUrl.mjs +6 -0
- package/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -0
- package/functions/utils/getRecipientInfoFromUserKeys.d.ts +3 -0
- package/functions/utils/getRecipientInfoFromUserKeys.mjs +18 -0
- package/functions/utils/index.d.ts +12 -0
- package/functions/utils/involves-permit2-op.cjs +1 -0
- package/functions/utils/involves-permit2-op.d.ts +1 -0
- package/functions/utils/involves-permit2-op.mjs +5 -0
- package/functions/utils/merkleTree.utils.cjs +1 -0
- package/functions/utils/merkleTree.utils.d.ts +2 -0
- package/functions/utils/merkleTree.utils.mjs +20 -0
- package/functions/utils/prepareHinkal.d.ts +6 -0
- package/functions/utils/processUseApprovalUtxoData.cjs +1 -0
- package/functions/utils/processUseApprovalUtxoData.d.ts +3 -0
- package/functions/utils/processUseApprovalUtxoData.mjs +19 -0
- package/functions/utils/publicBalance.utils.cjs +1 -0
- package/functions/utils/publicBalance.utils.d.ts +5 -0
- package/functions/utils/publicBalance.utils.mjs +25 -0
- package/functions/utils/replaceAddressInCalldata.cjs +1 -0
- package/functions/utils/replaceAddressInCalldata.d.ts +1 -0
- package/functions/utils/replaceAddressInCalldata.mjs +7 -0
- package/functions/utils/rpc-int-encode.cjs +1 -0
- package/functions/utils/rpc-int-encode.d.ts +2 -0
- package/functions/utils/rpc-int-encode.mjs +8 -0
- package/functions/utils/serialize.utils.cjs +1 -1
- package/functions/utils/serialize.utils.d.ts +1 -0
- package/functions/utils/serialize.utils.mjs +3 -2
- package/functions/utils/string.utils.cjs +1 -1
- package/functions/utils/string.utils.d.ts +2 -0
- package/functions/utils/string.utils.mjs +28 -14
- package/functions/utils/time.utils.cjs +1 -1
- package/functions/utils/time.utils.d.ts +1 -0
- package/functions/utils/time.utils.mjs +4 -3
- package/functions/utils/token-check.utils.cjs +1 -0
- package/functions/utils/token-check.utils.d.ts +1 -0
- package/functions/utils/token-check.utils.mjs +10 -0
- package/functions/utils/upToDateState.cjs +1 -0
- package/functions/utils/upToDateState.d.ts +2 -0
- package/functions/utils/upToDateState.mjs +11 -0
- package/functions/utils/userAgent.cjs +1 -1
- package/functions/utils/userAgent.mjs +8 -8
- package/functions/web3/events/balanceChangedCustomHandler.cjs +1 -0
- package/functions/web3/events/balanceChangedCustomHandler.d.ts +2 -0
- package/functions/web3/events/balanceChangedCustomHandler.mjs +14 -0
- package/functions/web3/events/balanceChangedHandler.cjs +1 -1
- package/functions/web3/events/balanceChangedHandler.mjs +5 -4
- package/functions/web3/events/getApprovedBalance.cjs +1 -0
- package/functions/web3/events/getApprovedBalance.d.ts +7 -0
- package/functions/web3/events/getApprovedBalance.mjs +80 -0
- package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
- package/functions/web3/events/getInputUtxoAndBalance.d.ts +16 -3
- package/functions/web3/events/getInputUtxoAndBalance.mjs +128 -46
- package/functions/web3/events/getShieldedBalance.cjs +2 -2
- package/functions/web3/events/getShieldedBalance.d.ts +1 -1
- package/functions/web3/events/getShieldedBalance.mjs +70 -65
- package/functions/web3/events/index.d.ts +2 -0
- package/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
- package/functions/web3/functionCalls/accessTokenCalls.d.ts +2 -2
- package/functions/web3/functionCalls/accessTokenCalls.mjs +20 -18
- package/functions/web3/functionCalls/approveToken.cjs +1 -1
- package/functions/web3/functionCalls/approveToken.mjs +8 -7
- package/functions/web3/functionCalls/approveTokensToHinkal.cjs +1 -0
- package/functions/web3/functionCalls/approveTokensToHinkal.d.ts +4 -0
- package/functions/web3/functionCalls/approveTokensToHinkal.mjs +11 -0
- package/functions/web3/functionCalls/estimateGasRelayer.cjs +1 -1
- package/functions/web3/functionCalls/estimateGasRelayer.d.ts +2 -2
- package/functions/web3/functionCalls/estimateGasRelayer.mjs +14 -8
- package/functions/web3/functionCalls/inHinkalApprovalCalls.cjs +1 -0
- package/functions/web3/functionCalls/inHinkalApprovalCalls.d.ts +5 -0
- package/functions/web3/functionCalls/inHinkalApprovalCalls.mjs +32 -0
- package/functions/web3/functionCalls/relayFunctions.d.ts +1 -15
- package/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
- package/functions/web3/functionCalls/transactCallDirect.d.ts +2 -2
- package/functions/web3/functionCalls/transactCallDirect.mjs +31 -30
- package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
- package/functions/web3/functionCalls/transactCallRelayer.d.ts +2 -2
- package/functions/web3/functionCalls/transactCallRelayer.mjs +32 -9
- package/functions/web3/getContractMetadata.cjs +1 -0
- package/functions/web3/getContractMetadata.d.ts +5 -0
- package/functions/web3/getContractMetadata.mjs +30 -0
- package/functions/web3/getTokenHolder.cjs +1 -0
- package/functions/web3/getTokenHolder.d.ts +1 -0
- package/functions/web3/getTokenHolder.mjs +12 -0
- package/functions/web3/index.d.ts +1 -0
- package/functions/web3/odosAPI.cjs +1 -1
- package/functions/web3/odosAPI.d.ts +1 -2
- package/functions/web3/odosAPI.mjs +23 -19
- package/functions/web3/oneInchAPI.cjs +1 -1
- package/functions/web3/oneInchAPI.d.ts +1 -2
- package/functions/web3/oneInchAPI.mjs +20 -15
- package/functions/web3/runContractFunction.cjs +1 -1
- package/functions/web3/runContractFunction.mjs +3 -2
- package/functions/web3/uniswapAPI.cjs +1 -1
- package/functions/web3/uniswapAPI.d.ts +4 -4
- package/functions/web3/uniswapAPI.mjs +57 -43
- package/index.cjs +1 -1
- package/index.mjs +739 -609
- package/package.json +19 -8
- package/providers/EthersProviderAdapter.cjs +1 -1
- package/providers/EthersProviderAdapter.d.ts +8 -3
- package/providers/EthersProviderAdapter.mjs +52 -43
- package/providers/WagmiProviderAdapter.cjs +1 -1
- package/providers/WagmiProviderAdapter.d.ts +4 -1
- package/providers/WagmiProviderAdapter.mjs +53 -56
- package/providers/prepareEthersHinkal.cjs +1 -1
- package/providers/prepareEthersHinkal.mjs +18 -10
- package/providers/prepareWagmiHinkal.cjs +1 -1
- package/providers/prepareWagmiHinkal.mjs +18 -10
- package/types/API.types.d.ts +21 -0
- package/types/ICacheDevice.d.ts +4 -3
- package/types/TransactionSimulator.types.d.ts +9 -0
- package/types/activities.types.cjs +1 -0
- package/types/activities.types.d.ts +45 -0
- package/types/activities.types.mjs +13 -0
- package/types/balances.types.cjs +1 -0
- package/types/balances.types.d.ts +17 -0
- package/types/balances.types.mjs +4 -0
- package/types/cache.types.cjs +1 -0
- package/types/cache.types.d.ts +27 -0
- package/types/cache.types.mjs +4 -0
- package/types/circom-data.types.d.ts +29 -9
- package/types/commitments.types.d.ts +6 -0
- package/types/contacts.types.d.ts +5 -0
- package/types/crypto.types.d.ts +1 -0
- package/types/earlyAccessCode.types.d.ts +4 -0
- package/types/ethereum-network.types.cjs +1 -1
- package/types/ethereum-network.types.d.ts +8 -3
- package/types/ethereum-network.types.mjs +1 -1
- package/types/external-action.types.cjs +1 -1
- package/types/external-action.types.d.ts +2 -1
- package/types/external-action.types.mjs +1 -1
- package/types/fee.types.d.ts +9 -0
- package/types/hinkal.types.cjs +1 -1
- package/types/hinkal.types.d.ts +48 -0
- package/types/hinkal.types.mjs +38 -13
- package/types/index.d.ts +9 -0
- package/types/kyc.types.cjs +1 -1
- package/types/kyc.types.d.ts +1 -1
- package/types/kyc.types.mjs +1 -1
- package/types/remote-proof.types.d.ts +15 -0
- package/types/rewards.types.d.ts +9 -0
- package/types/sandbox.types.cjs +1 -0
- package/types/sandbox.types.d.ts +157 -0
- package/types/sandbox.types.mjs +4 -0
- package/types/tenderly.api.types.d.ts +180 -0
- package/types/time.types.cjs +1 -1
- package/types/time.types.mjs +1 -1
- package/types/token-with-id.types.d.ts +4 -0
- package/types/token.types.d.ts +23 -0
- package/types/transactions.types.cjs +1 -1
- package/types/transactions.types.d.ts +31 -0
- package/types/transactions.types.mjs +8 -5
- package/types/wc.types.d.ts +89 -0
- package/types/with-id.types.d.ts +3 -0
- 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.mjs +26 -26
- 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 +58 -50
- package/webworker/viteWorkerURL.constant.cjs +3 -3
- package/webworker/viteWorkerURL.constant.mjs +3 -3
- package/webworker/workerFactory.cjs +1 -1
- package/webworker/workerFactory.mjs +2 -2
- package/webworker/workerProxy.cjs +1 -1
- package/webworker/workerProxy.d.ts +11 -11
- package/webworker/workerProxy.mjs +24 -26
- package/webworker/zkProofWorker/zkProofWorker.types.d.ts +2 -0
- package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLogic.cjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLogic.mjs +47 -61
- package/functions/utils/memoize.utils.cjs +0 -1
- package/functions/utils/memoize.utils.mjs +0 -14
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import { zeroAddress as
|
|
2
|
-
import { poseidonFunction as
|
|
1
|
+
import { zeroAddress as m } from "../../constants/protocol.constants.mjs";
|
|
2
|
+
import { poseidonFunction as o } from "../../crypto/poseidon.mjs";
|
|
3
3
|
import "circomlibjs-hinkal-fork";
|
|
4
4
|
import "libsodium-wrappers";
|
|
5
5
|
import "process";
|
|
6
6
|
import "buffer";
|
|
7
|
-
import { toBigInt as
|
|
8
|
-
import { MerkleTree as
|
|
9
|
-
import
|
|
10
|
-
|
|
7
|
+
import { toBigInt as t } from "../../functions/utils/amounts.utils.mjs";
|
|
8
|
+
import { MerkleTree as a } from "../merkle-tree/MerkleTree.mjs";
|
|
9
|
+
import "ethers";
|
|
10
|
+
import "../../error-handling/error-codes.constants.mjs";
|
|
11
|
+
import { AbstractSnapshotService as c } from "./AbstractSnapshotService.mjs";
|
|
12
|
+
import { contructMerkleTreeFromSerialized as l } from "../../functions/utils/merkleTree.utils.mjs";
|
|
13
|
+
class f extends c {
|
|
11
14
|
constructor(e, s, r, d) {
|
|
12
15
|
super(
|
|
13
16
|
e,
|
|
@@ -46,25 +49,8 @@ class I extends l {
|
|
|
46
49
|
}
|
|
47
50
|
deserializeSnapshot(e) {
|
|
48
51
|
let s, r;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
Object.entries(e.merkleTree.tree).map(([t, a]) => [
|
|
52
|
-
BigInt(t),
|
|
53
|
-
BigInt(a)
|
|
54
|
-
])
|
|
55
|
-
);
|
|
56
|
-
s = c.createWithData(
|
|
57
|
-
d,
|
|
58
|
-
n(e.merkleTree.index),
|
|
59
|
-
n(e.merkleTree.count),
|
|
60
|
-
m,
|
|
61
|
-
25n,
|
|
62
|
-
0n
|
|
63
|
-
);
|
|
64
|
-
} else
|
|
65
|
-
s = c.create(m, 25n, 0n);
|
|
66
|
-
return e.latestBlockNumber && e.senderAddressIndexMap ? r = new Map(
|
|
67
|
-
e.senderAddressIndexMap.map(({ address: d, index: t }) => [d, t])
|
|
52
|
+
return e.latestBlockNumber && e.merkleTree ? s = l(e.merkleTree) : s = a.create(o, 0n), e.latestBlockNumber && e.senderAddressIndexMap ? r = new Map(
|
|
53
|
+
e.senderAddressIndexMap.map(({ address: d, index: n }) => [d, n])
|
|
68
54
|
) : r = /* @__PURE__ */ new Map(), {
|
|
69
55
|
latestBlockNumber: e.latestBlockNumber ?? 0,
|
|
70
56
|
reserveBlockNumber: e.reserveBlockNumber ?? 0,
|
|
@@ -80,7 +66,7 @@ class I extends l {
|
|
|
80
66
|
return this._merkleTree.insert(e.accessKey, e.index), this._senderAddressIndexMap.set(
|
|
81
67
|
e.senderAddress,
|
|
82
68
|
Math.max(Number(e.index), this._senderAddressIndexMap.get(e.senderAddress) ?? 0)
|
|
83
|
-
), this._senderAddresses.includes(e.senderAddress) || this._senderAddresses.push(e.senderAddress), e.accessKey === 0n && e.senderAddress ===
|
|
69
|
+
), this._senderAddresses.includes(e.senderAddress) || this._senderAddresses.push(e.senderAddress), e.accessKey === 0n && e.senderAddress === m && this._merkleTree.remove(e.index), !0;
|
|
84
70
|
} catch (r) {
|
|
85
71
|
return console.error(r), !1;
|
|
86
72
|
}
|
|
@@ -88,8 +74,8 @@ class I extends l {
|
|
|
88
74
|
mapEvent(e) {
|
|
89
75
|
const { accessKey: s, index: r, senderAddress: d } = e;
|
|
90
76
|
return {
|
|
91
|
-
accessKey:
|
|
92
|
-
index:
|
|
77
|
+
accessKey: t(s),
|
|
78
|
+
index: t(r),
|
|
93
79
|
senderAddress: d
|
|
94
80
|
};
|
|
95
81
|
}
|
|
@@ -107,5 +93,5 @@ class I extends l {
|
|
|
107
93
|
}
|
|
108
94
|
}
|
|
109
95
|
export {
|
|
110
|
-
|
|
96
|
+
f as AbstractAccessTokenSnapshotService
|
|
111
97
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./AbstractSnapshotService.cjs"),d=require("../../functions/utils/amounts.utils.cjs"),u=require("../../functions/utils/caseInsensitive.utils.cjs");class A extends c.AbstractSnapshotService{constructor(e,t,r,s){super(e,{name:"NewApprovedUtxo",args:["approveTo","tokenAddress","amount","inHinkalAddress"]},t,r,s)}_approvals=new Map;events=new Set;get approvals(){return this._approvals}getEventKey(e,t){return typeof e!="bigint"||typeof t!="string"?null:`${t}-${e}`}serializeSnapshot(e){const t=Object.fromEntries(e.payload.approvals),r=Object.entries(t).map(([p,l])=>{const i=l.map(n=>({amount:n.amount.toString(),tokenAddress:n.tokenAddress,inHinkalAddress:n.inHinkalAddress.toString()}));return[p,i]}),s=Object.fromEntries(r);return{latestBlockNumber:e.latestBlockNumber,reserveBlockNumber:e.reserveBlockNumber,approvals:s,events:[...this.events]}}deserializeSnapshot(e){console.log({serializedSnapshot:e});const t=e.approvals,r=Object.entries(t).map(([p,l])=>{const i=l.map(n=>({amount:BigInt(n.amount),tokenAddress:n.tokenAddress,inHinkalAddress:BigInt(n.inHinkalAddress)}));return[p,i]}),s=new Map(r);return{latestBlockNumber:e.latestBlockNumber??0,reserveBlockNumber:e.reserveBlockNumber??0,payload:{approvals:s,events:new Set(e.events)}}}getSnapshotPayload(){return{approvals:this._approvals,events:this.events}}populateSnapshot({payload:{approvals:e,events:t}}){this._approvals=e,this.events=t}mapEvent(e){const{approveTo:t,tokenAddress:r,amount:s,inHinkalAddress:p}=e;return{approveTo:t,tokenAddress:r,amount:d.toBigInt(s),inHinkalAddress:d.toBigInt(p)}}acceptEvent(e,t,r){const s=this.getEventKey(e.inHinkalAddress,r);if(s&&!this.events.has(s)){const{amount:p,tokenAddress:l,inHinkalAddress:i}=e,n={amount:p,tokenAddress:l,inHinkalAddress:i};let a=this.approvals.get(e.approveTo)||[],v=!1;for(let o=0;o<a.length;o+=1)u.caseInsensitiveEqual(l,a[o].tokenAddress)&&i===a[o].inHinkalAddress&&(a[o].amount+=p,v=!0);if(a=a.filter(o=>o.amount!==0n),v&&a.length===0)this.approvals.delete(e.approveTo);else{const o=v?a:[...a,n];this.approvals.set(e.approveTo,o)}return r&&this.events.add(s),!0}return!1}}exports.AbstractApprovalsSnapshotService=A;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
import { AbstractSnapshotService, Snapshot } from './AbstractSnapshotService';
|
|
3
|
+
import { NewApprovedUtxoEvent } from '../../types/commitments.types';
|
|
4
|
+
import { ApprovedUtxo } from '../../types/hinkal.types';
|
|
5
|
+
export type ApprovalsSnapshotPayload = {
|
|
6
|
+
readonly approvals: Map<string, ApprovedUtxo[]>;
|
|
7
|
+
readonly events: Set<string>;
|
|
8
|
+
};
|
|
9
|
+
export type ApprovalsSerializedSnapshot = {
|
|
10
|
+
latestBlockNumber?: number;
|
|
11
|
+
reserveBlockNumber?: number;
|
|
12
|
+
approvals: Record<string, ApprovedUtxo<string>[]>;
|
|
13
|
+
events: string[];
|
|
14
|
+
};
|
|
15
|
+
export declare abstract class AbstractApprovalsSnapshotService extends AbstractSnapshotService<NewApprovedUtxoEvent, NewApprovedUtxoEvent<string>, ApprovalsSnapshotPayload, ApprovalsSerializedSnapshot> {
|
|
16
|
+
constructor(contract: ethers.Contract, initialBlockNumber: number, isServer: boolean, maxPageSize?: number);
|
|
17
|
+
private _approvals;
|
|
18
|
+
events: Set<string>;
|
|
19
|
+
get approvals(): Map<string, ApprovedUtxo[]>;
|
|
20
|
+
private getEventKey;
|
|
21
|
+
protected serializeSnapshot(snapshot: Snapshot<ApprovalsSnapshotPayload>): ApprovalsSerializedSnapshot;
|
|
22
|
+
protected deserializeSnapshot(serializedSnapshot: ApprovalsSerializedSnapshot): Snapshot<ApprovalsSnapshotPayload>;
|
|
23
|
+
protected getSnapshotPayload(): {
|
|
24
|
+
approvals: Map<string, ApprovedUtxo[]>;
|
|
25
|
+
events: Set<string>;
|
|
26
|
+
};
|
|
27
|
+
protected populateSnapshot({ payload: { approvals, events } }: Snapshot<ApprovalsSnapshotPayload>): void;
|
|
28
|
+
protected mapEvent(event: NewApprovedUtxoEvent<string>): NewApprovedUtxoEvent;
|
|
29
|
+
protected acceptEvent(event: NewApprovedUtxoEvent, _blockNumber: number, txHash: string): boolean;
|
|
30
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { AbstractSnapshotService as c } from "./AbstractSnapshotService.mjs";
|
|
2
|
+
import { toBigInt as v } from "../../functions/utils/amounts.utils.mjs";
|
|
3
|
+
import { caseInsensitiveEqual as u } from "../../functions/utils/caseInsensitive.utils.mjs";
|
|
4
|
+
class f extends c {
|
|
5
|
+
constructor(e, t, r, s) {
|
|
6
|
+
super(
|
|
7
|
+
e,
|
|
8
|
+
{
|
|
9
|
+
name: "NewApprovedUtxo",
|
|
10
|
+
args: ["approveTo", "tokenAddress", "amount", "inHinkalAddress"]
|
|
11
|
+
},
|
|
12
|
+
t,
|
|
13
|
+
r,
|
|
14
|
+
s
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
_approvals = /* @__PURE__ */ new Map();
|
|
18
|
+
events = /* @__PURE__ */ new Set();
|
|
19
|
+
get approvals() {
|
|
20
|
+
return this._approvals;
|
|
21
|
+
}
|
|
22
|
+
getEventKey(e, t) {
|
|
23
|
+
return typeof e != "bigint" || typeof t != "string" ? null : `${t}-${e}`;
|
|
24
|
+
}
|
|
25
|
+
serializeSnapshot(e) {
|
|
26
|
+
const t = Object.fromEntries(e.payload.approvals), r = Object.entries(t).map(([p, l]) => {
|
|
27
|
+
const i = l.map((n) => ({
|
|
28
|
+
amount: n.amount.toString(),
|
|
29
|
+
tokenAddress: n.tokenAddress,
|
|
30
|
+
inHinkalAddress: n.inHinkalAddress.toString()
|
|
31
|
+
}));
|
|
32
|
+
return [p, i];
|
|
33
|
+
}), s = Object.fromEntries(r);
|
|
34
|
+
return {
|
|
35
|
+
latestBlockNumber: e.latestBlockNumber,
|
|
36
|
+
reserveBlockNumber: e.reserveBlockNumber,
|
|
37
|
+
approvals: s,
|
|
38
|
+
events: [...this.events]
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
deserializeSnapshot(e) {
|
|
42
|
+
console.log({ serializedSnapshot: e });
|
|
43
|
+
const t = e.approvals, r = Object.entries(t).map(
|
|
44
|
+
([p, l]) => {
|
|
45
|
+
const i = l.map((n) => ({
|
|
46
|
+
amount: BigInt(n.amount),
|
|
47
|
+
tokenAddress: n.tokenAddress,
|
|
48
|
+
inHinkalAddress: BigInt(n.inHinkalAddress)
|
|
49
|
+
}));
|
|
50
|
+
return [p, i];
|
|
51
|
+
}
|
|
52
|
+
), s = new Map(r);
|
|
53
|
+
return {
|
|
54
|
+
latestBlockNumber: e.latestBlockNumber ?? 0,
|
|
55
|
+
reserveBlockNumber: e.reserveBlockNumber ?? 0,
|
|
56
|
+
payload: {
|
|
57
|
+
approvals: s,
|
|
58
|
+
events: new Set(e.events)
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
getSnapshotPayload() {
|
|
63
|
+
return {
|
|
64
|
+
approvals: this._approvals,
|
|
65
|
+
events: this.events
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
populateSnapshot({ payload: { approvals: e, events: t } }) {
|
|
69
|
+
this._approvals = e, this.events = t;
|
|
70
|
+
}
|
|
71
|
+
mapEvent(e) {
|
|
72
|
+
const { approveTo: t, tokenAddress: r, amount: s, inHinkalAddress: p } = e;
|
|
73
|
+
return {
|
|
74
|
+
approveTo: t,
|
|
75
|
+
tokenAddress: r,
|
|
76
|
+
amount: v(s),
|
|
77
|
+
inHinkalAddress: v(p)
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
acceptEvent(e, t, r) {
|
|
81
|
+
const s = this.getEventKey(e.inHinkalAddress, r);
|
|
82
|
+
if (s && !this.events.has(s)) {
|
|
83
|
+
const { amount: p, tokenAddress: l, inHinkalAddress: i } = e, n = {
|
|
84
|
+
amount: p,
|
|
85
|
+
tokenAddress: l,
|
|
86
|
+
inHinkalAddress: i
|
|
87
|
+
};
|
|
88
|
+
let o = this.approvals.get(e.approveTo) || [], d = !1;
|
|
89
|
+
for (let a = 0; a < o.length; a += 1)
|
|
90
|
+
u(l, o[a].tokenAddress) && i === o[a].inHinkalAddress && (o[a].amount += p, d = !0);
|
|
91
|
+
if (o = o.filter((a) => a.amount !== 0n), d && o.length === 0)
|
|
92
|
+
this.approvals.delete(e.approveTo);
|
|
93
|
+
else {
|
|
94
|
+
const a = d ? o : [...o, n];
|
|
95
|
+
this.approvals.set(e.approveTo, a);
|
|
96
|
+
}
|
|
97
|
+
return r && this.events.add(s), !0;
|
|
98
|
+
}
|
|
99
|
+
return !1;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
export {
|
|
103
|
+
f as AbstractApprovalsSnapshotService
|
|
104
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../crypto/poseidon.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const n=require("../merkle-tree/MerkleTree.cjs");require("ethers");require("../../error-handling/error-codes.constants.cjs");const s=require("../../functions/utils/amounts.utils.cjs"),c=require("./AbstractSnapshotService.cjs"),l=require("../../functions/utils/merkleTree.utils.cjs");class m extends c.AbstractSnapshotService{constructor(e,t,r,u){super(e,{name:"NewCommitment",args:["commitment","index","encryptedOutput"]},t,r,u)}_merkleTree;_encryptedOutputs;get merkleTree(){return this._merkleTree}get encryptedOutputs(){return this._encryptedOutputs}serializeSnapshot(e){return{merkleTree:e.payload.merkleTree.toJSON(),latestBlockNumber:e.latestBlockNumber,reserveBlockNumber:e.reserveBlockNumber,encryptedOutputs:e.payload.encryptedOutputs.map(t=>({value:t.value,isPositive:String(t.isPositive)}))}}deserializeSnapshot(e){let t;e.latestBlockNumber&&e.merkleTree?t=l.contructMerkleTreeFromSerialized(e.merkleTree):t=n.MerkleTree.create(i.poseidonFunction,0n);const r=e.encryptedOutputs?.map(u=>({value:u.value,isPositive:JSON.parse(u.isPositive)}));return{latestBlockNumber:e.latestBlockNumber??0,reserveBlockNumber:e.reserveBlockNumber??0,payload:{merkleTree:t,encryptedOutputs:r||[]}}}getSnapshotPayload(){return{merkleTree:this._merkleTree,encryptedOutputs:this._encryptedOutputs}}populateSnapshot({payload:{merkleTree:e,encryptedOutputs:t}}){this._merkleTree=e,this._encryptedOutputs=t}mapEvent(e){const{commitment:t,index:r,encryptedOutput:u}=e;return{commitment:s.toBigInt(t),index:s.toBigInt(r),encryptedOutput:u}}acceptEvent(e,t){if(!this.encryptedOutputs.map(r=>r.value).includes(e.encryptedOutput)){if(!this._merkleTree.insert(e.commitment,e.index>=0?e.index:-1n*e.index))return!1;const u={value:e.encryptedOutput,isPositive:e.index>=0n};return this._encryptedOutputs.push(u),!0}return!1}}exports.AbstractCommitmentsSnapshotService=m;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import { poseidonFunction as
|
|
1
|
+
import { poseidonFunction as s } from "../../crypto/poseidon.mjs";
|
|
2
2
|
import "circomlibjs-hinkal-fork";
|
|
3
3
|
import "libsodium-wrappers";
|
|
4
4
|
import "process";
|
|
5
5
|
import "buffer";
|
|
6
|
-
import { MerkleTree as
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
import { MerkleTree as i } from "../merkle-tree/MerkleTree.mjs";
|
|
7
|
+
import "ethers";
|
|
8
|
+
import "../../error-handling/error-codes.constants.mjs";
|
|
9
|
+
import { toBigInt as m } from "../../functions/utils/amounts.utils.mjs";
|
|
10
|
+
import { AbstractSnapshotService as p } from "./AbstractSnapshotService.mjs";
|
|
11
|
+
import { contructMerkleTreeFromSerialized as c } from "../../functions/utils/merkleTree.utils.mjs";
|
|
12
|
+
class _ extends p {
|
|
13
|
+
constructor(e, t, r, u) {
|
|
11
14
|
super(
|
|
12
15
|
e,
|
|
13
16
|
{
|
|
@@ -15,8 +18,8 @@ class v extends i {
|
|
|
15
18
|
args: ["commitment", "index", "encryptedOutput"]
|
|
16
19
|
},
|
|
17
20
|
t,
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
r,
|
|
22
|
+
u
|
|
20
23
|
);
|
|
21
24
|
}
|
|
22
25
|
_merkleTree;
|
|
@@ -40,33 +43,17 @@ class v extends i {
|
|
|
40
43
|
}
|
|
41
44
|
deserializeSnapshot(e) {
|
|
42
45
|
let t;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
BigInt(p)
|
|
48
|
-
])
|
|
49
|
-
);
|
|
50
|
-
t = s.createWithData(
|
|
51
|
-
r,
|
|
52
|
-
n(e.merkleTree.index),
|
|
53
|
-
n(e.merkleTree.count),
|
|
54
|
-
m,
|
|
55
|
-
25n,
|
|
56
|
-
0n
|
|
57
|
-
);
|
|
58
|
-
} else
|
|
59
|
-
t = s.create(m, 25n, 0n);
|
|
60
|
-
const u = e.encryptedOutputs?.map((r) => ({
|
|
61
|
-
value: r.value,
|
|
62
|
-
isPositive: JSON.parse(r.isPositive)
|
|
46
|
+
e.latestBlockNumber && e.merkleTree ? t = c(e.merkleTree) : t = i.create(s, 0n);
|
|
47
|
+
const r = e.encryptedOutputs?.map((u) => ({
|
|
48
|
+
value: u.value,
|
|
49
|
+
isPositive: JSON.parse(u.isPositive)
|
|
63
50
|
}));
|
|
64
51
|
return {
|
|
65
52
|
latestBlockNumber: e.latestBlockNumber ?? 0,
|
|
66
53
|
reserveBlockNumber: e.reserveBlockNumber ?? 0,
|
|
67
54
|
payload: {
|
|
68
55
|
merkleTree: t,
|
|
69
|
-
encryptedOutputs:
|
|
56
|
+
encryptedOutputs: r || []
|
|
70
57
|
}
|
|
71
58
|
};
|
|
72
59
|
}
|
|
@@ -82,26 +69,26 @@ class v extends i {
|
|
|
82
69
|
this._merkleTree = e, this._encryptedOutputs = t;
|
|
83
70
|
}
|
|
84
71
|
mapEvent(e) {
|
|
85
|
-
const { commitment: t, index:
|
|
72
|
+
const { commitment: t, index: r, encryptedOutput: u } = e;
|
|
86
73
|
return {
|
|
87
|
-
commitment:
|
|
88
|
-
index:
|
|
89
|
-
encryptedOutput:
|
|
74
|
+
commitment: m(t),
|
|
75
|
+
index: m(r),
|
|
76
|
+
encryptedOutput: u
|
|
90
77
|
};
|
|
91
78
|
}
|
|
92
79
|
acceptEvent(e, t) {
|
|
93
|
-
if (!this.encryptedOutputs.map((
|
|
80
|
+
if (!this.encryptedOutputs.map((r) => r.value).includes(e.encryptedOutput)) {
|
|
94
81
|
if (!this._merkleTree.insert(e.commitment, e.index >= 0 ? e.index : -1n * e.index))
|
|
95
82
|
return !1;
|
|
96
|
-
const
|
|
83
|
+
const u = {
|
|
97
84
|
value: e.encryptedOutput,
|
|
98
85
|
isPositive: e.index >= 0n
|
|
99
86
|
};
|
|
100
|
-
return this._encryptedOutputs.push(
|
|
87
|
+
return this._encryptedOutputs.push(u), !0;
|
|
101
88
|
}
|
|
102
89
|
return !1;
|
|
103
90
|
}
|
|
104
91
|
}
|
|
105
92
|
export {
|
|
106
|
-
|
|
93
|
+
_ as AbstractCommitmentsSnapshotService
|
|
107
94
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("../../constants/reorg-depths.constants.cjs"),o=require("../../functions/utils/resolve-sync.utils.cjs");class u{contract;eventConfig;_latestBlockNumber;maxPageSize;isReady=!1;_onNewEvent;isServer;intervalId;inProgress;constructor(e,t,s,r,
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("../../constants/reorg-depths.constants.cjs"),o=require("../../functions/utils/resolve-sync.utils.cjs");class u{contract;eventConfig;_latestBlockNumber;maxPageSize;isReady=!1;_onNewEvent;isServer;intervalId;inProgress;constructor(e,t,s,r,i){this.contract=e,this.eventConfig=t,this._latestBlockNumber=s,this.maxPageSize=i,this.isServer=r,this.inProgress=!1}get latestBlockNumber(){return this._latestBlockNumber}set onNewEvent(e){this._onNewEvent=e}intervalClear(){this.isReady=!1,this._onNewEvent=void 0,clearInterval(this.intervalId)}async init(){if(this.isReady)throw new Error("Already initialized");this.isReady=!0,await this.retrieveEvents(this._latestBlockNumber+1),this.intervalId=setInterval(async()=>{await this.retrieveEvents(this.latestBlockNumber)},3500)}requireReady(){if(!this.isReady)throw new Error("Not ready")}emitNewEvent(e){this._onNewEvent?.(e)}getLastBlockNumberForEventRequest=async()=>{const e=await this.contract.provider.getBlockNumber();if(!this.isServer)return e;const{chainId:t}=await this.contract.provider.getNetwork();return Math.max(this.latestBlockNumber,e-v.blockReorgDepth[t]+1)};async retrieveEvents(e,t=!1){try{if(this.requireReady(),this.inProgress&&!t)return!1;this.inProgress=!0;const s=await this.getLastBlockNumberForEventRequest();if(s<e)return this.inProgress=!1,!1;const r=o.getSequence(e,s,this.maxPageSize);return await o.resolveSync(r.map(({from:i,to:n})=>async()=>{const a=await this.contract.queryFilter(this.contract.filters[this.eventConfig.name](),i,n);let c=[];a.length>0&&(c=await this.processEventsPage(a)),this._latestBlockNumber=n,await this.afterEventsAccepted(),c.length>0&&this.emitNewEvent()})),this.inProgress=!1,!0}catch{return this.inProgress=!1,!1}}async processEventsPage(e){const t=[];return await o.resolveSync(e.map(s=>async()=>{const{args:r,blockNumber:i,transactionHash:n}=s;if(!r)throw new Error("Wrong event structure");const a=this.mapEvent(r);await this.acceptEvent(a,i,n)&&t.push(a)})),t}handleEvent=async(...e)=>{const{args:t}=this.eventConfig,{blockNumber:s}=e[e.length-1],r=e.slice(0,t.length),i=t.reduce((c,l,h)=>(c[l]=r[h],c),{});if(!s)throw new Error("Wrong event structure");const n=this.mapEvent(i);if(!await this.acceptEvent(n,s))throw new Error("Failed to retrieve events");this._latestBlockNumber=s,await this.afterEventsAccepted(),this.emitNewEvent(n)}}exports.AbstractEventService=u;
|
|
@@ -25,7 +25,7 @@ export declare abstract class AbstractEventService<EventType, SerializedEventTyp
|
|
|
25
25
|
protected retrieveEvents(fromBlockNumber: number, useForce?: boolean): Promise<boolean>;
|
|
26
26
|
private processEventsPage;
|
|
27
27
|
protected handleEvent: (...args: unknown[]) => Promise<void>;
|
|
28
|
-
protected abstract acceptEvent(event: EventType, blockNumber: number): boolean | Promise<boolean>;
|
|
28
|
+
protected abstract acceptEvent(event: EventType, blockNumber: number, txHash?: string): boolean | Promise<boolean>;
|
|
29
29
|
protected abstract mapEvent(event: SerializedEventType): EventType;
|
|
30
30
|
protected abstract afterEventsAccepted(): Promise<unknown>;
|
|
31
31
|
}
|
|
@@ -11,8 +11,8 @@ class g {
|
|
|
11
11
|
intervalId;
|
|
12
12
|
inProgress;
|
|
13
13
|
// to remove race conditions
|
|
14
|
-
constructor(e, t, s, r,
|
|
15
|
-
this.contract = e, this.eventConfig = t, this._latestBlockNumber = s, this.maxPageSize =
|
|
14
|
+
constructor(e, t, s, r, i) {
|
|
15
|
+
this.contract = e, this.eventConfig = t, this._latestBlockNumber = s, this.maxPageSize = i, this.isServer = r, this.inProgress = !1;
|
|
16
16
|
}
|
|
17
17
|
get latestBlockNumber() {
|
|
18
18
|
return this._latestBlockNumber;
|
|
@@ -54,14 +54,14 @@ class g {
|
|
|
54
54
|
return this.inProgress = !1, !1;
|
|
55
55
|
const r = u(e, s, this.maxPageSize);
|
|
56
56
|
return await o(
|
|
57
|
-
r.map(({ from:
|
|
58
|
-
const
|
|
57
|
+
r.map(({ from: i, to: n }) => async () => {
|
|
58
|
+
const a = await this.contract.queryFilter(
|
|
59
59
|
this.contract.filters[this.eventConfig.name](),
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
i,
|
|
61
|
+
n
|
|
62
62
|
);
|
|
63
|
-
let
|
|
64
|
-
|
|
63
|
+
let c = [];
|
|
64
|
+
a.length > 0 && (c = await this.processEventsPage(a)), this._latestBlockNumber = n, await this.afterEventsAccepted(), c.length > 0 && this.emitNewEvent();
|
|
65
65
|
})
|
|
66
66
|
), this.inProgress = !1, !0;
|
|
67
67
|
} catch {
|
|
@@ -72,22 +72,22 @@ class g {
|
|
|
72
72
|
const t = [];
|
|
73
73
|
return await o(
|
|
74
74
|
e.map((s) => async () => {
|
|
75
|
-
const { args: r, blockNumber: n } = s;
|
|
75
|
+
const { args: r, blockNumber: i, transactionHash: n } = s;
|
|
76
76
|
if (!r)
|
|
77
77
|
throw new Error("Wrong event structure");
|
|
78
|
-
const
|
|
79
|
-
await this.acceptEvent(i, n) && t.push(
|
|
78
|
+
const a = this.mapEvent(r);
|
|
79
|
+
await this.acceptEvent(a, i, n) && t.push(a);
|
|
80
80
|
})
|
|
81
81
|
), t;
|
|
82
82
|
}
|
|
83
83
|
handleEvent = async (...e) => {
|
|
84
|
-
const { args: t } = this.eventConfig, { blockNumber: s } = e[e.length - 1], r = e.slice(0, t.length),
|
|
84
|
+
const { args: t } = this.eventConfig, { blockNumber: s } = e[e.length - 1], r = e.slice(0, t.length), i = t.reduce((c, h, l) => (c[h] = r[l], c), {});
|
|
85
85
|
if (!s)
|
|
86
86
|
throw new Error("Wrong event structure");
|
|
87
|
-
const
|
|
88
|
-
if (!await this.acceptEvent(
|
|
87
|
+
const n = this.mapEvent(i);
|
|
88
|
+
if (!await this.acceptEvent(n, s))
|
|
89
89
|
throw new Error("Failed to retrieve events");
|
|
90
|
-
this._latestBlockNumber = s, await this.afterEventsAccepted(), this.emitNewEvent(
|
|
90
|
+
this._latestBlockNumber = s, await this.afterEventsAccepted(), this.emitNewEvent(n);
|
|
91
91
|
};
|
|
92
92
|
}
|
|
93
93
|
export {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './AbstractAccessTokenSnapshotService';
|
|
2
2
|
export * from './AbstractCommitmentsSnapshotService';
|
|
3
|
+
export * from './AbstractApprovalsSnapshotService';
|
|
3
4
|
export * from './AbstractNullifierSnapshotService';
|
|
4
5
|
export * from './AbstractSnapshotService';
|
|
5
6
|
export * from './AbstractEventService';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../error-handling/logError.cjs"),u=require("./MerkleTreeIncompleteError.cjs");class
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../constants/protocol.constants.cjs"),c=require("../../error-handling/logError.cjs"),u=require("./MerkleTreeIncompleteError.cjs");class l{constructor(t,e,r,n,s,i,h){this.hashFunction=t,this.levels=e,this.defaultNodeValue=r,this.tree=n??new Map,this.count=h??0n,this.index=i??2n**(e-1n),s?this.reverseTree=s:this.reverseTree=this.createReverseTree()}tree;count;index;reverseTree;static createWithData(t,e,r,n,s,i,h){return new l(s,i,h,t,e,r,n)}static create(t,e,r=o.MERKLE_LEVELS){return new l(t,r,e)}createReverseTree(){const t=new Map;for(let e=this.getStartIndex();e<this.getStartIndex()+this.count;e+=1n){const r=this.tree.get(e);r!==void 0&&t.set(r,e)}return t}getStartIndex(){return 2n**(this.levels-1n)}logarithm2(t){let e=0n;for(;2n**e<t;)e+=1n;return e}bigIntMax(t,e){return t>e?t:e}forceInsert(t,e){if(e<this.getStartIndex())throw new RangeError;this.tree.set(e,t),this.reverseTree.set(t,e);const r=this.index-this.getStartIndex(),n=this.logarithm2(r);let s=e;for(let i=1n;i<=n;i+=1n){s/=2n;const h=this.hashFunction(this.tree.get(s*2n)||this.defaultNodeValue,this.tree.get(s*2n+1n)||this.defaultNodeValue);this.tree.set(s,h)}}insert(t,e){let r=!1;return this.tree.has(e)&&(r=!0,c.logError(`Editing commitment index: ${e} `)),r||(this.count+=1n),this.index=this.bigIntMax(this.index,e+1n),this.forceInsert(t,e),!0}remove(t){this.forceInsert(this.defaultNodeValue,t)}completenessCheck(){if(this.count!==this.index-this.getStartIndex())throw new u.MerkleTreeIncompleteError}getRootHash(){this.completenessCheck();for(let t=1n;t<2n**this.levels;t*=2n)if(this.tree.get(t))return this.tree.get(t);return this.defaultNodeValue}getMerkleData(){return this.completenessCheck(),new Map(this.tree)}getSiblingIndex(t){return t===1n?1n:t%2n===1n?t-1n:t+1n}getSiblingHashesForVerification(t){this.completenessCheck();let e=this.reverseTree.get(t);if(e===void 0)return new Array(Number(o.CIRCOM_MERKLE_LENGTH)).fill(0n);const r=[];for(;e!==0n;)r.push(this.tree.get(this.getSiblingIndex(e))||this.defaultNodeValue),e/=2n;return r.slice(0,o.CIRCOM_MERKLE_LENGTH)}getSiblingSides(t){this.completenessCheck();let e=this.reverseTree.get(t);if(e===void 0)return new Array(Number(o.CIRCOM_MERKLE_LENGTH)).fill(0n);const r=[];for(;e!==0n;){const n=e%2n===0n?0n:1n;r.push(n),e/=2n}return r.slice(0,o.CIRCOM_MERKLE_LENGTH)}toJSON(){const{tree:t,reverseTree:e,count:r,index:n}=this;return{tree:Object.fromEntries(t),reverseTree:Object.fromEntries(e),count:r.toString(),index:n.toString()}}clone(){return l.createWithData(new Map(this.tree),new Map(this.reverseTree),this.index,this.count,this.hashFunction,this.levels,this.defaultNodeValue)}getIndex(){return this.index}}exports.MerkleTree=l;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type MerkleTreeJson = {
|
|
2
2
|
tree: Record<string, string>;
|
|
3
|
+
reverseTree?: Record<string, string>;
|
|
3
4
|
count: string;
|
|
4
5
|
index: string;
|
|
5
6
|
};
|
|
@@ -25,13 +26,15 @@ export declare class MerkleTree<T> {
|
|
|
25
26
|
* meaning that there aren't any missing elements between getStartIndex() and index
|
|
26
27
|
*/
|
|
27
28
|
private index;
|
|
28
|
-
|
|
29
|
+
private reverseTree;
|
|
30
|
+
static createWithData<T>(tree: Map<bigint, T>, reverseTree: Map<T, bigint> | undefined, index: bigint, count: bigint, hashFunction: (a: T, b: T) => T, levels: bigint, defaultNodeValue: T): MerkleTree<T>;
|
|
29
31
|
/**
|
|
30
32
|
* @param hashFunction the hashFunction used to fill the upper layers of the merkle tree
|
|
31
33
|
* @param levels the amount of layers in the merkle tree
|
|
32
34
|
* @param defaultNodeValue the default value of an empty node in the merkle tree
|
|
33
35
|
*/
|
|
34
|
-
static create<T>(hashFunction: (a: T, b: T) => T,
|
|
36
|
+
static create<T>(hashFunction: (a: T, b: T) => T, defaultNodeValue: T, levels?: bigint): MerkleTree<T>;
|
|
37
|
+
private createReverseTree;
|
|
35
38
|
private constructor();
|
|
36
39
|
/**
|
|
37
40
|
* get starting nodeIndex from which inserts are allowed
|
|
@@ -73,4 +76,6 @@ export declare class MerkleTree<T> {
|
|
|
73
76
|
*/
|
|
74
77
|
getSiblingSides(item: T): bigint[];
|
|
75
78
|
toJSON(): MerkleTreeJson;
|
|
79
|
+
clone(): MerkleTree<T>;
|
|
80
|
+
getIndex(): bigint;
|
|
76
81
|
}
|