@hinkal/common 0.2.27 → 0.2.28
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 +35 -17
- package/API/API.mjs +100 -80
- package/API/admin-calls.cjs +1 -1
- package/API/admin-calls.d.ts +8 -1
- package/API/admin-calls.mjs +6 -5
- package/API/callLifiAPI.cjs +1 -1
- package/API/callLifiAPI.d.ts +1 -1
- package/API/callLifiAPI.mjs +5 -5
- package/API/callMonitor.cjs +1 -1
- package/API/callMonitor.d.ts +1 -1
- package/API/callMonitor.mjs +7 -7
- package/API/callOdosAPI.cjs +1 -1
- package/API/callOdosAPI.mjs +11 -11
- package/API/callOkxAPI.cjs +1 -1
- package/API/callOkxAPI.d.ts +1 -1
- package/API/callOkxAPI.mjs +5 -5
- package/API/callOneInchAPI.cjs +1 -1
- package/API/callOneInchAPI.mjs +10 -11
- package/API/callRelayer.cjs +1 -1
- package/API/callRelayer.d.ts +14 -6
- package/API/callRelayer.mjs +11 -11
- package/API/checkRisk.cjs +1 -1
- package/API/checkRisk.d.ts +1 -1
- package/API/checkRisk.mjs +4 -4
- package/API/deposit-and-withdraw-status-calls.cjs +1 -1
- package/API/deposit-and-withdraw-status-calls.d.ts +3 -2
- package/API/deposit-and-withdraw-status-calls.mjs +8 -8
- package/API/enclaveSignatureCalls.cjs +1 -0
- package/API/enclaveSignatureCalls.d.ts +10 -0
- package/API/enclaveSignatureCalls.mjs +16 -0
- package/API/enclaveUtxoCalls.cjs +1 -0
- package/API/enclaveUtxoCalls.d.ts +40 -0
- package/API/enclaveUtxoCalls.mjs +24 -0
- package/API/fetchCommitmentsCache.cjs +1 -1
- package/API/fetchCommitmentsCache.d.ts +2 -1
- package/API/fetchCommitmentsCache.mjs +9 -9
- package/API/get-token-data.cjs +1 -1
- package/API/get-token-data.d.ts +1 -1
- package/API/get-token-data.mjs +5 -5
- package/API/get-token-price-chart-data.cjs +1 -0
- package/API/get-token-price-chart-data.d.ts +16 -0
- package/API/get-token-price-chart-data.mjs +13 -0
- package/API/getCoingeckoPrice.cjs +1 -1
- package/API/getCoingeckoPrice.d.ts +0 -1
- package/API/getCoingeckoPrice.mjs +15 -16
- package/API/getGasEstimates.cjs +1 -1
- package/API/getGasEstimates.mjs +9 -9
- package/API/getServerURL.cjs +1 -1
- package/API/getServerURL.d.ts +3 -3
- package/API/getServerURL.mjs +51 -67
- package/API/getTokenPrice.cjs +1 -1
- package/API/getTokenPrice.d.ts +5 -0
- package/API/getTokenPrice.mjs +14 -7
- package/API/getWebsiteURL.cjs +1 -1
- package/API/getWebsiteURL.d.ts +1 -0
- package/API/getWebsiteURL.mjs +25 -10
- package/API/index.d.ts +3 -3
- package/API/kycCalls.cjs +1 -1
- package/API/kycCalls.d.ts +4 -8
- package/API/kycCalls.mjs +23 -26
- package/API/onrampCalls.cjs +1 -0
- package/API/onrampCalls.d.ts +20 -0
- package/API/onrampCalls.mjs +15 -0
- package/API/privacy-score-calls.cjs +1 -0
- package/API/privacy-score-calls.d.ts +17 -0
- package/API/privacy-score-calls.mjs +29 -0
- package/API/privateSendEmailNotificationsCalls.cjs +1 -0
- package/API/privateSendEmailNotificationsCalls.d.ts +8 -0
- package/API/privateSendEmailNotificationsCalls.mjs +11 -0
- package/API/privateSendNonceCalls.cjs +1 -0
- package/API/privateSendNonceCalls.d.ts +13 -0
- package/API/privateSendNonceCalls.mjs +15 -0
- package/API/privateSendRecipientInfoCalls.cjs +1 -0
- package/API/privateSendRecipientInfoCalls.d.ts +21 -0
- package/API/privateSendRecipientInfoCalls.mjs +15 -0
- package/API/proxyAccountsCalls.cjs +1 -1
- package/API/proxyAccountsCalls.d.ts +4 -2
- package/API/proxyAccountsCalls.mjs +18 -20
- package/API/relayCalls.cjs +1 -1
- package/API/relayCalls.mjs +4 -4
- package/API/rewardsUserCalls.cjs +1 -1
- package/API/rewardsUserCalls.d.ts +9 -0
- package/API/rewardsUserCalls.mjs +28 -22
- package/API/scheduled-transactions-calls.cjs +1 -1
- package/API/scheduled-transactions-calls.d.ts +2 -2
- package/API/scheduled-transactions-calls.mjs +9 -8
- package/API/simulate-batch-tx.cjs +1 -1
- package/API/simulate-batch-tx.d.ts +2 -2
- package/API/simulate-batch-tx.mjs +7 -6
- package/API/simulate-transaction.cjs +1 -0
- package/API/{is-tx-stateless.d.ts → simulate-transaction.d.ts} +1 -1
- package/API/simulate-transaction.mjs +18 -0
- package/API/snapshot-event-calls.cjs +1 -0
- package/API/snapshot-event-calls.d.ts +7 -0
- package/API/snapshot-event-calls.mjs +13 -0
- package/API/solana-calls.cjs +1 -1
- package/API/solana-calls.d.ts +8 -4
- package/API/solana-calls.mjs +15 -15
- package/API/temporaryWalletCalls.cjs +1 -1
- package/API/temporaryWalletCalls.mjs +13 -19
- package/API/token-calls.cjs +1 -1
- package/API/token-calls.mjs +6 -5
- package/API/tronSubsidyCalls.cjs +1 -0
- package/API/tronSubsidyCalls.d.ts +13 -0
- package/API/tronSubsidyCalls.mjs +11 -0
- package/README.md +27 -25
- package/constants/activity.constants.cjs +1 -1
- package/constants/activity.constants.mjs +4 -2
- package/constants/addresses.constants.cjs +1 -1
- package/constants/addresses.constants.mjs +1 -1
- package/constants/bridging.constants.cjs +1 -1
- package/constants/bridging.constants.d.ts +4 -0
- package/constants/bridging.constants.mjs +6 -2
- package/constants/chains.constants.cjs +1 -1
- package/constants/chains.constants.d.ts +6 -6
- package/constants/chains.constants.mjs +112 -69
- package/constants/coingecko.constants.cjs +1 -1
- package/constants/coingecko.constants.d.ts +2 -1
- package/constants/coingecko.constants.mjs +49 -38
- package/constants/deploy-data/deploy-data-solana.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-solana.json.mjs +390 -9
- package/constants/deploy-data/deploy-data-tronMainnet.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-tronMainnet.json.mjs +4638 -0
- package/constants/deploy-data/deploy-data-tronNile.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-tronNile.json.mjs +4638 -0
- package/constants/deploy-data/index.d.ts +3 -1
- package/constants/fees.constants.cjs +1 -1
- package/constants/fees.constants.d.ts +4 -1
- package/constants/fees.constants.mjs +8 -4
- package/constants/function-signatures.constants.cjs +1 -1
- package/constants/function-signatures.constants.d.ts +0 -1
- package/constants/function-signatures.constants.mjs +3 -4
- package/constants/images.constants.cjs +1 -0
- package/constants/images.constants.d.ts +1 -0
- package/constants/images.constants.mjs +4 -0
- package/constants/index.d.ts +6 -0
- package/constants/kyc.constants.cjs +1 -1
- package/constants/kyc.constants.mjs +39 -40
- package/constants/mediaUrls.constants.cjs +1 -1
- package/constants/mediaUrls.constants.d.ts +5 -1
- package/constants/mediaUrls.constants.mjs +6 -2
- package/constants/non-circular-tokens.constants.cjs +1 -0
- package/constants/non-circular-tokens.constants.d.ts +1 -0
- package/constants/non-circular-tokens.constants.mjs +4 -0
- package/constants/pay.constants.cjs +1 -0
- package/constants/pay.constants.d.ts +1 -0
- package/constants/pay.constants.mjs +4 -0
- package/constants/permit2.constants.cjs +1 -1
- package/constants/permit2.constants.d.ts +0 -1
- package/constants/permit2.constants.mjs +10 -11
- package/constants/protocol.constants.cjs +1 -1
- package/constants/protocol.constants.d.ts +6 -1
- package/constants/protocol.constants.mjs +38 -33
- package/constants/reorg-depths.constants.cjs +1 -1
- package/constants/reorg-depths.constants.mjs +3 -0
- package/constants/save-depths.cjs +1 -1
- package/constants/save-depths.mjs +6 -3
- package/constants/schedule.constants.cjs +1 -0
- package/constants/schedule.constants.d.ts +2 -0
- package/constants/schedule.constants.mjs +14 -0
- package/constants/server.constants.cjs +1 -1
- package/constants/server.constants.d.ts +31 -123
- package/constants/server.constants.mjs +65 -156
- package/constants/tasks.constants.cjs +1 -1
- package/constants/tasks.constants.mjs +5 -4
- package/constants/token-data/ERC20Registry.cjs +1 -1
- package/constants/token-data/ERC20Registry.mjs +48 -34
- package/constants/token-data/arbMainnetRegistry.json.cjs +1 -1
- package/constants/token-data/arbMainnetRegistry.json.mjs +1 -1
- package/constants/token-data/arbMainnetRegistryFixed.json.cjs +1 -1
- package/constants/token-data/arbMainnetRegistryFixed.json.mjs +1 -1
- package/constants/token-data/arcTestnetRegistry.json.cjs +1 -1
- package/constants/token-data/arcTestnetRegistry.json.mjs +2 -2
- package/constants/token-data/avalancheRegistry.json.cjs +1 -1
- package/constants/token-data/avalancheRegistry.json.mjs +1 -1
- package/constants/token-data/avalancheRegistryFixed.json.cjs +1 -1
- package/constants/token-data/avalancheRegistryFixed.json.mjs +1 -1
- package/constants/token-data/baseRegistry.json.cjs +1 -1
- package/constants/token-data/baseRegistry.json.mjs +3 -3
- package/constants/token-data/baseRegistryFixed.json.cjs +1 -1
- package/constants/token-data/baseRegistryFixed.json.mjs +1 -1
- package/constants/token-data/bnbMainnetRegistry.json.cjs +1 -1
- package/constants/token-data/bnbMainnetRegistry.json.mjs +2 -2
- package/constants/token-data/bnbMainnetRegistryFixed.json.cjs +1 -1
- package/constants/token-data/bnbMainnetRegistryFixed.json.mjs +2 -2
- package/constants/token-data/ethMainnetRegistry.json.cjs +1 -1
- package/constants/token-data/ethMainnetRegistry.json.mjs +1 -1
- package/constants/token-data/ethMainnetRegistryFixed.json.cjs +1 -1
- package/constants/token-data/ethMainnetRegistryFixed.json.mjs +1 -1
- package/constants/token-data/index.d.ts +2 -2
- package/constants/token-data/solanaMainnetRegistry.json.cjs +1 -1
- package/constants/token-data/solanaMainnetRegistry.json.mjs +143 -74
- package/constants/token-data/tronMainnetRegistry.json.cjs +1 -0
- package/constants/token-data/tronMainnetRegistry.json.mjs +24 -0
- package/constants/token-data/tronNileRegistry.json.cjs +1 -0
- package/constants/token-data/tronNileRegistry.json.mjs +24 -0
- package/constants/tokens.constants.cjs +1 -0
- package/constants/tokens.constants.d.ts +3 -0
- package/constants/tokens.constants.mjs +15 -0
- package/constants/tx-confirmation.constants.cjs +1 -0
- package/constants/tx-confirmation.constants.d.ts +4 -0
- package/constants/tx-confirmation.constants.mjs +7 -0
- package/constants/wallet.constants.cjs +1 -1
- package/constants/wallet.constants.d.ts +1 -7
- package/constants/wallet.constants.mjs +18 -8
- package/crypto/poseidon.cjs +1 -1
- package/crypto/poseidon.mjs +5 -5
- package/data-structures/AccountActions/AccountActions.cjs +1 -0
- package/data-structures/AccountActions/AccountActions.d.ts +17 -0
- package/data-structures/AccountActions/AccountActions.mjs +67 -0
- package/data-structures/AccountActions/index.d.ts +1 -0
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +1 -1
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +106 -109
- package/data-structures/BlockchainEvent/BlockchainEvent.cjs +1 -0
- package/data-structures/BlockchainEvent/BlockchainEvent.d.ts +14 -0
- package/data-structures/BlockchainEvent/BlockchainEvent.mjs +45 -0
- package/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/data-structures/Hinkal/Hinkal.d.ts +66 -74
- package/data-structures/Hinkal/Hinkal.mjs +366 -392
- package/data-structures/Hinkal/IHinkal.d.ts +61 -71
- package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
- package/data-structures/Hinkal/handleAutoDepositBack.d.ts +2 -4
- package/data-structures/Hinkal/handleAutoDepositBack.mjs +146 -79
- package/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
- package/data-structures/Hinkal/hinkalActionReceive.d.ts +1 -2
- package/data-structures/Hinkal/hinkalActionReceive.mjs +26 -22
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -1
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.d.ts +1 -0
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +34 -22
- package/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -0
- package/data-structures/Hinkal/hinkalClaimUtxo.d.ts +6 -0
- package/data-structures/Hinkal/hinkalClaimUtxo.mjs +119 -0
- package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalDeposit.d.ts +2 -2
- package/data-structures/Hinkal/hinkalDeposit.mjs +101 -94
- package/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -0
- package/data-structures/Hinkal/{hinkalDepostAndBridge.d.ts → hinkalDepositAndBridge.d.ts} +2 -2
- package/data-structures/Hinkal/hinkalDepositAndBridge.mjs +259 -0
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +2 -2
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +159 -102
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +1 -1
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +131 -92
- package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +1 -1
- package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +4 -5
- package/data-structures/Hinkal/hinkalMultiSend.cjs +1 -1
- package/data-structures/Hinkal/hinkalMultiSend.d.ts +1 -1
- package/data-structures/Hinkal/hinkalMultiSend.mjs +4 -4
- package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
- package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +2 -2
- package/data-structures/Hinkal/hinkalPrivateWallet.mjs +121 -125
- package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +2 -1
- package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +188 -38
- package/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalProxySwap.d.ts +1 -2
- package/data-structures/Hinkal/hinkalProxySwap.mjs +34 -31
- package/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
- package/data-structures/Hinkal/hinkalProxyToPrivate.d.ts +1 -1
- package/data-structures/Hinkal/hinkalProxyToPrivate.mjs +32 -28
- package/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -1
- package/data-structures/Hinkal/hinkalSignSubAccount.d.ts +1 -2
- package/data-structures/Hinkal/hinkalSignSubAccount.mjs +17 -15
- package/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaClaimUtxo.d.ts +5 -0
- package/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +130 -0
- package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +6 -3
- package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +98 -110
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +3 -1
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +228 -197
- package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.d.ts +5 -0
- package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.mjs +28 -0
- package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxySend.d.ts +4 -4
- package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +44 -43
- package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxyShield.d.ts +2 -2
- package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +73 -71
- package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +3 -3
- package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +79 -64
- package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaSwap.d.ts +1 -1
- package/data-structures/Hinkal/hinkalSolanaSwap.mjs +122 -100
- package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaTransfer.d.ts +29 -2
- package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +132 -70
- package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +3 -2
- package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +113 -75
- package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSwap.d.ts +1 -1
- package/data-structures/Hinkal/hinkalSwap.mjs +71 -103
- package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/data-structures/Hinkal/hinkalTransfer.d.ts +1 -1
- package/data-structures/Hinkal/hinkalTransfer.mjs +96 -96
- package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdraw.d.ts +2 -1
- package/data-structures/Hinkal/hinkalWithdraw.mjs +97 -99
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.d.ts +1 -2
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +204 -113
- package/data-structures/Hinkal/index.d.ts +4 -0
- package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/data-structures/Hinkal/resetMerkleTrees.d.ts +1 -1
- package/data-structures/Hinkal/resetMerkleTrees.mjs +109 -54
- package/data-structures/IndexedDB/activity-db.cjs +1 -1
- package/data-structures/IndexedDB/activity-db.d.ts +4 -5
- package/data-structures/IndexedDB/activity-db.mjs +124 -131
- package/data-structures/IndexedDB/balances-db.cjs +1 -1
- package/data-structures/IndexedDB/balances-db.mjs +45 -38
- package/data-structures/IndexedDB/contact-db.cjs +1 -1
- package/data-structures/IndexedDB/contact-db.mjs +43 -36
- package/data-structures/IndexedDB/index.d.ts +1 -0
- package/data-structures/IndexedDB/pay-activity-db.cjs +1 -0
- package/data-structures/IndexedDB/pay-activity-db.d.ts +9 -0
- package/data-structures/IndexedDB/pay-activity-db.mjs +26 -0
- package/data-structures/IndexedDB/prices-db.cjs +1 -1
- package/data-structures/IndexedDB/prices-db.mjs +1 -1
- package/data-structures/IndexedDB/signatures-db.cjs +1 -1
- package/data-structures/IndexedDB/signatures-db.mjs +26 -40
- package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +82 -79
- package/data-structures/TokenDBs/token-visibility-db.cjs +1 -1
- package/data-structures/TokenDBs/token-visibility-db.mjs +22 -36
- package/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
- package/data-structures/crypto-keys/decodeUTXO.mjs +1 -1
- package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
- package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +29 -30
- package/data-structures/crypto-keys/keys.cjs +1 -1
- package/data-structures/crypto-keys/keys.d.ts +9 -11
- package/data-structures/crypto-keys/keys.mjs +65 -110
- package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.d.ts +3 -2
- package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.mjs +9 -9
- package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.d.ts +3 -2
- package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.mjs +5 -5
- package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.d.ts +9 -4
- package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.mjs +65 -48
- package/data-structures/event-service/evm/AbstractEventService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractEventService.d.ts +4 -2
- package/data-structures/event-service/evm/AbstractEventService.mjs +13 -13
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.d.ts +3 -2
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.mjs +5 -5
- package/data-structures/event-service/evm/AbstractSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractSnapshotService.d.ts +2 -2
- package/data-structures/event-service/evm/AbstractSnapshotService.mjs +5 -6
- package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
- package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +18 -7
- package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +75 -49
- package/data-structures/event-service/evm/ClientBlockchainEventEmitter.cjs +1 -0
- package/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +11 -0
- package/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +25 -0
- package/data-structures/event-service/evm/PollingBlockchainEventEmitter.cjs +1 -0
- package/data-structures/event-service/evm/PollingBlockchainEventEmitter.d.ts +6 -0
- package/data-structures/event-service/evm/PollingBlockchainEventEmitter.mjs +16 -0
- package/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -0
- package/data-structures/event-service/helpers/ClientEventHelper.d.ts +10 -0
- package/data-structures/event-service/helpers/ClientEventHelper.mjs +38 -0
- package/data-structures/event-service/helpers/PollingEventHelper.cjs +1 -0
- package/data-structures/event-service/helpers/PollingEventHelper.d.ts +5 -0
- package/data-structures/event-service/helpers/PollingEventHelper.mjs +14 -0
- package/data-structures/event-service/index.d.ts +4 -0
- package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.d.ts +3 -2
- package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs +6 -6
- package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.d.ts +9 -4
- package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +65 -48
- package/data-structures/event-service/solana/AbstractSolanaEventService.cjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaEventService.d.ts +5 -10
- package/data-structures/event-service/solana/AbstractSolanaEventService.mjs +13 -7
- package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.cjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.d.ts +3 -2
- package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.mjs +4 -4
- package/data-structures/event-service/solana/AbstractSolanaSnapshotService.cjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaSnapshotService.d.ts +1 -2
- package/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +1 -2
- package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.cjs +1 -0
- package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.d.ts +11 -0
- package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.mjs +26 -0
- package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.cjs +1 -0
- package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.d.ts +6 -0
- package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.mjs +16 -0
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +20 -19
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +126 -76
- 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 +3 -2
- package/data-structures/merkle-tree/MerkleTree.mjs +27 -17
- package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.cjs +1 -1
- package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.d.ts +1 -2
- package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.mjs +6 -6
- package/data-structures/presale/PresaleContractWrapper.d.ts +1 -1
- package/data-structures/provider-adapter/IProviderAdapter.d.ts +9 -13
- package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +23 -18
- package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +12 -7
- package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +11 -5
- package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +9 -4
- package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +9 -4
- package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +12 -6
- package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -1
- package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +10 -5
- package/error-handling/customErrors/ErrorWithIndex.cjs +1 -0
- package/error-handling/customErrors/ErrorWithIndex.d.ts +4 -0
- package/error-handling/customErrors/ErrorWithIndex.mjs +9 -0
- package/error-handling/customErrors/ErrorWithTx.cjs +1 -1
- package/error-handling/customErrors/ErrorWithTx.d.ts +2 -3
- package/error-handling/customErrors/ErrorWithTx.mjs +5 -5
- package/error-handling/customErrors/index.d.ts +1 -0
- package/error-handling/error-codes.constants.cjs +2 -2
- package/error-handling/error-codes.constants.d.ts +29 -0
- package/error-handling/error-codes.constants.mjs +51 -22
- package/error-handling/get-error.message.cjs +1 -1
- package/error-handling/get-error.message.mjs +46 -47
- package/error-handling/index.d.ts +0 -1
- package/error-handling/isInsufficientFundsError.cjs +1 -0
- package/error-handling/isInsufficientFundsError.d.ts +1 -0
- package/error-handling/isInsufficientFundsError.mjs +19 -0
- package/functions/auto-deposit-back-helpers/get-gas-token-records.cjs +1 -0
- package/functions/auto-deposit-back-helpers/get-gas-token-records.d.ts +9 -0
- package/functions/auto-deposit-back-helpers/get-gas-token-records.mjs +74 -0
- package/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs +1 -0
- package/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.d.ts +3 -0
- package/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.mjs +61 -0
- package/functions/auto-deposit-back-helpers/index.d.ts +4 -0
- package/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -0
- package/functions/auto-deposit-back-helpers/select-gas-token.d.ts +13 -0
- package/functions/auto-deposit-back-helpers/select-gas-token.mjs +79 -0
- package/functions/auto-deposit-back-helpers/update-hinkal.cjs +1 -0
- package/functions/auto-deposit-back-helpers/update-hinkal.d.ts +3 -0
- package/functions/auto-deposit-back-helpers/update-hinkal.mjs +18 -0
- package/functions/connectors.types.d.ts +11 -3
- package/functions/index.d.ts +1 -0
- package/functions/kyc/zkMeHelper.cjs +1 -1
- package/functions/kyc/zkMeHelper.mjs +17 -16
- package/functions/pre-transaction/addressTableLookup.cjs +1 -1
- package/functions/pre-transaction/addressTableLookup.mjs +1 -1
- package/functions/pre-transaction/constructAdminData.cjs +1 -1
- package/functions/pre-transaction/constructAdminData.d.ts +2 -2
- package/functions/pre-transaction/constructAdminData.mjs +12 -18
- package/functions/pre-transaction/convert-okx-instructions.cjs +1 -1
- package/functions/pre-transaction/convert-okx-instructions.mjs +20 -16
- package/functions/pre-transaction/ensureAmountChanges.cjs +1 -0
- package/functions/pre-transaction/ensureAmountChanges.d.ts +2 -0
- package/functions/pre-transaction/ensureAmountChanges.mjs +11 -0
- package/functions/pre-transaction/getExternalSwapAddress.cjs +1 -1
- package/functions/pre-transaction/getExternalSwapAddress.d.ts +1 -2
- package/functions/pre-transaction/getExternalSwapAddress.mjs +8 -8
- package/functions/pre-transaction/getFeeStructure.cjs +1 -1
- package/functions/pre-transaction/getFeeStructure.d.ts +2 -1
- package/functions/pre-transaction/getFeeStructure.mjs +13 -12
- package/functions/pre-transaction/getKycAndSignatureData.cjs +1 -0
- package/functions/pre-transaction/getKycAndSignatureData.d.ts +5 -0
- package/functions/pre-transaction/getKycAndSignatureData.mjs +20 -0
- package/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
- package/functions/pre-transaction/getVolatileTransferAmount.mjs +22 -36
- package/functions/pre-transaction/index.d.ts +4 -0
- package/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -1
- package/functions/pre-transaction/merge-with-fee-structure-emporium.d.ts +1 -1
- package/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +17 -17
- package/functions/pre-transaction/outputApprovalDataProcessing.cjs +1 -1
- package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +1 -9
- package/functions/pre-transaction/outputApprovalDataProcessing.mjs +19 -34
- package/functions/pre-transaction/sendV0Transaction.cjs +1 -1
- package/functions/pre-transaction/sendV0Transaction.d.ts +4 -8
- package/functions/pre-transaction/sendV0Transaction.mjs +150 -86
- package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +1 -1
- package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +1 -1
- package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +7 -4
- package/functions/pre-transaction/store-instructions.cjs +1 -1
- package/functions/pre-transaction/store-instructions.mjs +11 -6
- package/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs +1 -0
- package/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.d.ts +3 -0
- package/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs +33 -0
- package/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/functions/private-wallet/emporium.helpers.d.ts +12 -7
- package/functions/private-wallet/emporium.helpers.mjs +105 -131
- package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
- package/functions/private-wallet/emporium.swap.helpers.d.ts +1 -4
- package/functions/private-wallet/emporium.swap.helpers.mjs +98 -100
- package/functions/snarkjs/common.snarkjs.cjs +1 -1
- package/functions/snarkjs/common.snarkjs.d.ts +4 -5
- package/functions/snarkjs/common.snarkjs.mjs +113 -111
- package/functions/snarkjs/constant.cjs +1 -1
- package/functions/snarkjs/constant.mjs +7 -1
- package/functions/snarkjs/constructEmporiumProof.cjs +1 -1
- package/functions/snarkjs/constructEmporiumProof.d.ts +4 -4
- package/functions/snarkjs/constructEmporiumProof.mjs +111 -121
- package/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
- package/functions/snarkjs/constructGeneralZkProof.d.ts +2 -2
- package/functions/snarkjs/constructGeneralZkProof.mjs +104 -124
- package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
- package/functions/snarkjs/constructSolanaZkProof.d.ts +1 -1
- package/functions/snarkjs/constructSolanaZkProof.mjs +58 -64
- package/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -1
- package/functions/snarkjs/fetchMerkleTreeSiblings.mjs +11 -10
- package/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -0
- package/functions/snarkjs/fetchOnChainRootHashes.d.ts +4 -0
- package/functions/snarkjs/fetchOnChainRootHashes.mjs +15 -0
- package/functions/snarkjs/generateCircomData.cjs +1 -1
- package/functions/snarkjs/generateCircomData.d.ts +3 -3
- package/functions/snarkjs/generateCircomData.mjs +29 -31
- package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
- package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +12 -1
- package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +161 -65
- package/functions/snarkjs/getZKFiles.cjs +1 -1
- package/functions/snarkjs/getZKFiles.mjs +7 -7
- package/functions/snarkjs/index.d.ts +1 -0
- package/functions/utils/addresses.cjs +1 -1
- package/functions/utils/addresses.d.ts +3 -0
- package/functions/utils/addresses.mjs +32 -17
- package/functions/utils/amounts.utils.cjs +1 -1
- package/functions/utils/amounts.utils.d.ts +1 -1
- package/functions/utils/amounts.utils.mjs +2 -2
- package/functions/utils/buildClaimableDepositPlan.cjs +1 -0
- package/functions/utils/buildClaimableDepositPlan.d.ts +15 -0
- package/functions/utils/buildClaimableDepositPlan.mjs +40 -0
- package/functions/utils/cacheDevice.utils.cjs +1 -1
- package/functions/utils/cacheDevice.utils.mjs +8 -6
- package/functions/utils/cacheFunctions.cjs +1 -1
- package/functions/utils/cacheFunctions.mjs +2 -2
- package/functions/utils/create-provider.cjs +1 -1
- package/functions/utils/create-provider.d.ts +1 -1
- package/functions/utils/create-provider.mjs +11 -7
- package/functions/utils/enclave-signature-storage.cjs +1 -0
- package/functions/utils/enclave-signature-storage.d.ts +2 -0
- package/functions/utils/enclave-signature-storage.mjs +13 -0
- package/functions/utils/enclave-utxo-storage.cjs +1 -0
- package/functions/utils/enclave-utxo-storage.d.ts +6 -0
- package/functions/utils/enclave-utxo-storage.mjs +34 -0
- package/functions/utils/encryptInputForEnclave.cjs +1 -1
- package/functions/utils/encryptInputForEnclave.mjs +21 -21
- package/functions/utils/erc20tokenFunctions.cjs +1 -1
- package/functions/utils/erc20tokenFunctions.mjs +35 -35
- package/functions/utils/evmNetworkFunctions.cjs +1 -1
- package/functions/utils/evmNetworkFunctions.mjs +5 -3
- package/functions/utils/fees.utils.cjs +1 -1
- package/functions/utils/fees.utils.mjs +31 -29
- package/functions/utils/getBlockExplorerUrl.cjs +1 -1
- package/functions/utils/getBlockExplorerUrl.mjs +3 -3
- package/functions/utils/getDataFromTransaction.d.ts +1 -1
- package/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
- package/functions/utils/getRecipientInfoFromUserKeys.mjs +1 -1
- package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
- package/functions/utils/getUtxosFromReceipt.utils.d.ts +2 -1
- package/functions/utils/getUtxosFromReceipt.utils.mjs +44 -15
- package/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
- package/functions/utils/getUtxosFromReceiptSolana.d.ts +2 -1
- package/functions/utils/getUtxosFromReceiptSolana.mjs +27 -16
- package/functions/utils/index.d.ts +12 -2
- package/functions/utils/involves-permit2-op.cjs +1 -1
- package/functions/utils/involves-permit2-op.d.ts +0 -1
- package/functions/utils/involves-permit2-op.mjs +4 -6
- package/functions/utils/mutexes.utils.cjs +1 -1
- package/functions/utils/mutexes.utils.d.ts +1 -1
- package/functions/utils/mutexes.utils.mjs +3 -3
- package/functions/utils/networks.utils.cjs +1 -1
- package/functions/utils/networks.utils.mjs +4 -2
- package/functions/utils/nftTokenFunctions.cjs +1 -1
- package/functions/utils/nftTokenFunctions.mjs +9 -23
- package/functions/utils/prepareHinkal.cjs +1 -1
- package/functions/utils/prepareHinkal.d.ts +6 -13
- package/functions/utils/prepareHinkal.mjs +44 -71
- package/functions/utils/process.utils.cjs +1 -1
- package/functions/utils/process.utils.d.ts +6 -0
- package/functions/utils/process.utils.mjs +22 -10
- package/functions/utils/proxyAvatar.utils.cjs +1 -0
- package/functions/utils/proxyAvatar.utils.d.ts +2 -0
- package/functions/utils/proxyAvatar.utils.mjs +5 -0
- package/functions/utils/publicBalance.utils.cjs +1 -1
- package/functions/utils/publicBalance.utils.d.ts +1 -1
- package/functions/utils/publicBalance.utils.mjs +55 -53
- package/functions/utils/serialize-utxos.utils.cjs +1 -0
- package/functions/utils/serialize-utxos.utils.d.ts +3 -0
- package/functions/utils/serialize-utxos.utils.mjs +13 -0
- package/functions/utils/string.utils.cjs +1 -1
- package/functions/utils/string.utils.d.ts +2 -0
- package/functions/utils/string.utils.mjs +35 -27
- package/functions/utils/time.utils.cjs +1 -1
- package/functions/utils/time.utils.mjs +1 -1
- package/functions/utils/token-check.utils.cjs +1 -1
- package/functions/utils/token-check.utils.d.ts +3 -0
- package/functions/utils/token-check.utils.mjs +18 -7
- package/functions/utils/tron.utils.cjs +1 -0
- package/functions/utils/tron.utils.d.ts +25 -0
- package/functions/utils/tron.utils.mjs +128 -0
- package/functions/utils/tronSimulation.utils.cjs +1 -0
- package/functions/utils/tronSimulation.utils.d.ts +1 -0
- package/functions/utils/tronSimulation.utils.mjs +30 -0
- package/functions/utils/tx-confirmation.utils.cjs +1 -0
- package/functions/utils/tx-confirmation.utils.d.ts +10 -0
- package/functions/utils/tx-confirmation.utils.mjs +50 -0
- package/functions/utils/upToDateState.cjs +1 -1
- package/functions/utils/upToDateState.d.ts +1 -1
- package/functions/utils/upToDateState.mjs +4 -4
- package/functions/utils/userAgent.cjs +1 -1
- package/functions/utils/userAgent.d.ts +0 -2
- package/functions/utils/userAgent.mjs +4 -23
- package/functions/utils/validateUsername.cjs +1 -0
- package/functions/utils/validateUsername.d.ts +5 -0
- package/functions/utils/validateUsername.mjs +16 -0
- package/functions/utils/walletBalances.utils.cjs +1 -1
- package/functions/utils/walletBalances.utils.d.ts +2 -17
- package/functions/utils/walletBalances.utils.mjs +5 -36
- package/functions/web3/connectors.utils.cjs +1 -1
- package/functions/web3/connectors.utils.d.ts +1 -0
- package/functions/web3/connectors.utils.mjs +14 -12
- package/functions/web3/crypto.cjs +1 -0
- package/functions/web3/crypto.d.ts +1 -0
- package/functions/web3/crypto.mjs +7 -0
- package/functions/web3/etherFunctions.cjs +1 -1
- package/functions/web3/etherFunctions.d.ts +1 -1
- package/functions/web3/etherFunctions.mjs +12 -15
- package/functions/web3/events/getApprovedBalance.cjs +1 -1
- package/functions/web3/events/getApprovedBalance.d.ts +3 -4
- package/functions/web3/events/getApprovedBalance.mjs +39 -44
- package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
- package/functions/web3/events/getInputUtxoAndBalance.d.ts +1 -1
- package/functions/web3/events/getInputUtxoAndBalance.mjs +127 -132
- package/functions/web3/events/getShieldedBalance.cjs +1 -2
- package/functions/web3/events/getShieldedBalance.d.ts +1 -1
- package/functions/web3/events/getShieldedBalance.mjs +72 -69
- package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
- package/functions/web3/events/getTransactionLogEvents.mjs +40 -36
- package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
- package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +17 -10
- package/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
- package/functions/web3/functionCalls/accessTokenCalls.d.ts +1 -6
- package/functions/web3/functionCalls/accessTokenCalls.mjs +19 -25
- package/functions/web3/functionCalls/approveToken.cjs +1 -1
- package/functions/web3/functionCalls/approveToken.d.ts +1 -1
- package/functions/web3/functionCalls/approveToken.mjs +68 -63
- package/functions/web3/functionCalls/approveTokensToHinkal.cjs +1 -1
- package/functions/web3/functionCalls/approveTokensToHinkal.d.ts +1 -1
- package/functions/web3/functionCalls/approveTokensToHinkal.mjs +6 -6
- package/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
- package/functions/web3/functionCalls/constructBatchCall.d.ts +3 -2
- package/functions/web3/functionCalls/constructBatchCall.mjs +53 -16
- package/functions/web3/functionCalls/estimateGasRelayer.d.ts +2 -3
- package/functions/web3/functionCalls/recoverTransactionFromError.cjs +1 -1
- package/functions/web3/functionCalls/recoverTransactionFromError.mjs +8 -7
- package/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
- package/functions/web3/functionCalls/transactCallDirect.d.ts +2 -2
- package/functions/web3/functionCalls/transactCallDirect.mjs +56 -47
- package/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -0
- package/functions/web3/functionCalls/transactCallDirectTron.d.ts +6 -0
- package/functions/web3/functionCalls/transactCallDirectTron.mjs +63 -0
- package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
- package/functions/web3/functionCalls/transactCallRelayer.d.ts +15 -6
- package/functions/web3/functionCalls/transactCallRelayer.mjs +72 -67
- package/functions/web3/functionCalls/waitForErc20Approvals.cjs +1 -0
- package/functions/web3/functionCalls/waitForErc20Approvals.d.ts +9 -0
- package/functions/web3/functionCalls/waitForErc20Approvals.mjs +54 -0
- package/functions/web3/getContractMetadata.cjs +1 -1
- package/functions/web3/getContractMetadata.mjs +14 -18
- package/functions/web3/getPublicAddressBalance.cjs +1 -1
- package/functions/web3/getPublicAddressBalance.d.ts +1 -1
- package/functions/web3/getPublicAddressBalance.mjs +7 -7
- package/functions/web3/getSolanaPriorityFee.cjs +1 -0
- package/functions/web3/getSolanaPriorityFee.d.ts +3 -0
- package/functions/web3/getSolanaPriorityFee.mjs +32 -0
- package/functions/web3/getTokenHolder.cjs +1 -1
- package/functions/web3/getTokenHolder.mjs +35 -31
- package/functions/web3/index.d.ts +3 -0
- package/functions/web3/lifiAPI.cjs +1 -1
- package/functions/web3/lifiAPI.d.ts +1 -1
- package/functions/web3/lifiAPI.mjs +12 -12
- package/functions/web3/odosAPI.cjs +1 -1
- package/functions/web3/odosAPI.mjs +4 -15
- package/functions/web3/okxAPI.cjs +1 -1
- package/functions/web3/okxAPI.mjs +13 -13
- package/functions/web3/oneInchAPI.cjs +1 -1
- package/functions/web3/oneInchAPI.mjs +9 -20
- package/functions/web3/runContractFunction.cjs +1 -1
- package/functions/web3/runContractFunction.mjs +38 -50
- package/functions/web3/tron-wagmi-adapter.cjs +1 -0
- package/functions/web3/tron-wagmi-adapter.d.ts +8 -0
- package/functions/web3/tron-wagmi-adapter.mjs +31 -0
- package/functions/web3/uniswapAPI.cjs +1 -1
- package/functions/web3/uniswapAPI.mjs +24 -34
- package/index.cjs +1 -1
- package/index.mjs +1079 -958
- package/package.json +4 -2
- package/providers/EthersProviderAdapter.cjs +1 -1
- package/providers/EthersProviderAdapter.d.ts +11 -17
- package/providers/EthersProviderAdapter.mjs +53 -82
- package/providers/SolanaProviderAdapter.cjs +1 -1
- package/providers/SolanaProviderAdapter.d.ts +8 -11
- package/providers/SolanaProviderAdapter.mjs +20 -32
- package/providers/TronProviderAdapter.cjs +1 -0
- package/providers/TronProviderAdapter.d.ts +37 -0
- package/providers/TronProviderAdapter.mjs +145 -0
- package/providers/WagmiProviderAdapter.cjs +1 -1
- package/providers/WagmiProviderAdapter.d.ts +14 -19
- package/providers/WagmiProviderAdapter.mjs +104 -130
- package/providers/prepareEthersHinkal.cjs +1 -1
- package/providers/prepareEthersHinkal.d.ts +2 -2
- package/providers/prepareEthersHinkal.mjs +17 -10
- package/providers/prepareWagmiHinkal.cjs +1 -1
- package/providers/prepareWagmiHinkal.mjs +21 -13
- package/types/TransactionSimulator.types.d.ts +2 -9
- package/types/activities.types.cjs +1 -1
- package/types/activities.types.d.ts +13 -7
- package/types/activities.types.mjs +18 -18
- package/types/admin.types.cjs +1 -1
- package/types/admin.types.d.ts +11 -8
- package/types/admin.types.mjs +2 -2
- package/types/balances.types.d.ts +1 -1
- package/types/cache.types.cjs +1 -1
- package/types/cache.types.d.ts +12 -4
- package/types/cache.types.mjs +2 -2
- package/types/circom-data.types.d.ts +6 -14
- package/types/coingecko.types.d.ts +5 -0
- package/types/commitments.types.d.ts +4 -0
- package/types/connector.types.d.ts +1 -0
- package/types/ethereum-network.types.d.ts +1 -1
- package/types/events.types.cjs +1 -0
- package/types/events.types.d.ts +6 -0
- package/types/events.types.mjs +4 -0
- package/types/fee.types.cjs +1 -0
- package/types/fee.types.d.ts +4 -0
- package/types/fee.types.mjs +4 -0
- package/types/hinkal.types.cjs +1 -1
- package/types/hinkal.types.d.ts +5 -1
- package/types/hinkal.types.mjs +14 -13
- package/types/index.d.ts +5 -4
- package/types/onramp.types.cjs +1 -0
- package/types/onramp.types.d.ts +58 -0
- package/types/onramp.types.mjs +4 -0
- package/types/pay-activities.types.cjs +1 -0
- package/types/pay-activities.types.d.ts +29 -0
- package/types/pay-activities.types.mjs +6 -0
- package/types/proxy.types.d.ts +7 -3
- package/types/rewards.types.d.ts +1 -1
- package/types/sandbox.types.cjs +1 -1
- package/types/sandbox.types.d.ts +12 -72
- package/types/sandbox.types.mjs +2 -2
- package/types/schedule.types.cjs +1 -0
- package/types/schedule.types.d.ts +7 -0
- package/types/schedule.types.mjs +4 -0
- package/types/scheduled-transactions.types.d.ts +14 -0
- package/types/session.types.d.ts +2 -0
- package/types/solana.types.d.ts +10 -0
- package/types/token-prices.types.cjs +1 -1
- package/types/token-prices.types.d.ts +7 -0
- package/types/token-prices.types.mjs +4 -2
- package/types/transactions.types.d.ts +2 -2
- package/types/tron.types.d.ts +10 -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 +31 -27
- 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 +1 -1
- package/webworker/viteWorkerURL.constant.cjs +3 -3
- package/webworker/viteWorkerURL.constant.mjs +3 -3
- package/webworker/zkProofWorker/zkProofWorker.types.d.ts +1 -2
- 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 +27 -28
- package/API/ai-calls.cjs +0 -1
- package/API/ai-calls.d.ts +0 -17
- package/API/ai-calls.mjs +0 -21
- package/API/duneAPI.cjs +0 -1
- package/API/duneAPI.d.ts +0 -11
- package/API/duneAPI.mjs +0 -25
- package/API/enclaveCalls.cjs +0 -1
- package/API/enclaveCalls.d.ts +0 -9
- package/API/enclaveCalls.mjs +0 -11
- package/API/getBridgeProtocols.cjs +0 -1
- package/API/getBridgeProtocols.d.ts +0 -7
- package/API/getBridgeProtocols.mjs +0 -8
- package/API/getLifiStatus.cjs +0 -1
- package/API/getLifiStatus.d.ts +0 -24
- package/API/getLifiStatus.mjs +0 -15
- package/API/getRelayerURL.cjs +0 -1
- package/API/getRelayerURL.d.ts +0 -1
- package/API/getRelayerURL.mjs +0 -10
- package/API/is-tx-stateless.cjs +0 -1
- package/API/is-tx-stateless.mjs +0 -20
- package/API/passwordCalls.cjs +0 -1
- package/API/passwordCalls.d.ts +0 -9
- package/API/passwordCalls.mjs +0 -13
- package/API/restoreSnapshots.cjs +0 -1
- package/API/restoreSnapshots.d.ts +0 -1
- package/API/restoreSnapshots.mjs +0 -10
- package/constants/token-data/popularTokens.constants.cjs +0 -1
- package/constants/token-data/popularTokens.constants.d.ts +0 -3
- package/constants/token-data/popularTokens.constants.mjs +0 -13
- package/constants/token-data/tokenPricing.consts.d.ts +0 -2
- package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.cjs +0 -1
- package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.d.ts +0 -7
- package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.mjs +0 -42
- package/data-structures/Hinkal/hinkalApprove.cjs +0 -1
- package/data-structures/Hinkal/hinkalApprove.d.ts +0 -3
- package/data-structures/Hinkal/hinkalApprove.mjs +0 -114
- package/data-structures/Hinkal/hinkalDepostAndBridge.cjs +0 -1
- package/data-structures/Hinkal/hinkalDepostAndBridge.mjs +0 -230
- package/data-structures/Hinkal/hinkalInsideTransact.cjs +0 -1
- package/data-structures/Hinkal/hinkalInsideTransact.d.ts +0 -4
- package/data-structures/Hinkal/hinkalInsideTransact.mjs +0 -120
- package/error-handling/handleErrorRestore.cjs +0 -1
- package/error-handling/handleErrorRestore.d.ts +0 -2
- package/error-handling/handleErrorRestore.mjs +0 -11
- package/functions/kyc/authentoHelper.cjs +0 -1
- package/functions/kyc/authentoHelper.d.ts +0 -12
- package/functions/kyc/authentoHelper.mjs +0 -30
- package/functions/utils/ethers-formatter.utils.cjs +0 -1
- package/functions/utils/ethers-formatter.utils.d.ts +0 -5
- package/functions/utils/ethers-formatter.utils.mjs +0 -59
- package/functions/utils/get-hinkal-approvals.cjs +0 -1
- package/functions/utils/get-hinkal-approvals.d.ts +0 -3
- package/functions/utils/get-hinkal-approvals.mjs +0 -38
- package/functions/utils/replaceAddressInCalldata.cjs +0 -1
- package/functions/utils/replaceAddressInCalldata.d.ts +0 -1
- package/functions/utils/replaceAddressInCalldata.mjs +0 -7
- package/functions/web3/functionCalls/estimateGasRelayer.cjs +0 -1
- package/functions/web3/functionCalls/estimateGasRelayer.mjs +0 -22
- package/functions/web3/functionCalls/inHinkalApprovalCalls.cjs +0 -1
- package/functions/web3/functionCalls/inHinkalApprovalCalls.d.ts +0 -5
- package/functions/web3/functionCalls/inHinkalApprovalCalls.mjs +0 -29
- package/types/bridging.types.d.ts +0 -29
- package/types/duneAPI.types.d.ts +0 -9
- package/types/relayer.types.d.ts +0 -25
- package/types/routing.types.cjs +0 -1
- package/types/routing.types.d.ts +0 -7
- package/types/routing.types.mjs +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("ethers"),m=require("libsodium-wrappers"),B=require("../utxo/Utxo.cjs"),p=require("@solana/web3.js"),g=require("./keys.cjs"),a=e=>e.startsWith("0x")?e:`0x${e}`,h=e=>{const s=[Buffer.from(r.ethers.toBeHex(e.amount)),Buffer.from(a(e.erc20TokenAddress)),Buffer.from(r.ethers.toBeHex(e.randomization)),Buffer.from(a(e.getStealthAddress())),Buffer.from(r.ethers.toBeHex(BigInt(e.timeStamp))),Buffer.from(r.ethers.toBeHex(BigInt(e.tokenId??0)))];if(e.mintAddress){const i=new p.PublicKey(e.mintAddress),t=r.ethers.hexlify(i.toBytes());s.push(Buffer.from(t))}const n=Buffer.concat(s);return m.crypto_box_seal(n,r.ethers.getBytes(e.getEncryptionKey()))},u=(e,s)=>{const{publicKey:n,privateKey:f}=g.UserKeys.getEncryptionKeyPair(s.getShieldedPrivateKey()),i=m.crypto_box_seal_open(e,r.ethers.getBytes(n),r.ethers.getBytes(f)),t=Buffer.from(i).toString("utf-8").split("0x").filter(o=>o.length!==0).map((o,y)=>{let c;return[0,2,4,5].includes(y)?c=BigInt(`0x${o}`):[1,3,6].includes(y)&&(c=`0x${o}`),c}),d=typeof t[6]=="string"?t[6]:void 0,l=d?new p.PublicKey(Buffer.from(d.slice(2),"hex")).toString():void 0;return{amount:t[0],erc20TokenAddress:t[1],randomization:t[2],stealthAddress:t[3],shieldedPrivateKey:s.getShieldedPrivateKey(),timeStamp:t[4].toString(),tokenId:t[5]?Number(t[5]):0,mintAddress:l}},x=(e,s)=>new B.Utxo(u(e,s));exports.decryptUtxo=x;exports.decryptUtxoConstructorArgs=u;exports.encryptUtxo=h;
|
|
@@ -1,47 +1,46 @@
|
|
|
1
|
-
import { ethers as
|
|
2
|
-
import
|
|
3
|
-
import { Utxo as
|
|
1
|
+
import { ethers as r } from "ethers";
|
|
2
|
+
import y from "libsodium-wrappers";
|
|
3
|
+
import { Utxo as g } from "../utxo/Utxo.mjs";
|
|
4
4
|
import { PublicKey as p } from "@solana/web3.js";
|
|
5
5
|
import { UserKeys as l } from "./keys.mjs";
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
Buffer.from(
|
|
9
|
-
Buffer.from(e.erc20TokenAddress),
|
|
10
|
-
|
|
11
|
-
Buffer.from(
|
|
12
|
-
Buffer.from(e.
|
|
13
|
-
Buffer.from(
|
|
14
|
-
Buffer.from(o.toBeHex(e.tokenId ?? 0))
|
|
6
|
+
const a = (e) => e.startsWith("0x") ? e : `0x${e}`, S = (e) => {
|
|
7
|
+
const o = [
|
|
8
|
+
Buffer.from(r.toBeHex(e.amount)),
|
|
9
|
+
Buffer.from(a(e.erc20TokenAddress)),
|
|
10
|
+
Buffer.from(r.toBeHex(e.randomization)),
|
|
11
|
+
Buffer.from(a(e.getStealthAddress())),
|
|
12
|
+
Buffer.from(r.toBeHex(BigInt(e.timeStamp))),
|
|
13
|
+
Buffer.from(r.toBeHex(BigInt(e.tokenId ?? 0)))
|
|
15
14
|
];
|
|
16
15
|
if (e.mintAddress) {
|
|
17
|
-
const
|
|
18
|
-
|
|
16
|
+
const i = new p(e.mintAddress), t = r.hexlify(i.toBytes());
|
|
17
|
+
o.push(Buffer.from(t));
|
|
19
18
|
}
|
|
20
|
-
const s = Buffer.concat(
|
|
21
|
-
return
|
|
22
|
-
},
|
|
23
|
-
const { publicKey: s, privateKey:
|
|
19
|
+
const s = Buffer.concat(o);
|
|
20
|
+
return y.crypto_box_seal(s, r.getBytes(e.getEncryptionKey()));
|
|
21
|
+
}, u = (e, o) => {
|
|
22
|
+
const { publicKey: s, privateKey: c } = l.getEncryptionKeyPair(o.getShieldedPrivateKey()), i = y.crypto_box_seal_open(
|
|
24
23
|
e,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
), t = Buffer.from(
|
|
28
|
-
let
|
|
29
|
-
return [0, 2, 4, 5].includes(
|
|
30
|
-
}),
|
|
24
|
+
r.getBytes(s),
|
|
25
|
+
r.getBytes(c)
|
|
26
|
+
), t = Buffer.from(i).toString("utf-8").split("0x").filter((n) => n.length !== 0).map((n, m) => {
|
|
27
|
+
let f;
|
|
28
|
+
return [0, 2, 4, 5].includes(m) ? f = BigInt(`0x${n}`) : [1, 3, 6].includes(m) && (f = `0x${n}`), f;
|
|
29
|
+
}), d = typeof t[6] == "string" ? t[6] : void 0, B = d ? new p(Buffer.from(d.slice(2), "hex")).toString() : void 0;
|
|
31
30
|
return {
|
|
32
31
|
amount: t[0],
|
|
33
32
|
erc20TokenAddress: t[1],
|
|
34
33
|
randomization: t[2],
|
|
35
34
|
stealthAddress: t[3],
|
|
36
|
-
shieldedPrivateKey:
|
|
35
|
+
shieldedPrivateKey: o.getShieldedPrivateKey(),
|
|
37
36
|
timeStamp: t[4].toString(),
|
|
38
37
|
tokenId: t[5] ? Number(t[5]) : 0,
|
|
39
38
|
// tokenId
|
|
40
|
-
mintAddress:
|
|
39
|
+
mintAddress: B
|
|
41
40
|
};
|
|
42
|
-
},
|
|
41
|
+
}, H = (e, o) => new g(u(e, o));
|
|
43
42
|
export {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
H as decryptUtxo,
|
|
44
|
+
u as decryptUtxoConstructorArgs,
|
|
45
|
+
S as encryptUtxo
|
|
47
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@solana/web3.js"),P=require("bs58"),r=require("ethers"),p=require("libsodium-wrappers"),l=require("../../constants/protocol.constants.cjs"),v=require("../../crypto/babyJub.cjs"),n=require("../../crypto/poseidon.cjs"),y=require("../cacheDevices/AttachableMemoryCacheDevice.cjs"),c=require("./keyUtils.cjs"),u=new y.AttachableMemoryCacheDevice,g=new y.AttachableMemoryCacheDevice,b={privateKey:"",publicKey:""};class m{signature;shieldedPrivateKey;constructor(e,t){this.signature=e,this.shieldedPrivateKey=t}getSignature(){return this.requireSignature(),this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error("No signature provided")}requireKeyMaterial(){if(!this.signature&&!this.shieldedPrivateKey)throw Error("No signature or shielded private key provided")}verifyMessage(e){return this.requireSignature(),r.ethers.verifyMessage(e,this.signature)}getShieldedPrivateKey=()=>(this.requireKeyMaterial(),this.shieldedPrivateKey||(this.shieldedPrivateKey=r.ethers.keccak256(this.signature)),this.shieldedPrivateKey);getShieldedPublicKey=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getShieldedPrivateKey()));getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();const t="hinkal-offchain-shielded-key",i=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return r.ethers.keccak256(r.ethers.toUtf8Bytes(`${t}:${i}`))};getDerivedEthereumAddress=()=>(this.requireKeyMaterial(),new r.ethers.Wallet(this.getShieldedPrivateKey()).address);getDerivedSolanaPublicKey=()=>(this.requireKeyMaterial(),d.Keypair.fromSeed(r.ethers.getBytes(this.getShieldedPrivateKey())).publicKey.toBase58());getAccessKey=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();const t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return r.ethers.keccak256(r.ethers.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{const t=this.getSignerPrivateKeyFromNonce(e),i=r.ethers.getBytes(t),s=d.Keypair.fromSeed(i);return P.encode(s.secretKey)};getWalletSalt=e=>(this.requireKeyMaterial(),n.poseidonHash(this.getShieldedPublicKey(),this.getShieldedPrivateKey(),e));getInHinkalAddress=e=>{this.requireKeyMaterial();const t=n.poseidonHash(this.getShieldedPrivateKey(),e);return BigInt(t)};getBackendToken=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getAccessKey(),this.getShieldedPublicKey()));static getRandomizedStealthPair=u.attach((e,t)=>{const i=v.babyJubInstance(),s=BigInt(t)%l.CIRCOM_P,h=e*s%l.CIRCOM_P,a=i.mulPointEscalar(i.Base8,e),o=i.mulPointEscalar(i.Base8,h),K=[BigInt(i.F.toString(a[0])),BigInt(i.F.toString(a[1]))],S=[BigInt(i.F.toString(o[0])),BigInt(i.F.toString(o[1]))];return{H0:K,H1:S}});static getStealthAddressCompressedPoints=(e,t)=>{const{H0:i,H1:s}=this.getRandomizedStealthPair(e,t),[h,a]=[i,s].map(o=>BigInt(o[1])+2n**255n*c.getCircomSign(o[0]));return{h0:h,h1:a}};static getStealthAddress=g.attach((e,t)=>{const{H0:i,H1:s}=this.getRandomizedStealthPair(e,t),a=[2n*c.getCircomSign(i[0])+c.getCircomSign(s[0]),i[1],s[1]];return n.poseidonHash(...a)});static getStealthAddressWithEKey=(e,t)=>({stealthAddress:this.getStealthAddress(e,t),encryptionKey:this.getEncryptionKeyPair(t).publicKey});static checkSignature=(e,t,i,s)=>{const{h0:h,h1:a}=this.getStealthAddressCompressedPoints(e,s);return t===h&&i===a};static getEncryptionKeyPair=e=>{const t=p.crypto_box_seed_keypair(r.ethers.getBytes(e));return{privateKey:r.ethers.hexlify(t.privateKey),publicKey:r.ethers.hexlify(t.publicKey)}}}exports.EncryptionKeyPairDefaultValue=b;exports.UserKeys=m;exports.stealthAddressCacheDevice=g;exports.stealthPairCacheDevice=u;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { ethers } from 'ethers';
|
|
2
1
|
import { AttachableMemoryCacheDevice } from '../cacheDevices/AttachableMemoryCacheDevice';
|
|
3
|
-
import { VersionedTransaction } from '@solana/web3.js';
|
|
4
2
|
export declare const stealthPairCacheDevice: AttachableMemoryCacheDevice<{
|
|
5
3
|
H0: [bigint, bigint];
|
|
6
4
|
H1: [bigint, bigint];
|
|
@@ -13,10 +11,12 @@ export interface EncryptionKeyPair {
|
|
|
13
11
|
export declare const EncryptionKeyPairDefaultValue: EncryptionKeyPair;
|
|
14
12
|
export declare class UserKeys {
|
|
15
13
|
private signature;
|
|
16
|
-
|
|
14
|
+
private shieldedPrivateKey;
|
|
15
|
+
constructor(_signature?: string, _shieldedPrivateKey?: string);
|
|
17
16
|
getSignature(): string;
|
|
18
17
|
setSignature(_signature: string): void;
|
|
19
18
|
private requireSignature;
|
|
19
|
+
private requireKeyMaterial;
|
|
20
20
|
verifyMessage(signingMessage: string): string;
|
|
21
21
|
/**
|
|
22
22
|
* get shielded private key from message signature used to login to the application,
|
|
@@ -31,6 +31,12 @@ export declare class UserKeys {
|
|
|
31
31
|
* @retuns shielded public key in hexstring with 0x prefixed
|
|
32
32
|
*/
|
|
33
33
|
getShieldedPublicKey: () => string;
|
|
34
|
+
/**
|
|
35
|
+
* Currently used for creating shielded private keys for deposit UTXOs, which are encrypted and sent to enclave for private send
|
|
36
|
+
* @param nonce Used to deterministically generate new shielded private key
|
|
37
|
+
* @returns new shielded private key in hexstring with 0x prefixed
|
|
38
|
+
*/
|
|
39
|
+
getShieldedPrivateKeyFromNonce: (nonce: bigint) => string;
|
|
34
40
|
/**
|
|
35
41
|
* deterministically derive an EVM address from the shielded private key
|
|
36
42
|
*/
|
|
@@ -46,14 +52,6 @@ export declare class UserKeys {
|
|
|
46
52
|
getAccessKey: () => string;
|
|
47
53
|
getSignerPrivateKeyFromNonce: (walletNonce: bigint) => string;
|
|
48
54
|
getSignerSolanaPrivateKeyFromNonce: (walletNonce: bigint) => string;
|
|
49
|
-
getEvmPrivateKeyFromSolanaPrivateKey: (solanaPrivateKey: string) => string;
|
|
50
|
-
private static getSignerFromPrivateKey;
|
|
51
|
-
static getSignerAddressFromPrivateKey(chainId: number, privateKey: string): string;
|
|
52
|
-
static signMessageFromPrivateKey: (chainId: number, privateKey: string, message: string) => Promise<string>;
|
|
53
|
-
static signSolanaTransactionFromPrivateKey: (chainId: number, privateKey: string, transaction: VersionedTransaction) => void;
|
|
54
|
-
static sendAndSignTransactionFromPrivateKey: (chainId: number, privateKey: string, transaction: ethers.TransactionRequest | VersionedTransaction) => Promise<string>;
|
|
55
|
-
static signTypedDataFromPrivateKey: (chainId: number, privateKey: string, domain: ethers.TypedDataDomain, types: Record<string, Array<ethers.TypedDataField>>, value: Record<string, any>) => Promise<string>;
|
|
56
|
-
static authorizeDelegation: (chainId: number, privateKey: string, implementation: string, nonce?: number) => Promise<ethers.Authorization>;
|
|
57
55
|
getWalletSalt: (walletNonce: bigint) => string;
|
|
58
56
|
/**
|
|
59
57
|
* generate inHinkalAddress - a user unique address linking him with a specific app
|
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
import f from "bs58";
|
|
12
|
-
import { createCustomSolanaConnection as b } from "../../functions/utils/create-provider.mjs";
|
|
13
|
-
const F = new K(), B = new K(), W = {
|
|
1
|
+
import { Keypair as c } from "@solana/web3.js";
|
|
2
|
+
import K from "bs58";
|
|
3
|
+
import { ethers as r } from "ethers";
|
|
4
|
+
import S from "libsodium-wrappers";
|
|
5
|
+
import { CIRCOM_P as l } from "../../constants/protocol.constants.mjs";
|
|
6
|
+
import { babyJubInstance as P } from "../../crypto/babyJub.mjs";
|
|
7
|
+
import { poseidonHash as n } from "../../crypto/poseidon.mjs";
|
|
8
|
+
import { AttachableMemoryCacheDevice as y } from "../cacheDevices/AttachableMemoryCacheDevice.mjs";
|
|
9
|
+
import { getCircomSign as o } from "./keyUtils.mjs";
|
|
10
|
+
const m = new y(), p = new y(), H = {
|
|
14
11
|
privateKey: "",
|
|
15
12
|
publicKey: ""
|
|
16
13
|
};
|
|
17
|
-
class
|
|
14
|
+
class C {
|
|
18
15
|
signature;
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
shieldedPrivateKey;
|
|
17
|
+
constructor(e, t) {
|
|
18
|
+
this.signature = e, this.shieldedPrivateKey = t;
|
|
21
19
|
}
|
|
22
20
|
getSignature() {
|
|
23
21
|
return this.requireSignature(), this.signature;
|
|
@@ -29,134 +27,91 @@ class l {
|
|
|
29
27
|
if (!this.signature)
|
|
30
28
|
throw Error("No signature provided");
|
|
31
29
|
}
|
|
30
|
+
requireKeyMaterial() {
|
|
31
|
+
if (!this.signature && !this.shieldedPrivateKey)
|
|
32
|
+
throw Error("No signature or shielded private key provided");
|
|
33
|
+
}
|
|
32
34
|
verifyMessage(e) {
|
|
33
|
-
return this.requireSignature(),
|
|
35
|
+
return this.requireSignature(), r.verifyMessage(e, this.signature);
|
|
34
36
|
}
|
|
35
37
|
/**
|
|
36
38
|
* get shielded private key from message signature used to login to the application,
|
|
37
39
|
* this private key is used to generate encryption keypairs as well as public key
|
|
38
40
|
* @retuns 0x-prefixed shielded private key
|
|
39
41
|
*/
|
|
40
|
-
getShieldedPrivateKey = () => (this.
|
|
42
|
+
getShieldedPrivateKey = () => (this.requireKeyMaterial(), this.shieldedPrivateKey || (this.shieldedPrivateKey = r.keccak256(this.signature)), this.shieldedPrivateKey);
|
|
41
43
|
/**
|
|
42
44
|
* generate shielded public key from private key
|
|
43
45
|
* @param privateKey the key used to generate the shielded public key, this should be the signature
|
|
44
46
|
* that the user provided
|
|
45
47
|
* @retuns shielded public key in hexstring with 0x prefixed
|
|
46
48
|
*/
|
|
47
|
-
getShieldedPublicKey = () => (this.
|
|
49
|
+
getShieldedPublicKey = () => (this.requireKeyMaterial(), n(this.getShieldedPrivateKey()));
|
|
50
|
+
/**
|
|
51
|
+
* Currently used for creating shielded private keys for deposit UTXOs, which are encrypted and sent to enclave for private send
|
|
52
|
+
* @param nonce Used to deterministically generate new shielded private key
|
|
53
|
+
* @returns new shielded private key in hexstring with 0x prefixed
|
|
54
|
+
*/
|
|
55
|
+
getShieldedPrivateKeyFromNonce = (e) => {
|
|
56
|
+
this.requireKeyMaterial();
|
|
57
|
+
const t = "hinkal-offchain-shielded-key", i = n(e, this.getShieldedPrivateKey(), this.getShieldedPublicKey());
|
|
58
|
+
return r.keccak256(r.toUtf8Bytes(`${t}:${i}`));
|
|
59
|
+
};
|
|
48
60
|
/**
|
|
49
61
|
* deterministically derive an EVM address from the shielded private key
|
|
50
62
|
*/
|
|
51
|
-
getDerivedEthereumAddress = () => (this.
|
|
63
|
+
getDerivedEthereumAddress = () => (this.requireKeyMaterial(), new r.Wallet(this.getShieldedPrivateKey()).address);
|
|
52
64
|
/**
|
|
53
65
|
* deterministically derive a Solana public key from the shielded private key
|
|
54
66
|
*/
|
|
55
|
-
getDerivedSolanaPublicKey = () => (this.
|
|
67
|
+
getDerivedSolanaPublicKey = () => (this.requireKeyMaterial(), c.fromSeed(r.getBytes(this.getShieldedPrivateKey())).publicKey.toBase58());
|
|
56
68
|
/**
|
|
57
69
|
* generate access token, this accessKey is what should be sent to the server for signing
|
|
58
70
|
* @returns accessKey in hexstring with 0x prefixed
|
|
59
71
|
*/
|
|
60
|
-
getAccessKey = () => (this.
|
|
72
|
+
getAccessKey = () => (this.requireKeyMaterial(), n(this.getShieldedPrivateKey(), this.getShieldedPublicKey()));
|
|
61
73
|
getSignerPrivateKeyFromNonce = (e) => {
|
|
62
|
-
this.
|
|
63
|
-
const
|
|
64
|
-
return
|
|
74
|
+
this.requireKeyMaterial();
|
|
75
|
+
const t = n(e, this.getShieldedPrivateKey(), this.getShieldedPublicKey());
|
|
76
|
+
return r.keccak256(r.toUtf8Bytes(t));
|
|
65
77
|
};
|
|
66
78
|
getSignerSolanaPrivateKeyFromNonce = (e) => {
|
|
67
|
-
const
|
|
68
|
-
return
|
|
69
|
-
};
|
|
70
|
-
getEvmPrivateKeyFromSolanaPrivateKey = (e) => {
|
|
71
|
-
const t = f.decode(e).slice(0, 32);
|
|
72
|
-
return n.hexlify(t);
|
|
73
|
-
};
|
|
74
|
-
static getSignerFromPrivateKey = (e, r) => {
|
|
75
|
-
if (d(e)) {
|
|
76
|
-
const i = n.getBytes(r);
|
|
77
|
-
return g.fromSeed(i);
|
|
78
|
-
}
|
|
79
|
-
return new n.Wallet(r);
|
|
80
|
-
};
|
|
81
|
-
static getSignerAddressFromPrivateKey(e, r) {
|
|
82
|
-
const t = l.getSignerFromPrivateKey(e, r);
|
|
83
|
-
return t instanceof g ? t.publicKey.toString() : t.address;
|
|
84
|
-
}
|
|
85
|
-
static signMessageFromPrivateKey = async (e, r, t) => {
|
|
86
|
-
const i = l.getSignerFromPrivateKey(e, r);
|
|
87
|
-
if (i instanceof g) {
|
|
88
|
-
const a = n.isHexString(t) ? n.getBytes(t) : new TextEncoder().encode(t), o = w.sign.detached(a, i.secretKey);
|
|
89
|
-
return `0x${Buffer.from(o).toString("hex")}`;
|
|
90
|
-
}
|
|
91
|
-
const s = n.isHexString(t) ? n.getBytes(t) : t;
|
|
92
|
-
return i.signMessage(s);
|
|
93
|
-
};
|
|
94
|
-
static signSolanaTransactionFromPrivateKey = (e, r, t) => {
|
|
95
|
-
if (!d(e))
|
|
96
|
-
throw new Error("Solana transaction signing is only available for Solana chains");
|
|
97
|
-
const i = l.getSignerFromPrivateKey(e, r);
|
|
98
|
-
if (!(i instanceof g))
|
|
99
|
-
throw new Error("Unable to derive Solana keypair for signing");
|
|
100
|
-
t.sign([i]);
|
|
101
|
-
};
|
|
102
|
-
static sendAndSignTransactionFromPrivateKey = async (e, r, t) => {
|
|
103
|
-
const i = l.getSignerFromPrivateKey(e, r), { fetchRpcUrl: s } = p[e];
|
|
104
|
-
if (!s)
|
|
105
|
-
throw new Error("No RPC URL found for chainId");
|
|
106
|
-
if (i instanceof g) {
|
|
107
|
-
if (!(t instanceof m))
|
|
108
|
-
throw new Error("Invalid transaction type for Solana");
|
|
109
|
-
return t.sign([i]), await b(s).sendRawTransaction(t.serialize());
|
|
110
|
-
}
|
|
111
|
-
if (t instanceof m)
|
|
112
|
-
throw new Error("Invalid transaction type for EVM");
|
|
113
|
-
const a = new n.JsonRpcProvider(s);
|
|
114
|
-
return (await i.connect(a).sendTransaction(t)).hash;
|
|
115
|
-
};
|
|
116
|
-
static signTypedDataFromPrivateKey = async (e, r, t, i, s) => {
|
|
117
|
-
if (d(e))
|
|
118
|
-
throw new Error("Solana does not support typed data");
|
|
119
|
-
return await l.getSignerFromPrivateKey(e, r).signTypedData(t, i, s);
|
|
120
|
-
};
|
|
121
|
-
static authorizeDelegation = async (e, r, t, i) => {
|
|
122
|
-
if (d(e))
|
|
123
|
-
throw new Error("Solana does not support delegation");
|
|
124
|
-
const s = new n.JsonRpcProvider(p[e].fetchRpcUrl);
|
|
125
|
-
return await l.getSignerFromPrivateKey(e, r).connect(s).authorize({ address: t, ...i !== void 0 && { nonce: i } });
|
|
79
|
+
const t = this.getSignerPrivateKeyFromNonce(e), i = r.getBytes(t), s = c.fromSeed(i);
|
|
80
|
+
return K.encode(s.secretKey);
|
|
126
81
|
};
|
|
127
|
-
getWalletSalt = (e) => (this.
|
|
82
|
+
getWalletSalt = (e) => (this.requireKeyMaterial(), n(this.getShieldedPublicKey(), this.getShieldedPrivateKey(), e));
|
|
128
83
|
/**
|
|
129
84
|
* generate inHinkalAddress - a user unique address linking him with a specific app
|
|
130
85
|
* @returns inHinkalAddress in bigint
|
|
131
86
|
*/
|
|
132
87
|
getInHinkalAddress = (e) => {
|
|
133
|
-
this.
|
|
134
|
-
const
|
|
135
|
-
return BigInt(
|
|
88
|
+
this.requireKeyMaterial();
|
|
89
|
+
const t = n(this.getShieldedPrivateKey(), e);
|
|
90
|
+
return BigInt(t);
|
|
136
91
|
};
|
|
137
92
|
/**
|
|
138
93
|
* generate backend token, which is used for access control on backend
|
|
139
94
|
* @returns accessKey in hexstring with 0x prefixed
|
|
140
95
|
*/
|
|
141
|
-
getBackendToken = () => (this.
|
|
142
|
-
static getRandomizedStealthPair =
|
|
143
|
-
(e,
|
|
144
|
-
const
|
|
145
|
-
return { H0:
|
|
96
|
+
getBackendToken = () => (this.requireKeyMaterial(), n(this.getAccessKey(), this.getShieldedPublicKey()));
|
|
97
|
+
static getRandomizedStealthPair = m.attach(
|
|
98
|
+
(e, t) => {
|
|
99
|
+
const i = P(), s = BigInt(t) % l, h = e * s % l, a = i.mulPointEscalar(i.Base8, e), d = i.mulPointEscalar(i.Base8, h), g = [BigInt(i.F.toString(a[0])), BigInt(i.F.toString(a[1]))], u = [BigInt(i.F.toString(d[0])), BigInt(i.F.toString(d[1]))];
|
|
100
|
+
return { H0: g, H1: u };
|
|
146
101
|
}
|
|
147
102
|
);
|
|
148
|
-
static getStealthAddressCompressedPoints = (e,
|
|
149
|
-
const { H0:
|
|
150
|
-
return { h0:
|
|
103
|
+
static getStealthAddressCompressedPoints = (e, t) => {
|
|
104
|
+
const { H0: i, H1: s } = this.getRandomizedStealthPair(e, t), [h, a] = [i, s].map((d) => BigInt(d[1]) + 2n ** 255n * o(d[0]));
|
|
105
|
+
return { h0: h, h1: a };
|
|
151
106
|
};
|
|
152
|
-
static getStealthAddress =
|
|
153
|
-
const { H0:
|
|
154
|
-
return
|
|
107
|
+
static getStealthAddress = p.attach((e, t) => {
|
|
108
|
+
const { H0: i, H1: s } = this.getRandomizedStealthPair(e, t), a = [2n * o(i[0]) + o(s[0]), i[1], s[1]];
|
|
109
|
+
return n(...a);
|
|
155
110
|
});
|
|
156
|
-
static getStealthAddressWithEKey = (e,
|
|
157
|
-
static checkSignature = (e,
|
|
158
|
-
const { h0:
|
|
159
|
-
return
|
|
111
|
+
static getStealthAddressWithEKey = (e, t) => ({ stealthAddress: this.getStealthAddress(e, t), encryptionKey: this.getEncryptionKeyPair(t).publicKey });
|
|
112
|
+
static checkSignature = (e, t, i, s) => {
|
|
113
|
+
const { h0: h, h1: a } = this.getStealthAddressCompressedPoints(e, s);
|
|
114
|
+
return t === h && i === a;
|
|
160
115
|
};
|
|
161
116
|
/**
|
|
162
117
|
* generate private and public keypair
|
|
@@ -164,16 +119,16 @@ class l {
|
|
|
164
119
|
* and must correspond to 32 bytes
|
|
165
120
|
*/
|
|
166
121
|
static getEncryptionKeyPair = (e) => {
|
|
167
|
-
const
|
|
122
|
+
const t = S.crypto_box_seed_keypair(r.getBytes(e));
|
|
168
123
|
return {
|
|
169
|
-
privateKey:
|
|
170
|
-
publicKey:
|
|
124
|
+
privateKey: r.hexlify(t.privateKey),
|
|
125
|
+
publicKey: r.hexlify(t.publicKey)
|
|
171
126
|
};
|
|
172
127
|
};
|
|
173
128
|
}
|
|
174
129
|
export {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
130
|
+
H as EncryptionKeyPairDefaultValue,
|
|
131
|
+
C as UserKeys,
|
|
132
|
+
p as stealthAddressCacheDevice,
|
|
133
|
+
m as stealthPairCacheDevice
|
|
179
134
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../../constants/protocol.constants.cjs"),a=require("../../../crypto/poseidon.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const t=require("../../../functions/utils/amounts.utils.cjs"),o=require("../../merkle-tree/MerkleTree.cjs");require("ethers");require("../../../error-handling/error-codes.constants.cjs");const l=require("./AbstractSnapshotService.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../../constants/protocol.constants.cjs"),a=require("../../../crypto/poseidon.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const t=require("../../../functions/utils/amounts.utils.cjs"),o=require("../../merkle-tree/MerkleTree.cjs");require("ethers");require("../../../error-handling/error-codes.constants.cjs");const l=require("./AbstractSnapshotService.cjs"),A=require("../../../functions/utils/merkleTree.utils.cjs");class i extends l.AbstractSnapshotService{constructor(e){super(e,"NewAccessKeyAdded")}_merkleTree;_senderAddresses;_senderAddressIndexMap;get merkleTree(){return this._merkleTree}get senderAddresses(){return this._senderAddresses}get senderAddressIndexMap(){return this._senderAddressIndexMap}serializeSnapshot(e){return{merkleTree:e.payload.merkleTree.toJSON(),senderAddresses:Array.from(e.payload.senderAddresses),latestBlockNumber:e.latestBlockNumber,senderAddressIndexMap:Array.from(e.payload.senderAddressIndexMap).map(([s,r])=>({address:s,index:r}))}}deserializeSnapshot(e){let s,r;return e.latestBlockNumber&&e.merkleTree?s=A.contructMerkleTreeFromSerialized(e.merkleTree):s=o.MerkleTree.create(a.poseidonFunction,0n),e.latestBlockNumber&&e.senderAddressIndexMap?r=new Map(e.senderAddressIndexMap.map(({address:d,index:n})=>[d,n])):r=new Map,{latestBlockNumber:e.latestBlockNumber??0,payload:{merkleTree:s,senderAddresses:e.senderAddresses??[],senderAddressIndexMap:r}}}acceptEvent(e,s){try{return this._merkleTree.insert(e.accessKey,e.index),this._senderAddressIndexMap.set(e.senderAddress,Math.max(Number(e.index),this._senderAddressIndexMap.get(e.senderAddress)??0)),this._senderAddresses.includes(e.senderAddress)||this._senderAddresses.push(e.senderAddress),e.accessKey===0n&&e.senderAddress===c.zeroAddress&&this._merkleTree.remove(e.index),!0}catch(r){return console.error(r),!1}}mapEvent(e){const s=e.getArg("accessKey"),r=e.getArg("index"),d=e.getArg("senderAddress");return{accessKey:t.toBigInt(s),index:t.toBigInt(r),senderAddress:d}}getSnapshotPayload(){return{merkleTree:this._merkleTree,senderAddresses:this._senderAddresses,senderAddressIndexMap:this._senderAddressIndexMap}}populateSnapshot({payload:{merkleTree:e,senderAddresses:s,senderAddressIndexMap:r}}){this._merkleTree=e,this._senderAddresses=s,this._senderAddressIndexMap=r}}exports.AbstractAccessTokenSnapshotService=i;
|
|
@@ -2,6 +2,7 @@ import { MerkleTree, MerkleTreeJson } from '../../merkle-tree';
|
|
|
2
2
|
import { AccessTokenEvent } from '../../../types';
|
|
3
3
|
import { AbstractSnapshotService, Snapshot } from './AbstractSnapshotService';
|
|
4
4
|
import { BlockchainEventEmitter } from './BlockchainEventEmitter';
|
|
5
|
+
import { BlockchainEvent } from '../../BlockchainEvent/BlockchainEvent';
|
|
5
6
|
export type SenderAddressIndexMapJson = {
|
|
6
7
|
address: string;
|
|
7
8
|
index: number;
|
|
@@ -17,7 +18,7 @@ export type AccessTokenSerializedSnapshot = {
|
|
|
17
18
|
senderAddresses?: string[];
|
|
18
19
|
senderAddressIndexMap?: SenderAddressIndexMapJson;
|
|
19
20
|
};
|
|
20
|
-
export declare abstract class AbstractAccessTokenSnapshotService extends AbstractSnapshotService<AccessTokenEvent<bigint>,
|
|
21
|
+
export declare abstract class AbstractAccessTokenSnapshotService extends AbstractSnapshotService<AccessTokenEvent<bigint>, AccessTokenSnapshotPayload, AccessTokenSerializedSnapshot> {
|
|
21
22
|
constructor(accessTokenEventFetcher: BlockchainEventEmitter);
|
|
22
23
|
private _merkleTree;
|
|
23
24
|
private _senderAddresses;
|
|
@@ -28,7 +29,7 @@ export declare abstract class AbstractAccessTokenSnapshotService extends Abstrac
|
|
|
28
29
|
protected serializeSnapshot(snapshot: Snapshot<AccessTokenSnapshotPayload>): AccessTokenSerializedSnapshot;
|
|
29
30
|
protected deserializeSnapshot(serializedSnapshot: AccessTokenSerializedSnapshot): Snapshot<AccessTokenSnapshotPayload>;
|
|
30
31
|
protected acceptEvent(event: AccessTokenEvent<bigint>, _blockNumber: number): boolean;
|
|
31
|
-
protected mapEvent(event:
|
|
32
|
+
protected mapEvent(event: BlockchainEvent): AccessTokenEvent<bigint>;
|
|
32
33
|
protected getSnapshotPayload(): AccessTokenSnapshotPayload;
|
|
33
34
|
protected populateSnapshot({ payload: { merkleTree, senderAddresses, senderAddressIndexMap }, }: Snapshot<AccessTokenSnapshotPayload>): void;
|
|
34
35
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { zeroAddress as
|
|
2
|
-
import { poseidonFunction as
|
|
1
|
+
import { zeroAddress as o } from "../../../constants/protocol.constants.mjs";
|
|
2
|
+
import { poseidonFunction as m } from "../../../crypto/poseidon.mjs";
|
|
3
3
|
import "circomlibjs-hinkal-fork";
|
|
4
4
|
import "libsodium-wrappers";
|
|
5
5
|
import "process";
|
|
@@ -8,9 +8,9 @@ import { toBigInt as t } from "../../../functions/utils/amounts.utils.mjs";
|
|
|
8
8
|
import { MerkleTree as a } from "../../merkle-tree/MerkleTree.mjs";
|
|
9
9
|
import "ethers";
|
|
10
10
|
import "../../../error-handling/error-codes.constants.mjs";
|
|
11
|
-
import { AbstractSnapshotService as
|
|
12
|
-
import { contructMerkleTreeFromSerialized as
|
|
13
|
-
class
|
|
11
|
+
import { AbstractSnapshotService as A } from "./AbstractSnapshotService.mjs";
|
|
12
|
+
import { contructMerkleTreeFromSerialized as c } from "../../../functions/utils/merkleTree.utils.mjs";
|
|
13
|
+
class g extends A {
|
|
14
14
|
constructor(e) {
|
|
15
15
|
super(e, "NewAccessKeyAdded");
|
|
16
16
|
}
|
|
@@ -39,7 +39,7 @@ class b extends l {
|
|
|
39
39
|
}
|
|
40
40
|
deserializeSnapshot(e) {
|
|
41
41
|
let s, r;
|
|
42
|
-
return e.latestBlockNumber && e.merkleTree ? s =
|
|
42
|
+
return e.latestBlockNumber && e.merkleTree ? s = c(e.merkleTree) : s = a.create(m, 0n), e.latestBlockNumber && e.senderAddressIndexMap ? r = new Map(
|
|
43
43
|
e.senderAddressIndexMap.map(({ address: d, index: n }) => [d, n])
|
|
44
44
|
) : r = /* @__PURE__ */ new Map(), {
|
|
45
45
|
latestBlockNumber: e.latestBlockNumber ?? 0,
|
|
@@ -55,13 +55,13 @@ class b extends l {
|
|
|
55
55
|
return this._merkleTree.insert(e.accessKey, e.index), this._senderAddressIndexMap.set(
|
|
56
56
|
e.senderAddress,
|
|
57
57
|
Math.max(Number(e.index), this._senderAddressIndexMap.get(e.senderAddress) ?? 0)
|
|
58
|
-
), this._senderAddresses.includes(e.senderAddress) || this._senderAddresses.push(e.senderAddress), e.accessKey === 0n && e.senderAddress ===
|
|
58
|
+
), this._senderAddresses.includes(e.senderAddress) || this._senderAddresses.push(e.senderAddress), e.accessKey === 0n && e.senderAddress === o && this._merkleTree.remove(e.index), !0;
|
|
59
59
|
} catch (r) {
|
|
60
60
|
return console.error(r), !1;
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
mapEvent(e) {
|
|
64
|
-
const
|
|
64
|
+
const s = e.getArg("accessKey"), r = e.getArg("index"), d = e.getArg("senderAddress");
|
|
65
65
|
return {
|
|
66
66
|
accessKey: t(s),
|
|
67
67
|
index: t(r),
|
|
@@ -82,5 +82,5 @@ class b extends l {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
export {
|
|
85
|
-
|
|
85
|
+
g as AbstractAccessTokenSnapshotService
|
|
86
86
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("./AbstractSnapshotService.cjs"),c=require("../../../functions/utils/amounts.utils.cjs"),u=require("../../../functions/utils/caseInsensitive.utils.cjs");class A extends v.AbstractSnapshotService{constructor(e){super(e,"NewApprovedUtxo")}_approvals=new Map;events=new Set;get approvals(){return this._approvals}getEventKey(e,t,s){return typeof e!="bigint"||typeof s!="string"||typeof t!="string"?null:`${s}-${t}-${e}`}serializeSnapshot(e){const t=Object.fromEntries(e.payload.approvals),s=Object.entries(t).map(([p,i])=>{const l=i.map(n=>({amount:n.amount.toString(),tokenAddress:n.tokenAddress,inHinkalAddress:n.inHinkalAddress.toString()}));return[p,l]}),r=Object.fromEntries(s);return{latestBlockNumber:e.latestBlockNumber,approvals:r,events:[...this.events]}}deserializeSnapshot(e){const t=e.approvals,s=Object.entries(t).map(([p,i])=>{const l=i.map(n=>({amount:BigInt(n.amount),tokenAddress:n.tokenAddress,inHinkalAddress:BigInt(n.inHinkalAddress)}));return[p,l]}),r=new Map(s);return{latestBlockNumber:e.latestBlockNumber??0,payload:{approvals:r,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 t=e.getArg("approveTo"),s=e.getArg("tokenAddress"),r=e.getArg("amount"),p=e.getArg("inHinkalAddress");return{approveTo:t,tokenAddress:s,amount:c.toBigInt(r),inHinkalAddress:c.toBigInt(p)}}acceptEvent(e,t,s){const r=this.getEventKey(e.inHinkalAddress,e.tokenAddress,s);if(r&&!this.events.has(r)){const{amount:p,tokenAddress:i,inHinkalAddress:l}=e,n={amount:p,tokenAddress:i,inHinkalAddress:l};let a=this.approvals.get(e.approveTo)||[],d=!1;for(let o=0;o<a.length;o+=1)u.caseInsensitiveEqual(i,a[o].tokenAddress)&&l===a[o].inHinkalAddress&&(a[o].amount+=p,d=!0);if(a=a.filter(o=>o.amount!==0n),d&&a.length===0)this.approvals.delete(e.approveTo);else{const o=d?a:[...a,n];this.approvals.set(e.approveTo,o)}return s&&this.events.add(r),!0}return!1}}exports.AbstractApprovalsSnapshotService=A;
|
|
@@ -2,6 +2,7 @@ import { AbstractSnapshotService, Snapshot } from './AbstractSnapshotService';
|
|
|
2
2
|
import { NewApprovedUtxoEvent } from '../../../types/commitments.types';
|
|
3
3
|
import { BlockchainEventEmitter } from './BlockchainEventEmitter';
|
|
4
4
|
import { ApprovedUtxo } from '../../../types/hinkal.types';
|
|
5
|
+
import { BlockchainEvent } from '../../BlockchainEvent/BlockchainEvent';
|
|
5
6
|
export type ApprovalsSnapshotPayload = {
|
|
6
7
|
readonly approvals: Map<string, ApprovedUtxo[]>;
|
|
7
8
|
readonly events: Set<string>;
|
|
@@ -11,7 +12,7 @@ export type ApprovalsSerializedSnapshot = {
|
|
|
11
12
|
approvals: Record<string, ApprovedUtxo<string>[]>;
|
|
12
13
|
events: string[];
|
|
13
14
|
};
|
|
14
|
-
export declare abstract class AbstractApprovalsSnapshotService extends AbstractSnapshotService<NewApprovedUtxoEvent,
|
|
15
|
+
export declare abstract class AbstractApprovalsSnapshotService extends AbstractSnapshotService<NewApprovedUtxoEvent, ApprovalsSnapshotPayload, ApprovalsSerializedSnapshot> {
|
|
15
16
|
constructor(hinkalEventEmitter: BlockchainEventEmitter);
|
|
16
17
|
private _approvals;
|
|
17
18
|
events: Set<string>;
|
|
@@ -24,6 +25,6 @@ export declare abstract class AbstractApprovalsSnapshotService extends AbstractS
|
|
|
24
25
|
events: Set<string>;
|
|
25
26
|
};
|
|
26
27
|
protected populateSnapshot({ payload: { approvals, events } }: Snapshot<ApprovalsSnapshotPayload>): void;
|
|
27
|
-
protected mapEvent(event:
|
|
28
|
+
protected mapEvent(event: BlockchainEvent): NewApprovedUtxoEvent;
|
|
28
29
|
protected acceptEvent(event: NewApprovedUtxoEvent, _blockNumber: number, txHash: string): boolean;
|
|
29
30
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AbstractSnapshotService as c } from "./AbstractSnapshotService.mjs";
|
|
2
2
|
import { toBigInt as v } from "../../../functions/utils/amounts.utils.mjs";
|
|
3
|
-
import { caseInsensitiveEqual as
|
|
4
|
-
class
|
|
3
|
+
import { caseInsensitiveEqual as A } from "../../../functions/utils/caseInsensitive.utils.mjs";
|
|
4
|
+
class f extends c {
|
|
5
5
|
constructor(e) {
|
|
6
6
|
super(e, "NewApprovedUtxo");
|
|
7
7
|
}
|
|
@@ -57,7 +57,7 @@ class g extends c {
|
|
|
57
57
|
this._approvals = e, this.events = t;
|
|
58
58
|
}
|
|
59
59
|
mapEvent(e) {
|
|
60
|
-
const
|
|
60
|
+
const t = e.getArg("approveTo"), s = e.getArg("tokenAddress"), r = e.getArg("amount"), p = e.getArg("inHinkalAddress");
|
|
61
61
|
return {
|
|
62
62
|
approveTo: t,
|
|
63
63
|
tokenAddress: s,
|
|
@@ -75,7 +75,7 @@ class g extends c {
|
|
|
75
75
|
};
|
|
76
76
|
let a = this.approvals.get(e.approveTo) || [], d = !1;
|
|
77
77
|
for (let o = 0; o < a.length; o += 1)
|
|
78
|
-
|
|
78
|
+
A(i, a[o].tokenAddress) && l === a[o].inHinkalAddress && (a[o].amount += p, d = !0);
|
|
79
79
|
if (a = a.filter((o) => o.amount !== 0n), d && a.length === 0)
|
|
80
80
|
this.approvals.delete(e.approveTo);
|
|
81
81
|
else {
|
|
@@ -88,5 +88,5 @@ class g extends c {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
export {
|
|
91
|
-
|
|
91
|
+
f as AbstractApprovalsSnapshotService
|
|
92
92
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("../../../crypto/poseidon.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const l=require("../../merkle-tree/MerkleTree.cjs");require("ethers");require("../../../error-handling/error-codes.constants.cjs");const m=require("../../../functions/utils/amounts.utils.cjs"),y=require("./AbstractSnapshotService.cjs"),a=require("../../../functions/utils/merkleTree.utils.cjs");class O extends y.AbstractSnapshotService{constructor(e){super(e,"NewCommitment")}_merkleTree;_encryptedOutputs;_encryptedOutputsByCommitment=new Map;get merkleTree(){return this._merkleTree}get encryptedOutputs(){return this._encryptedOutputs}serializeSnapshot(e){return{merkleTree:e.payload.merkleTree.toJSON(),latestBlockNumber:e.latestBlockNumber,encryptedOutputs:e.payload.encryptedOutputs.map(t=>({value:t.value,isPositive:String(t.isPositive),isBlocked:t.isBlocked??!1})),encryptedOutputsByCommitment:Array.from(e.payload.encryptedOutputsByCommitment.entries()).map(([t,r])=>({commitment:t.toString(),encryptedOutput:r}))}}deserializeSnapshot(e){let t;e.latestBlockNumber&&e.merkleTree?t=a.contructMerkleTreeFromSerialized(e.merkleTree):t=l.MerkleTree.create(d.poseidonFunction,0n);const r=e.encryptedOutputs?.map(u=>({value:u.value,isPositive:JSON.parse(u.isPositive),isBlocked:u.isBlocked??!1})),n=new Map;return e.encryptedOutputsByCommitment?.forEach(({commitment:u,encryptedOutput:i})=>{n.set(m.toBigInt(u),i)}),{latestBlockNumber:e.latestBlockNumber??0,payload:{merkleTree:t,encryptedOutputs:r||[],encryptedOutputsByCommitment:n}}}getSnapshotPayload(){return{merkleTree:this._merkleTree,encryptedOutputs:this._encryptedOutputs,encryptedOutputsByCommitment:this._encryptedOutputsByCommitment}}populateSnapshot({payload:{merkleTree:e,encryptedOutputs:t,encryptedOutputsByCommitment:r}}){this._merkleTree=e,this._encryptedOutputs=t,this._encryptedOutputsByCommitment=r}mapEvent(e){const t=e.getArg("commitment"),r=e.getArg("index"),n=e.getArg("encryptedOutput");return{commitment:m.toBigInt(t),index:m.toBigInt(r),encryptedOutput:n}}acceptEvent(e,t,r,n){const u=e.index>=0n?e.index:-1n*e.index,i=this._merkleTree.getValue(u);if(i===e.commitment)return!1;this._merkleTree.insert(e.commitment,u);const c=i!==void 0?this._encryptedOutputsByCommitment.get(i):void 0;if(i!==void 0&&c!==void 0){const s=this.encryptedOutputs.findIndex(o=>o.value===c);s!==-1&&this.encryptedOutputs.splice(s,1),this._encryptedOutputsByCommitment.delete(i)}if(this._encryptedOutputsByCommitment.set(e.commitment,e.encryptedOutput),this.encryptedOutputs.map(s=>s.value).includes(e.encryptedOutput))return!0;const p={value:e.encryptedOutput,isPositive:e.index>=0n,isBlocked:n??!1};return this._encryptedOutputs.push(p),!0}}exports.AbstractCommitmentsSnapshotService=O;
|