@hinkal/common 0.2.31 → 0.2.32
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 @@
|
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/circom-data.types.cjs`),t=require(`../../functions/web3/functionCalls/transactCallDirectTron.cjs`),n=require(`./prepareDepositOnChainUtxosZkProof.cjs`);let r=require(`ethers`);var i=async(i,a,o,s,c,l)=>{let{zkCallData:u,circomData:d,dimData:f,totalAmount:p,utxoAmounts:m,hinkalWrapperAddress:h,hinkalWrapperABI:g}=await n.prepareDepositOnChainUtxosZkProof(i,a,o,s,c,{hookData:{...e.defaultHookData,preHookMetadata:r.ethers.hexlify(r.ethers.toUtf8Bytes(JSON.stringify({orderId:l})))}});return{unsignedTx:await t.buildTronUnsignedTransactTransaction(i,a,p,o,u,d,f,h,g),utxoAmounts:m}};exports.hinkalPalTronDepositPrepare=i;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IHinkal } from './IHinkal';
|
|
2
|
+
import { ERC20Token } from '../../types';
|
|
3
|
+
import { FeeStructure } from '../../types/hinkal.types';
|
|
4
|
+
import { Types as TronWebTypes } from 'tronweb';
|
|
5
|
+
export type PalTronDepositPrepareResult = {
|
|
6
|
+
unsignedTx: TronWebTypes.Transaction;
|
|
7
|
+
utxoAmounts: bigint[];
|
|
8
|
+
};
|
|
9
|
+
export declare const hinkalPalTronDepositPrepare: (hinkal: IHinkal, chainId: number, token: ERC20Token, recipientAmounts: bigint[], feeStructure: FeeStructure, orderId: string) => Promise<PalTronDepositPrepareResult>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defaultHookData as e } from "../../types/circom-data.types.mjs";
|
|
2
|
+
import { buildTronUnsignedTransactTransaction as t } from "../../functions/web3/functionCalls/transactCallDirectTron.mjs";
|
|
3
|
+
import { prepareDepositOnChainUtxosZkProof as n } from "./prepareDepositOnChainUtxosZkProof.mjs";
|
|
4
|
+
import { ethers as r } from "ethers";
|
|
5
|
+
//#region libs/shared/common/src/data-structures/Hinkal/hinkalPalTronDepositPrepare.ts
|
|
6
|
+
var i = async (i, a, o, s, c, l) => {
|
|
7
|
+
let { zkCallData: u, circomData: d, dimData: f, totalAmount: p, utxoAmounts: m, hinkalWrapperAddress: h, hinkalWrapperABI: g } = await n(i, a, o, s, c, { hookData: {
|
|
8
|
+
...e,
|
|
9
|
+
preHookMetadata: r.hexlify(r.toUtf8Bytes(JSON.stringify({ orderId: l })))
|
|
10
|
+
} });
|
|
11
|
+
return {
|
|
12
|
+
unsignedTx: await t(i, a, p, o, u, d, f, h, g),
|
|
13
|
+
utxoAmounts: m
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
//#endregion
|
|
17
|
+
export { i as hinkalPalTronDepositPrepare };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../types/
|
|
1
|
+
const e=require(`../../types/external-action.types.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../types/admin.types.cjs`),r=require(`../../functions/utils/caseInsensitive.utils.cjs`),i=require(`../../functions/utils/addresses.cjs`),a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../../functions/utils/time.utils.cjs`),s=require(`../../functions/web3/events/getShieldedBalance.cjs`),c=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`);require(`../../error-handling/index.cjs`);const l=require(`../../functions/pre-transaction/constructAdminData.cjs`),u=require(`../AccountActions/AccountActions.cjs`),d=require(`../../functions/pre-transaction/recipientUtxoProcessing.cjs`),f=require(`../../functions/pre-transaction/getFeeStructure.cjs`),p=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const m=require(`../../functions/utils/involves-permit2-op.cjs`),h=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),g=require(`../../functions/private-wallet/emporium.helpers.cjs`),_=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`),b=require(`../../functions/pre-transaction/merge-with-fee-structure-emporium.cjs`),x=require(`./handleAutoDepositBack.cjs`);var S=async(e,t,n,r,i)=>{let a=[...await s.addPaddingToUtxos(e,t,n,r)],l=[],u=o.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=c.outputUtxoProcessing(e.userKeys,a[t],r[t],u);l.push(n)}return i&&d.recipientUtxoProcessing(i,l,r,u),{inputUtxosArray:a,outputUtxosArray:l}},C=async(o,s,c,d,C,w,T,E,D,O,k,A=!1,j,M,N)=>{if(N&&!i.isValidPrivateAddress(N.recipientInfo))throw Error(a.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);if(T.length>0&&!E)throw Error(`Subaccount is required for private wallet transactions`);let P=c.map(e=>e.erc20TokenAddress),F=await o.getEthereumAddressByChain(s),I=E?u.AccountActions.getAddressFromSubAccount(s,E):void 0,{contractData:L}=t.networkRegistry[s],{emporiumAddress:R}=L;if(!R)throw Error(`No Emporium Address Provided`);let z=O??await f.getFeeStructure(s,D,P,e.ExternalActionId.Emporium,w.map(e=>h.convertEmporiumOpToCallInfo(e,I??``,s)));for(I?await b.mergeWithFeeStructureEmporium(o,s,I,w,P,d,z,T.find(e=>r.caseInsensitiveEqual(e.token.erc20TokenAddress,z.feeToken))?.amount??0n):y.mergeWithFeeStructure(s,P,d,z);C.length<P.length;)C.push(!1);let[{inputUtxosArray:B,outputUtxosArray:V},H]=await Promise.all([S(o,s,P,d,N),k??await o.getRandomRelay(s,!0)]);if(!H)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let U=E?u.AccountActions.getPrivateKeyFromSubAccount(s,E):void 0,[{zkCallData:W,circomData:G,dimData:K},q,J]=await Promise.all([_.constructZkProof(o.merkleTreeHinkalByChain[s],B,V,o.userKeys,e.ExternalActionId.Emporium,R,w,o.generateProofRemotely,z,H,s,C,void 0,void 0,U),g.getAuthorizationDataIfNeeded(s,U),p.buildCommitmentValidationData(s,o.userKeys,P,B)]),Y=await v.transactCallRelayer(s,W,K,G,J,m.uniswapWorkaround(w),q,l.constructAdminData(M,s,T.map(e=>e.token.erc20TokenAddress),T.map(e=>e.amount),F,M===n.AdminTransactionType.PublicSwap?T.map(({token:e})=>e):void 0));return A&&E&&x.handleAutoDepositBack(o,s,I,E,z.feeToken,j,T,G),Y};exports.hinkalPrivateWallet=C;
|
|
@@ -1,57 +1,53 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { addPaddingToUtxos as l } from "../../functions/web3/events/getShieldedBalance.mjs";
|
|
11
|
-
import { outputUtxoProcessing as u } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
|
|
12
|
-
import { outputApprovalDataProcessing as d } from "../../functions/pre-transaction/outputApprovalDataProcessing.mjs";
|
|
1
|
+
import { ExternalActionId as e } from "../../types/external-action.types.mjs";
|
|
2
|
+
import { networkRegistry as t } from "../../constants/chains.constants.mjs";
|
|
3
|
+
import { AdminTransactionType as n } from "../../types/admin.types.mjs";
|
|
4
|
+
import { caseInsensitiveEqual as r } from "../../functions/utils/caseInsensitive.utils.mjs";
|
|
5
|
+
import { isValidPrivateAddress as i } from "../../functions/utils/addresses.mjs";
|
|
6
|
+
import { transactionErrorCodes as a } from "../../error-handling/error-codes.constants.mjs";
|
|
7
|
+
import { getCurrentTimeInSeconds as o } from "../../functions/utils/time.utils.mjs";
|
|
8
|
+
import { addPaddingToUtxos as s } from "../../functions/web3/events/getShieldedBalance.mjs";
|
|
9
|
+
import { outputUtxoProcessing as c } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
|
|
13
10
|
import "../../error-handling/index.mjs";
|
|
14
|
-
import { constructAdminData as
|
|
15
|
-
import { AccountActions as
|
|
16
|
-
import { recipientUtxoProcessing as
|
|
17
|
-
import { getFeeStructure as
|
|
18
|
-
import {
|
|
11
|
+
import { constructAdminData as l } from "../../functions/pre-transaction/constructAdminData.mjs";
|
|
12
|
+
import { AccountActions as u } from "../AccountActions/AccountActions.mjs";
|
|
13
|
+
import { recipientUtxoProcessing as d } from "../../functions/pre-transaction/recipientUtxoProcessing.mjs";
|
|
14
|
+
import { getFeeStructure as f } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
15
|
+
import { buildCommitmentValidationData as p } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
|
|
19
16
|
import "../../functions/pre-transaction/index.mjs";
|
|
20
|
-
import { uniswapWorkaround as
|
|
21
|
-
import { convertEmporiumOpToCallInfo as
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
17
|
+
import { uniswapWorkaround as m } from "../../functions/utils/involves-permit2-op.mjs";
|
|
18
|
+
import { convertEmporiumOpToCallInfo as h } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
|
|
19
|
+
import { getAuthorizationDataIfNeeded as g } from "../../functions/private-wallet/emporium.helpers.mjs";
|
|
20
|
+
import { constructZkProof as _ } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
|
|
21
|
+
import { transactCallRelayer as v } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
22
|
+
import { mergeWithFeeStructure as y } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
|
|
23
|
+
import { mergeWithFeeStructureEmporium as b } from "../../functions/pre-transaction/merge-with-fee-structure-emporium.mjs";
|
|
24
|
+
import { handleAutoDepositBack as x } from "./handleAutoDepositBack.mjs";
|
|
27
25
|
//#region libs/shared/common/src/data-structures/Hinkal/hinkalPrivateWallet.ts
|
|
28
|
-
var
|
|
29
|
-
let
|
|
30
|
-
for (let
|
|
31
|
-
let { outputUtxos: n } =
|
|
32
|
-
|
|
33
|
-
let { useApprovalUtxoData: c } = d(e, t, s[o], r[o]);
|
|
34
|
-
c && (i.doPreTxApproval = !0, i.useApprovalUtxoData[o] = c, i.interactionAddress = a, i.inHinkalAddress = e.userKeys.getInHinkalAddress(a));
|
|
26
|
+
var S = async (e, t, n, r, i) => {
|
|
27
|
+
let a = [...await s(e, t, n, r)], l = [], u = o().toString();
|
|
28
|
+
for (let t = 0; t < n.length; t += 1) {
|
|
29
|
+
let { outputUtxos: n } = c(e.userKeys, a[t], r[t], u);
|
|
30
|
+
l.push(n);
|
|
35
31
|
}
|
|
36
|
-
return
|
|
37
|
-
inputUtxosArray:
|
|
38
|
-
outputUtxosArray:
|
|
32
|
+
return i && d(i, l, r, u), {
|
|
33
|
+
inputUtxosArray: a,
|
|
34
|
+
outputUtxosArray: l
|
|
39
35
|
};
|
|
40
|
-
},
|
|
41
|
-
if (
|
|
42
|
-
if (
|
|
43
|
-
let
|
|
44
|
-
if (!
|
|
45
|
-
let
|
|
46
|
-
for (
|
|
47
|
-
let
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return
|
|
36
|
+
}, C = async (o, s, c, d, C, w, T, E, D, O, k, A = !1, j, M, N) => {
|
|
37
|
+
if (N && !i(N.recipientInfo)) throw Error(a.RECIPIENT_FORMAT_INCORRECT);
|
|
38
|
+
if (T.length > 0 && !E) throw Error("Subaccount is required for private wallet transactions");
|
|
39
|
+
let P = c.map((e) => e.erc20TokenAddress), F = await o.getEthereumAddressByChain(s), I = E ? u.getAddressFromSubAccount(s, E) : void 0, { contractData: L } = t[s], { emporiumAddress: R } = L;
|
|
40
|
+
if (!R) throw Error("No Emporium Address Provided");
|
|
41
|
+
let z = O ?? await f(s, D, P, e.Emporium, w.map((e) => h(e, I ?? "", s)));
|
|
42
|
+
for (I ? await b(o, s, I, w, P, d, z, T.find((e) => r(e.token.erc20TokenAddress, z.feeToken))?.amount ?? 0n) : y(s, P, d, z); C.length < P.length;) C.push(!1);
|
|
43
|
+
let [{ inputUtxosArray: B, outputUtxosArray: V }, H] = await Promise.all([S(o, s, P, d, N), k ?? await o.getRandomRelay(s, !0)]);
|
|
44
|
+
if (!H) throw Error(a.RELAYER_NOT_AVAILABLE);
|
|
45
|
+
let U = E ? u.getPrivateKeyFromSubAccount(s, E) : void 0, [{ zkCallData: W, circomData: G, dimData: K }, q, J] = await Promise.all([
|
|
46
|
+
_(o.merkleTreeHinkalByChain[s], B, V, o.userKeys, e.Emporium, R, w, o.generateProofRemotely, z, H, s, C, void 0, void 0, U),
|
|
47
|
+
g(s, U),
|
|
48
|
+
p(s, o.userKeys, P, B)
|
|
49
|
+
]), Y = await v(s, W, K, G, J, m(w), q, l(M, s, T.map((e) => e.token.erc20TokenAddress), T.map((e) => e.amount), F, M === n.PublicSwap ? T.map(({ token: e }) => e) : void 0));
|
|
50
|
+
return A && E && x(o, s, I, E, z.feeToken, j, T, G), Y;
|
|
55
51
|
};
|
|
56
52
|
//#endregion
|
|
57
|
-
export {
|
|
53
|
+
export { C as hinkalPrivateWallet };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../../functions/utils/caseInsensitive.utils.cjs`),i=require(`../../
|
|
1
|
+
const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../../functions/utils/caseInsensitive.utils.cjs`),i=require(`../../API/admin-calls.cjs`),a=require(`../../error-handling/logger.cjs`),o=require(`../../functions/utils/tron.utils.cjs`),s=require(`../../functions/utils/token-check.utils.cjs`),c=require(`../../functions/pre-transaction/constructAdminData.cjs`),l=require(`../../functions/utils/getRecipientInfoFromUserKeys.cjs`),u=require(`../../functions/utils/getContractAddress.cjs`),d=require(`../../functions/utils/tronSimulation.utils.cjs`),f=require(`../../functions/web3/functionCalls/constructBatchCall.cjs`),p=require(`../../functions/web3/functionCalls/waitForErc20Approvals.cjs`),m=require(`./hinkalProoflessDeposit.utils.cjs`),h=require(`./hinkalProoflessDepositViaWrapper.cjs`);var g=async(e,r,i,s,c,l=!1)=>{let u=e.getTronWeb(),{hinkalAddress:f}=t.networkRegistry[r].contractData,h=o.evmHexToTronBase58Address(f),g=await e.getEthereumAddressByChain(r),_=i.map(e=>e.erc20TokenAddress),v=i.map(()=>0n),{totalTrxValue:y,tokensNeedingApproval:b}=o.splitTronTokensByNative(i,s),x=c.map(e=>({extraRandomization:e.extraRandomization.toString(),stealthAddress:e.stealthAddress.toString(),H0:e.H0.toString(),H1:e.H1.toString()}));if(y>0n){let{hinkalABI:e}=t.networkRegistry[r].contractData;if(!e)throw Error(`Hinkal ABI not found`);await o.assertTronSufficientBalance(u,r,h,g,o.createTronCallData(e,`prooflessDeposit`,[_,s.map(String),v.map(String),c.map(e=>[e.extraRandomization.toString(),e.stealthAddress.toString(),e.H0.toString(),e.H1.toString()])]),y)}let{transaction:S}=await u.transactionBuilder.triggerSmartContract(h,`prooflessDeposit(address[],uint256[],uint256[],(uint256,uint256,uint256,uint256)[])`,{feeLimit:n.TRON_DEFAULT_FEE_LIMIT_SUN,callValue:y>0n?Number(y):0},[{type:`address[]`,value:_},{type:`uint256[]`,value:s.map(String)},{type:`uint256[]`,value:v.map(String)},{type:`tuple(uint256,uint256,uint256,uint256)[]`,value:x.map(e=>[e.extraRandomization,e.stealthAddress,e.H0,e.H1])}],g);if(l)return S;await m.approveTronTokens(u,g,h,b),await p.waitForTronErc20Approvals(u,g,h,Array.from(b.entries()).map(([e,t])=>({tokenAddress:e,requiredAmount:t}))),await d.simulateTronTransaction(r,h,`prooflessDeposit`,t.networkRegistry[r].contractData.hinkalABI,[_,s.map(String),v.map(String),c.map(e=>[e.extraRandomization.toString(),e.stealthAddress.toString(),e.H0.toString(),e.H1.toString()])],g,y>0n?y:void 0);let C=await u.trx.sign(S),w=await u.trx.sendRawTransaction(C);if(!w.result)throw a.Logger.error(`Tron prooflessDeposit broadcast failed`,w),Error(`Tron prooflessDeposit broadcast failed`);let T=typeof w==`string`?w:w?.txid??w?.transaction?.txID;if(!T)throw Error(`Tron prooflessDeposit failed (missing txid)`);return T},_=async(a,o,d,h,_,v=!1)=>{let y=s.validateAndGetChainId(o),b=t.isTronLike(y),x=await a.getEthereumAddressByChain(y),S=h??o.map(()=>l.getStealthAddressStructureFromUserKeys(a.userKeys));if(S.length!==o.length)throw Error(`Stealth address structures length must be equal to erc20 tokens length`);m.assertNoDuplicateStealthAddressStructures(S);let C;if(b){let e=await g(a,y,o,d,S,v);if(v)return e;C=e}else{let t=a.getContractWithSigner(y,e.ContractType.HinkalContract),i=[o.map(({erc20TokenAddress:e})=>e),d,o.map(()=>0n),S];if(v)return t.prooflessDeposit.populateTransaction(...i);let s=a.getProviderAdapter(y),c=m.aggregateAmountsForApproval(o,d),l=o.reduce((e,t,i)=>r.caseInsensitiveEqual(t.erc20TokenAddress,n.zeroAddress)?e+d[i]:e,0n),h=c.filter(({token:e,balance:t})=>!r.caseInsensitiveEqual(e.erc20TokenAddress,n.zeroAddress)&&t>0n),g;if(h.length>0&&await s.supportsBatchCall?.(y)&&s.sendBatchCallsTransaction){let e=f.buildApproveAndProoflessDepositCalls(h.map(({token:e})=>e.erc20TokenAddress),h.map(({balance:e})=>e),u.getContractAddress(t),t,...i,l);g=await s.sendBatchCallsTransaction(y,e)}else{await m.approveTokens(a,y,u.getContractAddress(t),c);let e=await a.getEthereumAddressByChain(y),n=c.map(({token:e,balance:t})=>({tokenAddress:e.erc20TokenAddress,requiredAmount:t}));await p.waitForErc20Approvals(a,y,e,u.getContractAddress(t),n),g=await t.prooflessDeposit(...i,{value:l>0n?l:void 0})}C=g.hash}return i.emitTxPublicData(c.constructAdminData(_,y,o.map(({erc20TokenAddress:e})=>e),d,x)),C},v=async(e,n,r,i,a,o,s)=>{let c=i.map(()=>r),l=r.erc20TokenAddress;return t.isTronLike(n)?h.hinkalTronProoflessDepositViaWrapper(e,n,l,o,c,i,a,s):t.networkRegistry[n]?.contractData?.hinkalWrapperAddress?h.hinkalEvmProoflessDepositViaWrapper(e,n,l,o,c,i,a,s):await _(e,c,i,a,s,!0)};exports.hinkalProoflessDeposit=_,exports.hinkalProoflessDepositWithPublicFee=v;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
import { Types as TronWebTypes } from 'tronweb';
|
|
1
3
|
import { ERC20Token } from '../../types/token.types';
|
|
2
4
|
import { IHinkal } from './IHinkal';
|
|
3
5
|
import { StealthAddressStructure } from '../../types/circom-data.types';
|
|
4
6
|
import { AdminTransactionType } from '../../types/admin.types';
|
|
5
|
-
export declare const hinkalProoflessDeposit: (hinkal: IHinkal, erc20Tokens: ERC20Token[], amountChanges: bigint[], stealthAddressStructuresOverride?: StealthAddressStructure[], action?: AdminTransactionType) => Promise<string
|
|
7
|
+
export declare const hinkalProoflessDeposit: (hinkal: IHinkal, erc20Tokens: ERC20Token[], amountChanges: bigint[], stealthAddressStructuresOverride?: StealthAddressStructure[], action?: AdminTransactionType, returnTxData?: boolean) => Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
|
|
8
|
+
export declare const hinkalProoflessDepositWithPublicFee: (hinkal: IHinkal, chainId: number, erc20Token: ERC20Token, amounts: bigint[], stealthAddressStructures: StealthAddressStructure[], feeAmount: bigint, action?: AdminTransactionType) => Promise<string>;
|
|
@@ -2,117 +2,44 @@ import { ContractType as e } from "../../types/ethereum-network.types.mjs";
|
|
|
2
2
|
import { isTronLike as t, networkRegistry as n } from "../../constants/chains.constants.mjs";
|
|
3
3
|
import { TRON_DEFAULT_FEE_LIMIT_SUN as r, zeroAddress as i } from "../../constants/protocol.constants.mjs";
|
|
4
4
|
import { caseInsensitiveEqual as a } from "../../functions/utils/caseInsensitive.utils.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 { simulateTronTransaction as x } from "../../functions/utils/tronSimulation.utils.mjs";
|
|
18
|
-
import { buildApproveAndProoflessDepositCalls as S } from "../../functions/web3/functionCalls/constructBatchCall.mjs";
|
|
19
|
-
import { waitForErc20Approvals as C, waitForTronErc20Approvals as w } from "../../functions/web3/functionCalls/waitForErc20Approvals.mjs";
|
|
5
|
+
import { emitTxPublicData as o } from "../../API/admin-calls.mjs";
|
|
6
|
+
import { Logger as s } from "../../error-handling/logger.mjs";
|
|
7
|
+
import { assertTronSufficientBalance as c, createTronCallData as l, evmHexToTronBase58Address as u, splitTronTokensByNative as d } from "../../functions/utils/tron.utils.mjs";
|
|
8
|
+
import { validateAndGetChainId as f } from "../../functions/utils/token-check.utils.mjs";
|
|
9
|
+
import { constructAdminData as p } from "../../functions/pre-transaction/constructAdminData.mjs";
|
|
10
|
+
import { getStealthAddressStructureFromUserKeys as m } from "../../functions/utils/getRecipientInfoFromUserKeys.mjs";
|
|
11
|
+
import { getContractAddress as h } from "../../functions/utils/getContractAddress.mjs";
|
|
12
|
+
import { simulateTronTransaction as g } from "../../functions/utils/tronSimulation.utils.mjs";
|
|
13
|
+
import { buildApproveAndProoflessDepositCalls as _ } from "../../functions/web3/functionCalls/constructBatchCall.mjs";
|
|
14
|
+
import { waitForErc20Approvals as v, waitForTronErc20Approvals as y } from "../../functions/web3/functionCalls/waitForErc20Approvals.mjs";
|
|
15
|
+
import { aggregateAmountsForApproval as b, approveTokens as x, approveTronTokens as S, assertNoDuplicateStealthAddressStructures as C } from "./hinkalProoflessDeposit.utils.mjs";
|
|
16
|
+
import { hinkalEvmProoflessDepositViaWrapper as w, hinkalTronProoflessDepositViaWrapper as T } from "./hinkalProoflessDepositViaWrapper.mjs";
|
|
20
17
|
//#region libs/shared/common/src/data-structures/Hinkal/hinkalProoflessDeposit.ts
|
|
21
|
-
var
|
|
22
|
-
let
|
|
23
|
-
for (let i = 0; i < e.length; i += 1) {
|
|
24
|
-
let a = !1;
|
|
25
|
-
for (let o = 0; o < r; o += 1) if (g(n[o].token, e[i])) {
|
|
26
|
-
n[o].balance += t[i], a = !0;
|
|
27
|
-
break;
|
|
28
|
-
}
|
|
29
|
-
a || (n[r] = {
|
|
30
|
-
token: e[i],
|
|
31
|
-
balance: t[i]
|
|
32
|
-
}, r += 1);
|
|
33
|
-
}
|
|
34
|
-
return n;
|
|
35
|
-
}, E = async (t, n, r, o) => {
|
|
36
|
-
for (let s = 0; s < o.length; s += 1) a(o[s].token.erc20TokenAddress, i) || await b(n, (await t.getContractWithSigner(n, e.ERC20Contract, o[s].token.erc20TokenAddress).approve(r, o[s].balance)).hash);
|
|
37
|
-
}, D = async (e, t, n, i) => {
|
|
38
|
-
let a = Array.from(i.entries());
|
|
39
|
-
for (let i = 0; i < a.length; i += 1) {
|
|
40
|
-
let [s, c] = a[i], l = await e.contract(o, s).allowance(t, n).call({ from: t });
|
|
41
|
-
if (BigInt(String(l)) < c) {
|
|
42
|
-
let { transaction: i } = await e.transactionBuilder.triggerSmartContract(s, "approve(address,uint256)", { feeLimit: r }, [{
|
|
43
|
-
type: "address",
|
|
44
|
-
value: n
|
|
45
|
-
}, {
|
|
46
|
-
type: "uint256",
|
|
47
|
-
value: c.toString()
|
|
48
|
-
}], t), a = await e.trx.sign(i), o = await e.trx.sendRawTransaction(a);
|
|
49
|
-
if (!o.result) {
|
|
50
|
-
let e = o.code ?? "UNKNOWN", t = o.message ? Buffer.from(o.message, "hex").toString() : "no message";
|
|
51
|
-
throw Error(`Tron token approval failed: ${e} - ${t}`);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}, O = (e) => {
|
|
56
|
-
let t = /* @__PURE__ */ new Set();
|
|
57
|
-
e.forEach(({ extraRandomization: e, stealthAddress: n }) => {
|
|
58
|
-
let r = `${e.toString()}:${n.toString()}`;
|
|
59
|
-
if (t.has(r)) throw Error("Duplicate randomization and stealth address pair detected in stealthAddressStructures");
|
|
60
|
-
t.add(r);
|
|
61
|
-
});
|
|
62
|
-
}, k = async (e, t, o, c, l) => {
|
|
63
|
-
let u = e.getTronWeb(), { hinkalAddress: d } = n[t].contractData, g = m(d), _ = await e.getEthereumAddressByChain(t), v = o.map((e) => e.erc20TokenAddress), y = o.map(() => 0n), b = 0n, S = /* @__PURE__ */ new Map();
|
|
64
|
-
for (let e = 0; e < o.length; e += 1) {
|
|
65
|
-
let t = m(o[e].erc20TokenAddress);
|
|
66
|
-
if (a(o[e].erc20TokenAddress, i)) b += c[e];
|
|
67
|
-
else {
|
|
68
|
-
let n = S.get(t) ?? 0n;
|
|
69
|
-
S.set(t, n + c[e]);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
await D(u, _, g, S), await w(u, _, g, Array.from(S.entries()).map(([e, t]) => ({
|
|
73
|
-
tokenAddress: e,
|
|
74
|
-
requiredAmount: t
|
|
75
|
-
})));
|
|
76
|
-
let C = l.map((e) => ({
|
|
18
|
+
var E = async (e, t, i, a, o, f = !1) => {
|
|
19
|
+
let p = e.getTronWeb(), { hinkalAddress: m } = n[t].contractData, h = u(m), _ = await e.getEthereumAddressByChain(t), v = i.map((e) => e.erc20TokenAddress), b = i.map(() => 0n), { totalTrxValue: x, tokensNeedingApproval: C } = d(i, a), w = o.map((e) => ({
|
|
77
20
|
extraRandomization: e.extraRandomization.toString(),
|
|
78
21
|
stealthAddress: e.stealthAddress.toString(),
|
|
79
22
|
H0: e.H0.toString(),
|
|
80
23
|
H1: e.H1.toString()
|
|
81
24
|
}));
|
|
82
|
-
if (
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
if (!e) throw Error("Hinkal ABI not found");
|
|
97
|
-
i = await p(u, t, g, _, f(e, "prooflessDeposit", [
|
|
98
|
-
v,
|
|
99
|
-
c.map(String),
|
|
100
|
-
y.map(String),
|
|
101
|
-
l.map((e) => [
|
|
102
|
-
e.extraRandomization.toString(),
|
|
103
|
-
e.stealthAddress.toString(),
|
|
104
|
-
e.H0.toString(),
|
|
105
|
-
e.H1.toString()
|
|
106
|
-
])
|
|
107
|
-
]), b);
|
|
108
|
-
} catch (e) {
|
|
109
|
-
h.error("Error estimating Tron prooflessDeposit fee", e);
|
|
110
|
-
}
|
|
111
|
-
if (e < b + i) throw Error(s.INSUFFICIENT_TRON_BALANCE_FOR_FEE);
|
|
25
|
+
if (x > 0n) {
|
|
26
|
+
let { hinkalABI: e } = n[t].contractData;
|
|
27
|
+
if (!e) throw Error("Hinkal ABI not found");
|
|
28
|
+
await c(p, t, h, _, l(e, "prooflessDeposit", [
|
|
29
|
+
v,
|
|
30
|
+
a.map(String),
|
|
31
|
+
b.map(String),
|
|
32
|
+
o.map((e) => [
|
|
33
|
+
e.extraRandomization.toString(),
|
|
34
|
+
e.stealthAddress.toString(),
|
|
35
|
+
e.H0.toString(),
|
|
36
|
+
e.H1.toString()
|
|
37
|
+
])
|
|
38
|
+
]), x);
|
|
112
39
|
}
|
|
113
|
-
let { transaction: T } = await
|
|
40
|
+
let { transaction: T } = await p.transactionBuilder.triggerSmartContract(h, "prooflessDeposit(address[],uint256[],uint256[],(uint256,uint256,uint256,uint256)[])", {
|
|
114
41
|
feeLimit: r,
|
|
115
|
-
callValue:
|
|
42
|
+
callValue: x > 0n ? Number(x) : 0
|
|
116
43
|
}, [
|
|
117
44
|
{
|
|
118
45
|
type: "address[]",
|
|
@@ -120,48 +47,77 @@ var T = (e, t) => {
|
|
|
120
47
|
},
|
|
121
48
|
{
|
|
122
49
|
type: "uint256[]",
|
|
123
|
-
value:
|
|
50
|
+
value: a.map(String)
|
|
124
51
|
},
|
|
125
52
|
{
|
|
126
53
|
type: "uint256[]",
|
|
127
|
-
value:
|
|
54
|
+
value: b.map(String)
|
|
128
55
|
},
|
|
129
56
|
{
|
|
130
57
|
type: "tuple(uint256,uint256,uint256,uint256)[]",
|
|
131
|
-
value:
|
|
58
|
+
value: w.map((e) => [
|
|
132
59
|
e.extraRandomization,
|
|
133
60
|
e.stealthAddress,
|
|
134
61
|
e.H0,
|
|
135
62
|
e.H1
|
|
136
63
|
])
|
|
137
64
|
}
|
|
138
|
-
], _)
|
|
139
|
-
if (
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
},
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
65
|
+
], _);
|
|
66
|
+
if (f) return T;
|
|
67
|
+
await S(p, _, h, C), await y(p, _, h, Array.from(C.entries()).map(([e, t]) => ({
|
|
68
|
+
tokenAddress: e,
|
|
69
|
+
requiredAmount: t
|
|
70
|
+
}))), await g(t, h, "prooflessDeposit", n[t].contractData.hinkalABI, [
|
|
71
|
+
v,
|
|
72
|
+
a.map(String),
|
|
73
|
+
b.map(String),
|
|
74
|
+
o.map((e) => [
|
|
75
|
+
e.extraRandomization.toString(),
|
|
76
|
+
e.stealthAddress.toString(),
|
|
77
|
+
e.H0.toString(),
|
|
78
|
+
e.H1.toString()
|
|
79
|
+
])
|
|
80
|
+
], _, x > 0n ? x : void 0);
|
|
81
|
+
let E = await p.trx.sign(T), D = await p.trx.sendRawTransaction(E);
|
|
82
|
+
if (!D.result) throw s.error("Tron prooflessDeposit broadcast failed", D), Error("Tron prooflessDeposit broadcast failed");
|
|
83
|
+
let O = typeof D == "string" ? D : D?.txid ?? D?.transaction?.txID;
|
|
84
|
+
if (!O) throw Error("Tron prooflessDeposit failed (missing txid)");
|
|
85
|
+
return O;
|
|
86
|
+
}, D = async (n, r, s, c, l, u = !1) => {
|
|
87
|
+
let d = f(r), g = t(d), y = await n.getEthereumAddressByChain(d), S = c ?? r.map(() => m(n.userKeys));
|
|
88
|
+
if (S.length !== r.length) throw Error("Stealth address structures length must be equal to erc20 tokens length");
|
|
89
|
+
C(S);
|
|
90
|
+
let w;
|
|
91
|
+
if (g) {
|
|
92
|
+
let e = await E(n, d, r, s, S, u);
|
|
93
|
+
if (u) return e;
|
|
94
|
+
w = e;
|
|
95
|
+
} else {
|
|
96
|
+
let t = n.getContractWithSigner(d, e.HinkalContract), o = [
|
|
97
|
+
r.map(({ erc20TokenAddress: e }) => e),
|
|
98
|
+
s,
|
|
99
|
+
r.map(() => 0n),
|
|
100
|
+
S
|
|
101
|
+
];
|
|
102
|
+
if (u) return t.prooflessDeposit.populateTransaction(...o);
|
|
103
|
+
let c = n.getProviderAdapter(d), l = b(r, s), f = r.reduce((e, t, n) => a(t.erc20TokenAddress, i) ? e + s[n] : e, 0n), p = l.filter(({ token: e, balance: t }) => !a(e.erc20TokenAddress, i) && t > 0n), m;
|
|
104
|
+
if (p.length > 0 && await c.supportsBatchCall?.(d) && c.sendBatchCallsTransaction) {
|
|
105
|
+
let e = _(p.map(({ token: e }) => e.erc20TokenAddress), p.map(({ balance: e }) => e), h(t), t, ...o, f);
|
|
106
|
+
m = await c.sendBatchCallsTransaction(d, e);
|
|
154
107
|
} else {
|
|
155
|
-
await
|
|
156
|
-
let e = await n.getEthereumAddressByChain(
|
|
108
|
+
await x(n, d, h(t), l);
|
|
109
|
+
let e = await n.getEthereumAddressByChain(d), r = l.map(({ token: e, balance: t }) => ({
|
|
157
110
|
tokenAddress: e.erc20TokenAddress,
|
|
158
111
|
requiredAmount: t
|
|
159
112
|
}));
|
|
160
|
-
await
|
|
113
|
+
await v(n, d, e, h(t), r), m = await t.prooflessDeposit(...o, { value: f > 0n ? f : void 0 });
|
|
161
114
|
}
|
|
162
|
-
|
|
115
|
+
w = m.hash;
|
|
163
116
|
}
|
|
164
|
-
return
|
|
117
|
+
return o(p(l, d, r.map(({ erc20TokenAddress: e }) => e), s, y)), w;
|
|
118
|
+
}, O = async (e, r, i, a, o, s, c) => {
|
|
119
|
+
let l = a.map(() => i), u = i.erc20TokenAddress;
|
|
120
|
+
return t(r) ? T(e, r, u, s, l, a, o, c) : n[r]?.contractData?.hinkalWrapperAddress ? w(e, r, u, s, l, a, o, c) : await D(e, l, a, o, c, !0);
|
|
165
121
|
};
|
|
166
122
|
//#endregion
|
|
167
|
-
export {
|
|
123
|
+
export { D as hinkalProoflessDeposit, O as hinkalProoflessDepositWithPublicFee };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/utils/caseInsensitive.utils.cjs`),r=require(`../../externalABIs/index.cjs`),i=require(`../../functions/utils/token-check.utils.cjs`),a=require(`../../functions/utils/tx-confirmation.utils.cjs`);var o=(e,t)=>{let n=[],r=0;for(let a=0;a<e.length;a+=1){let o=!1;for(let s=0;s<r;s+=1)if(i.isSameERC20Token(n[s].token,e[a])){n[s].balance+=t[a],o=!0;break}o||(n[r]={token:e[a],balance:t[a]},r+=1)}return n},s=async(r,i,o,s)=>{for(let c=0;c<s.length;c+=1)n.caseInsensitiveEqual(s[c].token.erc20TokenAddress,t.zeroAddress)||await a.waitForEthereumTransactionConfirmation(i,(await r.getContractWithSigner(i,e.ContractType.ERC20Contract,s[c].token.erc20TokenAddress).approve(o,s[c].balance)).hash)},c=async(e,n,i,a)=>{let o=Array.from(a.entries());for(let a=0;a<o.length;a+=1){let[s,c]=o[a],l=await e.contract(r.ERC20ABI,s).allowance(n,i).call({from:n});if(BigInt(String(l))<c){let{transaction:r}=await e.transactionBuilder.triggerSmartContract(s,`approve(address,uint256)`,{feeLimit:t.TRON_DEFAULT_FEE_LIMIT_SUN},[{type:`address`,value:i},{type:`uint256`,value:c.toString()}],n),a=await e.trx.sign(r),o=await e.trx.sendRawTransaction(a);if(!o.result){let e=o.code??`UNKNOWN`,t=o.message?Buffer.from(o.message,`hex`).toString():`no message`;throw Error(`Tron token approval failed: ${e} - ${t}`)}}}},l=e=>{let t=new Set;e.forEach(({extraRandomization:e,stealthAddress:n})=>{let r=`${e.toString()}:${n.toString()}`;if(t.has(r))throw Error(`Duplicate randomization and stealth address pair detected in stealthAddressStructures`);t.add(r)})};exports.aggregateAmountsForApproval=o,exports.approveTokens=s,exports.approveTronTokens=c,exports.assertNoDuplicateStealthAddressStructures=l;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ERC20Token, TokenBalance } from '../../types/token.types';
|
|
2
|
+
import { StealthAddressStructure } from '../../types/circom-data.types';
|
|
3
|
+
import { IHinkal } from './IHinkal';
|
|
4
|
+
export declare const aggregateAmountsForApproval: (erc20Tokens: ERC20Token[], amounts: bigint[]) => TokenBalance[];
|
|
5
|
+
export declare const approveTokens: (hinkal: IHinkal, chainId: number, spenderAddress: string, tokensWithBalances: TokenBalance[]) => Promise<void>;
|
|
6
|
+
export declare const approveTronTokens: (tronWeb: any, ethereumAddress: string, spenderAddress: string, tokensNeedingApproval: Map<string, bigint>) => Promise<void>;
|
|
7
|
+
export declare const assertNoDuplicateStealthAddressStructures: (stealthAddressStructures: StealthAddressStructure[]) => void;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ContractType as e } from "../../types/ethereum-network.types.mjs";
|
|
2
|
+
import { TRON_DEFAULT_FEE_LIMIT_SUN as t, zeroAddress as n } from "../../constants/protocol.constants.mjs";
|
|
3
|
+
import { caseInsensitiveEqual as r } from "../../functions/utils/caseInsensitive.utils.mjs";
|
|
4
|
+
import { ERC20ABI as i } from "../../externalABIs/index.mjs";
|
|
5
|
+
import { isSameERC20Token as a } from "../../functions/utils/token-check.utils.mjs";
|
|
6
|
+
import { waitForEthereumTransactionConfirmation as o } from "../../functions/utils/tx-confirmation.utils.mjs";
|
|
7
|
+
//#region libs/shared/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.ts
|
|
8
|
+
var s = (e, t) => {
|
|
9
|
+
let n = [], r = 0;
|
|
10
|
+
for (let i = 0; i < e.length; i += 1) {
|
|
11
|
+
let o = !1;
|
|
12
|
+
for (let s = 0; s < r; s += 1) if (a(n[s].token, e[i])) {
|
|
13
|
+
n[s].balance += t[i], o = !0;
|
|
14
|
+
break;
|
|
15
|
+
}
|
|
16
|
+
o || (n[r] = {
|
|
17
|
+
token: e[i],
|
|
18
|
+
balance: t[i]
|
|
19
|
+
}, r += 1);
|
|
20
|
+
}
|
|
21
|
+
return n;
|
|
22
|
+
}, c = async (t, i, a, s) => {
|
|
23
|
+
for (let c = 0; c < s.length; c += 1) r(s[c].token.erc20TokenAddress, n) || await o(i, (await t.getContractWithSigner(i, e.ERC20Contract, s[c].token.erc20TokenAddress).approve(a, s[c].balance)).hash);
|
|
24
|
+
}, l = async (e, n, r, a) => {
|
|
25
|
+
let o = Array.from(a.entries());
|
|
26
|
+
for (let a = 0; a < o.length; a += 1) {
|
|
27
|
+
let [s, c] = o[a], l = await e.contract(i, s).allowance(n, r).call({ from: n });
|
|
28
|
+
if (BigInt(String(l)) < c) {
|
|
29
|
+
let { transaction: i } = await e.transactionBuilder.triggerSmartContract(s, "approve(address,uint256)", { feeLimit: t }, [{
|
|
30
|
+
type: "address",
|
|
31
|
+
value: r
|
|
32
|
+
}, {
|
|
33
|
+
type: "uint256",
|
|
34
|
+
value: c.toString()
|
|
35
|
+
}], n), a = await e.trx.sign(i), o = await e.trx.sendRawTransaction(a);
|
|
36
|
+
if (!o.result) {
|
|
37
|
+
let e = o.code ?? "UNKNOWN", t = o.message ? Buffer.from(o.message, "hex").toString() : "no message";
|
|
38
|
+
throw Error(`Tron token approval failed: ${e} - ${t}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}, u = (e) => {
|
|
43
|
+
let t = /* @__PURE__ */ new Set();
|
|
44
|
+
e.forEach(({ extraRandomization: e, stealthAddress: n }) => {
|
|
45
|
+
let r = `${e.toString()}:${n.toString()}`;
|
|
46
|
+
if (t.has(r)) throw Error("Duplicate randomization and stealth address pair detected in stealthAddressStructures");
|
|
47
|
+
t.add(r);
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
//#endregion
|
|
51
|
+
export { s as aggregateAmountsForApproval, c as approveTokens, l as approveTronTokens, u as assertNoDuplicateStealthAddressStructures };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../../functions/utils/caseInsensitive.utils.cjs`),i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../API/admin-calls.cjs`),o=require(`../../error-handling/logger.cjs`),s=require(`../../functions/utils/tron.utils.cjs`),c=require(`../../functions/pre-transaction/constructAdminData.cjs`),l=require(`../../functions/utils/tronSimulation.utils.cjs`),u=require(`../../functions/web3/functionCalls/constructBatchCall.cjs`),d=require(`../../functions/web3/functionCalls/waitForErc20Approvals.cjs`),f=require(`./hinkalProoflessDeposit.utils.cjs`);var p=(e,t,i,a)=>{let o=r.caseInsensitiveEqual(e,n.zeroAddress),s=i.reduce((e,t,i)=>r.caseInsensitiveEqual(t.erc20TokenAddress,n.zeroAddress)?e+a[i]:e,0n)+(o?t:0n),c=f.aggregateAmountsForApproval(i,a),l=c.filter(({token:e})=>!r.caseInsensitiveEqual(e.erc20TokenAddress,n.zeroAddress)).map(n=>!o&&r.caseInsensitiveEqual(n.token.erc20TokenAddress,e)?{token:n.token,balance:n.balance+t}:n).filter(({balance:e})=>e>0n);return!o&&t>0n&&(c.some(({token:t})=>r.caseInsensitiveEqual(t.erc20TokenAddress,e))||l.push({token:{erc20TokenAddress:e,chainId:i[0]?.chainId},balance:t})),{tokensForApproval:l,ethValue:s}},m=(e,t,n,r)=>{if(t.length!==n.length||n.length!==r.length)throw Error(`${e}: array length mismatch`)},h=async(e,u,h,g,_,v,y,b)=>{m(`hinkalTronProoflessDepositViaWrapper`,_,v,y),f.assertNoDuplicateStealthAddressStructures(y);let{hinkalWrapperAddress:x,hinkalWrapperABI:S}=t.networkRegistry[u]?.contractData??{};if(!x||!S)throw Error(`No HinkalWrapper configured for chainId ${u}`);let C=await e.getRandomRelay(u,!1);if(!C)throw Error(`No relay available for chainId ${u}`);let w=e.getTronWeb(),T=await e.getEthereumAddressByChain(u),E=s.evmHexToTronBase58Address(x),D=r.caseInsensitiveEqual(h,n.zeroAddress)?h:s.evmHexToTronBase58Address(h),{tokensForApproval:O,ethValue:k}=p(h,g,_,v),A=_.map(e=>e.erc20TokenAddress),j=v.map(()=>`0`),M=y.map(e=>[e.extraRandomization.toString(),e.stealthAddress.toString(),e.H0.toString(),e.H1.toString()]);if(k>0n){let e=BigInt(await w.trx.getBalance(T)),t=BigInt(n.TRON_DEFAULT_FEE_LIMIT_SUN);try{t=await s.estimateTronFeeSunWithPadding(w,u,E,T,s.createTronCallData(S,`prooflessDeposit`,[s.evmHexToTronBase58Address(C),D,g.toString(),A,v.map(String),j,M]),k)}catch(e){o.Logger.error(`Error estimating Tron wrapper deposit fee`,e)}if(e<k+t)throw Error(i.insufficientResourcesErrorCodes.INSUFFICIENT_TRON_BALANCE_FOR_FEE)}let{transaction:N}=await w.transactionBuilder.triggerSmartContract(E,`prooflessDeposit(address,address,uint256,address[],uint256[],uint256[],(uint256,uint256,uint256,uint256)[])`,{feeLimit:n.TRON_DEFAULT_FEE_LIMIT_SUN,callValue:k>0n?Number(k):0},[{type:`address`,value:s.evmHexToTronBase58Address(C)},{type:`address`,value:D},{type:`uint256`,value:g.toString()},{type:`address[]`,value:A},{type:`uint256[]`,value:v.map(String)},{type:`uint256[]`,value:j},{type:`tuple(uint256,uint256,uint256,uint256)[]`,value:M}],T),P=new Map(O.map(({token:e,balance:t})=>[s.evmHexToTronBase58Address(e.erc20TokenAddress),t]));await f.approveTronTokens(w,T,E,P),P.size>0&&await d.waitForTronErc20Approvals(w,T,E,Array.from(P.entries()).map(([e,t])=>({tokenAddress:e,requiredAmount:t}))),await l.simulateTronTransaction(u,E,`prooflessDeposit`,S,[s.evmHexToTronBase58Address(C),D,g.toString(),A,v.map(String),j,M],T,k>0n?k:void 0);let F=await w.trx.sign(N),I=await w.trx.sendRawTransaction(F);if(!I.result)throw Error(`Tron wrapper deposit failed`);let L=typeof I==`string`?I:I?.txid??I?.transaction?.txID;if(!L)throw Error(`Tron wrapper deposit failed (missing txid)`);return a.emitTxPublicData(c.constructAdminData(b,u,A,v,T)),L},g=async(n,r,i,o,s,l,h,g)=>{m(`hinkalEvmProoflessDepositViaWrapper`,s,l,h),f.assertNoDuplicateStealthAddressStructures(h);let _=t.networkRegistry[r]?.contractData?.hinkalWrapperAddress;if(!_)throw Error(`No HinkalWrapper configured for chainId ${r}`);let v=await n.getRandomRelay(r,!1);if(!v)throw Error(`No relay available for chainId ${r}`);let y=s.map(e=>e.erc20TokenAddress),b=l.map(()=>0n),{tokensForApproval:x,ethValue:S}=p(i,o,s,l),C=await n.getEthereumAddressByChain(r),w=n.getProviderAdapter(r),T=n.getContractWithSigner(r,e.ContractType.HinkalWrapper),E;if(x.length>0&&await w.supportsBatchCall?.(r)&&w.sendBatchCallsTransaction){let e=u.buildApproveAndDepositWrapperCalls(x.map(({token:e})=>e.erc20TokenAddress),x.map(({balance:e})=>e),_,T.interface,v,i,o,y,l,b,h,S);E=await w.sendBatchCallsTransaction(r,e)}else await f.approveTokens(n,r,_,x),await d.waitForErc20Approvals(n,r,C,_,x.map(({token:e,balance:t})=>({tokenAddress:e.erc20TokenAddress,requiredAmount:t}))),E=await T.prooflessDeposit(v,i,o,y,l,b,h,{value:S>0n?S:void 0});return a.emitTxPublicData(c.constructAdminData(g,r,y,l,C)),E.hash};exports.hinkalEvmProoflessDepositViaWrapper=g,exports.hinkalTronProoflessDepositViaWrapper=h;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ERC20Token } from '../../types/token.types';
|
|
2
|
+
import { IHinkal } from './IHinkal';
|
|
3
|
+
import { StealthAddressStructure } from '../../types/circom-data.types';
|
|
4
|
+
import { AdminTransactionType } from '../../types/admin.types';
|
|
5
|
+
export declare const hinkalTronProoflessDepositViaWrapper: (hinkal: IHinkal, chainId: number, feeToken: string, feeAmount: bigint, erc20Tokens: ERC20Token[], amounts: bigint[], stealthAddressStructures: StealthAddressStructure[], action?: AdminTransactionType) => Promise<string>;
|
|
6
|
+
export declare const hinkalEvmProoflessDepositViaWrapper: (hinkal: IHinkal, chainId: number, feeToken: string, feeAmount: bigint, erc20Tokens: ERC20Token[], amounts: bigint[], stealthAddressStructures: StealthAddressStructure[], action?: AdminTransactionType) => Promise<string>;
|