@hinkal/common 0.2.31 → 0.2.33
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 +26 -11
- package/API/API.mjs +103 -88
- package/API/callMonitor.cjs +1 -1
- package/API/callMonitor.d.ts +8 -0
- package/API/callMonitor.mjs +2 -2
- package/API/callRelayer.d.ts +4 -1
- package/API/dashboardAccountCalls.cjs +1 -0
- package/API/dashboardAccountCalls.d.ts +24 -0
- package/API/dashboardAccountCalls.mjs +10 -0
- package/API/dashboardAccountMemberCalls.cjs +1 -0
- package/API/dashboardAccountMemberCalls.d.ts +34 -0
- package/API/dashboardAccountMemberCalls.mjs +16 -0
- package/API/dashboardBalanceCalls.cjs +1 -0
- package/API/dashboardBalanceCalls.d.ts +12 -0
- package/API/dashboardBalanceCalls.mjs +13 -0
- package/API/dashboardContactCalls.cjs +1 -0
- package/API/dashboardContactCalls.d.ts +9 -0
- package/API/dashboardContactCalls.mjs +13 -0
- package/API/dashboardPayoutCalls.cjs +1 -0
- package/API/dashboardPayoutCalls.d.ts +14 -0
- package/API/dashboardPayoutCalls.mjs +13 -0
- package/API/dashboardTransactionCalls.cjs +1 -0
- package/API/dashboardTransactionCalls.d.ts +3 -0
- package/API/dashboardTransactionCalls.mjs +10 -0
- package/API/enclaveRecipientInfoCalls.cjs +1 -0
- package/API/enclaveRecipientInfoCalls.d.ts +14 -0
- package/API/enclaveRecipientInfoCalls.mjs +7 -0
- package/API/enclaveSignatureCalls.cjs +1 -1
- package/API/enclaveSignatureCalls.d.ts +3 -8
- package/API/enclaveSignatureCalls.mjs +6 -8
- package/API/enclaveUtxoCalls.cjs +1 -1
- package/API/enclaveUtxoCalls.d.ts +8 -2
- package/API/enclaveUtxoCalls.mjs +5 -3
- package/API/fetchCommitmentsCache.cjs +1 -1
- package/API/fetchCommitmentsCache.d.ts +1 -19
- package/API/fetchCommitmentsCache.mjs +9 -22
- package/API/getAnyRecipientInfo.d.ts +1 -0
- package/API/getServerURL.cjs +1 -1
- package/API/getServerURL.d.ts +3 -0
- package/API/getServerURL.mjs +15 -32
- package/API/getWebsiteURL.cjs +1 -1
- package/API/getWebsiteURL.d.ts +3 -2
- package/API/getWebsiteURL.mjs +12 -5
- package/API/index.cjs +1 -1
- package/API/index.d.ts +2 -0
- package/API/index.mjs +2 -0
- package/API/kycCalls.cjs +1 -1
- package/API/kycCalls.d.ts +0 -5
- package/API/kycCalls.mjs +3 -10
- package/API/privateSendRecipientInfoCalls.cjs +1 -1
- package/API/privateSendRecipientInfoCalls.d.ts +0 -10
- package/API/privateSendRecipientInfoCalls.mjs +2 -2
- package/API/scheduled-transactions-calls.cjs +1 -1
- package/API/scheduled-transactions-calls.d.ts +8 -2
- package/API/scheduled-transactions-calls.mjs +5 -4
- package/API/tenderly.api.cjs +1 -1
- package/API/tenderly.api.d.ts +1 -1
- package/API/tenderly.api.mjs +1 -1
- package/constants/addresses.constants.cjs +1 -1
- package/constants/addresses.constants.d.ts +10 -7
- package/constants/addresses.constants.mjs +11 -8
- package/constants/assets.constants.cjs +1 -1
- package/constants/assets.constants.mjs +1 -1
- package/constants/auth.constants.cjs +1 -0
- package/constants/auth.constants.d.ts +2 -0
- package/constants/auth.constants.mjs +4 -0
- package/constants/backend.constants.cjs +1 -1
- package/constants/backend.constants.d.ts +0 -1
- package/constants/backend.constants.mjs +0 -1
- package/constants/bridging.constants.cjs +1 -1
- package/constants/bridging.constants.d.ts +2 -0
- package/constants/bridging.constants.mjs +7 -3
- package/constants/chains.constants.cjs +1 -1
- package/constants/chains.constants.d.ts +25 -8
- package/constants/chains.constants.mjs +168 -127
- package/constants/coingecko.constants.cjs +1 -1
- package/constants/coingecko.constants.d.ts +5 -3
- package/constants/coingecko.constants.mjs +8 -5
- package/constants/contracts.constants.cjs +1 -1
- package/constants/contracts.constants.mjs +0 -4
- package/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-arbMainnet.json.mjs +125 -850
- package/constants/deploy-data/deploy-data-arcTestnet.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-arcTestnet.json.mjs +97 -1013
- package/constants/deploy-data/deploy-data-base.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-base.json.mjs +132 -869
- package/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-ethMainnet.json.mjs +132 -871
- package/constants/deploy-data/deploy-data-localhost.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-localhost.json.mjs +6 -808
- package/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-optimism.json.mjs +132 -869
- package/constants/deploy-data/deploy-data-optimismTest.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-optimismTest.json.mjs +3565 -0
- package/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-polygon.json.mjs +132 -869
- package/constants/deploy-data/deploy-data-sepoliaTestnet.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-sepoliaTestnet.json.mjs +3561 -0
- package/constants/deploy-data/deploy-data-solana.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-solana.json.mjs +1 -1
- package/constants/deploy-data/deploy-data-tempo.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-tempo.json.mjs +3563 -0
- package/constants/deploy-data/deploy-data-tronMainnet.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-tronMainnet.json.mjs +133 -870
- package/constants/deploy-data/deploy-data-tronNile.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-tronNile.json.mjs +133 -870
- package/constants/deploy-data/index.d.ts +4 -1
- package/constants/events.constants.cjs +1 -1
- package/constants/events.constants.mjs +4 -1
- package/constants/fees.constants.cjs +1 -1
- package/constants/fees.constants.d.ts +5 -1
- package/constants/fees.constants.mjs +9 -5
- package/constants/index.cjs +1 -1
- package/constants/index.d.ts +2 -1
- package/constants/index.mjs +6 -2
- package/constants/kyc.constants.cjs +1 -1
- package/constants/kyc.constants.d.ts +1 -1
- package/constants/kyc.constants.mjs +38 -37
- package/constants/lifi.constants.cjs +1 -1
- package/constants/lifi.constants.d.ts +2 -0
- package/constants/lifi.constants.mjs +7 -2
- package/constants/mediaUrls.constants.cjs +1 -1
- package/constants/mediaUrls.constants.d.ts +7 -1
- package/constants/mediaUrls.constants.mjs +9 -3
- package/constants/price-impact.constants.cjs +1 -0
- package/constants/price-impact.constants.d.ts +2 -0
- package/constants/price-impact.constants.mjs +4 -0
- package/constants/protocol.constants.cjs +1 -1
- package/constants/protocol.constants.d.ts +4 -1
- package/constants/protocol.constants.mjs +2 -2
- package/constants/reorg-depths.constants.cjs +1 -1
- package/constants/reorg-depths.constants.d.ts +3 -1
- package/constants/reorg-depths.constants.mjs +3 -1
- package/constants/save-depths.cjs +1 -1
- package/constants/save-depths.d.ts +3 -1
- package/constants/save-depths.mjs +3 -1
- package/constants/server.constants.cjs +1 -1
- package/constants/server.constants.d.ts +33 -8
- package/constants/server.constants.mjs +44 -24
- package/constants/token-data/ERC20Registry.cjs +1 -1
- package/constants/token-data/ERC20Registry.mjs +20 -9
- package/constants/token-data/arbMainnetRegistry.json.cjs +1 -1
- package/constants/token-data/arbMainnetRegistry.json.mjs +24 -24
- package/constants/token-data/arbMainnetRegistryFixed.json.cjs +1 -1
- package/constants/token-data/arbMainnetRegistryFixed.json.mjs +24 -24
- package/constants/token-data/arcTestnetRegistry.json.cjs +1 -1
- package/constants/token-data/arcTestnetRegistry.json.mjs +3 -3
- package/constants/token-data/baseRegistry.json.cjs +1 -1
- package/constants/token-data/baseRegistry.json.mjs +20 -12
- package/constants/token-data/baseRegistryFixed.json.cjs +1 -1
- package/constants/token-data/baseRegistryFixed.json.mjs +18 -10
- package/constants/token-data/ethMainnetRegistry.json.cjs +1 -1
- package/constants/token-data/ethMainnetRegistry.json.mjs +38 -38
- package/constants/token-data/ethMainnetRegistryFixed.json.cjs +1 -1
- package/constants/token-data/ethMainnetRegistryFixed.json.mjs +38 -38
- package/constants/token-data/localhostRegistry.json.cjs +1 -1
- package/constants/token-data/localhostRegistry.json.mjs +211 -211
- package/constants/token-data/optimismRegistry.json.cjs +1 -1
- package/constants/token-data/optimismRegistry.json.mjs +36 -28
- package/constants/token-data/optimismRegistryFixed.json.cjs +1 -1
- package/constants/token-data/optimismRegistryFixed.json.mjs +36 -28
- package/constants/token-data/polygonRegistry.json.cjs +1 -1
- package/constants/token-data/polygonRegistry.json.mjs +34 -26
- package/constants/token-data/polygonRegistryFixed.json.cjs +1 -1
- package/constants/token-data/polygonRegistryFixed.json.mjs +34 -26
- package/constants/token-data/sepoliaTestnetRegistry.json.cjs +1 -0
- package/constants/token-data/sepoliaTestnetRegistry.json.mjs +21 -0
- package/constants/token-data/solanaMainnetRegistry.json.cjs +1 -1
- package/constants/token-data/solanaMainnetRegistry.json.mjs +1 -1
- package/constants/token-data/tempoRegistry.json.cjs +1 -0
- package/constants/token-data/tempoRegistry.json.mjs +37 -0
- package/constants/token-data/tronMainnetRegistry.json.cjs +1 -1
- package/constants/token-data/tronMainnetRegistry.json.mjs +26 -15
- package/constants/token-data/tronNileRegistry.json.cjs +1 -1
- package/constants/token-data/tronNileRegistry.json.mjs +2 -2
- package/constants/tokens.constants.cjs +1 -1
- package/constants/tokens.constants.d.ts +1 -0
- package/constants/tokens.constants.mjs +10 -3
- package/constants/vite.constants.cjs +1 -1
- package/constants/vite.constants.mjs +23 -5
- package/constants/wallet.constants.cjs +1 -1
- package/constants/wallet.constants.d.ts +1 -1
- package/constants/wallet.constants.mjs +2 -18
- package/crypto/babyJub.d.ts +1 -1
- package/crypto/ecdh-dual-path.cjs +1 -0
- package/crypto/ecdh-dual-path.d.ts +13 -0
- package/crypto/ecdh-dual-path.mjs +39 -0
- package/crypto/ecdh-sealed-keys.cjs +1 -0
- package/crypto/ecdh-sealed-keys.d.ts +22 -0
- package/crypto/ecdh-sealed-keys.mjs +33 -0
- package/crypto/ecdh.cjs +1 -0
- package/crypto/ecdh.d.ts +2 -0
- package/crypto/ecdh.mjs +9 -0
- package/crypto/eddsa.cjs +1 -0
- package/crypto/eddsa.d.ts +8 -0
- package/crypto/eddsa.mjs +12 -0
- package/crypto/index.cjs +1 -1
- package/crypto/index.d.ts +4 -0
- package/crypto/index.mjs +4 -0
- package/crypto/preProcessing.cjs +1 -1
- package/crypto/preProcessing.d.ts +1 -1
- package/crypto/preProcessing.mjs +10 -8
- package/data-structures/AccountActions/AccountActions.cjs +1 -1
- package/data-structures/AccountActions/AccountActions.mjs +3 -2
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +1 -1
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +2 -3
- package/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/data-structures/Hinkal/Hinkal.d.ts +16 -21
- package/data-structures/Hinkal/Hinkal.mjs +144 -160
- package/data-structures/Hinkal/IHinkal.d.ts +13 -19
- package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
- package/data-structures/Hinkal/handleAutoDepositBack.mjs +15 -15
- package/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
- package/data-structures/Hinkal/hinkalClaimUtxo.d.ts +1 -2
- package/data-structures/Hinkal/hinkalClaimUtxo.mjs +49 -47
- package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalDeposit.d.ts +5 -3
- package/data-structures/Hinkal/hinkalDeposit.mjs +106 -50
- package/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepositAndBridge.d.ts +1 -1
- package/data-structures/Hinkal/hinkalDepositAndBridge.mjs +94 -87
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +3 -2
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +48 -48
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +41 -63
- package/data-structures/Hinkal/hinkalPalEvmDeposit.cjs +1 -0
- package/data-structures/Hinkal/hinkalPalEvmDeposit.d.ts +9 -0
- package/data-structures/Hinkal/hinkalPalEvmDeposit.mjs +19 -0
- package/data-structures/Hinkal/hinkalPalSolanaDepositPrepare.cjs +1 -0
- package/data-structures/Hinkal/hinkalPalSolanaDepositPrepare.d.ts +9 -0
- package/data-structures/Hinkal/hinkalPalSolanaDepositPrepare.mjs +18 -0
- package/data-structures/Hinkal/hinkalPalTronDepositPrepare.cjs +1 -0
- package/data-structures/Hinkal/hinkalPalTronDepositPrepare.d.ts +9 -0
- package/data-structures/Hinkal/hinkalPalTronDepositPrepare.mjs +17 -0
- package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
- package/data-structures/Hinkal/hinkalPrivateWallet.mjs +46 -50
- package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +4 -1
- package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +84 -128
- package/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -0
- package/data-structures/Hinkal/hinkalProoflessDeposit.utils.d.ts +7 -0
- package/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +51 -0
- package/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.cjs +1 -0
- package/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.d.ts +6 -0
- package/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.mjs +128 -0
- package/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaClaimUtxo.d.ts +2 -2
- package/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +68 -69
- package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +4 -3
- package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +96 -57
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +20 -2
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +114 -122
- package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.d.ts +1 -1
- package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.mjs +12 -17
- package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +38 -40
- package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +4 -3
- package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +68 -52
- package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaSwap.d.ts +2 -2
- package/data-structures/Hinkal/hinkalSolanaSwap.mjs +67 -72
- package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaTransfer.d.ts +2 -1
- package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +56 -61
- package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +38 -48
- package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSwap.mjs +32 -42
- package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/data-structures/Hinkal/hinkalTransfer.mjs +41 -54
- package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdraw.mjs +43 -56
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +87 -108
- package/data-structures/Hinkal/index.cjs +1 -1
- package/data-structures/Hinkal/index.d.ts +5 -0
- package/data-structures/Hinkal/index.mjs +5 -0
- package/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +1 -0
- package/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.d.ts +22 -0
- package/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +34 -0
- package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/data-structures/Hinkal/resetMerkleTrees.mjs +33 -40
- package/data-structures/IndexedDB/activity-db.cjs +1 -1
- package/data-structures/IndexedDB/activity-db.mjs +25 -24
- package/data-structures/IndexedDB/contact-db.cjs +1 -1
- package/data-structures/IndexedDB/contact-db.d.ts +1 -0
- package/data-structures/IndexedDB/contact-db.mjs +30 -16
- package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
- package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.d.ts +1 -1
- package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +4 -4
- package/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +37 -34
- package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/EventsPublicTokensDB.d.ts +2 -0
- package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +65 -50
- package/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/PrivateTokensDB.mjs +2 -1
- package/data-structures/WalletManager/WalletManager.cjs +1 -0
- package/data-structures/WalletManager/WalletManager.d.ts +51 -0
- package/data-structures/WalletManager/WalletManager.mjs +99 -0
- package/data-structures/WalletManager/index.cjs +1 -0
- package/data-structures/WalletManager/index.d.ts +1 -0
- package/data-structures/WalletManager/index.mjs +1 -0
- package/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
- package/data-structures/crypto-keys/decodeUTXO.d.ts +5 -3
- package/data-structures/crypto-keys/decodeUTXO.mjs +49 -46
- package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
- package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +32 -40
- package/data-structures/crypto-keys/keys.cjs +1 -1
- package/data-structures/crypto-keys/keys.d.ts +51 -24
- package/data-structures/crypto-keys/keys.mjs +104 -43
- package/data-structures/custom-token-registry/CustomTokenRegistry.cjs +1 -1
- package/data-structures/custom-token-registry/CustomTokenRegistry.mjs +2 -2
- package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
- package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +2 -2
- package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +4 -4
- package/data-structures/event-service/evm/PollingBlockchainEventEmitter.cjs +1 -1
- package/data-structures/event-service/evm/PollingBlockchainEventEmitter.mjs +1 -1
- package/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -1
- package/data-structures/event-service/helpers/ClientEventHelper.mjs +3 -3
- package/data-structures/event-service/helpers/PollingEventHelper.cjs +1 -1
- package/data-structures/event-service/helpers/PollingEventHelper.d.ts +2 -0
- package/data-structures/event-service/helpers/PollingEventHelper.mjs +7 -3
- package/data-structures/event-service/index.cjs +1 -1
- package/data-structures/event-service/index.d.ts +0 -3
- package/data-structures/event-service/index.mjs +0 -3
- package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.cjs +1 -1
- package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.mjs +1 -1
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +2 -2
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +5 -5
- package/data-structures/index.cjs +1 -1
- package/data-structures/index.d.ts +1 -0
- package/data-structures/index.mjs +10 -10
- package/data-structures/merkle-tree/index.cjs +1 -1
- package/data-structures/merkle-tree/index.d.ts +0 -1
- package/data-structures/merkle-tree/index.mjs +0 -1
- package/data-structures/provider-adapter/IProviderAdapter.d.ts +6 -0
- package/data-structures/snapshot/SnapshotFetcherService.cjs +1 -1
- package/data-structures/snapshot/SnapshotFetcherService.d.ts +0 -2
- package/data-structures/snapshot/SnapshotFetcherService.mjs +0 -6
- package/data-structures/snapshot/index.cjs +1 -1
- package/data-structures/snapshot/index.d.ts +0 -3
- package/data-structures/snapshot/index.mjs +0 -3
- package/data-structures/utxo/Utxo.cjs +1 -1
- package/data-structures/utxo/Utxo.d.ts +16 -10
- package/data-structures/utxo/Utxo.mjs +40 -38
- package/error-handling/customErrors/HttpError.cjs +1 -0
- package/error-handling/customErrors/HttpError.d.ts +4 -0
- package/error-handling/customErrors/HttpError.mjs +8 -0
- package/error-handling/customErrors/index.cjs +1 -1
- package/error-handling/customErrors/index.d.ts +1 -0
- package/error-handling/customErrors/index.mjs +1 -0
- package/error-handling/error-codes.constants.cjs +1 -1
- package/error-handling/error-codes.constants.d.ts +11 -0
- package/error-handling/error-codes.constants.mjs +13 -2
- package/error-handling/index.cjs +1 -1
- package/error-handling/index.mjs +1 -0
- package/error-handling/retrySolanaError.cjs +1 -0
- package/error-handling/retrySolanaError.d.ts +1 -0
- package/error-handling/retrySolanaError.mjs +4 -0
- package/externalABIs/index.cjs +1 -1
- package/externalABIs/index.d.ts +1 -16
- package/externalABIs/index.mjs +4 -5
- package/functions/auto-deposit-back-helpers/get-gas-token-records.d.ts +1 -1
- package/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.d.ts +1 -1
- package/functions/index.cjs +1 -1
- package/functions/index.mjs +28 -19
- package/functions/kyc/checkTokenLimitsUSD.cjs +1 -1
- package/functions/kyc/checkTokenLimitsUSD.mjs +15 -15
- package/functions/kyc/index.cjs +1 -1
- package/functions/kyc/index.d.ts +0 -1
- package/functions/kyc/index.mjs +0 -1
- package/functions/pre-transaction/addressTableLookup.cjs +1 -1
- package/functions/pre-transaction/addressTableLookup.mjs +21 -18
- package/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -0
- package/functions/pre-transaction/buildCommitmentValidationData.d.ts +4 -0
- package/functions/pre-transaction/buildCommitmentValidationData.mjs +58 -0
- package/functions/pre-transaction/calculateSolanaNullifierCount.cjs +1 -0
- package/functions/pre-transaction/calculateSolanaNullifierCount.d.ts +2 -0
- package/functions/pre-transaction/calculateSolanaNullifierCount.mjs +23 -0
- package/functions/pre-transaction/constructAdminData.cjs +1 -1
- package/functions/pre-transaction/constructAdminData.mjs +4 -4
- package/functions/pre-transaction/index.cjs +1 -1
- package/functions/pre-transaction/index.d.ts +2 -3
- package/functions/pre-transaction/index.mjs +3 -4
- package/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
- package/functions/pre-transaction/outputUtxoProcessing.d.ts +1 -1
- package/functions/pre-transaction/outputUtxoProcessing.mjs +22 -19
- package/functions/pre-transaction/recipientUtxoProcessing.cjs +1 -1
- package/functions/pre-transaction/recipientUtxoProcessing.mjs +11 -9
- package/functions/pre-transaction/sendInitNullifiersTransaction.cjs +1 -1
- package/functions/pre-transaction/sendInitNullifiersTransaction.mjs +9 -9
- package/functions/pre-transaction/sendV0Transaction.cjs +1 -1
- package/functions/pre-transaction/sendV0Transaction.mjs +45 -43
- package/functions/pre-transaction/solana-public-signals.cjs +1 -1
- package/functions/pre-transaction/solana-public-signals.d.ts +7 -6
- package/functions/pre-transaction/solana-public-signals.mjs +22 -19
- package/functions/pre-transaction/solana.cjs +1 -1
- package/functions/pre-transaction/solana.d.ts +0 -4
- package/functions/pre-transaction/solana.mjs +7 -27
- package/functions/pre-transaction/store-proof.cjs +1 -1
- package/functions/pre-transaction/store-proof.mjs +3 -3
- package/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/functions/private-wallet/emporium.helpers.d.ts +13 -3
- package/functions/private-wallet/emporium.helpers.mjs +84 -74
- package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
- package/functions/private-wallet/emporium.swap.helpers.mjs +6 -6
- package/functions/snarkjs/common.snarkjs.cjs +1 -1
- package/functions/snarkjs/common.snarkjs.d.ts +8 -13
- package/functions/snarkjs/common.snarkjs.mjs +65 -74
- package/functions/snarkjs/constant.cjs +1 -1
- package/functions/snarkjs/constant.d.ts +146 -426
- package/functions/snarkjs/constant.mjs +149 -430
- package/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
- package/functions/snarkjs/constructGeneralZkProof.d.ts +2 -3
- package/functions/snarkjs/constructGeneralZkProof.mjs +74 -57
- package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
- package/functions/snarkjs/constructSolanaZkProof.d.ts +1 -2
- package/functions/snarkjs/constructSolanaZkProof.mjs +65 -37
- package/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -1
- package/functions/snarkjs/fetchMerkleTreeSiblings.d.ts +1 -1
- package/functions/snarkjs/fetchMerkleTreeSiblings.mjs +6 -10
- package/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -1
- package/functions/snarkjs/fetchOnChainRootHashes.d.ts +0 -1
- package/functions/snarkjs/fetchOnChainRootHashes.mjs +22 -7
- package/functions/snarkjs/generateCircomData.cjs +1 -1
- package/functions/snarkjs/generateCircomData.d.ts +2 -2
- package/functions/snarkjs/generateCircomData.mjs +29 -31
- package/functions/snarkjs/generateZkProof.cjs +1 -1
- package/functions/snarkjs/generateZkProof.mjs +20 -10
- package/functions/snarkjs/generateZkProofEnclave.cjs +1 -1
- package/functions/snarkjs/generateZkProofEnclave.mjs +15 -18
- package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
- package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +2 -9
- package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +40 -94
- package/functions/snarkjs/getZKFiles.cjs +1 -1
- package/functions/snarkjs/getZKFiles.d.ts +1 -0
- package/functions/snarkjs/getZKFiles.mjs +2 -2
- package/functions/snarkjs/index.cjs +1 -1
- package/functions/snarkjs/index.d.ts +2 -1
- package/functions/snarkjs/index.mjs +2 -1
- package/functions/snarkjs/signedMessageHash.cjs +1 -0
- package/functions/snarkjs/signedMessageHash.d.ts +31 -0
- package/functions/snarkjs/signedMessageHash.mjs +49 -0
- package/functions/snarkjs/verifyCommitmentValidationData.cjs +1 -0
- package/functions/snarkjs/verifyCommitmentValidationData.d.ts +4 -0
- package/functions/snarkjs/verifyCommitmentValidationData.mjs +43 -0
- package/functions/utils/addresses.cjs +1 -1
- package/functions/utils/addresses.d.ts +2 -0
- package/functions/utils/addresses.mjs +12 -8
- package/functions/utils/aggregateTokenAmounts.cjs +1 -0
- package/functions/utils/aggregateTokenAmounts.d.ts +2 -0
- package/functions/utils/aggregateTokenAmounts.mjs +26 -0
- package/functions/utils/amounts.utils.cjs +1 -1
- package/functions/utils/amounts.utils.d.ts +0 -1
- package/functions/utils/amounts.utils.mjs +18 -18
- package/functions/utils/auth.utils.cjs +1 -0
- package/functions/utils/auth.utils.d.ts +5 -0
- package/functions/utils/auth.utils.mjs +7 -0
- package/functions/utils/bit.operations.cjs +1 -0
- package/functions/utils/bit.operations.d.ts +3 -0
- package/functions/utils/bit.operations.mjs +4 -0
- package/functions/utils/buildClaimableDepositPlan.cjs +1 -1
- package/functions/utils/buildClaimableDepositPlan.d.ts +3 -2
- package/functions/utils/buildClaimableDepositPlan.mjs +32 -24
- package/functions/utils/cacheFunctions.cjs +1 -1
- package/functions/utils/cacheFunctions.d.ts +0 -4
- package/functions/utils/cacheFunctions.mjs +33 -47
- package/functions/utils/create-provider.cjs +1 -1
- package/functions/utils/create-provider.d.ts +2 -3
- package/functions/utils/create-provider.mjs +8 -10
- package/functions/utils/customEnclaveFunctionsRegister.cjs +1 -0
- package/functions/utils/customEnclaveFunctionsRegister.d.ts +18 -0
- package/functions/utils/customEnclaveFunctionsRegister.mjs +8 -0
- package/functions/utils/deposit-claimable.utils.cjs +1 -0
- package/functions/utils/deposit-claimable.utils.d.ts +6 -0
- package/functions/utils/deposit-claimable.utils.mjs +106 -0
- package/functions/utils/dispatchBalanceRefreshes.cjs +1 -0
- package/functions/utils/dispatchBalanceRefreshes.d.ts +4 -0
- package/functions/utils/dispatchBalanceRefreshes.mjs +44 -0
- package/functions/utils/enclave-recipient-info-storage.cjs +1 -0
- package/functions/utils/enclave-recipient-info-storage.d.ts +2 -0
- package/functions/utils/enclave-recipient-info-storage.mjs +17 -0
- package/functions/utils/enclave-signature-storage.cjs +1 -1
- package/functions/utils/enclave-signature-storage.d.ts +1 -2
- package/functions/utils/enclave-signature-storage.mjs +6 -9
- package/functions/utils/enclave-utxo-storage.cjs +1 -1
- package/functions/utils/enclave-utxo-storage.d.ts +3 -2
- package/functions/utils/enclave-utxo-storage.mjs +18 -21
- package/functions/utils/encodeTokenWithId.cjs +1 -1
- package/functions/utils/encodeTokenWithId.mjs +1 -1
- package/functions/utils/encryptInputForEnclave.cjs +1 -1
- package/functions/utils/encryptInputForEnclave.mjs +17 -23
- package/functions/utils/enum.utils.cjs +1 -0
- package/functions/utils/enum.utils.mjs +12 -0
- package/functions/utils/erc20tokenFunctions.cjs +1 -1
- package/functions/utils/erc20tokenFunctions.d.ts +2 -0
- package/functions/utils/erc20tokenFunctions.mjs +26 -16
- package/functions/utils/evmNetworkFunctions.d.ts +1 -2
- package/functions/utils/fees.utils.cjs +1 -1
- package/functions/utils/fees.utils.d.ts +2 -1
- package/functions/utils/fees.utils.mjs +30 -16
- package/functions/utils/formatter.cjs +1 -0
- package/functions/utils/formatter.d.ts +1 -0
- package/functions/utils/formatter.mjs +15 -0
- package/functions/utils/getBlockExplorerUrl.cjs +1 -1
- package/functions/utils/getBlockExplorerUrl.mjs +1 -1
- package/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
- package/functions/utils/getRecipientInfoFromUserKeys.d.ts +2 -0
- package/functions/utils/getRecipientInfoFromUserKeys.mjs +14 -9
- package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
- package/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -0
- package/functions/utils/getUtxosFromReceipt.utils.mjs +43 -27
- package/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
- package/functions/utils/getUtxosFromReceiptSolana.d.ts +1 -0
- package/functions/utils/getUtxosFromReceiptSolana.mjs +36 -21
- package/functions/utils/getWalletGroupKey.utils.cjs +1 -1
- package/functions/utils/getWalletGroupKey.utils.mjs +4 -1
- package/functions/utils/index.cjs +1 -1
- package/functions/utils/index.d.ts +14 -1
- package/functions/utils/index.mjs +21 -9
- package/functions/utils/lifi.utils.cjs +1 -0
- package/functions/utils/lifi.utils.d.ts +3 -0
- package/functions/utils/lifi.utils.mjs +30 -0
- package/functions/utils/mnemonics.cjs +1 -0
- package/functions/utils/mnemonics.d.ts +1 -0
- package/functions/utils/mnemonics.mjs +8 -0
- package/functions/utils/pay-routing.utils.cjs +1 -0
- package/functions/utils/pay-routing.utils.d.ts +4 -0
- package/functions/utils/pay-routing.utils.mjs +17 -0
- package/functions/utils/prepareHinkal.cjs +1 -1
- package/functions/utils/prepareHinkal.mjs +29 -29
- package/functions/utils/publicBalance.utils.cjs +1 -1
- package/functions/utils/publicBalance.utils.mjs +5 -5
- package/functions/utils/serialize-utxos.utils.cjs +1 -1
- package/functions/utils/serialize-utxos.utils.mjs +6 -2
- package/functions/utils/solana-memo.cjs +1 -0
- package/functions/utils/solana-memo.d.ts +3 -0
- package/functions/utils/solana-memo.mjs +15 -0
- package/functions/utils/solanaSendPreflight.utils.cjs +1 -0
- package/functions/utils/solanaSendPreflight.utils.d.ts +6 -0
- package/functions/utils/solanaSendPreflight.utils.mjs +21 -0
- package/functions/utils/string.utils.cjs +1 -1
- package/functions/utils/string.utils.mjs +1 -1
- package/functions/utils/time.utils.cjs +1 -1
- package/functions/utils/time.utils.d.ts +6 -0
- package/functions/utils/time.utils.mjs +23 -16
- package/functions/utils/token-check.utils.cjs +1 -1
- package/functions/utils/token-check.utils.d.ts +1 -0
- package/functions/utils/token-check.utils.mjs +9 -8
- package/functions/utils/transfer-claimable.utils.cjs +1 -0
- package/functions/utils/transfer-claimable.utils.d.ts +9 -0
- package/functions/utils/transfer-claimable.utils.mjs +93 -0
- package/functions/utils/tron.utils.cjs +1 -1
- package/functions/utils/tron.utils.d.ts +11 -1
- package/functions/utils/tron.utils.mjs +85 -40
- package/functions/utils/tx-confirmation.utils.cjs +1 -1
- package/functions/utils/tx-confirmation.utils.mjs +5 -5
- package/functions/utils/userAgent.cjs +1 -1
- package/functions/utils/userAgent.d.ts +1 -0
- package/functions/utils/userAgent.mjs +4 -1
- package/functions/web3/connectors.utils.cjs +1 -1
- package/functions/web3/connectors.utils.d.ts +1 -0
- package/functions/web3/connectors.utils.mjs +5 -2
- package/functions/web3/events/balanceChangedHandler.cjs +1 -1
- package/functions/web3/events/balanceChangedHandler.d.ts +2 -1
- package/functions/web3/events/balanceChangedHandler.mjs +3 -3
- package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
- package/functions/web3/events/getInputUtxoAndBalance.d.ts +1 -1
- package/functions/web3/events/getInputUtxoAndBalance.mjs +21 -20
- package/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
- package/functions/web3/events/getInputUtxosEnclave.d.ts +2 -1
- package/functions/web3/events/getInputUtxosEnclave.mjs +25 -18
- package/functions/web3/events/getShieldedBalance.cjs +1 -1
- package/functions/web3/events/getShieldedBalance.mjs +15 -17
- package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
- package/functions/web3/events/getTransactionLogEvents.mjs +1 -1
- package/functions/web3/events/index.cjs +1 -1
- package/functions/web3/events/index.d.ts +0 -2
- package/functions/web3/events/index.mjs +0 -2
- package/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
- package/functions/web3/functionCalls/constructBatchCall.d.ts +1 -0
- package/functions/web3/functionCalls/constructBatchCall.mjs +10 -2
- package/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
- package/functions/web3/functionCalls/transactCallDirectTron.d.ts +4 -1
- package/functions/web3/functionCalls/transactCallDirectTron.mjs +89 -55
- package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
- package/functions/web3/functionCalls/transactCallRelayer.d.ts +5 -4
- package/functions/web3/functionCalls/transactCallRelayer.mjs +17 -13
- package/functions/web3/getContractMetadata.cjs +1 -1
- package/functions/web3/getContractMetadata.mjs +1 -1
- package/functions/web3/getTokenHolder.cjs +1 -1
- package/functions/web3/getTokenHolder.mjs +1 -1
- package/functions/web3/index.cjs +1 -1
- package/functions/web3/index.d.ts +0 -1
- package/functions/web3/index.mjs +0 -3
- package/functions/web3/lifiAPI.cjs +1 -1
- package/functions/web3/lifiAPI.mjs +28 -19
- package/functions/web3/oneInchAPI.cjs +1 -1
- package/functions/web3/oneInchAPI.mjs +1 -1
- package/index.cjs +1 -1
- package/index.mjs +331 -309
- package/package.json +5 -2
- package/providers/EthersProviderAdapter.cjs +1 -1
- package/providers/EthersProviderAdapter.mjs +1 -1
- package/providers/SolanaProviderAdapter.cjs +1 -1
- package/providers/SolanaProviderAdapter.d.ts +10 -1
- package/providers/SolanaProviderAdapter.mjs +38 -2
- package/providers/TronProviderAdapter.cjs +1 -1
- package/providers/TronProviderAdapter.mjs +2 -2
- package/providers/WagmiProviderAdapter.cjs +1 -1
- package/providers/WagmiProviderAdapter.d.ts +3 -1
- package/providers/WagmiProviderAdapter.mjs +62 -52
- package/providers/prepareSolanaHinkal.cjs +1 -1
- package/providers/prepareSolanaHinkal.mjs +3 -3
- package/types/admin.types.cjs +1 -1
- package/types/admin.types.d.ts +1 -8
- package/types/admin.types.mjs +1 -1
- package/types/cache.types.cjs +1 -1
- package/types/cache.types.d.ts +2 -1
- package/types/cache.types.mjs +1 -1
- package/types/chains.types.cjs +1 -0
- package/types/chains.types.d.ts +11 -0
- package/types/chains.types.mjs +8 -0
- package/types/circom-data.types.d.ts +13 -0
- package/types/commitments.types.d.ts +0 -6
- package/types/contacts.types.d.ts +1 -0
- package/types/dashboard-account.cjs +1 -0
- package/types/dashboard-account.d.ts +101 -0
- package/types/dashboard-account.mjs +8 -0
- package/types/dashboard-payout.types.cjs +1 -0
- package/types/dashboard-payout.types.d.ts +29 -0
- package/types/dashboard-payout.types.mjs +8 -0
- package/types/dashboard-transaction.types.d.ts +22 -0
- package/types/ethereum-network.types.cjs +1 -1
- package/types/ethereum-network.types.d.ts +15 -18
- package/types/ethereum-network.types.mjs +1 -1
- package/types/events.types.cjs +1 -1
- package/types/events.types.d.ts +2 -3
- package/types/events.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/hinkal.types.cjs +1 -1
- package/types/hinkal.types.d.ts +6 -17
- package/types/hinkal.types.mjs +16 -18
- package/types/index.cjs +1 -1
- package/types/index.d.ts +6 -0
- package/types/index.mjs +3 -0
- package/types/pay-activities.types.d.ts +3 -0
- package/types/pay-routing.types.d.ts +9 -0
- package/types/scheduled-transactions.types.d.ts +7 -0
- package/types/solana.types.d.ts +5 -6
- package/types/token-prices.types.d.ts +4 -0
- package/types/transaction.types.d.ts +1 -3
- package/webworker/WorkerWrapper.cjs +1 -0
- package/webworker/WorkerWrapper.d.ts +9 -0
- package/webworker/WorkerWrapper.mjs +22 -0
- package/webworker/logError-fCJ4HXQz.js +22 -0
- package/webworker/package.json +112 -0
- package/webworker/performTaskWithWorker.cjs +1 -1
- package/webworker/performTaskWithWorker.mjs +4 -4
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLogic.d.ts +0 -3
- package/webworker/snarkjsWorker/snarkjsWorkerNode.d.ts +0 -0
- package/webworker/snarkjsWorkerNode.cjs +3 -0
- package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLogic.d.ts +0 -3
- package/webworker/utxoWorker/utxoWorkerNode.d.ts +0 -0
- package/webworker/utxoWorkerNode.cjs +1 -0
- package/webworker/viteWorkerURL.constant.cjs +4 -4
- package/webworker/viteWorkerURL.constant.mjs +4 -4
- package/webworker/worker.registry.cjs +1 -1
- package/webworker/worker.registry.mjs +6 -3
- package/webworker/workerFactory.cjs +1 -1
- package/webworker/workerFactory.d.ts +4 -1
- package/webworker/workerFactory.mjs +31 -17
- package/webworker/workerProxy-BNBqYien.js +130 -0
- package/webworker/workerProxy.d.ts +1 -1
- package/webworker/workerThreadsPatch.d.ts +1 -0
- package/webworker/zkProofWorker/zkProofWorker.types.cjs +1 -1
- package/webworker/zkProofWorker/zkProofWorker.types.d.ts +3 -13
- package/webworker/zkProofWorker/zkProofWorker.types.mjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLogic.d.ts +1 -5
- package/webworker/zkProofWorker/zkProofWorkerNode.d.ts +0 -0
- package/webworker/zkProofWorkerNode.cjs +1 -0
- package/API/solana-calls.cjs +0 -1
- package/API/solana-calls.d.ts +0 -38
- package/API/solana-calls.mjs +0 -8
- package/constants/non-circular-tokens.constants.cjs +0 -1
- package/constants/non-circular-tokens.constants.d.ts +0 -1
- package/constants/non-circular-tokens.constants.mjs +0 -4
- package/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.cjs +0 -1
- package/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.d.ts +0 -3
- package/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.mjs +0 -15
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +0 -1
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.d.ts +0 -4
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +0 -18
- package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.cjs +0 -1
- package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.d.ts +0 -35
- package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.mjs +0 -75
- package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.cjs +0 -1
- package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.d.ts +0 -30
- package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.mjs +0 -81
- package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.cjs +0 -1
- package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.d.ts +0 -35
- package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs +0 -76
- package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.cjs +0 -1
- package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.d.ts +0 -2
- package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.mjs +0 -13
- package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +0 -1
- package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.d.ts +0 -8
- package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +0 -29
- package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +0 -1
- package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.d.ts +0 -8
- package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +0 -30
- package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +0 -1
- package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.d.ts +0 -8
- package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +0 -26
- package/externalABIs/transactionsProver.json.cjs +0 -1
- package/externalABIs/transactionsProver.json.mjs +0 -43
- package/functions/pre-transaction/getKycAndSignatureData.cjs +0 -1
- package/functions/pre-transaction/getKycAndSignatureData.d.ts +0 -5
- package/functions/pre-transaction/getKycAndSignatureData.mjs +0 -12
- package/functions/pre-transaction/getSignatureDataForTransact.cjs +0 -1
- package/functions/pre-transaction/getSignatureDataForTransact.d.ts +0 -3
- package/functions/pre-transaction/getSignatureDataForTransact.mjs +0 -6
- package/functions/pre-transaction/initTokenLimitIfNeeded.cjs +0 -1
- package/functions/pre-transaction/initTokenLimitIfNeeded.d.ts +0 -3
- package/functions/pre-transaction/initTokenLimitIfNeeded.mjs +0 -17
- package/functions/pre-transaction/outputApprovalDataProcessing.cjs +0 -1
- package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +0 -10
- package/functions/pre-transaction/outputApprovalDataProcessing.mjs +0 -22
- package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +0 -1
- package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +0 -6
- package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +0 -11
- package/functions/snarkjs/constructEmporiumProof.cjs +0 -1
- package/functions/snarkjs/constructEmporiumProof.d.ts +0 -13
- package/functions/snarkjs/constructEmporiumProof.mjs +0 -74
- package/functions/utils/processUseApprovalUtxoData.cjs +0 -1
- package/functions/utils/processUseApprovalUtxoData.d.ts +0 -3
- package/functions/utils/processUseApprovalUtxoData.mjs +0 -13
- package/functions/web3/events/balanceChangedCustomHandler.cjs +0 -1
- package/functions/web3/events/balanceChangedCustomHandler.d.ts +0 -2
- package/functions/web3/events/balanceChangedCustomHandler.mjs +0 -9
- package/functions/web3/events/getApprovedBalance.cjs +0 -1
- package/functions/web3/events/getApprovedBalance.d.ts +0 -6
- package/functions/web3/events/getApprovedBalance.mjs +0 -37
- package/functions/web3/functionCalls/accessTokenCalls.cjs +0 -1
- package/functions/web3/functionCalls/accessTokenCalls.d.ts +0 -2
- package/functions/web3/functionCalls/accessTokenCalls.mjs +0 -19
- package/functions/web3/tron-wagmi-adapter.cjs +0 -1
- package/functions/web3/tron-wagmi-adapter.d.ts +0 -8
- package/functions/web3/tron-wagmi-adapter.mjs +0 -27
- package/providers/CustomEthersProvider.cjs +0 -1
- package/providers/CustomEthersProvider.d.ts +0 -10
- package/providers/CustomEthersProvider.mjs +0 -28
- package/webworker/snarkjsWorker/snarkjsWorkerLogic.cjs +0 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLogic.mjs +0 -30
- package/webworker/utxoWorker/utxoWorkerLogic.cjs +0 -1
- package/webworker/utxoWorker/utxoWorkerLogic.mjs +0 -69
- package/webworker/workerProxy.cjs +0 -1
- package/webworker/workerProxy.mjs +0 -33
- package/webworker/zkProofWorker/zkProofWorkerLogic.cjs +0 -1
- package/webworker/zkProofWorker/zkProofWorkerLogic.mjs +0 -45
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { ContractType as e } from "../../types/ethereum-network.types.mjs";
|
|
2
|
+
import { networkRegistry as t } from "../../constants/chains.constants.mjs";
|
|
3
|
+
import { TRON_DEFAULT_FEE_LIMIT_SUN as n, zeroAddress as r } from "../../constants/protocol.constants.mjs";
|
|
4
|
+
import { caseInsensitiveEqual as i } from "../../functions/utils/caseInsensitive.utils.mjs";
|
|
5
|
+
import { insufficientResourcesErrorCodes as a } from "../../error-handling/error-codes.constants.mjs";
|
|
6
|
+
import { emitTxPublicData as o } from "../../API/admin-calls.mjs";
|
|
7
|
+
import { Logger as s } from "../../error-handling/logger.mjs";
|
|
8
|
+
import { createTronCallData as c, estimateTronFeeSunWithPadding as l, evmHexToTronBase58Address as u } from "../../functions/utils/tron.utils.mjs";
|
|
9
|
+
import { constructAdminData as d } from "../../functions/pre-transaction/constructAdminData.mjs";
|
|
10
|
+
import { simulateTronTransaction as f } from "../../functions/utils/tronSimulation.utils.mjs";
|
|
11
|
+
import { buildApproveAndDepositWrapperCalls as p } from "../../functions/web3/functionCalls/constructBatchCall.mjs";
|
|
12
|
+
import { waitForErc20Approvals as m, waitForTronErc20Approvals as h } from "../../functions/web3/functionCalls/waitForErc20Approvals.mjs";
|
|
13
|
+
import { aggregateAmountsForApproval as g, approveTokens as _, approveTronTokens as v, assertNoDuplicateStealthAddressStructures as y } from "./hinkalProoflessDeposit.utils.mjs";
|
|
14
|
+
//#region libs/shared/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.ts
|
|
15
|
+
var b = (e, t, n, a) => {
|
|
16
|
+
let o = i(e, r), s = n.reduce((e, t, n) => i(t.erc20TokenAddress, r) ? e + a[n] : e, 0n) + (o ? t : 0n), c = g(n, a), l = c.filter(({ token: e }) => !i(e.erc20TokenAddress, r)).map((n) => !o && i(n.token.erc20TokenAddress, e) ? {
|
|
17
|
+
token: n.token,
|
|
18
|
+
balance: n.balance + t
|
|
19
|
+
} : n).filter(({ balance: e }) => e > 0n);
|
|
20
|
+
return !o && t > 0n && (c.some(({ token: t }) => i(t.erc20TokenAddress, e)) || l.push({
|
|
21
|
+
token: {
|
|
22
|
+
erc20TokenAddress: e,
|
|
23
|
+
chainId: n[0]?.chainId
|
|
24
|
+
},
|
|
25
|
+
balance: t
|
|
26
|
+
})), {
|
|
27
|
+
tokensForApproval: l,
|
|
28
|
+
ethValue: s
|
|
29
|
+
};
|
|
30
|
+
}, x = (e, t, n, r) => {
|
|
31
|
+
if (t.length !== n.length || n.length !== r.length) throw Error(`${e}: array length mismatch`);
|
|
32
|
+
}, S = async (e, p, m, g, _, S, C, w) => {
|
|
33
|
+
x("hinkalTronProoflessDepositViaWrapper", _, S, C), y(C);
|
|
34
|
+
let { hinkalWrapperAddress: T, hinkalWrapperABI: E } = t[p]?.contractData ?? {};
|
|
35
|
+
if (!T || !E) throw Error(`No HinkalWrapper configured for chainId ${p}`);
|
|
36
|
+
let D = await e.getRandomRelay(p, !1);
|
|
37
|
+
if (!D) throw Error(`No relay available for chainId ${p}`);
|
|
38
|
+
let O = e.getTronWeb(), k = await e.getEthereumAddressByChain(p), A = u(T), j = i(m, r) ? m : u(m), { tokensForApproval: M, ethValue: N } = b(m, g, _, S), P = _.map((e) => e.erc20TokenAddress), F = S.map(() => "0"), I = C.map((e) => [
|
|
39
|
+
e.extraRandomization.toString(),
|
|
40
|
+
e.stealthAddress.toString(),
|
|
41
|
+
e.H0.toString(),
|
|
42
|
+
e.H1.toString()
|
|
43
|
+
]);
|
|
44
|
+
if (N > 0n) {
|
|
45
|
+
let e = BigInt(await O.trx.getBalance(k)), t = BigInt(n);
|
|
46
|
+
try {
|
|
47
|
+
t = await l(O, p, A, k, c(E, "prooflessDeposit", [
|
|
48
|
+
u(D),
|
|
49
|
+
j,
|
|
50
|
+
g.toString(),
|
|
51
|
+
P,
|
|
52
|
+
S.map(String),
|
|
53
|
+
F,
|
|
54
|
+
I
|
|
55
|
+
]), N);
|
|
56
|
+
} catch (e) {
|
|
57
|
+
s.error("Error estimating Tron wrapper deposit fee", e);
|
|
58
|
+
}
|
|
59
|
+
if (e < N + t) throw Error(a.INSUFFICIENT_TRON_BALANCE_FOR_FEE);
|
|
60
|
+
}
|
|
61
|
+
let { transaction: L } = await O.transactionBuilder.triggerSmartContract(A, "prooflessDeposit(address,address,uint256,address[],uint256[],uint256[],(uint256,uint256,uint256,uint256)[])", {
|
|
62
|
+
feeLimit: n,
|
|
63
|
+
callValue: N > 0n ? Number(N) : 0
|
|
64
|
+
}, [
|
|
65
|
+
{
|
|
66
|
+
type: "address",
|
|
67
|
+
value: u(D)
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
type: "address",
|
|
71
|
+
value: j
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
type: "uint256",
|
|
75
|
+
value: g.toString()
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
type: "address[]",
|
|
79
|
+
value: P
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
type: "uint256[]",
|
|
83
|
+
value: S.map(String)
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: "uint256[]",
|
|
87
|
+
value: F
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
type: "tuple(uint256,uint256,uint256,uint256)[]",
|
|
91
|
+
value: I
|
|
92
|
+
}
|
|
93
|
+
], k), R = new Map(M.map(({ token: e, balance: t }) => [u(e.erc20TokenAddress), t]));
|
|
94
|
+
await v(O, k, A, R), R.size > 0 && await h(O, k, A, Array.from(R.entries()).map(([e, t]) => ({
|
|
95
|
+
tokenAddress: e,
|
|
96
|
+
requiredAmount: t
|
|
97
|
+
}))), await f(p, A, "prooflessDeposit", E, [
|
|
98
|
+
u(D),
|
|
99
|
+
j,
|
|
100
|
+
g.toString(),
|
|
101
|
+
P,
|
|
102
|
+
S.map(String),
|
|
103
|
+
F,
|
|
104
|
+
I
|
|
105
|
+
], k, N > 0n ? N : void 0);
|
|
106
|
+
let z = await O.trx.sign(L), B = await O.trx.sendRawTransaction(z);
|
|
107
|
+
if (!B.result) throw Error("Tron wrapper deposit failed");
|
|
108
|
+
let V = typeof B == "string" ? B : B?.txid ?? B?.transaction?.txID;
|
|
109
|
+
if (!V) throw Error("Tron wrapper deposit failed (missing txid)");
|
|
110
|
+
return o(d(w, p, P, S, k)), V;
|
|
111
|
+
}, C = async (n, r, i, a, s, c, l, u) => {
|
|
112
|
+
x("hinkalEvmProoflessDepositViaWrapper", s, c, l), y(l);
|
|
113
|
+
let f = t[r]?.contractData?.hinkalWrapperAddress;
|
|
114
|
+
if (!f) throw Error(`No HinkalWrapper configured for chainId ${r}`);
|
|
115
|
+
let h = await n.getRandomRelay(r, !1);
|
|
116
|
+
if (!h) throw Error(`No relay available for chainId ${r}`);
|
|
117
|
+
let g = s.map((e) => e.erc20TokenAddress), v = c.map(() => 0n), { tokensForApproval: S, ethValue: C } = b(i, a, s, c), w = await n.getEthereumAddressByChain(r), T = n.getProviderAdapter(r), E = n.getContractWithSigner(r, e.HinkalWrapper), D;
|
|
118
|
+
if (S.length > 0 && await T.supportsBatchCall?.(r) && T.sendBatchCallsTransaction) {
|
|
119
|
+
let e = p(S.map(({ token: e }) => e.erc20TokenAddress), S.map(({ balance: e }) => e), f, E.interface, h, i, a, g, c, v, l, C);
|
|
120
|
+
D = await T.sendBatchCallsTransaction(r, e);
|
|
121
|
+
} else await _(n, r, f, S), await m(n, r, w, f, S.map(({ token: e, balance: t }) => ({
|
|
122
|
+
tokenAddress: e.erc20TokenAddress,
|
|
123
|
+
requiredAmount: t
|
|
124
|
+
}))), D = await E.prooflessDeposit(h, i, a, g, c, v, l, { value: C > 0n ? C : void 0 });
|
|
125
|
+
return o(d(u, r, g, c, w)), D.hash;
|
|
126
|
+
};
|
|
127
|
+
//#endregion
|
|
128
|
+
export { C as hinkalEvmProoflessDepositViaWrapper, S as hinkalTronProoflessDepositViaWrapper };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/external-action.types.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`)
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/external-action.types.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`);require(`../../types/index.cjs`);const r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/web3/etherFunctions.cjs`),a=require(`../crypto-keys/keys.cjs`),o=require(`../../functions/utils/time.utils.cjs`),s=require(`../utxo/Utxo.cjs`),c=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/snarkjs/common.snarkjs.cjs`),u=require(`../../functions/pre-transaction/getFeeStructure.cjs`),d=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const f=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),p=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let m=require(`ethers`);var h=async(h,g,_,v,y)=>{let b=c.validateAndGetChainId([g]),x=g.erc20TokenAddress;if(_.getTokenAddress(b)!==x)throw Error(`Off-chain UTXO token mismatch`);let S=y?new a.UserKeys(y):new a.UserKeys(_.nullifyingKey,_.nullifyingKey);if(!_.nullifyingKey&&!y)throw Error(`Claimable UTXO nullifyingKey is missing`);let C=S.getShieldedPrivateKey();if(_.nullifyingKey&&_.nullifyingKey!==C)throw Error(`Claimable UTXO key mismatch`);let{originalDeployer:w}=t.networkRegistry[b].contractData;if(!w)throw Error(`missing data`);let T=s.Utxo.createFrom(_,{nullifyingKey:C}),E=v??await u.getFeeStructure(b,x,[x],e.ExternalActionId.Transact,void 0,void 0,{mintTo:x,nullifierCount:1});if(E.feeToken!==x)throw Error(`Claim fee token mismatch: fee must be paid from claimed UTXO token`);let D=E.variableRate>0n?E.variableRate:n.HINKAL_PRIVATE_SEND_VARIABLE_RATE;if(T.amount<=E.flatFee)throw Error(r.transactionErrorCodes.INSUFFICIENT_FUNDS_TO_TRANSACT);let O=T.amount-E.flatFee,k=O*D/10000n,A=O-k;if(A<=0n)throw Error(r.transactionErrorCodes.RECIPIENT_AMOUNT_INVALID);let j=E.flatFee+k,[M,N,P,,F]=h.getRecipientInfo().split(`,`);if(!N||!P||!M||!F)throw Error(`Invalid recipient info`);let I=o.getCurrentTimeInSeconds().toString(),L=new s.Utxo({amount:0n,erc20TokenAddress:T.erc20TokenAddress,mintAddress:T.mintAddress,nullifyingKey:S.getShieldedPrivateKey(),...T.isNewStyle?{spendingPublicKey:S.getSpendingKeyPair().pubSpendingBJJPoint,isNewStyle:!0}:{isNewStyle:!1}}),R=new s.Utxo({amount:0n,erc20TokenAddress:T.erc20TokenAddress,mintAddress:T.mintAddress,nullifyingKey:S.getShieldedPrivateKey(),timeStamp:I,spendingPublicKey:S.getSpendingKeyPair().pubSpendingBJJPoint,isNewStyle:!0}),z=new s.Utxo({amount:A,erc20TokenAddress:T.erc20TokenAddress,mintAddress:T.mintAddress,timeStamp:I,H0:[BigInt(N),BigInt(P)],stealthAddress:M,encryptionKey:F,isNewStyle:!0}),B=[T,L],V=[R,z],H=await h.getRandomRelay(b,!0);if(!H)throw Error(r.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let U=a.UserKeys.findCorrectRandomization(i.randomBigInt(31),S.getShieldedPrivateKey()),W={tokenNumber:1,nullifierAmount:B.length,outputAmount:V.length},G=l.calcEncryptedOutputs([V])[0].map(e=>Array.from(m.ethers.getBytes(e))),[{proofAArr:K,proofBArr:q,proofCArr:J,publicInputsArr:Y},X]=await Promise.all([f.constructSolanaZkProof(h.generateProofRemotely,h.merkleTreeHinkalByChain[b],S,[x],[B],[V],U,j,0n,n.solanaNativeAddress,H,W,G,b),d.buildCommitmentValidationData(b,S,[x],[B])]),Z={recipient:H,mint:x===`11111111111111111111111111111111`?void 0:x};return p.solanaTransactCallRelayer({chainId:b,relayAddress:H,functionName:`transfer`,args:{proofAArr:K,proofBArr:q,proofCArr:J,publicInputsArr:Y,encryptedOutputs:G,relayerFee:j.toString(),dimensions:W},accounts:Z,commitmentValidationData:X})};exports.hinkalSolanaClaimUtxo=h;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ERC20Token } from '../../types';
|
|
2
2
|
import { FeeStructure } from '../../types/hinkal.types';
|
|
3
3
|
import { Utxo } from '../utxo/Utxo';
|
|
4
4
|
import { IHinkal } from './IHinkal';
|
|
5
|
-
export declare const hinkalSolanaClaimUtxo: (hinkal: IHinkal, erc20Token: ERC20Token, utxo: Utxo, feeStructureOverride?: FeeStructure,
|
|
5
|
+
export declare const hinkalSolanaClaimUtxo: (hinkal: IHinkal, erc20Token: ERC20Token, utxo: Utxo, feeStructureOverride?: FeeStructure, claimableSignature?: string) => Promise<string>;
|
|
@@ -1,94 +1,93 @@
|
|
|
1
1
|
import { ExternalActionId as e } from "../../types/external-action.types.mjs";
|
|
2
2
|
import { networkRegistry as t } from "../../constants/chains.constants.mjs";
|
|
3
3
|
import { HINKAL_PRIVATE_SEND_VARIABLE_RATE as n, solanaNativeAddress as r } from "../../constants/protocol.constants.mjs";
|
|
4
|
-
import { AdminTransactionType as i } from "../../types/admin.types.mjs";
|
|
5
4
|
import "../../types/index.mjs";
|
|
6
|
-
import { transactionErrorCodes as
|
|
7
|
-
import { randomBigInt as
|
|
8
|
-
import { UserKeys as
|
|
9
|
-
import { getCurrentTimeInSeconds as
|
|
10
|
-
import { Utxo as
|
|
11
|
-
import { validateAndGetChainId as
|
|
12
|
-
import { calcEncryptedOutputs as
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
5
|
+
import { transactionErrorCodes as i } from "../../error-handling/error-codes.constants.mjs";
|
|
6
|
+
import { randomBigInt as a } from "../../functions/web3/etherFunctions.mjs";
|
|
7
|
+
import { UserKeys as o } from "../crypto-keys/keys.mjs";
|
|
8
|
+
import { getCurrentTimeInSeconds as s } from "../../functions/utils/time.utils.mjs";
|
|
9
|
+
import { Utxo as c } from "../utxo/Utxo.mjs";
|
|
10
|
+
import { validateAndGetChainId as l } from "../../functions/utils/token-check.utils.mjs";
|
|
11
|
+
import { calcEncryptedOutputs as u } from "../../functions/snarkjs/common.snarkjs.mjs";
|
|
12
|
+
import { getFeeStructure as d } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
13
|
+
import { buildCommitmentValidationData as f } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
|
|
14
|
+
import "../../functions/pre-transaction/index.mjs";
|
|
15
|
+
import { constructSolanaZkProof as p } from "../../functions/snarkjs/constructSolanaZkProof.mjs";
|
|
16
|
+
import { solanaTransactCallRelayer as m } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
17
|
+
import { ethers as h } from "ethers";
|
|
18
18
|
//#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.ts
|
|
19
|
-
var
|
|
20
|
-
let
|
|
21
|
-
if (
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
tokenId: y.tokenId,
|
|
31
|
-
randomization: y.randomization,
|
|
32
|
-
shieldedPrivateKey: E.getShieldedPrivateKey()
|
|
33
|
-
}), O = b ?? await p(S, C, [C], e.Transact, void 0, void 0, {
|
|
34
|
-
mintTo: C,
|
|
19
|
+
var g = async (g, _, v, y, b) => {
|
|
20
|
+
let x = l([_]), S = _.erc20TokenAddress;
|
|
21
|
+
if (v.getTokenAddress(x) !== S) throw Error("Off-chain UTXO token mismatch");
|
|
22
|
+
let C = b ? new o(b) : new o(v.nullifyingKey, v.nullifyingKey);
|
|
23
|
+
if (!v.nullifyingKey && !b) throw Error("Claimable UTXO nullifyingKey is missing");
|
|
24
|
+
let w = C.getShieldedPrivateKey();
|
|
25
|
+
if (v.nullifyingKey && v.nullifyingKey !== w) throw Error("Claimable UTXO key mismatch");
|
|
26
|
+
let { originalDeployer: T } = t[x].contractData;
|
|
27
|
+
if (!T) throw Error("missing data");
|
|
28
|
+
let E = c.createFrom(v, { nullifyingKey: w }), D = y ?? await d(x, S, [S], e.Transact, void 0, void 0, {
|
|
29
|
+
mintTo: S,
|
|
35
30
|
nullifierCount: 1
|
|
36
31
|
});
|
|
37
|
-
if (
|
|
38
|
-
let
|
|
39
|
-
if (
|
|
40
|
-
let
|
|
41
|
-
if (
|
|
42
|
-
let
|
|
43
|
-
if (!P || !F || !I) throw Error("Invalid recipient info");
|
|
44
|
-
let L =
|
|
32
|
+
if (D.feeToken !== S) throw Error("Claim fee token mismatch: fee must be paid from claimed UTXO token");
|
|
33
|
+
let O = D.variableRate > 0n ? D.variableRate : n;
|
|
34
|
+
if (E.amount <= D.flatFee) throw Error(i.INSUFFICIENT_FUNDS_TO_TRANSACT);
|
|
35
|
+
let k = E.amount - D.flatFee, A = k * O / 10000n, j = k - A;
|
|
36
|
+
if (j <= 0n) throw Error(i.RECIPIENT_AMOUNT_INVALID);
|
|
37
|
+
let M = D.flatFee + A, [N, P, F, , I] = g.getRecipientInfo().split(",");
|
|
38
|
+
if (!P || !F || !N || !I) throw Error("Invalid recipient info");
|
|
39
|
+
let L = s().toString(), R = new c({
|
|
45
40
|
amount: 0n,
|
|
46
|
-
erc20TokenAddress:
|
|
47
|
-
mintAddress:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
41
|
+
erc20TokenAddress: E.erc20TokenAddress,
|
|
42
|
+
mintAddress: E.mintAddress,
|
|
43
|
+
nullifyingKey: C.getShieldedPrivateKey(),
|
|
44
|
+
...E.isNewStyle ? {
|
|
45
|
+
spendingPublicKey: C.getSpendingKeyPair().pubSpendingBJJPoint,
|
|
46
|
+
isNewStyle: !0
|
|
47
|
+
} : { isNewStyle: !1 }
|
|
48
|
+
}), z = new c({
|
|
51
49
|
amount: 0n,
|
|
52
|
-
erc20TokenAddress:
|
|
53
|
-
mintAddress:
|
|
54
|
-
|
|
55
|
-
shieldedPrivateKey: E.getShieldedPrivateKey(),
|
|
56
|
-
timeStamp: L
|
|
57
|
-
}), B = new l({
|
|
58
|
-
amount: M,
|
|
59
|
-
erc20TokenAddress: D.erc20TokenAddress,
|
|
60
|
-
mintAddress: D.mintAddress,
|
|
61
|
-
tokenId: D.tokenId,
|
|
50
|
+
erc20TokenAddress: E.erc20TokenAddress,
|
|
51
|
+
mintAddress: E.mintAddress,
|
|
52
|
+
nullifyingKey: C.getShieldedPrivateKey(),
|
|
62
53
|
timeStamp: L,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
54
|
+
spendingPublicKey: C.getSpendingKeyPair().pubSpendingBJJPoint,
|
|
55
|
+
isNewStyle: !0
|
|
56
|
+
}), B = new c({
|
|
57
|
+
amount: j,
|
|
58
|
+
erc20TokenAddress: E.erc20TokenAddress,
|
|
59
|
+
mintAddress: E.mintAddress,
|
|
60
|
+
timeStamp: L,
|
|
61
|
+
H0: [BigInt(P), BigInt(F)],
|
|
62
|
+
stealthAddress: N,
|
|
63
|
+
encryptionKey: I,
|
|
64
|
+
isNewStyle: !0
|
|
65
|
+
}), V = [E, R], H = [z, B], U = await g.getRandomRelay(x, !0);
|
|
66
|
+
if (!U) throw Error(i.RELAYER_NOT_AVAILABLE);
|
|
67
|
+
let W = o.findCorrectRandomization(a(31), C.getShieldedPrivateKey()), G = {
|
|
69
68
|
tokenNumber: 1,
|
|
70
69
|
nullifierAmount: V.length,
|
|
71
70
|
outputAmount: H.length
|
|
72
|
-
}, K =
|
|
71
|
+
}, K = u([H])[0].map((e) => Array.from(h.getBytes(e))), [{ proofAArr: q, proofBArr: J, proofCArr: Y, publicInputsArr: X }, Z] = await Promise.all([p(g.generateProofRemotely, g.merkleTreeHinkalByChain[x], C, [S], [V], [H], W, M, 0n, r, U, G, K, x), f(x, C, [S], [V])]), Q = {
|
|
73
72
|
recipient: U,
|
|
74
|
-
mint:
|
|
73
|
+
mint: S === "11111111111111111111111111111111" ? void 0 : S
|
|
75
74
|
};
|
|
76
|
-
return
|
|
77
|
-
chainId:
|
|
75
|
+
return m({
|
|
76
|
+
chainId: x,
|
|
78
77
|
relayAddress: U,
|
|
79
78
|
functionName: "transfer",
|
|
80
79
|
args: {
|
|
81
|
-
proofAArr:
|
|
82
|
-
proofBArr:
|
|
83
|
-
proofCArr:
|
|
84
|
-
publicInputsArr:
|
|
80
|
+
proofAArr: q,
|
|
81
|
+
proofBArr: J,
|
|
82
|
+
proofCArr: Y,
|
|
83
|
+
publicInputsArr: X,
|
|
85
84
|
encryptedOutputs: K,
|
|
86
|
-
relayerFee:
|
|
85
|
+
relayerFee: M.toString(),
|
|
87
86
|
dimensions: G
|
|
88
87
|
},
|
|
89
88
|
accounts: Q,
|
|
90
|
-
|
|
89
|
+
commitmentValidationData: Z
|
|
91
90
|
});
|
|
92
91
|
};
|
|
93
92
|
//#endregion
|
|
94
|
-
export {
|
|
93
|
+
export { g as hinkalSolanaClaimUtxo };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`)
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/utils/addresses.cjs`),r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/web3/etherFunctions.cjs`),a=require(`../../API/admin-calls.cjs`),o=require(`../crypto-keys/keys.cjs`),s=require(`../../functions/utils/solanaMint.utils.cjs`),c=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/snarkjs/common.snarkjs.cjs`),u=require(`../../functions/pre-transaction/solana.cjs`),d=require(`../../functions/pre-transaction/constructAdminData.cjs`),f=require(`../../error-handling/retrySolanaError.cjs`),p=require(`../../functions/pre-transaction/solanaTransfer.utils.cjs`),m=require(`./hinkalProoflessDeposit.utils.cjs`);let h=require(`@solana/web3.js`),g=require(`@coral-xyz/anchor`);var _=(n,r)=>{let i=c.validateAndGetChainId([r]),a=r.erc20TokenAddress,{hinkalIdl:o,hinkalAddress:l,originalDeployer:d}=e.networkRegistry[i].contractData;if(!o)throw Error(`No IDL configured for Solana program on this network`);if(!d)throw Error(`missing original deployer`);let f=n.getSolanaProgram(o),p=n.getSolanaPublicKey(),{connection:m,wallet:g}=f.provider;if(!g)throw Error(`missing solana wallet`);let _=new h.PublicKey(d),v=new h.PublicKey(l),{mintPublicKey:y}=s.formatMintAddress(a),b=y.toString()===t.solanaNativeAddress;return{chainId:i,mintAddress:a,program:f,publicKey:p,connection:m,wallet:g,originalDeployer:_,mintPublicKey:y,mint:b?null:y,atasValue:b?null:void 0,storageAccount:u.getStorageAccountPublicKey(v,_),storageVault:u.getStorageVaultPublicKey(v,_),merkleAccount:u.getMerkleAccountPublicKey(v,_)}},v=(e,t,n)=>{let r=n.map(e=>u.buildAnchorStealthAddressStructure(e));return e.program.methods.multiPaymentDeposit(t.map(e=>new g.BN(e.toString())),r,!1).accounts({mint:e.mint,signer:e.publicKey,signerAta:e.atasValue,originalDeployer:e.originalDeployer,storageAccount:e.storageAccount,storageVault:e.storageVault,merkleAccount:e.merkleAccount,storageVaultAta:e.atasValue}).instruction()},y=async(e,t,n,r)=>{for(let i=0;i<10;i+=1){let a=i===9;try{let{blockhash:i,lastValidBlockHeight:a}=await e.getLatestBlockhash(),o=new h.VersionedTransaction(new h.TransactionMessage({payerKey:n,recentBlockhash:i,instructions:r}).compileToV0Message()),s=await t.signTransaction(o),c=await e.sendTransaction(s);return await e.confirmTransaction({signature:c,blockhash:i,lastValidBlockHeight:a},`confirmed`),c}catch(e){if(f.shouldRetryForSolanaError(e)&&!a)continue;throw e}}return``},b=(e,t)=>{if(e.length===0)throw Error(`amounts must not be empty`);if(e.length!==t.length)throw Error(`amounts and stealthAddressStructures length mismatch`);if(e.some(e=>e<=0n))throw Error(`all amounts must be positive`);m.assertNoDuplicateStealthAddressStructures(t)},x=async(e,t,n,r,i,o=!1)=>{b(n,r);let s=_(e,t),c=d.constructAdminData(i,s.chainId,Array(n.length).fill(s.mintAddress),n,await e.getEthereumAddress()),l=await v(s,n,r);if(o){let{blockhash:e}=await s.connection.getLatestBlockhash(),t=new h.Transaction().add(l);return t.recentBlockhash=e,t.feePayer=s.publicKey,Buffer.from(t.serialize({requireAllSignatures:!1})).toString(`base64`)}let u=await y(s.connection,s.wallet,s.publicKey,[l]);return await a.emitTxPublicData(c),u},S=async(e,t,n,r,i,o)=>{b(n,r);let s=_(e,t),c=await e.getRandomRelay(s.chainId,!1);if(!c)throw Error(`No relay available for chainId ${s.chainId}`);let{instructions:l}=await p.buildSolanaTransferInstructions(s.connection,s.publicKey,new h.PublicKey(c),t,i),u=await v(s,n,r),f=d.constructAdminData(o,s.chainId,Array(n.length).fill(s.mintAddress),n,await e.getEthereumAddress()),m=await y(s.connection,s.wallet,s.publicKey,[...l,u]);return await a.emitTxPublicData(f),m},C=async(e,t,n,r=!1)=>{let a=e.userKeys.getShieldedPrivateKey(),s=l.calcStealthAddressStructure(o.UserKeys.findCorrectRandomization(i.randomBigInt(31),a),a,e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint);return x(e,n,[t],[s],void 0,r)},w=async(e,t,i,a,o=!1,s)=>{if(!n.isValidPrivateAddress(a))throw Error(r.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let c=n.constructStealthAddressStructure(a);return x(e,i,[t],[c],s,o)};exports.hinkalSolanaDeposit=C,exports.hinkalSolanaDepositForOther=w,exports.hinkalSolanaProoflessDepositWithPublicFee=S,exports.submitSolanaProoflessDeposit=x;
|
|
@@ -2,6 +2,7 @@ import { StealthAddressStructure } from '../../types/circom-data.types';
|
|
|
2
2
|
import { ERC20Token } from '../../types/token.types';
|
|
3
3
|
import { IHinkal } from './IHinkal';
|
|
4
4
|
import { AdminTransactionType } from '../../types/admin.types';
|
|
5
|
-
export declare const submitSolanaProoflessDeposit: (hinkal: IHinkal, token: ERC20Token, amounts: bigint[], stealthAddressStructures: StealthAddressStructure[], action?: AdminTransactionType) => Promise<string>;
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const
|
|
5
|
+
export declare const submitSolanaProoflessDeposit: (hinkal: IHinkal, token: ERC20Token, amounts: bigint[], stealthAddressStructures: StealthAddressStructure[], action?: AdminTransactionType, returnTxData?: boolean) => Promise<string>;
|
|
6
|
+
export declare const hinkalSolanaProoflessDepositWithPublicFee: (hinkal: IHinkal, token: ERC20Token, amounts: bigint[], stealthAddressStructures: StealthAddressStructure[], feeAmount: bigint, action?: AdminTransactionType) => Promise<string>;
|
|
7
|
+
export declare const hinkalSolanaDeposit: (hinkal: IHinkal, amount: bigint, token: ERC20Token, returnTxData?: boolean) => Promise<string>;
|
|
8
|
+
export declare const hinkalSolanaDepositForOther: (hinkal: IHinkal, amount: bigint, token: ERC20Token, recipientInfo: string, returnTxData?: boolean, action?: AdminTransactionType) => Promise<string>;
|
|
@@ -1,63 +1,102 @@
|
|
|
1
1
|
import { networkRegistry as e } from "../../constants/chains.constants.mjs";
|
|
2
|
-
import "../../constants/protocol.constants.mjs";
|
|
3
|
-
import { AdminTransactionType as t } from "../../types/admin.types.mjs";
|
|
2
|
+
import { solanaNativeAddress as t } from "../../constants/protocol.constants.mjs";
|
|
4
3
|
import { constructStealthAddressStructure as n, isValidPrivateAddress as r } from "../../functions/utils/addresses.mjs";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import "../../
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import { BN as x } from "@coral-xyz/anchor";
|
|
4
|
+
import { transactionErrorCodes as i } from "../../error-handling/error-codes.constants.mjs";
|
|
5
|
+
import { randomBigInt as a } from "../../functions/web3/etherFunctions.mjs";
|
|
6
|
+
import { emitTxPublicData as o } from "../../API/admin-calls.mjs";
|
|
7
|
+
import { UserKeys as s } from "../crypto-keys/keys.mjs";
|
|
8
|
+
import { formatMintAddress as c } from "../../functions/utils/solanaMint.utils.mjs";
|
|
9
|
+
import { validateAndGetChainId as l } from "../../functions/utils/token-check.utils.mjs";
|
|
10
|
+
import { calcStealthAddressStructure as u } from "../../functions/snarkjs/common.snarkjs.mjs";
|
|
11
|
+
import { buildAnchorStealthAddressStructure as d, getMerkleAccountPublicKey as f, getStorageAccountPublicKey as p, getStorageVaultPublicKey as m } from "../../functions/pre-transaction/solana.mjs";
|
|
12
|
+
import { constructAdminData as h } from "../../functions/pre-transaction/constructAdminData.mjs";
|
|
13
|
+
import { shouldRetryForSolanaError as g } from "../../error-handling/retrySolanaError.mjs";
|
|
14
|
+
import { buildSolanaTransferInstructions as _ } from "../../functions/pre-transaction/solanaTransfer.utils.mjs";
|
|
15
|
+
import { assertNoDuplicateStealthAddressStructures as v } from "./hinkalProoflessDeposit.utils.mjs";
|
|
16
|
+
import { PublicKey as y, Transaction as b, TransactionMessage as x, VersionedTransaction as S } from "@solana/web3.js";
|
|
17
|
+
import { BN as C } from "@coral-xyz/anchor";
|
|
20
18
|
//#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaDeposit.ts
|
|
21
|
-
var
|
|
22
|
-
|
|
23
|
-
if (
|
|
24
|
-
if (
|
|
25
|
-
let
|
|
26
|
-
if (!
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
19
|
+
var w = (n, r) => {
|
|
20
|
+
let i = l([r]), a = r.erc20TokenAddress, { hinkalIdl: o, hinkalAddress: s, originalDeployer: u } = e[i].contractData;
|
|
21
|
+
if (!o) throw Error("No IDL configured for Solana program on this network");
|
|
22
|
+
if (!u) throw Error("missing original deployer");
|
|
23
|
+
let d = n.getSolanaProgram(o), h = n.getSolanaPublicKey(), { connection: g, wallet: _ } = d.provider;
|
|
24
|
+
if (!_) throw Error("missing solana wallet");
|
|
25
|
+
let v = new y(u), b = new y(s), { mintPublicKey: x } = c(a), S = x.toString() === t;
|
|
26
|
+
return {
|
|
27
|
+
chainId: i,
|
|
28
|
+
mintAddress: a,
|
|
29
|
+
program: d,
|
|
30
|
+
publicKey: h,
|
|
31
|
+
connection: g,
|
|
32
|
+
wallet: _,
|
|
33
|
+
originalDeployer: v,
|
|
34
|
+
mintPublicKey: x,
|
|
35
|
+
mint: S ? null : x,
|
|
36
|
+
atasValue: S ? null : void 0,
|
|
37
|
+
storageAccount: p(b, v),
|
|
38
|
+
storageVault: m(b, v),
|
|
39
|
+
merkleAccount: f(b, v)
|
|
40
|
+
};
|
|
41
|
+
}, T = (e, t, n) => {
|
|
42
|
+
let r = n.map((e) => d(e));
|
|
43
|
+
return e.program.methods.multiPaymentDeposit(t.map((e) => new C(e.toString())), r, !1).accounts({
|
|
44
|
+
mint: e.mint,
|
|
45
|
+
signer: e.publicKey,
|
|
46
|
+
signerAta: e.atasValue,
|
|
47
|
+
originalDeployer: e.originalDeployer,
|
|
48
|
+
storageAccount: e.storageAccount,
|
|
49
|
+
storageVault: e.storageVault,
|
|
50
|
+
merkleAccount: e.merkleAccount,
|
|
51
|
+
storageVaultAta: e.atasValue
|
|
52
|
+
}).instruction();
|
|
53
|
+
}, E = async (e, t, n, r) => {
|
|
54
|
+
for (let i = 0; i < 10; i += 1) {
|
|
55
|
+
let a = i === 9;
|
|
56
|
+
try {
|
|
57
|
+
let { blockhash: i, lastValidBlockHeight: a } = await e.getLatestBlockhash(), o = new S(new x({
|
|
58
|
+
payerKey: n,
|
|
59
|
+
recentBlockhash: i,
|
|
60
|
+
instructions: r
|
|
61
|
+
}).compileToV0Message()), s = await t.signTransaction(o), c = await e.sendTransaction(s);
|
|
62
|
+
return await e.confirmTransaction({
|
|
63
|
+
signature: c,
|
|
64
|
+
blockhash: i,
|
|
65
|
+
lastValidBlockHeight: a
|
|
66
|
+
}, "confirmed"), c;
|
|
67
|
+
} catch (e) {
|
|
68
|
+
if (g(e) && !a) continue;
|
|
69
|
+
throw e;
|
|
70
|
+
}
|
|
40
71
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
72
|
+
return "";
|
|
73
|
+
}, D = (e, t) => {
|
|
74
|
+
if (e.length === 0) throw Error("amounts must not be empty");
|
|
75
|
+
if (e.length !== t.length) throw Error("amounts and stealthAddressStructures length mismatch");
|
|
76
|
+
if (e.some((e) => e <= 0n)) throw Error("all amounts must be positive");
|
|
77
|
+
v(t);
|
|
78
|
+
}, O = async (e, t, n, r, i, a = !1) => {
|
|
79
|
+
D(n, r);
|
|
80
|
+
let s = w(e, t), c = h(i, s.chainId, Array(n.length).fill(s.mintAddress), n, await e.getEthereumAddress()), l = await T(s, n, r);
|
|
81
|
+
if (a) {
|
|
82
|
+
let { blockhash: e } = await s.connection.getLatestBlockhash(), t = new b().add(l);
|
|
83
|
+
return t.recentBlockhash = e, t.feePayer = s.publicKey, Buffer.from(t.serialize({ requireAllSignatures: !1 })).toString("base64");
|
|
84
|
+
}
|
|
85
|
+
let u = await E(s.connection, s.wallet, s.publicKey, [l]);
|
|
86
|
+
return await o(c), u;
|
|
87
|
+
}, k = async (e, t, n, r, i, a) => {
|
|
88
|
+
D(n, r);
|
|
89
|
+
let s = w(e, t), c = await e.getRandomRelay(s.chainId, !1);
|
|
90
|
+
if (!c) throw Error(`No relay available for chainId ${s.chainId}`);
|
|
91
|
+
let { instructions: l } = await _(s.connection, s.publicKey, new y(c), t, i), u = await T(s, n, r), d = h(a, s.chainId, Array(n.length).fill(s.mintAddress), n, await e.getEthereumAddress()), f = await E(s.connection, s.wallet, s.publicKey, [...l, u]);
|
|
92
|
+
return await o(d), f;
|
|
93
|
+
}, A = async (e, t, n, r = !1) => {
|
|
94
|
+
let i = e.userKeys.getShieldedPrivateKey(), o = u(s.findCorrectRandomization(a(31), i), i, e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint);
|
|
95
|
+
return O(e, n, [t], [o], void 0, r);
|
|
96
|
+
}, j = async (e, t, a, o, s = !1, c) => {
|
|
97
|
+
if (!r(o)) throw Error(i.RECIPIENT_FORMAT_INCORRECT);
|
|
98
|
+
let l = n(o);
|
|
99
|
+
return O(e, a, [t], [l], c, s);
|
|
61
100
|
};
|
|
62
101
|
//#endregion
|
|
63
|
-
export {
|
|
102
|
+
export { A as hinkalSolanaDeposit, j as hinkalSolanaDepositForOther, k as hinkalSolanaProoflessDepositWithPublicFee, O as submitSolanaProoflessDeposit };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/external-action.types.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../../types/scheduled-transactions.types.cjs`);require(`../../types/index.cjs`);const i=require(`../../functions/utils/addresses.cjs`),a=require(`../../
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/external-action.types.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../../types/scheduled-transactions.types.cjs`);require(`../../types/index.cjs`);const i=require(`../../functions/utils/addresses.cjs`),a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../../functions/web3/etherFunctions.cjs`),s=require(`../crypto-keys/keys.cjs`),c=require(`../../functions/utils/time.utils.cjs`),l=require(`../utxo/Utxo.cjs`),u=require(`../../functions/utils/solanaMint.utils.cjs`),d=require(`../../functions/utils/token-check.utils.cjs`),f=require(`../../functions/snarkjs/common.snarkjs.cjs`),p=require(`../../functions/pre-transaction/solana.cjs`),m=require(`../../functions/pre-transaction/constructAdminData.cjs`),h=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),g=require(`../../functions/pre-transaction/getFeeStructure.cjs`),_=require(`../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),v=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const y=require(`../../functions/utils/getUtxosFromReceiptSolana.cjs`),b=require(`../../functions/utils/fees.utils.cjs`);require(`../../functions/web3/index.cjs`);const x=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),S=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),C=require(`../../API/deposit-and-withdraw-status-calls.cjs`);require(`../../functions/index.cjs`);let w=require(`ethers`),T=require(`@solana/web3.js`),E=require(`@coral-xyz/anchor`);var D=(e,r,i,a)=>{let{hinkalIdl:c,hinkalAddress:l,originalDeployer:d}=t.networkRegistry[r].contractData;if(!c)throw Error(`No IDL configured for Solana program on this network`);if(!d)throw Error(`missing original deployer`);let m=e.userKeys.getShieldedPrivateKey(),h=e.getSolanaProgram(c),g=e.getSolanaPublicKey(),_=new T.PublicKey(d),v=new T.PublicKey(l),{mintPublicKey:y}=u.formatMintAddress(i.erc20TokenAddress),b=y.toString(),x=p.getStorageAccountPublicKey(v,_),S=p.getStorageVaultPublicKey(v,_),C=p.getMerkleAccountPublicKey(v,_),w=a.map(()=>p.buildAnchorStealthAddressStructure(f.calcStealthAddressStructure(s.UserKeys.findCorrectRandomization(o.randomBigInt(31),m),m,e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint))),E=b===n.solanaNativeAddress;return{program:h,publicKey:g,originalDeployer:_,mint:E?null:y,atasValue:E?null:void 0,storageAccount:x,storageVault:S,merkleAccount:C,amounts:a,anchorStealthStructures:w}},O=e=>e.program.methods.multiPaymentDeposit(e.amounts.map(e=>new E.BN(e.toString())),e.anchorStealthStructures,!0).accounts({mint:e.mint,signer:e.publicKey,signerAta:e.atasValue,originalDeployer:e.originalDeployer,storageAccount:e.storageAccount,storageVault:e.storageVault,merkleAccount:e.merkleAccount,storageVaultAta:e.atasValue}),k=async(e,t,n,i,a,o,s)=>{let c=i.map(e=>e+b.calculateTotalFee(e,o)),l=D(e,t,n,c),d=(await C.updateDepositAndWithdrawStatus({chainId:t,hashedEthereumAddress:s,phase:r.DepositAndWithdrawPhase.BEFORE_DEPOSIT})).id??void 0,f=await O(l).rpc(),p=await l.program.provider.connection.getLatestBlockhash();await l.program.provider.connection.confirmTransaction({blockhash:p.blockhash,lastValidBlockHeight:p.lastValidBlockHeight,signature:f},`finalized`);let m=await h.fetchSolanaTransaction(l.program.provider.connection,f,`finalized`);if(!m)throw Error(`Transaction missing`);await C.safeUpdateDepositAndWithdrawStatus({id:d,chainId:t,hashedEthereumAddress:s,phase:r.DepositAndWithdrawPhase.AFTER_DEPOSIT,depositTxHash:f});let{compressedAddress:g}=u.formatMintAddress(n.erc20TokenAddress),_=y.getOnChainUtxosFromReceiptSolana(m,l.program,e.userKeys,g),v=[],x=[..._];return a.forEach((e,t)=>{let n=c[t],r=x.find(e=>e.amount===n);if(!r)throw Error(`Could not find newly created UTXO with amount ${n} for recipient ${e}.`);v.push({recipientAddress:e,utxo:r}),x.splice(x.indexOf(r),1)}),{userDepositedUtxos:v,depositTxHash:f,statusId:d}},A=async(e,i,d,p,h,g,_,y,T,E,D,O)=>{let k=d.erc20TokenAddress;if(p.length===0)throw Error(`userDepositedUtxos must not be empty`);let{originalDeployer:A}=t.networkRegistry[i].contractData;if(!A)throw Error(`missing data`);let j=await e.getRandomRelay(i,!0);if(!j)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let M=c.getCurrentTimeInSeconds().toString(),N=e.generateProofRemotely?5:1,P=[];for(let t=0;t<p.length;t+=N){let r=p.slice(t,t+N),a=await Promise.all(r.map(async({recipientAddress:t,utxo:r},a)=>{let{compressedAddress:c}=u.formatMintAddress(n.solanaNativeAddress),p=new l.Utxo({amount:0n,mintAddress:k,erc20TokenAddress:c,nullifyingKey:e.userKeys.getShieldedPrivateKey(),timeStamp:M,...r.isNewStyle?{spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint,isNewStyle:!0}:{isNewStyle:!1}}),g=[r,p],y=[p],S=s.UserKeys.findCorrectRandomization(o.randomBigInt(31),e.userKeys.getShieldedPrivateKey()),C={tokenNumber:1,nullifierAmount:g.length,outputAmount:y.length},T=f.calcEncryptedOutputs([y])[0][0],E=Array.from(w.ethers.getBytes(T)),O=await b.calculateModifiedFeeStructure(i,d,_[a],h),A=m.constructAdminData(D,i,[k],[_[a]],await e.getEthereumAddress()),[{proofAArr:N,proofBArr:P,proofCArr:F,publicInputsArr:I},L]=await Promise.all([x.constructSolanaZkProof(e.generateProofRemotely,e.merkleTreeHinkalByChain[i],e.userKeys,[k],[g],[y],S,O.flatFee,O.variableRate,t,j,C,[E],i),v.buildCommitmentValidationData(i,e.userKeys,[k],[g])]),R={recipient:t,mint:k===`11111111111111111111111111111111`?void 0:k};return{relayAddress:j,functionName:`transact`,chainId:i,recipientAmount:_[a].toString(),args:{proofAArr:N,proofBArr:P,proofCArr:F,publicInputsArr:I,encryptedOutputs:[E],relayerFee:O.flatFee.toString(),dimensions:C},accounts:R,adminData:A,commitmentValidationData:L}}));P.push(...a)}await C.safeUpdateDepositAndWithdrawStatus({id:y,chainId:i,hashedEthereumAddress:g,phase:r.DepositAndWithdrawPhase.BEFORE_SCHEDULE_WITHDRAW});let F=await S.solanaTransactCallRelayerBatch(i,P,g,T,E,O);return await C.safeUpdateDepositAndWithdrawStatus({id:y,chainId:i,hashedEthereumAddress:g,phase:r.DepositAndWithdrawPhase.AFTER_SCHEDULE_WITHDRAW,scheduleId:F}),F},j=async(t,n,r,a,o,s,c,l,u)=>{let f=d.validateAndGetChainId([n]),p=n.erc20TokenAddress,m=i.hashEthereumAddress(await t.getEthereumAddressByChain(f)),h=u?i.hashString(u):void 0,v=s??await g.getFeeStructure(f,p,[p],e.ExternalActionId.Transact,[],5n),{userDepositedUtxos:y,depositTxHash:b,statusId:x}=await k(t,f,n,r,a,v,m);return await _.waitForDepositedUtxosInMerkleTree(t,f,y),await A(t,f,n,y,v,m,r,x,o,c,l,h),b};exports.buildMultiPaymentDepositBuilder=O,exports.buildMultiPaymentDepositSetup=D,exports.hinkalSolanaDepositAndWithdraw=j,exports.hinkalSolanaWithdrawBatch=A;
|
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
import { FeeStructure } from '../../types/hinkal.types';
|
|
2
2
|
import { IHinkal } from './IHinkal';
|
|
3
|
-
import {
|
|
3
|
+
import { PublicKey } from '@solana/web3.js';
|
|
4
|
+
import { AdminTransactionType, RecipientUtxo } from '../../types';
|
|
4
5
|
import { ERC20Token } from '../../types/token.types';
|
|
6
|
+
export declare const buildMultiPaymentDepositSetup: (hinkal: IHinkal, chainId: number, token: ERC20Token, amounts: bigint[]) => {
|
|
7
|
+
program: import('@coral-xyz/anchor').Program<import('@coral-xyz/anchor').Idl>;
|
|
8
|
+
publicKey: PublicKey;
|
|
9
|
+
originalDeployer: PublicKey;
|
|
10
|
+
mint: PublicKey | null;
|
|
11
|
+
atasValue: null | undefined;
|
|
12
|
+
storageAccount: PublicKey;
|
|
13
|
+
storageVault: PublicKey;
|
|
14
|
+
merkleAccount: PublicKey;
|
|
15
|
+
amounts: bigint[];
|
|
16
|
+
anchorStealthStructures: import('../..').AnchorStealthAddressStructure[];
|
|
17
|
+
};
|
|
18
|
+
export type MultiPaymentDepositSetup = ReturnType<typeof buildMultiPaymentDepositSetup>;
|
|
19
|
+
export declare const buildMultiPaymentDepositBuilder: (setup: MultiPaymentDepositSetup) => import('@coral-xyz/anchor/dist/cjs/program/namespace/methods').MethodsBuilder<import('@coral-xyz/anchor').Idl, import('@coral-xyz/anchor/dist/cjs/idl').IdlInstruction & {
|
|
20
|
+
name: string;
|
|
21
|
+
}, import('@coral-xyz/anchor/dist/cjs/idl').IdlInstructionAccountItem>;
|
|
22
|
+
export declare const hinkalSolanaWithdrawBatch: (hinkal: IHinkal, chainId: number, token: ERC20Token, userDepositedUtxos: RecipientUtxo[], feeStructure: FeeStructure, hashedEthereumAddress: string, recipientAmounts: bigint[], statusId: string | undefined, txCompletionTime?: number, ref?: string, action?: AdminTransactionType, hashedDashboardAccountId?: string) => Promise<string>;
|
|
5
23
|
export declare const hinkalSolanaDepositAndWithdraw: (hinkal: IHinkal, token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, // Should be passed fee for only one withdraw transaction, multiplication happening in this function
|
|
6
|
-
ref?: string, action?: AdminTransactionType) => Promise<string>;
|
|
24
|
+
ref?: string, action?: AdminTransactionType, dashboardAccountId?: string) => Promise<string>;
|