@sabaaa1/common 0.1.6 → 0.1.14
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 +16 -12
- package/API/API.mjs +73 -69
- package/API/accessCodeCalls.cjs +1 -0
- package/API/accessCodeCalls.d.ts +23 -0
- package/API/accessCodeCalls.mjs +23 -0
- package/API/admin-calls.cjs +1 -1
- package/API/admin-calls.mjs +5 -7
- package/API/ai-calls.cjs +1 -1
- package/API/ai-calls.mjs +11 -10
- package/API/brotherhoodCalls.cjs +1 -1
- package/API/brotherhoodCalls.mjs +43 -69
- package/API/callLifiAPI.cjs +1 -1
- package/API/callLifiAPI.mjs +8 -7
- package/API/callOdosAPI.cjs +1 -1
- package/API/callOdosAPI.mjs +16 -16
- package/API/callOkxAPI.cjs +1 -0
- package/API/callOkxAPI.d.ts +10 -0
- package/API/callOkxAPI.mjs +13 -0
- package/API/callOneInchAPI.cjs +1 -1
- package/API/callOneInchAPI.mjs +8 -7
- package/API/callRelayer.cjs +1 -1
- package/API/callRelayer.d.ts +11 -0
- package/API/callRelayer.mjs +15 -7
- package/API/checkRisk.cjs +1 -1
- package/API/checkRisk.mjs +5 -4
- package/API/duneAPI.cjs +1 -1
- package/API/duneAPI.mjs +2 -3
- package/API/enclaveCalls.cjs +1 -1
- package/API/enclaveCalls.mjs +9 -11
- package/API/fetchCommitmentsCache.cjs +1 -1
- package/API/fetchCommitmentsCache.d.ts +2 -2
- package/API/fetchCommitmentsCache.mjs +13 -10
- package/API/generate-trading-points.cjs +1 -1
- package/API/generate-trading-points.mjs +34 -39
- package/API/get-token-data.cjs +1 -1
- package/API/get-token-data.mjs +5 -4
- package/API/getBridgeProtocols.cjs +1 -1
- package/API/getBridgeProtocols.mjs +4 -3
- package/API/getGasEstimates.cjs +1 -1
- package/API/getGasEstimates.d.ts +2 -1
- package/API/getGasEstimates.mjs +14 -16
- package/API/getLifiStatus.cjs +1 -1
- package/API/getLifiStatus.mjs +11 -10
- package/API/getRelayerURL.cjs +1 -1
- package/API/getRelayerURL.mjs +4 -4
- package/API/getServerURL.cjs +1 -1
- package/API/getServerURL.mjs +42 -36
- package/API/getTokenPrice.cjs +1 -1
- package/API/getTokenPrice.d.ts +0 -11
- package/API/getTokenPrice.mjs +8 -23
- package/API/getWebsiteURL.cjs +1 -1
- package/API/getWebsiteURL.d.ts +1 -1
- package/API/getWebsiteURL.mjs +6 -7
- package/API/index.d.ts +2 -1
- package/API/is-tx-stateless.cjs +1 -1
- package/API/is-tx-stateless.mjs +17 -22
- package/API/kycCalls.cjs +1 -1
- package/API/kycCalls.d.ts +2 -2
- package/API/kycCalls.mjs +31 -30
- package/API/leaderboardCalls.cjs +1 -1
- package/API/leaderboardCalls.mjs +11 -16
- package/API/proxyAccountsCalls.cjs +1 -1
- package/API/proxyAccountsCalls.mjs +19 -18
- package/API/referralsCalls.cjs +1 -1
- package/API/referralsCalls.mjs +16 -24
- package/API/relayCalls.cjs +1 -1
- package/API/relayCalls.mjs +6 -8
- package/API/resolve-sns.cjs +1 -0
- package/API/resolve-sns.d.ts +1 -0
- package/API/resolve-sns.mjs +12 -0
- package/API/restoreSnapshots.cjs +1 -1
- package/API/restoreSnapshots.mjs +5 -5
- package/API/rewardsUserCalls.cjs +1 -1
- package/API/rewardsUserCalls.mjs +37 -54
- package/API/seedless-calls.cjs +1 -0
- package/API/seedless-calls.d.ts +53 -0
- package/API/seedless-calls.mjs +12 -0
- package/API/send-telegram-callback.cjs +1 -1
- package/API/send-telegram-callback.mjs +9 -11
- package/API/simulate-batch-tx.cjs +1 -1
- package/API/simulate-batch-tx.mjs +11 -13
- package/API/solana-calls.cjs +1 -0
- package/API/solana-calls.d.ts +34 -0
- package/API/solana-calls.mjs +19 -0
- package/API/tenderly.api.cjs +1 -1
- package/API/tenderly.api.mjs +48 -59
- package/API/token-calls.cjs +1 -1
- package/API/token-calls.mjs +11 -13
- package/API/weeklyAnalyticCalls.cjs +1 -1
- package/API/weeklyAnalyticCalls.mjs +9 -14
- package/README.md +164 -0
- package/_virtual/_commonjsHelpers.cjs +1 -0
- package/_virtual/_commonjsHelpers.mjs +30 -0
- package/_virtual/bn.cjs +1 -0
- package/_virtual/bn.mjs +4 -0
- package/_virtual/bn2.cjs +1 -0
- package/_virtual/bn2.mjs +4 -0
- package/_virtual/common.cjs +1 -0
- package/_virtual/common.mjs +4 -0
- package/_virtual/common2.cjs +1 -0
- package/_virtual/common2.mjs +4 -0
- package/_virtual/hash.cjs +1 -0
- package/_virtual/hash.mjs +4 -0
- package/_virtual/index.cjs +1 -0
- package/_virtual/index.mjs +6 -0
- package/_virtual/index10.cjs +1 -0
- package/_virtual/index10.mjs +6 -0
- package/_virtual/index11.cjs +1 -0
- package/_virtual/index11.mjs +6 -0
- package/_virtual/index12.cjs +1 -0
- package/_virtual/index12.mjs +6 -0
- package/_virtual/index13.cjs +1 -0
- package/_virtual/index13.mjs +6 -0
- package/_virtual/index14.cjs +1 -0
- package/_virtual/index14.mjs +6 -0
- package/_virtual/index15.cjs +1 -0
- package/_virtual/index15.mjs +6 -0
- package/_virtual/index16.cjs +1 -0
- package/_virtual/index16.mjs +6 -0
- package/_virtual/index17.cjs +1 -0
- package/_virtual/index17.mjs +6 -0
- package/_virtual/index18.cjs +1 -0
- package/_virtual/index18.mjs +6 -0
- package/_virtual/index19.cjs +1 -0
- package/_virtual/index19.mjs +6 -0
- package/_virtual/index2.cjs +1 -0
- package/_virtual/index2.mjs +6 -0
- package/_virtual/index20.cjs +1 -0
- package/_virtual/index20.mjs +6 -0
- package/_virtual/index21.cjs +1 -0
- package/_virtual/index21.mjs +6 -0
- package/_virtual/index22.cjs +1 -0
- package/_virtual/index22.mjs +4 -0
- package/_virtual/index3.cjs +1 -0
- package/_virtual/index3.mjs +6 -0
- package/_virtual/index4.cjs +1 -0
- package/_virtual/index4.mjs +6 -0
- package/_virtual/index5.cjs +1 -0
- package/_virtual/index5.mjs +6 -0
- package/_virtual/index6.cjs +1 -0
- package/_virtual/index6.mjs +6 -0
- package/_virtual/index7.cjs +1 -0
- package/_virtual/index7.mjs +6 -0
- package/_virtual/index8.cjs +1 -0
- package/_virtual/index8.mjs +6 -0
- package/_virtual/index9.cjs +1 -0
- package/_virtual/index9.mjs +6 -0
- package/_virtual/inherits_browser.cjs +1 -0
- package/_virtual/inherits_browser.mjs +4 -0
- package/_virtual/ripemd.cjs +1 -0
- package/_virtual/ripemd.mjs +4 -0
- package/_virtual/scrypt.cjs +1 -0
- package/_virtual/scrypt.mjs +4 -0
- package/_virtual/sha.cjs +1 -0
- package/_virtual/sha.mjs +4 -0
- package/_virtual/sha3.cjs +1 -0
- package/_virtual/sha3.mjs +4 -0
- package/_virtual/utils.cjs +1 -0
- package/_virtual/utils.mjs +4 -0
- package/_virtual/utils2.cjs +1 -0
- package/_virtual/utils2.mjs +4 -0
- package/constants/backend.constants.cjs +1 -1
- package/constants/backend.constants.d.ts +2 -1
- package/constants/backend.constants.mjs +5 -7
- package/constants/chains.constants.cjs +1 -1
- package/constants/chains.constants.d.ts +5 -0
- package/constants/chains.constants.mjs +63 -35
- package/constants/coingecko.constants.cjs +1 -1
- package/constants/coingecko.constants.d.ts +1 -1
- package/constants/coingecko.constants.mjs +18 -11
- package/constants/contracts.constants.cjs +1 -1
- package/constants/contracts.constants.mjs +19 -15
- package/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-arbMainnet.json.mjs +1218 -8
- package/constants/deploy-data/deploy-data-arcTestnet.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-arcTestnet.json.mjs +1214 -4
- package/constants/deploy-data/deploy-data-base.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-base.json.mjs +1218 -8
- package/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-ethMainnet.json.mjs +1213 -3
- package/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-optimism.json.mjs +1218 -8
- package/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-polygon.json.mjs +1218 -8
- package/constants/deploy-data/deploy-data-solana.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-solana.json.mjs +6111 -0
- package/constants/deploy-data/index.d.ts +2 -1
- package/constants/index.d.ts +1 -1
- package/constants/mediaUrls.constants.cjs +1 -1
- package/constants/mediaUrls.constants.d.ts +9 -0
- package/constants/mediaUrls.constants.mjs +13 -4
- package/constants/okx.constants.cjs +1 -0
- package/constants/okx.constants.d.ts +2 -0
- package/constants/okx.constants.mjs +5 -0
- package/constants/protocol.constants.cjs +1 -1
- package/constants/protocol.constants.d.ts +12 -1
- package/constants/protocol.constants.mjs +37 -29
- package/constants/save-depths.cjs +1 -1
- package/constants/save-depths.mjs +4 -1
- package/constants/server.constants.cjs +1 -1
- package/constants/server.constants.d.ts +23 -10
- package/constants/server.constants.mjs +102 -89
- package/constants/token-data/ERC20Registry.cjs +1 -1
- package/constants/token-data/ERC20Registry.mjs +49 -35
- package/constants/token-data/index.cjs +1 -1
- package/constants/token-data/index.d.ts +17 -1
- package/constants/token-data/index.mjs +29 -25
- package/constants/token-data/solanaLocalnetRegistry.json.cjs +1 -0
- package/constants/token-data/solanaLocalnetRegistry.json.mjs +24 -0
- package/constants/token-data/solanaMainnetRegistry.json.cjs +1 -0
- package/constants/token-data/solanaMainnetRegistry.json.mjs +560 -0
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +1 -1
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +41 -41
- package/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/data-structures/Hinkal/Hinkal.d.ts +19 -10
- package/data-structures/Hinkal/Hinkal.mjs +290 -125
- package/data-structures/Hinkal/IHinkal.d.ts +18 -11
- package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
- package/data-structures/Hinkal/handleAutoDepositBack.mjs +36 -32
- package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.cjs +1 -1
- package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.mjs +24 -23
- package/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
- package/data-structures/Hinkal/hinkalActionReceive.mjs +13 -12
- package/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.cjs +1 -0
- package/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.d.ts +3 -0
- package/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.mjs +28 -0
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -1
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +11 -8
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -0
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +4 -0
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +167 -0
- package/data-structures/Hinkal/hinkalGetRecipientInfo.cjs +1 -1
- package/data-structures/Hinkal/hinkalGetRecipientInfo.d.ts +1 -1
- package/data-structures/Hinkal/hinkalGetRecipientInfo.mjs +4 -4
- package/data-structures/Hinkal/hinkalMultiSend.cjs +1 -1
- package/data-structures/Hinkal/hinkalMultiSend.mjs +6 -6
- package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
- package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +2 -2
- package/data-structures/Hinkal/hinkalPrivateWallet.mjs +109 -93
- package/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalProxySwap.mjs +23 -22
- package/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -0
- package/data-structures/Hinkal/hinkalProxyToPrivate.d.ts +6 -0
- package/data-structures/Hinkal/hinkalProxyToPrivate.mjs +45 -0
- package/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -1
- package/data-structures/Hinkal/hinkalSignSubAccount.mjs +11 -9
- package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +4 -0
- package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +133 -0
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +3 -0
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +216 -0
- package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaProxySend.d.ts +6 -0
- package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +55 -0
- package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaProxyShield.d.ts +6 -0
- package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +99 -0
- package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +5 -0
- package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +96 -0
- package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaSwap.d.ts +4 -0
- package/data-structures/Hinkal/hinkalSolanaSwap.mjs +120 -0
- package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaTransfer.d.ts +3 -0
- package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +90 -0
- package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +3 -0
- package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +106 -0
- package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSwap.mjs +33 -27
- package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/data-structures/Hinkal/hinkalTransfer.mjs +20 -14
- package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdraw.mjs +15 -9
- package/data-structures/Hinkal/index.d.ts +4 -0
- package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/data-structures/Hinkal/resetMerkleTrees.mjs +56 -23
- package/data-structures/IndexedDB/activity-db.cjs +1 -1
- package/data-structures/IndexedDB/activity-db.d.ts +0 -1
- package/data-structures/IndexedDB/activity-db.mjs +86 -86
- package/data-structures/IndexedDB/balances-db.cjs +1 -1
- package/data-structures/IndexedDB/balances-db.mjs +15 -12
- package/data-structures/IndexedDB/contact-db.cjs +1 -1
- package/data-structures/IndexedDB/contact-db.mjs +29 -26
- package/data-structures/IndexedDB/signatures-db.cjs +1 -1
- package/data-structures/IndexedDB/signatures-db.mjs +14 -10
- package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
- package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.d.ts +2 -2
- package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +32 -31
- package/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/AlchemyPublicTokensDB.d.ts +6 -1
- package/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +154 -79
- package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +24 -21
- package/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/PrivateTokensDB.mjs +39 -34
- package/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
- package/data-structures/crypto-keys/decodeUTXO.d.ts +15 -3
- package/data-structures/crypto-keys/decodeUTXO.mjs +84 -26
- package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
- package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +36 -30
- package/data-structures/crypto-keys/keys.cjs +1 -1
- package/data-structures/crypto-keys/keys.d.ts +19 -5
- package/data-structures/crypto-keys/keys.mjs +117 -60
- package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.cjs +1 -0
- package/data-structures/event-service/{AbstractAccessTokenSnapshotService.d.ts → evm/AbstractAccessTokenSnapshotService.d.ts} +2 -2
- package/data-structures/event-service/{AbstractAccessTokenSnapshotService.mjs → evm/AbstractAccessTokenSnapshotService.mjs} +6 -6
- package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.cjs +1 -0
- package/data-structures/event-service/{AbstractApprovalsSnapshotService.d.ts → evm/AbstractApprovalsSnapshotService.d.ts} +2 -2
- package/data-structures/event-service/{AbstractApprovalsSnapshotService.mjs → evm/AbstractApprovalsSnapshotService.mjs} +2 -2
- package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.cjs +1 -0
- package/data-structures/event-service/{AbstractCommitmentsSnapshotService.d.ts → evm/AbstractCommitmentsSnapshotService.d.ts} +3 -3
- package/data-structures/event-service/{AbstractCommitmentsSnapshotService.mjs → evm/AbstractCommitmentsSnapshotService.mjs} +24 -21
- package/data-structures/event-service/evm/AbstractEventService.cjs +1 -0
- package/data-structures/event-service/{AbstractEventService.d.ts → evm/AbstractEventService.d.ts} +1 -1
- package/data-structures/event-service/evm/AbstractEventService.mjs +37 -0
- package/data-structures/event-service/{AbstractNullifierSnapshotService.d.ts → evm/AbstractNullifierSnapshotService.d.ts} +1 -1
- package/data-structures/event-service/evm/AbstractSnapshotService.cjs +1 -0
- package/data-structures/event-service/{AbstractSnapshotService.mjs → evm/AbstractSnapshotService.mjs} +1 -1
- package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -0
- package/data-structures/event-service/{BlockchainEventEmitter.d.ts → evm/BlockchainEventEmitter.d.ts} +2 -1
- package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +89 -0
- package/data-structures/event-service/index.d.ts +13 -7
- package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.cjs +1 -0
- package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.d.ts +34 -0
- package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs +87 -0
- package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +1 -0
- package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.d.ts +29 -0
- package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +96 -0
- package/data-structures/event-service/solana/AbstractSolanaEventService.cjs +1 -0
- package/data-structures/event-service/solana/AbstractSolanaEventService.d.ts +22 -0
- package/data-structures/event-service/solana/AbstractSolanaEventService.mjs +33 -0
- package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.cjs +1 -0
- package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.d.ts +21 -0
- package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.mjs +49 -0
- package/data-structures/event-service/solana/AbstractSolanaSnapshotService.cjs +1 -0
- package/data-structures/event-service/solana/AbstractSolanaSnapshotService.d.ts +22 -0
- package/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +33 -0
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -0
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +39 -0
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +153 -0
- package/data-structures/http/BasicHttpClient.cjs +1 -0
- package/data-structures/http/BasicHttpClient.d.ts +11 -0
- package/data-structures/http/BasicHttpClient.mjs +25 -0
- package/data-structures/http/HttpClient.cjs +1 -0
- package/data-structures/http/HttpClient.d.ts +10 -0
- package/data-structures/http/HttpClient.mjs +15 -0
- package/data-structures/http/index.d.ts +2 -0
- package/data-structures/index.d.ts +1 -0
- package/data-structures/provider-adapter/IProviderAdapter.d.ts +1 -3
- package/data-structures/snapshot/SnapshotFetcherService.d.ts +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -0
- package/data-structures/snapshot/{ClientAccessTokenSnapshotService.d.ts → evm-snapshots/ClientAccessTokenSnapshotService.d.ts} +2 -2
- package/data-structures/snapshot/{ClientAccessTokenSnapshotService.mjs → evm-snapshots/ClientAccessTokenSnapshotService.mjs} +13 -9
- package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +1 -0
- package/data-structures/snapshot/{ClientApprovalsSnapshotService.d.ts → evm-snapshots/ClientApprovalsSnapshotService.d.ts} +2 -3
- package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +43 -0
- package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -0
- package/data-structures/snapshot/{ClientCommitmentsSnapshotService.d.ts → evm-snapshots/ClientCommitmentsSnapshotService.d.ts} +2 -2
- package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +35 -0
- package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -0
- package/data-structures/snapshot/{ClientNullifierSnapshotService.d.ts → evm-snapshots/ClientNullifierSnapshotService.d.ts} +2 -2
- package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +34 -0
- package/data-structures/snapshot/index.d.ts +7 -0
- package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +1 -0
- package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.d.ts +8 -0
- package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +42 -0
- package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -0
- package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.d.ts +8 -0
- package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +34 -0
- package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -0
- package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.d.ts +8 -0
- package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +34 -0
- package/data-structures/token-price-fetcher/TokenChecker.cjs +1 -1
- package/data-structures/token-price-fetcher/TokenChecker.mjs +5 -4
- package/data-structures/utxo/Utxo.cjs +1 -1
- package/data-structures/utxo/Utxo.d.ts +6 -1
- package/data-structures/utxo/Utxo.mjs +37 -24
- package/error-handling/error-codes.constants.cjs +1 -1
- package/error-handling/error-codes.constants.d.ts +2 -0
- package/error-handling/error-codes.constants.mjs +4 -2
- package/functions/connectors.types.d.ts +14 -0
- package/functions/index.d.ts +1 -0
- package/functions/pre-transaction/addressTableLookup.cjs +1 -0
- package/functions/pre-transaction/addressTableLookup.d.ts +4 -0
- package/functions/pre-transaction/addressTableLookup.mjs +44 -0
- package/functions/pre-transaction/constructAdminData.cjs +1 -1
- package/functions/pre-transaction/constructAdminData.d.ts +2 -1
- package/functions/pre-transaction/constructAdminData.mjs +30 -12
- package/functions/pre-transaction/convert-okx-instructions.cjs +1 -0
- package/functions/pre-transaction/convert-okx-instructions.d.ts +12 -0
- package/functions/pre-transaction/convert-okx-instructions.mjs +30 -0
- package/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -0
- package/functions/pre-transaction/getSolanaCalldataHash.d.ts +4 -0
- package/functions/pre-transaction/getSolanaCalldataHash.mjs +36 -0
- package/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
- package/functions/pre-transaction/getVolatileTransferAmount.mjs +11 -7
- package/functions/pre-transaction/index.d.ts +10 -0
- package/functions/pre-transaction/initTokenLimitIfNeeded.cjs +1 -0
- package/functions/pre-transaction/initTokenLimitIfNeeded.d.ts +3 -0
- package/functions/pre-transaction/initTokenLimitIfNeeded.mjs +20 -0
- package/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
- package/functions/pre-transaction/outputUtxoProcessing.mjs +14 -13
- package/functions/pre-transaction/process-gas-estimates.cjs +1 -1
- package/functions/pre-transaction/process-gas-estimates.d.ts +2 -2
- package/functions/pre-transaction/process-gas-estimates.mjs +13 -12
- package/functions/pre-transaction/recipientUtxoProcessing.cjs +1 -0
- package/functions/pre-transaction/recipientUtxoProcessing.d.ts +3 -0
- package/functions/pre-transaction/recipientUtxoProcessing.mjs +36 -0
- package/functions/pre-transaction/sendInitNullifiersTransaction.cjs +1 -0
- package/functions/pre-transaction/sendInitNullifiersTransaction.d.ts +11 -0
- package/functions/pre-transaction/sendInitNullifiersTransaction.mjs +41 -0
- package/functions/pre-transaction/sendV0Transaction.cjs +1 -0
- package/functions/pre-transaction/sendV0Transaction.d.ts +22 -0
- package/functions/pre-transaction/sendV0Transaction.mjs +121 -0
- package/functions/pre-transaction/solana-public-signals.cjs +1 -0
- package/functions/pre-transaction/solana-public-signals.d.ts +19 -0
- package/functions/pre-transaction/solana-public-signals.mjs +60 -0
- package/functions/pre-transaction/solana.cjs +1 -0
- package/functions/pre-transaction/solana.d.ts +17 -0
- package/functions/pre-transaction/solana.mjs +96 -0
- package/functions/pre-transaction/solanaTransfer.utils.cjs +1 -0
- package/functions/pre-transaction/solanaTransfer.utils.d.ts +6 -0
- package/functions/pre-transaction/solanaTransfer.utils.mjs +38 -0
- package/functions/pre-transaction/store-instructions.cjs +1 -0
- package/functions/pre-transaction/store-instructions.d.ts +4 -0
- package/functions/pre-transaction/store-instructions.mjs +9 -0
- package/functions/pre-transaction/store-proof.cjs +1 -0
- package/functions/pre-transaction/store-proof.d.ts +7 -0
- package/functions/pre-transaction/store-proof.mjs +55 -0
- package/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/functions/private-wallet/emporium.helpers.mjs +33 -29
- package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
- package/functions/private-wallet/emporium.swap.helpers.d.ts +1 -1
- package/functions/private-wallet/emporium.swap.helpers.mjs +79 -69
- package/functions/snarkjs/constant.cjs +1 -1
- package/functions/snarkjs/constant.d.ts +40 -0
- package/functions/snarkjs/constant.mjs +66 -23
- package/functions/snarkjs/constructEmporiumProof.cjs +1 -1
- package/functions/snarkjs/constructEmporiumProof.mjs +32 -32
- package/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
- package/functions/snarkjs/constructGeneralZkProof.d.ts +1 -1
- package/functions/snarkjs/constructGeneralZkProof.mjs +63 -61
- package/functions/snarkjs/constructSolanaZkProof.cjs +1 -0
- package/functions/snarkjs/constructSolanaZkProof.d.ts +13 -0
- package/functions/snarkjs/constructSolanaZkProof.mjs +109 -0
- package/functions/snarkjs/generateCircomData.cjs +1 -1
- package/functions/snarkjs/generateCircomData.d.ts +1 -1
- package/functions/snarkjs/generateCircomData.mjs +9 -9
- package/functions/snarkjs/generateZkProofEnclave.cjs +1 -1
- package/functions/snarkjs/generateZkProofEnclave.mjs +10 -9
- package/functions/snarkjs/getZKFiles.cjs +1 -1
- package/functions/snarkjs/getZKFiles.mjs +13 -13
- package/functions/snarkjs/index.d.ts +1 -0
- package/functions/utils/addresses.cjs +1 -1
- package/functions/utils/addresses.d.ts +1 -1
- package/functions/utils/addresses.mjs +21 -17
- package/functions/utils/amounts.utils.cjs +1 -1
- package/functions/utils/amounts.utils.d.ts +1 -0
- package/functions/utils/amounts.utils.mjs +53 -40
- package/functions/utils/bytes32.utils.cjs +1 -0
- package/functions/utils/bytes32.utils.d.ts +2 -0
- package/functions/utils/bytes32.utils.mjs +10 -0
- package/functions/utils/cacheDevice.utils.cjs +1 -1
- package/functions/utils/cacheDevice.utils.mjs +2 -3
- package/functions/utils/cacheFunctions.cjs +1 -1
- package/functions/utils/cacheFunctions.mjs +53 -52
- package/functions/utils/convertIntegrationProviderToExternalActionId.cjs +1 -1
- package/functions/utils/convertIntegrationProviderToExternalActionId.mjs +1 -0
- package/functions/utils/create-provider.cjs +1 -1
- package/functions/utils/create-provider.d.ts +4 -1
- package/functions/utils/create-provider.mjs +8 -6
- package/functions/utils/encodeTokenWithId.cjs +1 -1
- package/functions/utils/encodeTokenWithId.d.ts +1 -1
- package/functions/utils/encodeTokenWithId.mjs +6 -2
- package/functions/utils/encryptInputForEnclave.cjs +1 -1
- package/functions/utils/encryptInputForEnclave.mjs +29 -28
- package/functions/utils/erc20tokenFunctions.cjs +1 -1
- package/functions/utils/erc20tokenFunctions.mjs +29 -29
- package/functions/utils/ethers-formatter.utils.cjs +1 -1
- package/functions/utils/ethers-formatter.utils.d.ts +2 -0
- package/functions/utils/ethers-formatter.utils.mjs +45 -15
- package/functions/utils/evmNetworkFunctions.cjs +1 -1
- package/functions/utils/evmNetworkFunctions.mjs +3 -4
- package/functions/utils/fees.utils.cjs +1 -1
- package/functions/utils/fees.utils.d.ts +1 -0
- package/functions/utils/fees.utils.mjs +19 -9
- package/functions/utils/get-hinkal-approvals.cjs +1 -1
- package/functions/utils/get-hinkal-approvals.mjs +1 -1
- package/functions/utils/getBlockExplorerUrl.cjs +1 -1
- package/functions/utils/getBlockExplorerUrl.mjs +2 -2
- package/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
- package/functions/utils/getRecipientInfoFromUserKeys.d.ts +0 -1
- package/functions/utils/getRecipientInfoFromUserKeys.mjs +10 -13
- package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -0
- package/functions/utils/getUtxosFromReceipt.utils.d.ts +4 -0
- package/functions/utils/getUtxosFromReceipt.utils.mjs +29 -0
- package/functions/utils/getUtxosFromReceiptSolana.cjs +1 -0
- package/functions/utils/getUtxosFromReceiptSolana.d.ts +5 -0
- package/functions/utils/getUtxosFromReceiptSolana.mjs +19 -0
- package/functions/utils/index.d.ts +5 -1
- package/functions/utils/networks.utils.cjs +1 -1
- package/functions/utils/networks.utils.mjs +2 -3
- package/functions/utils/nftTokenFunctions.cjs +1 -1
- package/functions/utils/nftTokenFunctions.mjs +8 -4
- package/functions/utils/prepareHinkal.cjs +1 -0
- package/functions/utils/prepareHinkal.d.ts +7 -1
- package/functions/utils/prepareHinkal.mjs +88 -0
- package/functions/utils/publicBalance.utils.cjs +1 -1
- package/functions/utils/publicBalance.utils.d.ts +1 -0
- package/functions/utils/publicBalance.utils.mjs +75 -45
- package/functions/utils/solanaMint.utils.cjs +1 -0
- package/functions/utils/solanaMint.utils.d.ts +10 -0
- package/functions/utils/solanaMint.utils.mjs +14 -0
- package/functions/utils/time.utils.cjs +1 -1
- package/functions/utils/time.utils.d.ts +1 -1
- package/functions/utils/time.utils.mjs +11 -11
- package/functions/utils/userAgent.cjs +1 -1
- package/functions/utils/userAgent.mjs +6 -7
- package/functions/utils/walletBalances.utils.cjs +1 -1
- package/functions/utils/walletBalances.utils.d.ts +2 -1
- package/functions/utils/walletBalances.utils.mjs +18 -17
- package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
- package/functions/web3/events/getInputUtxoAndBalance.mjs +98 -91
- package/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
- package/functions/web3/events/getInputUtxosEnclave.mjs +38 -16
- package/functions/web3/events/getShieldedBalance.cjs +2 -2
- package/functions/web3/events/getShieldedBalance.mjs +70 -62
- package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
- package/functions/web3/events/getTransactionLogEvents.d.ts +3 -2
- package/functions/web3/events/getTransactionLogEvents.mjs +12 -9
- package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -0
- package/functions/web3/fetchSolanaMerkleTreeRootHash.d.ts +4 -0
- package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +45 -0
- package/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
- package/functions/web3/functionCalls/accessTokenCalls.d.ts +2 -0
- package/functions/web3/functionCalls/accessTokenCalls.mjs +25 -7
- package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
- package/functions/web3/functionCalls/transactCallRelayer.d.ts +20 -0
- package/functions/web3/functionCalls/transactCallRelayer.mjs +61 -19
- package/functions/web3/getContractMetadata.cjs +1 -1
- package/functions/web3/getContractMetadata.mjs +20 -50
- package/functions/web3/getTokenHolder.cjs +1 -1
- package/functions/web3/getTokenHolder.mjs +29 -24
- package/functions/web3/index.d.ts +2 -0
- package/functions/web3/odosAPI.cjs +1 -1
- package/functions/web3/odosAPI.mjs +11 -8
- package/functions/web3/okxAPI.cjs +1 -0
- package/functions/web3/okxAPI.d.ts +8 -0
- package/functions/web3/okxAPI.mjs +43 -0
- package/functions/web3/oneInchAPI.cjs +1 -1
- package/functions/web3/oneInchAPI.mjs +7 -4
- package/functions/web3/runContractFunction.cjs +1 -1
- package/functions/web3/runContractFunction.mjs +22 -18
- package/functions/web3/signAndSendSerializedTransaction.cjs +1 -0
- package/functions/web3/signAndSendSerializedTransaction.d.ts +2 -0
- package/functions/web3/signAndSendSerializedTransaction.mjs +11 -0
- package/functions/web3/uniswapAPI.cjs +1 -1
- package/functions/web3/uniswapAPI.mjs +7 -4
- package/index.cjs +1 -1
- package/index.mjs +922 -810
- package/package.json +12 -16
- package/providers/CustomEthersProvider.cjs +1 -0
- package/providers/{TorExternalProvider.d.ts → CustomEthersProvider.d.ts} +2 -2
- package/providers/CustomEthersProvider.mjs +29 -0
- package/providers/CustomSolanaConnection.cjs +1 -0
- package/providers/CustomSolanaConnection.d.ts +4 -0
- package/providers/CustomSolanaConnection.mjs +33 -0
- package/providers/EthersProviderAdapter.cjs +1 -1
- package/providers/EthersProviderAdapter.d.ts +1 -2
- package/providers/EthersProviderAdapter.mjs +8 -48
- package/providers/SolanaProviderAdapter.cjs +1 -0
- package/providers/SolanaProviderAdapter.d.ts +44 -0
- package/providers/SolanaProviderAdapter.mjs +125 -0
- package/providers/WagmiProviderAdapter.cjs +1 -1
- package/providers/WagmiProviderAdapter.d.ts +1 -2
- package/providers/WagmiProviderAdapter.mjs +26 -24
- package/providers/prepareEthersHinkal.cjs +1 -1
- package/providers/prepareEthersHinkal.mjs +10 -7
- package/providers/prepareWagmiHinkal.cjs +1 -1
- package/providers/prepareWagmiHinkal.mjs +9 -6
- package/types/IMultiThreadedUtxoUtils.d.ts +2 -2
- package/types/TransactionSimulator.types.d.ts +1 -0
- package/types/activities.types.cjs +1 -1
- package/types/activities.types.d.ts +1 -0
- package/types/activities.types.mjs +6 -4
- package/types/admin.types.cjs +1 -1
- package/types/admin.types.d.ts +16 -0
- package/types/admin.types.mjs +1 -1
- package/types/all-points.types.d.ts +0 -1
- package/types/cache.types.cjs +1 -1
- package/types/cache.types.d.ts +8 -1
- package/types/cache.types.mjs +1 -1
- package/types/circom-data.types.d.ts +6 -0
- package/types/commitments.types.d.ts +12 -0
- package/types/ethereum-network.types.cjs +1 -1
- package/types/ethereum-network.types.d.ts +9 -3
- package/types/ethereum-network.types.mjs +1 -1
- package/types/external-action.types.cjs +1 -1
- package/types/external-action.types.d.ts +3 -1
- package/types/external-action.types.mjs +2 -2
- package/types/hinkal.types.cjs +1 -1
- package/types/hinkal.types.d.ts +3 -2
- package/types/hinkal.types.mjs +8 -8
- package/types/http.types.d.ts +8 -0
- package/types/index.d.ts +3 -2
- package/types/new-rewards.type.d.ts +2 -9
- package/types/offscreen.types.cjs +1 -1
- package/types/offscreen.types.d.ts +2 -1
- package/types/offscreen.types.mjs +2 -2
- package/types/okx.types.d.ts +57 -0
- package/types/rewards.types.d.ts +0 -11
- package/types/sandbox.types.cjs +1 -1
- package/types/sandbox.types.d.ts +19 -2
- package/types/sandbox.types.mjs +2 -2
- package/types/solana.types.d.ts +75 -0
- package/types/token.types.d.ts +6 -0
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +1 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +1 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLogic.cjs +1 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLogic.d.ts +0 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLogic.mjs +28 -30
- package/webworker/utxoWorker/utxoWorker.types.d.ts +2 -0
- package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.mjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLogic.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLogic.mjs +33 -31
- package/webworker/viteWorkerURL.constant.cjs +21 -1
- package/webworker/viteWorkerURL.constant.mjs +21 -12
- package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +1 -1
- package/API/mysteryBoxesCalls.cjs +0 -1
- package/API/mysteryBoxesCalls.d.ts +0 -60
- package/API/mysteryBoxesCalls.mjs +0 -66
- package/assets/snarkjsWorkerLauncher-CWaDqRaL.js +0 -14803
- package/assets/utxoWorkerLauncher-BUhBaUSg.js +0 -115868
- package/assets/zkProofWorkerLauncher-DlWQP3l9.js +0 -115360
- package/constants/mystery-boxes.constants.cjs +0 -1
- package/constants/mystery-boxes.constants.d.ts +0 -63
- package/constants/mystery-boxes.constants.mjs +0 -355
- package/data-structures/event-service/AbstractAccessTokenSnapshotService.cjs +0 -1
- package/data-structures/event-service/AbstractApprovalsSnapshotService.cjs +0 -1
- package/data-structures/event-service/AbstractCommitmentsSnapshotService.cjs +0 -1
- package/data-structures/event-service/AbstractEventService.cjs +0 -1
- package/data-structures/event-service/AbstractEventService.mjs +0 -33
- package/data-structures/event-service/AbstractSnapshotService.cjs +0 -1
- package/data-structures/event-service/BlockchainEventEmitter.cjs +0 -1
- package/data-structures/event-service/BlockchainEventEmitter.mjs +0 -80
- package/data-structures/snapshot/ClientAccessTokenSnapshotService.cjs +0 -1
- package/data-structures/snapshot/ClientApprovalsSnapshotService.cjs +0 -1
- package/data-structures/snapshot/ClientApprovalsSnapshotService.mjs +0 -23
- package/data-structures/snapshot/ClientCommitmentsSnapshotService.cjs +0 -1
- package/data-structures/snapshot/ClientCommitmentsSnapshotService.mjs +0 -31
- package/data-structures/snapshot/ClientNullifierSnapshotService.cjs +0 -1
- package/data-structures/snapshot/ClientNullifierSnapshotService.mjs +0 -30
- package/functions/utils/mystery-box-auction.utils.cjs +0 -1
- package/functions/utils/mystery-box-auction.utils.d.ts +0 -8
- package/functions/utils/mystery-box-auction.utils.mjs +0 -51
- package/providers/TorExternalProvider.cjs +0 -1
- package/providers/TorExternalProvider.mjs +0 -29
- package/types/merch-order.types.cjs +0 -1
- package/types/merch-order.types.d.ts +0 -16
- package/types/merch-order.types.mjs +0 -4
- package/types/mystery-boxes.types.cjs +0 -1
- package/types/mystery-boxes.types.d.ts +0 -43
- package/types/mystery-boxes.types.mjs +0 -6
- /package/data-structures/event-service/{AbstractNullifierSnapshotService.cjs → evm/AbstractNullifierSnapshotService.cjs} +0 -0
- /package/data-structures/event-service/{AbstractNullifierSnapshotService.mjs → evm/AbstractNullifierSnapshotService.mjs} +0 -0
- /package/data-structures/event-service/{AbstractSnapshotService.d.ts → evm/AbstractSnapshotService.d.ts} +0 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { transactionErrorCodes as P } from "../../error-handling/error-codes.constants.mjs";
|
|
2
|
+
import { isValidPrivateAddress as C } from "../../functions/utils/addresses.mjs";
|
|
3
|
+
import { modifyVolatileTokenAmountChanges as y } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
|
|
4
|
+
import { createTransaferEmporiumOpsBatch as A } from "../../functions/private-wallet/emporium.helpers.mjs";
|
|
5
|
+
import { getFeeStructure as w } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
6
|
+
import { ExternalActionId as g } from "../../types/external-action.types.mjs";
|
|
7
|
+
import { convertEmporiumOpToCallInfo as I } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
|
|
8
|
+
import { UserKeys as T } from "../crypto-keys/keys.mjs";
|
|
9
|
+
const _ = async (e, o, f, n, i, l, a, c, u = !1) => {
|
|
10
|
+
if (!a)
|
|
11
|
+
throw Error("hinkalProxyToPrivate: subAccount should be provided");
|
|
12
|
+
if (!i)
|
|
13
|
+
throw new Error("Fee token is required in hinkalProxyToPrivate");
|
|
14
|
+
if (!C(n))
|
|
15
|
+
throw Error(P.RECIPIENT_FORMAT_INCORRECT);
|
|
16
|
+
const t = e.getCurrentChainId(), d = T.getSignerAddressFromPrivateKey(t, a.privateKey), m = o.map((r) => r.erc20TokenAddress), s = await y(t, o, f, d), p = A(e, m, s), v = l ?? await w(
|
|
17
|
+
t,
|
|
18
|
+
i,
|
|
19
|
+
m,
|
|
20
|
+
g.Emporium,
|
|
21
|
+
p.map((r) => I(r, d, t))
|
|
22
|
+
), E = o.map((r, h) => ({
|
|
23
|
+
token: r,
|
|
24
|
+
amount: -1n * s[h]
|
|
25
|
+
}));
|
|
26
|
+
return e.actionPrivateWallet(
|
|
27
|
+
[m[0]],
|
|
28
|
+
[0n],
|
|
29
|
+
[!1],
|
|
30
|
+
p,
|
|
31
|
+
E,
|
|
32
|
+
a,
|
|
33
|
+
i,
|
|
34
|
+
v,
|
|
35
|
+
void 0,
|
|
36
|
+
void 0,
|
|
37
|
+
void 0,
|
|
38
|
+
c,
|
|
39
|
+
{ recipientInfo: n, amount: s[0], token: o[0] },
|
|
40
|
+
u
|
|
41
|
+
);
|
|
42
|
+
};
|
|
43
|
+
export {
|
|
44
|
+
_ as hinkalProxyToPrivate
|
|
45
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../crypto-keys/keys.cjs"),o=async(s,r,e,t)=>{const a=s.getCurrentChainId();let i;if(e)i=await n.UserKeys.signTypedDataFromPrivateKey(a,t.privateKey,e.domain,e.types,e.value);else{if(!r)throw Error("dataHash must be provided if typedData is not provided");i=await n.UserKeys.signMessageFromPrivateKey(a,t.privateKey,r)}return i};exports.hinkalSignSubAccount=o;
|
|
@@ -1,20 +1,22 @@
|
|
|
1
|
-
import { UserKeys as
|
|
2
|
-
const
|
|
3
|
-
|
|
1
|
+
import { UserKeys as n } from "../crypto-keys/keys.mjs";
|
|
2
|
+
const d = async (o, i, e, t) => {
|
|
3
|
+
const a = o.getCurrentChainId();
|
|
4
|
+
let r;
|
|
4
5
|
if (e)
|
|
5
|
-
|
|
6
|
-
a
|
|
6
|
+
r = await n.signTypedDataFromPrivateKey(
|
|
7
|
+
a,
|
|
8
|
+
t.privateKey,
|
|
7
9
|
e.domain,
|
|
8
10
|
e.types,
|
|
9
11
|
e.value
|
|
10
12
|
);
|
|
11
13
|
else {
|
|
12
|
-
if (!
|
|
14
|
+
if (!i)
|
|
13
15
|
throw Error("dataHash must be provided if typedData is not provided");
|
|
14
|
-
|
|
16
|
+
r = await n.signMessageFromPrivateKey(a, t.privateKey, i);
|
|
15
17
|
}
|
|
16
|
-
return
|
|
18
|
+
return r;
|
|
17
19
|
};
|
|
18
20
|
export {
|
|
19
|
-
|
|
21
|
+
d as hinkalSignSubAccount
|
|
20
22
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("../utxo/Utxo.cjs"),V=require("../../functions/utils/solanaMint.utils.cjs"),M=require("../../functions/web3/etherFunctions.cjs"),z=require("../../constants/chains.constants.cjs"),q=require("../../constants/protocol.constants.cjs"),d=require("@solana/web3.js"),N=require("../../functions/snarkjs/common.snarkjs.cjs"),j=require("@coral-xyz/anchor"),T=require("../../functions/utils/addresses.cjs"),U=require("../../error-handling/error-codes.constants.cjs"),i=require("../../functions/pre-transaction/solana.cjs");require("../../API/getServerURL.cjs");require("axios");require("../../constants/coingecko.constants.cjs");require("../../constants/server.constants.cjs");require("../http/HttpClient.cjs");require("../../constants/vite.constants.cjs");const L=require("../../API/API.cjs");require("../../constants/token-data/index.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");require("../../API/tenderly.api.cjs");const _=require("./hinkalCheckSolanaTokenRegistry.cjs"),B=require("../../functions/web3/signAndSendSerializedTransaction.cjs"),O=async(e,o,r,n)=>{const{hinkalIdl:a,hinkalAddress:l,originalDeployer:g}=z.networkRegistry[e.getCurrentChainId()].contractData;if(!a)throw new Error("No IDL configured for Solana program on this network");if(!g)throw new Error("missing original deployer");const c=e.getSolanaProgram(a),k=e.getSolanaPublicKey(),t=new d.PublicKey(g),S=new d.PublicKey(l),{mintPublicKey:s}=V.formatMintAddress(r),u=s.toString(),h=i.getStorageAccountPublicKey(S,t),m=i.getStorageVaultPublicKey(S,t),b=i.getMerkleAccountPublicKey(S,t),A=i.buildAnchorStealthAddressStructure(n),K=e.getCurrentChainId();if(await _.hinkalCheckSolanaTokenRegistry(c,new d.PublicKey(t),[r],[o])){const{serializedTransaction:p,blockhash:C,lastValidBlockHeight:v}=await L.API.generateProoflessDepositLimitless(K,{amount:o.toString(),payer:e.getSolanaPublicKey().toBase58(),ethereumAddress:await e.getEthereumAddress(),mint:r,stealthAddressStructure:A}),{wallet:w}=c.provider;if(!w)throw new Error("missing wallet");return B.signAndSendSerializedTransaction(c.provider,p,C,v)}const f=i.getTokenLimitStorageAccountPublicKey(c.programId,t,s),I=u===q.solanaNativeAddress?null:s,P=u===q.solanaNativeAddress?null:void 0;return c.methods.prooflessDeposit(new j.BN(o.toString()),A).accounts({mint:I,signer:k,signerAta:P,originalDeployer:t,storageAccount:h,storageVault:m,merkleAccount:b,tokenLimitStorage:f,storageVaultAta:P,accessTokenOwner:null}).rpc()},H=async(e,o,r)=>{const n=e.userKeys.getShieldedPrivateKey(),a=E.Utxo.findCorrectRandomization(M.randomBigInt(31),n),l=N.calcStealthAddressStructure(a,n);return O(e,o,r,l)},$=async(e,o,r,n)=>{if(!T.isValidPrivateAddress(n))throw Error(U.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);const a=T.constructStealthAddressStructure(n);return O(e,o,r,a)},G=async(e,o,r)=>{const{hinkalIdl:n,hinkalAddress:a,originalDeployer:l}=z.networkRegistry[e.getCurrentChainId()].contractData;if(!n)throw new Error("No IDL configured for Solana program on this network");if(!l)throw new Error("missing original deployer");const g=e.userKeys.getShieldedPrivateKey(),c=E.Utxo.findCorrectRandomization(M.randomBigInt(31),g),k=N.calcStealthAddressStructure(c,g),t=e.getSolanaProgram(n),S=e.getSolanaPublicKey(),s=new d.PublicKey(l),u=new d.PublicKey(a),{mintPublicKey:h}=V.formatMintAddress(r),m=h.toString(),b=i.getStorageAccountPublicKey(u,s),A=i.getStorageVaultPublicKey(u,s),K=i.getMerkleAccountPublicKey(u,s),D=i.buildAnchorStealthAddressStructure(k),f=e.getCurrentChainId(),I=o.reduce((y,R)=>y+R,0n),P=await _.hinkalCheckSolanaTokenRegistry(t,new d.PublicKey(s),[r],[I]),p=o.map(y=>`${y}`);if(P){const{serializedTransaction:y,blockhash:R,lastValidBlockHeight:x}=await L.API.generateMultiPaymentDepositLimitless(f,{amounts:p,payer:e.getSolanaPublicKey().toBase58(),ethereumAddress:await e.getEthereumAddress(),mint:r,stealthAddressStructure:D}),{wallet:F}=t.provider;if(!F)throw new Error("missing wallet");return B.signAndSendSerializedTransaction(t.provider,y,R,x)}const C=i.getTokenLimitStorageAccountPublicKey(t.programId,s,h),v=m===q.solanaNativeAddress?null:h,w=m===q.solanaNativeAddress?null:void 0;return t.methods.multiPaymentDeposit(p,D).accounts({mint:v,signer:S,signerAta:w,originalDeployer:s,storageAccount:b,storageVault:A,merkleAccount:K,tokenLimitStorage:C,storageVaultAta:w,accessTokenOwner:null}).rpc()};exports.hinkalSolanaDeposit=H;exports.hinkalSolanaDepositForOther=$;exports.hinkalSolanaMultiPaymentDeposit=G;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { IHinkal } from './IHinkal';
|
|
2
|
+
export declare const hinkalSolanaDeposit: (hinkal: IHinkal, amount: bigint, mintAddress: string) => Promise<string>;
|
|
3
|
+
export declare const hinkalSolanaDepositForOther: (hinkal: IHinkal, amount: bigint, mintAddress: string, recipientInfo: string) => Promise<string>;
|
|
4
|
+
export declare const hinkalSolanaMultiPaymentDeposit: (hinkal: IHinkal, amounts: bigint[], mintAddress: string) => Promise<string>;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { Utxo as v } from "../utxo/Utxo.mjs";
|
|
2
|
+
import { formatMintAddress as T } from "../../functions/utils/solanaMint.utils.mjs";
|
|
3
|
+
import { randomBigInt as V } from "../../functions/web3/etherFunctions.mjs";
|
|
4
|
+
import { networkRegistry as z } from "../../constants/chains.constants.mjs";
|
|
5
|
+
import { solanaNativeAddress as f } from "../../constants/protocol.constants.mjs";
|
|
6
|
+
import { PublicKey as m } from "@solana/web3.js";
|
|
7
|
+
import { calcStealthAddressStructure as L } from "../../functions/snarkjs/common.snarkjs.mjs";
|
|
8
|
+
import { BN as j } from "@coral-xyz/anchor";
|
|
9
|
+
import { isValidPrivateAddress as G, constructStealthAddressStructure as J } from "../../functions/utils/addresses.mjs";
|
|
10
|
+
import { transactionErrorCodes as Q } from "../../error-handling/error-codes.constants.mjs";
|
|
11
|
+
import { getStorageAccountPublicKey as B, getStorageVaultPublicKey as N, getMerkleAccountPublicKey as M, buildAnchorStealthAddressStructure as O, getTokenLimitStorageAccountPublicKey as x } from "../../functions/pre-transaction/solana.mjs";
|
|
12
|
+
import "../../API/getServerURL.mjs";
|
|
13
|
+
import "axios";
|
|
14
|
+
import "../../constants/coingecko.constants.mjs";
|
|
15
|
+
import "../../constants/server.constants.mjs";
|
|
16
|
+
import "../http/HttpClient.mjs";
|
|
17
|
+
import "../../constants/vite.constants.mjs";
|
|
18
|
+
import { API as q } from "../../API/API.mjs";
|
|
19
|
+
import "../../constants/token-data/index.mjs";
|
|
20
|
+
import "../../constants/contracts.constants.mjs";
|
|
21
|
+
import "../../constants/kyc.constants.mjs";
|
|
22
|
+
import "../../constants/reorg-depths.constants.mjs";
|
|
23
|
+
import "../../constants/addresses.constants.mjs";
|
|
24
|
+
import "../../constants/token.limits.constants.mjs";
|
|
25
|
+
import "../../constants/presale.constants.mjs";
|
|
26
|
+
import "../../constants/activity.constants.mjs";
|
|
27
|
+
import "../../constants/tasks.constants.mjs";
|
|
28
|
+
import "../../constants/events.constants.mjs";
|
|
29
|
+
import "../../API/tenderly.api.mjs";
|
|
30
|
+
import { hinkalCheckSolanaTokenRegistry as F } from "./hinkalCheckSolanaTokenRegistry.mjs";
|
|
31
|
+
import { signAndSendSerializedTransaction as H } from "../../functions/web3/signAndSendSerializedTransaction.mjs";
|
|
32
|
+
const _ = async (t, e, o, n) => {
|
|
33
|
+
const {
|
|
34
|
+
hinkalIdl: s,
|
|
35
|
+
hinkalAddress: c,
|
|
36
|
+
originalDeployer: d
|
|
37
|
+
} = z[t.getCurrentChainId()].contractData;
|
|
38
|
+
if (!s)
|
|
39
|
+
throw new Error("No IDL configured for Solana program on this network");
|
|
40
|
+
if (!d)
|
|
41
|
+
throw new Error("missing original deployer");
|
|
42
|
+
const a = t.getSolanaProgram(s), P = t.getSolanaPublicKey(), r = new m(d), u = new m(c), { mintPublicKey: i } = T(o), l = i.toString(), g = B(u, r), S = N(u, r), K = M(u, r), h = O(n), k = t.getCurrentChainId();
|
|
43
|
+
if (await F(
|
|
44
|
+
a,
|
|
45
|
+
new m(r),
|
|
46
|
+
[o],
|
|
47
|
+
[e]
|
|
48
|
+
)) {
|
|
49
|
+
const { serializedTransaction: w, blockhash: C, lastValidBlockHeight: E } = await q.generateProoflessDepositLimitless(
|
|
50
|
+
k,
|
|
51
|
+
{
|
|
52
|
+
amount: e.toString(),
|
|
53
|
+
payer: t.getSolanaPublicKey().toBase58(),
|
|
54
|
+
ethereumAddress: await t.getEthereumAddress(),
|
|
55
|
+
mint: o,
|
|
56
|
+
stealthAddressStructure: h
|
|
57
|
+
}
|
|
58
|
+
), { wallet: A } = a.provider;
|
|
59
|
+
if (!A)
|
|
60
|
+
throw new Error("missing wallet");
|
|
61
|
+
return H(a.provider, w, C, E);
|
|
62
|
+
}
|
|
63
|
+
const b = x(a.programId, r, i), I = l === f ? null : i, y = l === f ? null : void 0;
|
|
64
|
+
return a.methods.prooflessDeposit(new j(e.toString()), h).accounts({
|
|
65
|
+
mint: I,
|
|
66
|
+
signer: P,
|
|
67
|
+
signerAta: y,
|
|
68
|
+
originalDeployer: r,
|
|
69
|
+
storageAccount: g,
|
|
70
|
+
storageVault: S,
|
|
71
|
+
merkleAccount: K,
|
|
72
|
+
tokenLimitStorage: b,
|
|
73
|
+
storageVaultAta: y,
|
|
74
|
+
accessTokenOwner: null
|
|
75
|
+
}).rpc();
|
|
76
|
+
}, Ct = async (t, e, o) => {
|
|
77
|
+
const n = t.userKeys.getShieldedPrivateKey(), s = v.findCorrectRandomization(V(31), n), c = L(s, n);
|
|
78
|
+
return _(t, e, o, c);
|
|
79
|
+
}, Et = async (t, e, o, n) => {
|
|
80
|
+
if (!G(n))
|
|
81
|
+
throw Error(Q.RECIPIENT_FORMAT_INCORRECT);
|
|
82
|
+
const s = J(n);
|
|
83
|
+
return _(t, e, o, s);
|
|
84
|
+
}, Rt = async (t, e, o) => {
|
|
85
|
+
const {
|
|
86
|
+
hinkalIdl: n,
|
|
87
|
+
hinkalAddress: s,
|
|
88
|
+
originalDeployer: c
|
|
89
|
+
} = z[t.getCurrentChainId()].contractData;
|
|
90
|
+
if (!n)
|
|
91
|
+
throw new Error("No IDL configured for Solana program on this network");
|
|
92
|
+
if (!c)
|
|
93
|
+
throw new Error("missing original deployer");
|
|
94
|
+
const d = t.userKeys.getShieldedPrivateKey(), a = v.findCorrectRandomization(V(31), d), P = L(a, d), r = t.getSolanaProgram(n), u = t.getSolanaPublicKey(), i = new m(c), l = new m(s), { mintPublicKey: g } = T(o), S = g.toString(), K = B(l, i), h = N(l, i), k = M(l, i), D = O(P), b = t.getCurrentChainId(), I = e.reduce((p, R) => p + R, 0n), y = await F(
|
|
95
|
+
r,
|
|
96
|
+
new m(i),
|
|
97
|
+
[o],
|
|
98
|
+
[I]
|
|
99
|
+
), w = e.map((p) => `${p}`);
|
|
100
|
+
if (y) {
|
|
101
|
+
const { serializedTransaction: p, blockhash: R, lastValidBlockHeight: U } = await q.generateMultiPaymentDepositLimitless(
|
|
102
|
+
b,
|
|
103
|
+
{
|
|
104
|
+
amounts: w,
|
|
105
|
+
payer: t.getSolanaPublicKey().toBase58(),
|
|
106
|
+
ethereumAddress: await t.getEthereumAddress(),
|
|
107
|
+
mint: o,
|
|
108
|
+
stealthAddressStructure: D
|
|
109
|
+
}
|
|
110
|
+
), { wallet: $ } = r.provider;
|
|
111
|
+
if (!$)
|
|
112
|
+
throw new Error("missing wallet");
|
|
113
|
+
return H(r.provider, p, R, U);
|
|
114
|
+
}
|
|
115
|
+
const C = x(r.programId, i, g), E = S === f ? null : g, A = S === f ? null : void 0;
|
|
116
|
+
return r.methods.multiPaymentDeposit(w, D).accounts({
|
|
117
|
+
mint: E,
|
|
118
|
+
signer: u,
|
|
119
|
+
signerAta: A,
|
|
120
|
+
originalDeployer: i,
|
|
121
|
+
storageAccount: K,
|
|
122
|
+
storageVault: h,
|
|
123
|
+
merkleAccount: k,
|
|
124
|
+
tokenLimitStorage: C,
|
|
125
|
+
storageVaultAta: A,
|
|
126
|
+
accessTokenOwner: null
|
|
127
|
+
}).rpc();
|
|
128
|
+
};
|
|
129
|
+
export {
|
|
130
|
+
Ct as hinkalSolanaDeposit,
|
|
131
|
+
Et as hinkalSolanaDepositForOther,
|
|
132
|
+
Rt as hinkalSolanaMultiPaymentDeposit
|
|
133
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("../../functions/web3/etherFunctions.cjs"),N=require("../utxo/Utxo.cjs"),j=require("../../error-handling/error-codes.constants.cjs");require("ethers");require("idb-keyval");const M=require("../../constants/chains.constants.cjs");require("../crypto-keys/keys.cjs");require("node-forge");require("../../constants/vite.constants.cjs");require("libsodium-wrappers");require("../http/HttpClient.cjs");require("axios");const V=require("../../functions/utils/solanaMint.utils.cjs"),_=require("@solana/web3.js");require("../../constants/token-data/index.cjs");const k=require("../../constants/protocol.constants.cjs"),H=require("../../API/API.cjs");require("../../functions/utils/mutexes.utils.cjs");require("../../types/circom-data.types.cjs");const W=require("../../types/external-action.types.cjs");require("../../types/transactions.types.cjs");require("../../types/activities.types.cjs");require("../../functions/web3/events/getApprovedBalance.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");require("../../constants/server.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");require("../../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("../../API/getServerURL.cjs");require("circomlibjs-hinkal-fork");require("process");require("buffer");require("../../constants/save-depths.cjs");const $=require("@coral-xyz/anchor"),b=require("../../functions/pre-transaction/solana.cjs");require("@solana/spl-token");require("../../functions/utils/userAgent.cjs");const Z=require("../../functions/utils/time.utils.cjs");require("multiformats");require("../../API/tenderly.api.cjs");const X=require("../../functions/utils/fees.utils.cjs");require("../../functions/web3/getTokenHolder.cjs");const Y=require("../../functions/web3/signAndSendSerializedTransaction.cjs"),L=require("../../functions/snarkjs/common.snarkjs.cjs"),G=require("./hinkalCheckSolanaTokenRegistry.cjs"),J=require("../../functions/utils/getUtxosFromReceiptSolana.cjs"),Q=require("../../functions/snarkjs/constructSolanaZkProof.cjs"),ee=require("../../functions/web3/functionCalls/transactCallRelayer.cjs");require("../../node_modules/ethers/lib/utils.cjs");const te=require("../../functions/pre-transaction/getFeeStructure.cjs"),re=require("../../_virtual/utils.cjs"),oe=async(e,r,p,c)=>{const u={};Object.entries(p).forEach(([t,o])=>{u[t]=o+X.calculateTotalFee(o,c)});const{hinkalIdl:s,hinkalAddress:d,originalDeployer:y}=M.networkRegistry[e.getCurrentChainId()].contractData;if(!s)throw new Error("No IDL configured for Solana program on this network");if(!y)throw new Error("missing original deployer");const P=Object.values(u),g=e.userKeys.getShieldedPrivateKey(),K=N.Utxo.findCorrectRandomization(z.randomBigInt(31),g),T=L.calcStealthAddressStructure(K,g),n=e.getSolanaProgram(s),F=e.getSolanaPublicKey(),a=new _.PublicKey(y),q=new _.PublicKey(d),{mintPublicKey:h}=V.formatMintAddress(r),w=h.toString(),E=b.getStorageAccountPublicKey(q,a),U=b.getStorageVaultPublicKey(q,a),x=b.getMerkleAccountPublicKey(q,a),S=b.buildAnchorStealthAddressStructure(T),f=e.getCurrentChainId(),D=P.reduce((t,o)=>t+o,0n),C=await G.hinkalCheckSolanaTokenRegistry(n,new _.PublicKey(a),[r],[D]),v=P.map(t=>`${t}`);let l="";if(C){const{serializedTransaction:t,blockhash:o,lastValidBlockHeight:i}=await H.API.generateMultiPaymentDepositLimitless(f,{amounts:v,payer:e.getSolanaPublicKey().toBase58(),ethereumAddress:await e.getEthereumAddress(),mint:r,stealthAddressStructure:S}),{wallet:m}=n.provider;if(!m)throw new Error("missing wallet");l=await Y.signAndSendSerializedTransaction(n.provider,t,o,i)}else{const t=b.getTokenLimitStorageAccountPublicKey(n.programId,a,h),o=w===k.solanaNativeAddress?null:h,i=w===k.solanaNativeAddress?null:void 0;l=await n.methods.multiPaymentDeposit(v.map(O=>new $.BN(O)),S).accounts({mint:o,signer:F,signerAta:i,originalDeployer:a,storageAccount:E,storageVault:U,merkleAccount:x,tokenLimitStorage:t,storageVaultAta:i,accessTokenOwner:null}).rpc();const m=await n.provider.connection.getLatestBlockhash();await n.provider.connection.confirmTransaction({blockhash:m.blockhash,lastValidBlockHeight:m.lastValidBlockHeight,signature:l},"confirmed")}const I=await n.provider.connection.getTransaction(l,{commitment:"confirmed",maxSupportedTransactionVersion:0});if(!I)throw new Error("Transaction missing");const B=J.getUtxosFromReceiptSolana(I,n,e.userKeys),R=new Map,A=[...B];return Object.entries(u).forEach(([t,o])=>{const i=A.find(O=>O.amount===o);if(!i)throw new Error(`Could not find newly created UTXO with amount ${o} for recipient ${t}.`);R.set(t,i);const m=A.indexOf(i);A.splice(m,1)}),R},ne=async(e,r,p,c,u)=>{const s=Array.from(p.entries());if(s.length===0)throw new Error("userDepositedUtxos must not be empty");const{hinkalIdl:d,originalDeployer:y}=M.networkRegistry[e.getCurrentChainId()].contractData;if(!y||!d)throw new Error("missing data");const P=e.getSolanaProgram(d),g=await e.getRandomRelay(!0);if(!g)throw new Error(j.transactionErrorCodes.RELAYER_NOT_AVAILABLE);const K=Z.getCurrentTimeInSeconds().toString(),T=e.generateProofRemotely?5:1,n=[];for(let a=0;a<s.length;a+=T){const q=s.slice(a,a+T),h=await Promise.all(q.map(async([w,E])=>{const{compressedAddress:U}=V.formatMintAddress(k.solanaNativeAddress),x=new N.Utxo({amount:0n,mintAddress:r,erc20TokenAddress:U,shieldedPrivateKey:e.userKeys.getShieldedPrivateKey(),timeStamp:K,tokenId:0}),S=[E,x],f=[x],D=N.Utxo.findCorrectRandomization(z.randomBigInt(31),e.userKeys.getShieldedPrivateKey()),C={tokenNumber:1,nullifierAmount:S.length,outputAmount:f.length},v=L.calcEncryptedOutputs([f],!1)[0][0],l=Array.from(re.__exports.arrayify(v)),{proofAArr:I,proofBArr:B,proofCArr:R,publicInputsArr:A}=await Q.constructSolanaZkProof(e.generateProofRemotely,y,e.merkleTreeHinkal,e.merkleTreeAccessToken,e.userKeys,P,[r],[S],[f],D,c.flatFee,c.variableRate,w,g,C,[l],e.getCurrentChainId()),t=r===k.solanaNativeAddress,o={recipient:w,mint:t?void 0:r};return{relayAddress:g,functionName:"transact",args:{proofAArr:I,proofBArr:B,proofCArr:R,publicInputsArr:A,encryptedOutputs:[l],relayerFee:c.flatFee.toString(),dimensions:C},accounts:o}}));n.push(...h)}return await ee.solanaTransactCallRelayerBatch(e.getCurrentChainId(),n,u)},ae=async(e,r,p,c,u)=>{const s=u??await te.getFeeStructure(e.getCurrentChainId(),r,[r],W.ExternalActionId.Transact,[],0n),d=await oe(e,r,p,s);return await e.getEventsFromHinkal(),await e.resetMerkleTreesIfNecessary(),ne(e,r,d,s,c)};exports.hinkalSolanaDepositAndWithdraw=ae;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { FeeStructure } from '../../types/hinkal.types';
|
|
2
|
+
import { IHinkal } from './IHinkal';
|
|
3
|
+
export declare const hinkalSolanaDepositAndWithdraw: (hinkal: IHinkal, mintAddress: string, recipientAmounts: Record<string, bigint>, txCompletionTime?: number, feeStructureOverride?: FeeStructure) => Promise<string>;
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { randomBigInt as L } from "../../functions/web3/etherFunctions.mjs";
|
|
2
|
+
import { Utxo as V } from "../utxo/Utxo.mjs";
|
|
3
|
+
import { transactionErrorCodes as M } from "../../error-handling/error-codes.constants.mjs";
|
|
4
|
+
import "ethers";
|
|
5
|
+
import "idb-keyval";
|
|
6
|
+
import { networkRegistry as F } from "../../constants/chains.constants.mjs";
|
|
7
|
+
import "../crypto-keys/keys.mjs";
|
|
8
|
+
import "node-forge";
|
|
9
|
+
import "../../constants/vite.constants.mjs";
|
|
10
|
+
import "libsodium-wrappers";
|
|
11
|
+
import "../http/HttpClient.mjs";
|
|
12
|
+
import "axios";
|
|
13
|
+
import { formatMintAddress as H } from "../../functions/utils/solanaMint.utils.mjs";
|
|
14
|
+
import { PublicKey as N } from "@solana/web3.js";
|
|
15
|
+
import "../../constants/token-data/index.mjs";
|
|
16
|
+
import { solanaNativeAddress as E } from "../../constants/protocol.constants.mjs";
|
|
17
|
+
import { API as j } from "../../API/API.mjs";
|
|
18
|
+
import "../../functions/utils/mutexes.utils.mjs";
|
|
19
|
+
import "../../types/circom-data.types.mjs";
|
|
20
|
+
import { ExternalActionId as _ } from "../../types/external-action.types.mjs";
|
|
21
|
+
import "../../types/transactions.types.mjs";
|
|
22
|
+
import "../../types/activities.types.mjs";
|
|
23
|
+
import "../../functions/web3/events/getApprovedBalance.mjs";
|
|
24
|
+
import "../../constants/contracts.constants.mjs";
|
|
25
|
+
import "../../constants/kyc.constants.mjs";
|
|
26
|
+
import "../../constants/server.constants.mjs";
|
|
27
|
+
import "../../constants/coingecko.constants.mjs";
|
|
28
|
+
import "../../constants/reorg-depths.constants.mjs";
|
|
29
|
+
import "../../constants/addresses.constants.mjs";
|
|
30
|
+
import "../../constants/token.limits.constants.mjs";
|
|
31
|
+
import "../../constants/presale.constants.mjs";
|
|
32
|
+
import "../../constants/activity.constants.mjs";
|
|
33
|
+
import "../../constants/tasks.constants.mjs";
|
|
34
|
+
import "../../constants/events.constants.mjs";
|
|
35
|
+
import "../../functions/utils/convertIntegrationProviderToExternalActionId.mjs";
|
|
36
|
+
import "../../API/getServerURL.mjs";
|
|
37
|
+
import "circomlibjs-hinkal-fork";
|
|
38
|
+
import "process";
|
|
39
|
+
import "buffer";
|
|
40
|
+
import "../../constants/save-depths.mjs";
|
|
41
|
+
import { BN as $ } from "@coral-xyz/anchor";
|
|
42
|
+
import { getStorageAccountPublicKey as W, getStorageVaultPublicKey as q, getMerkleAccountPublicKey as X, buildAnchorStealthAddressStructure as Y, getTokenLimitStorageAccountPublicKey as Z } from "../../functions/pre-transaction/solana.mjs";
|
|
43
|
+
import "@solana/spl-token";
|
|
44
|
+
import "../../functions/utils/userAgent.mjs";
|
|
45
|
+
import { getCurrentTimeInSeconds as G } from "../../functions/utils/time.utils.mjs";
|
|
46
|
+
import "multiformats";
|
|
47
|
+
import "../../API/tenderly.api.mjs";
|
|
48
|
+
import { calculateTotalFee as J } from "../../functions/utils/fees.utils.mjs";
|
|
49
|
+
import "../../functions/web3/getTokenHolder.mjs";
|
|
50
|
+
import { signAndSendSerializedTransaction as Q } from "../../functions/web3/signAndSendSerializedTransaction.mjs";
|
|
51
|
+
import { calcStealthAddressStructure as tt, calcEncryptedOutputs as ot } from "../../functions/snarkjs/common.snarkjs.mjs";
|
|
52
|
+
import { hinkalCheckSolanaTokenRegistry as rt } from "./hinkalCheckSolanaTokenRegistry.mjs";
|
|
53
|
+
import { getUtxosFromReceiptSolana as et } from "../../functions/utils/getUtxosFromReceiptSolana.mjs";
|
|
54
|
+
import { constructSolanaZkProof as nt } from "../../functions/snarkjs/constructSolanaZkProof.mjs";
|
|
55
|
+
import { solanaTransactCallRelayerBatch as it } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
56
|
+
import "../../node_modules/ethers/lib/utils.mjs";
|
|
57
|
+
import { getFeeStructure as at } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
58
|
+
import { __exports as st } from "../../_virtual/utils.mjs";
|
|
59
|
+
const ct = async (t, o, g, c) => {
|
|
60
|
+
const m = {};
|
|
61
|
+
Object.entries(g).forEach(([r, e]) => {
|
|
62
|
+
m[r] = e + J(e, c);
|
|
63
|
+
});
|
|
64
|
+
const {
|
|
65
|
+
hinkalIdl: a,
|
|
66
|
+
hinkalAddress: p,
|
|
67
|
+
originalDeployer: f
|
|
68
|
+
} = F[t.getCurrentChainId()].contractData;
|
|
69
|
+
if (!a)
|
|
70
|
+
throw new Error("No IDL configured for Solana program on this network");
|
|
71
|
+
if (!f)
|
|
72
|
+
throw new Error("missing original deployer");
|
|
73
|
+
const P = Object.values(m), u = t.userKeys.getShieldedPrivateKey(), R = V.findCorrectRandomization(L(31), u), T = tt(R, u), n = t.getSolanaProgram(a), z = t.getSolanaPublicKey(), i = new N(f), y = new N(p), { mintPublicKey: w } = H(o), h = w.toString(), k = W(y, i), D = q(y, i), C = X(y, i), S = Y(T), A = t.getCurrentChainId(), B = P.reduce((r, e) => r + e, 0n), I = await rt(
|
|
74
|
+
n,
|
|
75
|
+
new N(i),
|
|
76
|
+
[o],
|
|
77
|
+
[B]
|
|
78
|
+
), v = P.map((r) => `${r}`);
|
|
79
|
+
let l = "";
|
|
80
|
+
if (I) {
|
|
81
|
+
const { serializedTransaction: r, blockhash: e, lastValidBlockHeight: s } = await j.generateMultiPaymentDepositLimitless(
|
|
82
|
+
A,
|
|
83
|
+
{
|
|
84
|
+
amounts: v,
|
|
85
|
+
payer: t.getSolanaPublicKey().toBase58(),
|
|
86
|
+
ethereumAddress: await t.getEthereumAddress(),
|
|
87
|
+
mint: o,
|
|
88
|
+
stealthAddressStructure: S
|
|
89
|
+
}
|
|
90
|
+
), { wallet: d } = n.provider;
|
|
91
|
+
if (!d)
|
|
92
|
+
throw new Error("missing wallet");
|
|
93
|
+
l = await Q(
|
|
94
|
+
n.provider,
|
|
95
|
+
r,
|
|
96
|
+
e,
|
|
97
|
+
s
|
|
98
|
+
);
|
|
99
|
+
} else {
|
|
100
|
+
const r = Z(n.programId, i, w), e = h === E ? null : w, s = h === E ? null : void 0;
|
|
101
|
+
l = await n.methods.multiPaymentDeposit(
|
|
102
|
+
v.map((U) => new $(U)),
|
|
103
|
+
S
|
|
104
|
+
).accounts({
|
|
105
|
+
mint: e,
|
|
106
|
+
signer: z,
|
|
107
|
+
signerAta: s,
|
|
108
|
+
originalDeployer: i,
|
|
109
|
+
storageAccount: k,
|
|
110
|
+
storageVault: D,
|
|
111
|
+
merkleAccount: C,
|
|
112
|
+
tokenLimitStorage: r,
|
|
113
|
+
storageVaultAta: s,
|
|
114
|
+
accessTokenOwner: null
|
|
115
|
+
}).rpc();
|
|
116
|
+
const d = await n.provider.connection.getLatestBlockhash();
|
|
117
|
+
await n.provider.connection.confirmTransaction(
|
|
118
|
+
{
|
|
119
|
+
blockhash: d.blockhash,
|
|
120
|
+
lastValidBlockHeight: d.lastValidBlockHeight,
|
|
121
|
+
signature: l
|
|
122
|
+
},
|
|
123
|
+
"confirmed"
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
const x = await n.provider.connection.getTransaction(l, {
|
|
127
|
+
commitment: "confirmed",
|
|
128
|
+
maxSupportedTransactionVersion: 0
|
|
129
|
+
});
|
|
130
|
+
if (!x)
|
|
131
|
+
throw new Error("Transaction missing");
|
|
132
|
+
const O = et(x, n, t.userKeys), K = /* @__PURE__ */ new Map(), b = [...O];
|
|
133
|
+
return Object.entries(m).forEach(([r, e]) => {
|
|
134
|
+
const s = b.find((U) => U.amount === e);
|
|
135
|
+
if (!s)
|
|
136
|
+
throw new Error(`Could not find newly created UTXO with amount ${e} for recipient ${r}.`);
|
|
137
|
+
K.set(r, s);
|
|
138
|
+
const d = b.indexOf(s);
|
|
139
|
+
b.splice(d, 1);
|
|
140
|
+
}), K;
|
|
141
|
+
}, mt = async (t, o, g, c, m) => {
|
|
142
|
+
const a = Array.from(g.entries());
|
|
143
|
+
if (a.length === 0)
|
|
144
|
+
throw new Error("userDepositedUtxos must not be empty");
|
|
145
|
+
const { hinkalIdl: p, originalDeployer: f } = F[t.getCurrentChainId()].contractData;
|
|
146
|
+
if (!f || !p)
|
|
147
|
+
throw new Error("missing data");
|
|
148
|
+
const P = t.getSolanaProgram(p), u = await t.getRandomRelay(!0);
|
|
149
|
+
if (!u)
|
|
150
|
+
throw new Error(M.RELAYER_NOT_AVAILABLE);
|
|
151
|
+
const R = G().toString(), T = t.generateProofRemotely ? 5 : 1, n = [];
|
|
152
|
+
for (let i = 0; i < a.length; i += T) {
|
|
153
|
+
const y = a.slice(i, i + T), w = await Promise.all(
|
|
154
|
+
y.map(async ([h, k]) => {
|
|
155
|
+
const { compressedAddress: D } = H(E), C = new V({
|
|
156
|
+
amount: 0n,
|
|
157
|
+
mintAddress: o,
|
|
158
|
+
erc20TokenAddress: D,
|
|
159
|
+
shieldedPrivateKey: t.userKeys.getShieldedPrivateKey(),
|
|
160
|
+
timeStamp: R,
|
|
161
|
+
tokenId: 0
|
|
162
|
+
}), S = [k, C], A = [C], B = V.findCorrectRandomization(
|
|
163
|
+
L(31),
|
|
164
|
+
t.userKeys.getShieldedPrivateKey()
|
|
165
|
+
), I = {
|
|
166
|
+
tokenNumber: 1,
|
|
167
|
+
nullifierAmount: S.length,
|
|
168
|
+
outputAmount: A.length
|
|
169
|
+
}, v = ot([A], !1)[0][0], l = Array.from(st.arrayify(v)), { proofAArr: x, proofBArr: O, proofCArr: K, publicInputsArr: b } = await nt(
|
|
170
|
+
t.generateProofRemotely,
|
|
171
|
+
f,
|
|
172
|
+
t.merkleTreeHinkal,
|
|
173
|
+
t.merkleTreeAccessToken,
|
|
174
|
+
t.userKeys,
|
|
175
|
+
P,
|
|
176
|
+
[o],
|
|
177
|
+
[S],
|
|
178
|
+
[A],
|
|
179
|
+
B,
|
|
180
|
+
c.flatFee,
|
|
181
|
+
c.variableRate,
|
|
182
|
+
h,
|
|
183
|
+
u,
|
|
184
|
+
I,
|
|
185
|
+
[l],
|
|
186
|
+
t.getCurrentChainId()
|
|
187
|
+
), e = {
|
|
188
|
+
recipient: h,
|
|
189
|
+
mint: o === E ? void 0 : o
|
|
190
|
+
};
|
|
191
|
+
return {
|
|
192
|
+
relayAddress: u,
|
|
193
|
+
functionName: "transact",
|
|
194
|
+
args: {
|
|
195
|
+
proofAArr: x,
|
|
196
|
+
proofBArr: O,
|
|
197
|
+
proofCArr: K,
|
|
198
|
+
publicInputsArr: b,
|
|
199
|
+
encryptedOutputs: [l],
|
|
200
|
+
relayerFee: c.flatFee.toString(),
|
|
201
|
+
dimensions: I
|
|
202
|
+
},
|
|
203
|
+
accounts: e
|
|
204
|
+
};
|
|
205
|
+
})
|
|
206
|
+
);
|
|
207
|
+
n.push(...w);
|
|
208
|
+
}
|
|
209
|
+
return await it(t.getCurrentChainId(), n, m);
|
|
210
|
+
}, fo = async (t, o, g, c, m) => {
|
|
211
|
+
const a = m ?? await at(t.getCurrentChainId(), o, [o], _.Transact, [], 0n), p = await ct(t, o, g, a);
|
|
212
|
+
return await t.getEventsFromHinkal(), await t.resetMerkleTreesIfNecessary(), mt(t, o, p, a, c);
|
|
213
|
+
};
|
|
214
|
+
export {
|
|
215
|
+
fo as hinkalSolanaDepositAndWithdraw
|
|
216
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("@solana/web3.js"),f=require("../../constants/chains.constants.cjs"),S=require("../../functions/pre-transaction/sendV0Transaction.cjs"),g=require("../../functions/pre-transaction/solanaTransfer.utils.cjs"),h=require("../crypto-keys/keys.cjs"),w=require("../../functions/utils/create-provider.cjs"),P=async(s,a,i,e,r)=>{const n=s.getCurrentChainId(),o=h.UserKeys.getSignerAddressFromPrivateKey(n,e.privateKey),{fetchRpcUrl:t}=f.networkRegistry[n];if(!t)throw new Error("RPC URL not found for the specified chain ID");const c=w.createCustomSolanaConnection(t),d=new y.PublicKey(o),{instructions:l,programId:u}=await g.buildSolanaTransferInstructions(c,d,new y.PublicKey(r),a,i);return{connection:c,chainId:n,senderAddress:o,senderPublickey:d,programId:u,instructions:l}},b=async(s,a,i,e,r,n=!1)=>{if(n)throw new Error("onlyGasEstimate is not supported for Solana proxy send");const{connection:o,chainId:t,senderAddress:c,senderPublickey:d,programId:l,instructions:u}=await P(s,a,i,e,r);return S.sendProxyV0Transaction({connection:o,chainId:t,subAccount:e,payerPublicKey:d,instructions:u,convertParams:{fromAddress:c,toAddress:r,programAddress:l.toString()}})},p=async(s,a,i,e,r)=>{const{connection:n,senderPublickey:o,instructions:t}=await P(s,a,i,e,r);return S.serializeProxyV0Transaction(n,o,t)};exports.getSolanaProxySendSerializedTransaction=p;exports.hinkalSolanaProxySend=b;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ERC20Token } from '../../types/token.types';
|
|
2
|
+
import { IHinkal } from './IHinkal';
|
|
3
|
+
import { RelayerTransaction } from '../../types/relayer.types';
|
|
4
|
+
import { SubAccount } from '../../types/proxy.types';
|
|
5
|
+
export declare const hinkalSolanaProxySend: (hinkal: IHinkal, token: ERC20Token, tokenAmount: bigint, subAccount: SubAccount, recipientAddress: string, onlyGasEstimate?: boolean) => Promise<RelayerTransaction>;
|
|
6
|
+
export declare const getSolanaProxySendSerializedTransaction: (hinkal: IHinkal, token: ERC20Token, tokenAmount: bigint, subAccount: SubAccount, recipientAddress: string) => Promise<string>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { PublicKey as l } from "@solana/web3.js";
|
|
2
|
+
import { networkRegistry as p } from "../../constants/chains.constants.mjs";
|
|
3
|
+
import { sendProxyV0Transaction as u, serializeProxyV0Transaction as P } from "../../functions/pre-transaction/sendV0Transaction.mjs";
|
|
4
|
+
import { buildSolanaTransferInstructions as S } from "../../functions/pre-transaction/solanaTransfer.utils.mjs";
|
|
5
|
+
import { UserKeys as w } from "../crypto-keys/keys.mjs";
|
|
6
|
+
import { createCustomSolanaConnection as g } from "../../functions/utils/create-provider.mjs";
|
|
7
|
+
const f = async (s, i, a, n, o) => {
|
|
8
|
+
const r = s.getCurrentChainId(), e = w.getSignerAddressFromPrivateKey(r, n.privateKey), { fetchRpcUrl: t } = p[r];
|
|
9
|
+
if (!t)
|
|
10
|
+
throw new Error("RPC URL not found for the specified chain ID");
|
|
11
|
+
const c = g(t), d = new l(e), { instructions: m, programId: y } = await S(
|
|
12
|
+
c,
|
|
13
|
+
d,
|
|
14
|
+
new l(o),
|
|
15
|
+
i,
|
|
16
|
+
a
|
|
17
|
+
);
|
|
18
|
+
return {
|
|
19
|
+
connection: c,
|
|
20
|
+
chainId: r,
|
|
21
|
+
senderAddress: e,
|
|
22
|
+
senderPublickey: d,
|
|
23
|
+
programId: y,
|
|
24
|
+
instructions: m
|
|
25
|
+
};
|
|
26
|
+
}, K = async (s, i, a, n, o, r = !1) => {
|
|
27
|
+
if (r)
|
|
28
|
+
throw new Error("onlyGasEstimate is not supported for Solana proxy send");
|
|
29
|
+
const { connection: e, chainId: t, senderAddress: c, senderPublickey: d, programId: m, instructions: y } = await f(s, i, a, n, o);
|
|
30
|
+
return u({
|
|
31
|
+
connection: e,
|
|
32
|
+
chainId: t,
|
|
33
|
+
subAccount: n,
|
|
34
|
+
payerPublicKey: d,
|
|
35
|
+
instructions: y,
|
|
36
|
+
convertParams: {
|
|
37
|
+
fromAddress: c,
|
|
38
|
+
toAddress: o,
|
|
39
|
+
programAddress: m.toString()
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}, A = async (s, i, a, n, o) => {
|
|
43
|
+
const { connection: r, senderPublickey: e, instructions: t } = await f(
|
|
44
|
+
s,
|
|
45
|
+
i,
|
|
46
|
+
a,
|
|
47
|
+
n,
|
|
48
|
+
o
|
|
49
|
+
);
|
|
50
|
+
return P(r, e, t);
|
|
51
|
+
};
|
|
52
|
+
export {
|
|
53
|
+
A as getSolanaProxySendSerializedTransaction,
|
|
54
|
+
K as hinkalSolanaProxySend
|
|
55
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("@solana/spl-token"),h=require("@solana/web3.js"),f=require("../../constants/chains.constants.cjs"),b=require("../../constants/protocol.constants.cjs"),D=require("../../functions/utils/solanaMint.utils.cjs"),I=require("../../functions/utils/addresses.cjs"),N=require("../../error-handling/error-codes.constants.cjs"),S=require("../../functions/pre-transaction/solana.cjs"),O=require("@coral-xyz/anchor"),T=require("../../functions/pre-transaction/sendV0Transaction.cjs"),V=require("../crypto-keys/keys.cjs"),M=require("../../functions/utils/create-provider.cjs"),L=async({program:e,mintPublicKey:t,mintAddressString:n,tokenAmount:o,anchorStealthStructure:s,senderPublickey:i,originalDeployer:r,storageAccount:a,storageVault:d})=>{const u=new O.BN(o.toString()),l=S.getTokenLimitStorageAccountPublicKey(e.programId,r,t),g=n===b.solanaNativeAddress?null:t,c=n===b.solanaNativeAddress?null:void 0;return e.methods.prooflessDeposit(u,s).accounts({mint:g,signer:i,signerAta:c,originalDeployer:r,storageAccount:a,storageVault:d,tokenLimitStorage:l,storageVaultAta:c,accessTokenOwner:null}).instruction()},k=async(e,t,n,o,s)=>{const i=s??e.getRecipientInfo();if(!I.isValidPrivateAddress(i))throw Error(N.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);const r=e.getCurrentChainId(),a=V.UserKeys.getSignerAddressFromPrivateKey(r,o.privateKey),{hinkalIdl:d,hinkalAddress:u,originalDeployer:l}=f.networkRegistry[r].contractData;if(!d)throw new Error("No IDL configured for Solana program on this network");if(!l)throw new Error("missing original deployer");const g=e.getSolanaProgram(d),c=new h.PublicKey(l),y=new h.PublicKey(u),P=new h.PublicKey(a),{erc20TokenAddress:R}=t,{fetchRpcUrl:A}=f.networkRegistry[r];if(!A)throw new Error("RPC URL not found for the specified chain ID");const q=M.createCustomSolanaConnection(A),{mintPublicKey:w}=D.formatMintAddress(R),E=w.toString(),p=S.getStorageAccountPublicKey(y,c),K=S.getStorageVaultPublicKey(y,c),_=I.constructStealthAddressStructure(i),C=S.buildAnchorStealthAddressStructure(_),v=await L({program:g,mintPublicKey:w,mintAddressString:E,tokenAmount:n,anchorStealthStructure:C,senderPublickey:P,originalDeployer:c,storageAccount:p,storageVault:K}),x=t.is2022Program?m.TOKEN_2022_PROGRAM_ID:m.TOKEN_PROGRAM_ID;return{connection:q,chainId:r,senderAddress:a,senderPublickey:P,instructions:[v],storageAccount:p,programId:x}},z=async(e,t,n,o,s,i=!1)=>{if(i)throw new Error("onlyGasEstimate is not supported for Solana proxy shield");if(!o)throw new Error("subAccount is required");const{connection:r,senderPublickey:a,instructions:d,chainId:u,senderAddress:l,storageAccount:g,programId:c}=await k(e,t,n,o,s),y=s||g.toString();return T.sendProxyV0Transaction({connection:r,chainId:u,subAccount:o,payerPublicKey:a,instructions:d,convertParams:{fromAddress:l,toAddress:y,programAddress:c.toString()}})},G=async(e,t,n,o,s)=>{const{connection:i,senderPublickey:r,instructions:a}=await k(e,t,n,o,s);return T.serializeProxyV0Transaction(i,r,a)};exports.getSolanaProxyShieldSerializedTransaction=G;exports.hinkalSolanaProxyShield=z;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ERC20Token } from '../../types/token.types';
|
|
2
|
+
import { IHinkal } from './IHinkal';
|
|
3
|
+
import { RelayerTransaction } from '../../types/relayer.types';
|
|
4
|
+
import { SubAccount } from '../../types/proxy.types';
|
|
5
|
+
export declare const hinkalSolanaProxyShield: (hinkal: IHinkal, token: ERC20Token, tokenAmount: bigint, subAccount: SubAccount, recipientInfo?: string, onlyGasEstimate?: boolean) => Promise<RelayerTransaction>;
|
|
6
|
+
export declare const getSolanaProxyShieldSerializedTransaction: (hinkal: IHinkal, token: ERC20Token, tokenAmount: bigint, subAccount: SubAccount, recipientInfo?: string) => Promise<string>;
|