@hinkal/common 0.3.8 → 0.3.10
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/README.md +2 -8
- package/common/src/API/API.cjs +1 -1
- package/common/src/API/API.d.ts +4 -5
- package/common/src/API/API.mjs +79 -80
- package/common/src/API/dashboardTransactionCalls.cjs +1 -1
- package/common/src/API/dashboardTransactionCalls.d.ts +4 -1
- package/common/src/API/dashboardTransactionCalls.mjs +2 -2
- package/common/src/API/enclaveRecipientInfoCalls.d.ts +0 -2
- package/common/src/API/enclaveSignatureCalls.cjs +1 -1
- package/common/src/API/enclaveSignatureCalls.d.ts +2 -1
- package/common/src/API/enclaveSignatureCalls.mjs +5 -8
- package/common/src/API/enclaveUtxoCalls.cjs +1 -1
- package/common/src/API/enclaveUtxoCalls.d.ts +12 -8
- package/common/src/API/enclaveUtxoCalls.mjs +17 -20
- package/common/src/API/privateSendRecipientInfoCalls.cjs +1 -1
- package/common/src/API/privateSendRecipientInfoCalls.d.ts +3 -6
- package/common/src/API/privateSendRecipientInfoCalls.mjs +12 -6
- package/common/src/API/scheduled-transactions-calls.cjs +1 -1
- package/common/src/API/scheduled-transactions-calls.d.ts +1 -5
- package/common/src/API/scheduled-transactions-calls.mjs +2 -6
- package/common/src/constants/bridging.constants.cjs +1 -1
- package/common/src/constants/bridging.constants.d.ts +1 -0
- package/common/src/constants/bridging.constants.mjs +1 -1
- package/common/src/constants/chains.constants.cjs +1 -1
- package/common/src/constants/chains.constants.d.ts +18 -17
- package/common/src/constants/chains.constants.mjs +108 -89
- package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +2 -1
- package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-base.json.mjs +2 -1
- package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +2 -1
- package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +2 -1
- package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +2 -1
- package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +2 -1
- package/common/src/constants/events.constants.cjs +1 -1
- package/common/src/constants/events.constants.mjs +1 -16
- package/common/src/constants/protocol.constants.d.ts +1 -3
- package/common/src/constants/server.constants.cjs +1 -1
- package/common/src/constants/server.constants.d.ts +1 -4
- package/common/src/constants/server.constants.mjs +1 -4
- package/common/src/constants/tx-confirmation.constants.cjs +1 -1
- package/common/src/constants/tx-confirmation.constants.d.ts +1 -0
- package/common/src/constants/tx-confirmation.constants.mjs +2 -2
- package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/common/src/data-structures/Hinkal/Hinkal.d.ts +6 -9
- package/common/src/data-structures/Hinkal/Hinkal.mjs +129 -160
- package/common/src/data-structures/Hinkal/IHinkal.d.ts +5 -9
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +23 -23
- package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +10 -10
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +18 -18
- package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +3 -2
- package/common/src/data-structures/Hinkal/hinkalProxySend.cjs +1 -0
- package/common/src/data-structures/Hinkal/hinkalProxySend.d.ts +6 -0
- package/common/src/data-structures/Hinkal/hinkalProxySend.mjs +16 -0
- package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +44 -47
- package/common/src/data-structures/Hinkal/hinkalSolanaTransact.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaTransact.mjs +2 -2
- package/common/src/data-structures/Hinkal/hinkalTransact.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransact.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +4 -4
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +101 -94
- package/common/src/data-structures/Hinkal/index.d.ts +0 -1
- package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/activity-db.mjs +34 -34
- package/common/src/data-structures/IndexedDB/index.cjs +1 -1
- package/common/src/data-structures/IndexedDB/index.d.ts +1 -0
- package/common/src/data-structures/IndexedDB/index.mjs +1 -0
- package/common/src/data-structures/IndexedDB/scheduled-transactions-db.cjs +1 -0
- package/common/src/data-structures/IndexedDB/scheduled-transactions-db.d.ts +11 -0
- package/common/src/data-structures/IndexedDB/scheduled-transactions-db.mjs +34 -0
- package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/signatures-db.mjs +11 -11
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +18 -19
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +11 -11
- package/common/src/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -1
- package/common/src/data-structures/event-service/helpers/ClientEventHelper.mjs +6 -6
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.d.ts +1 -0
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +79 -75
- package/common/src/data-structures/provider-adapter/IProviderAdapter.d.ts +1 -4
- package/common/src/error-handling/error-codes.constants.cjs +1 -1
- package/common/src/error-handling/error-codes.constants.d.ts +6 -0
- package/common/src/error-handling/error-codes.constants.mjs +10 -4
- package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.cjs +1 -1
- package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.mjs +7 -6
- package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -1
- package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +8 -8
- package/common/src/functions/index.cjs +1 -1
- package/common/src/functions/index.mjs +1 -2
- package/common/src/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
- package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +12 -12
- package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.helpers.mjs +13 -13
- package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +13 -13
- package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +4 -4
- package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +5 -5
- package/common/src/functions/snarkjs/constructTxEnclave.cjs +1 -1
- package/common/src/functions/snarkjs/constructTxEnclave.d.ts +1 -1
- package/common/src/functions/snarkjs/constructTxEnclave.mjs +61 -133
- package/common/src/functions/snarkjs/constructTxEnclaveVerify.cjs +1 -0
- package/common/src/functions/snarkjs/constructTxEnclaveVerify.d.ts +5 -0
- package/common/src/functions/snarkjs/constructTxEnclaveVerify.mjs +295 -0
- package/common/src/functions/utils/addresses.cjs +1 -1
- package/common/src/functions/utils/addresses.d.ts +1 -0
- package/common/src/functions/utils/addresses.mjs +13 -12
- package/common/src/functions/utils/bridge-arrival.utils.cjs +1 -1
- package/common/src/functions/utils/bridge-arrival.utils.mjs +12 -11
- package/common/src/functions/utils/create-provider.cjs +1 -1
- package/common/src/functions/utils/create-provider.mjs +4 -1
- package/common/src/functions/utils/enclave-recipient-info-storage.cjs +1 -1
- package/common/src/functions/utils/enclave-recipient-info-storage.d.ts +4 -1
- package/common/src/functions/utils/enclave-recipient-info-storage.mjs +1 -0
- package/common/src/functions/utils/enclave-signature-storage.cjs +1 -1
- package/common/src/functions/utils/enclave-signature-storage.d.ts +1 -1
- package/common/src/functions/utils/enclave-signature-storage.mjs +3 -3
- package/common/src/functions/utils/enclave-utxo-storage.cjs +1 -1
- package/common/src/functions/utils/enclave-utxo-storage.d.ts +3 -3
- package/common/src/functions/utils/enclave-utxo-storage.mjs +8 -5
- package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
- package/common/src/functions/utils/encryptInputForEnclave.d.ts +8 -0
- package/common/src/functions/utils/encryptInputForEnclave.mjs +43 -23
- package/common/src/functions/utils/erc20tokenFunctions.cjs +1 -1
- package/common/src/functions/utils/erc20tokenFunctions.mjs +2 -15
- package/common/src/functions/utils/fees.utils.cjs +1 -1
- package/common/src/functions/utils/fees.utils.mjs +6 -6
- package/common/src/functions/utils/index.cjs +1 -1
- package/common/src/functions/utils/index.d.ts +1 -0
- package/common/src/functions/utils/index.mjs +3 -3
- package/common/src/functions/utils/ipfs.d.ts +2 -3
- package/common/src/functions/utils/lifi.utils.d.ts +2 -0
- package/common/src/functions/utils/nearIntents.utils.cjs +1 -1
- package/common/src/functions/utils/nearIntents.utils.mjs +6 -6
- package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
- package/common/src/functions/utils/publicBalance.utils.mjs +9 -10
- package/common/src/functions/utils/temporary-wallet-recovery.utils.cjs +1 -0
- package/common/src/functions/utils/temporary-wallet-recovery.utils.d.ts +7 -0
- package/common/src/functions/utils/temporary-wallet-recovery.utils.mjs +10 -0
- package/common/src/functions/utils/tron.utils.cjs +1 -1
- package/common/src/functions/utils/tron.utils.mjs +16 -29
- package/common/src/functions/utils/tx-confirmation.utils.cjs +1 -1
- package/common/src/functions/utils/tx-confirmation.utils.d.ts +1 -0
- package/common/src/functions/utils/tx-confirmation.utils.mjs +16 -13
- package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
- package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +5 -5
- package/common/src/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
- package/common/src/functions/web3/events/getInputUtxosEnclave.d.ts +1 -1
- package/common/src/functions/web3/events/getInputUtxosEnclave.mjs +19 -11
- package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
- package/common/src/functions/web3/events/getShieldedBalance.d.ts +4 -4
- package/common/src/functions/web3/events/getShieldedBalance.mjs +113 -102
- package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +16 -16
- package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
- package/common/src/providers/SolanaProviderAdapter.d.ts +1 -4
- package/common/src/providers/SolanaProviderAdapter.mjs +3 -6
- package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
- package/common/src/providers/WagmiProviderAdapter.mjs +5 -5
- package/common/src/types/cache.types.cjs +1 -1
- package/common/src/types/cache.types.d.ts +2 -1
- package/common/src/types/cache.types.mjs +1 -1
- package/common/src/types/enclaveApi.types.d.ts +2 -3
- package/common/src/types/ethereum-network.types.d.ts +1 -0
- package/common/src/types/events.types.d.ts +1 -0
- package/common/src/types/near-intents.types.d.ts +1 -0
- package/common/src/types/remote-proof.types.d.ts +5 -0
- package/common/src/types/remote-tx-build.types.d.ts +37 -4
- package/common/src/types/scheduled-transactions.types.d.ts +18 -0
- package/common/src/types/solana.types.d.ts +0 -3
- package/common/src/webworker/{logError-RKYfeI6h.js → logError-CIIt1CO3.js} +1 -1
- package/common/src/webworker/package.json +5 -6
- package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/utxoWorkerNode.cjs +1 -1
- package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
- package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
- package/common/src/webworker/workerProxy-BHzCZ9HT.js +1 -0
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
- package/package.json +5 -6
- package/services/Hinkal.cjs +1 -1
- package/services/Hinkal.d.ts +6 -2
- package/services/Hinkal.mjs +9 -4
- package/types/IHinkal.d.ts +6 -2
- package/common/src/API/evm-token-assets.cjs +0 -1
- package/common/src/API/evm-token-assets.mjs +0 -20
- package/common/src/API/getAnyRecipientInfo.d.ts +0 -1
- package/common/src/API/solana-nft-assets.cjs +0 -1
- package/common/src/API/solana-nft-assets.mjs +0 -11
- package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredProxySend.d.ts +0 -5
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +0 -109
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +0 -94
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +0 -134
- package/common/src/data-structures/TokenDBs/PublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/PublicTokensDB.mjs +0 -32
- package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.mjs +0 -37
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +0 -51
- package/common/src/data-structures/TokenDBs/index.cjs +0 -1
- package/common/src/data-structures/TokenDBs/index.mjs +0 -6
- package/common/src/functions/utils/ipfs.cjs +0 -1
- package/common/src/functions/utils/ipfs.mjs +0 -1
- package/common/src/functions/utils/reloadPage.cjs +0 -1
- package/common/src/functions/utils/reloadPage.mjs +0 -4
- package/common/src/webworker/workerProxy-COB7g4Qc.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`ethers`);var l=function(e){return e.DEVELOPMENT=`development`,e.PLAYGROUND=`playground`,e.PRODUCTION=`production`,e.STAGING=`staging`,e}({});l.DEVELOPMENT,l.PLAYGROUND,l.STAGING;var u=typeof process<`u`&&process?.release?.name===`node`,d=typeof process<`u`&&process.versions!=null&&process.versions.node!=null,ee=typeof __webpack_require__<`u`;typeof window<`u`&&window?.location?.protocol;var f=l.PRODUCTION,p=f===l.DEVELOPMENT,m=f===l.PLAYGROUND,h=f===l.STAGING||p||m,g=typeof navigator<`u`&&navigator.product===`ReactNative`,_=h||u&&f===l.PRODUCTION,v=function(e){return e.Wallet=`wallet`,e.Pay=`pay`,e.Dashboard=`dashboard`,e.Bridge=`bridge`,e}({}),y=function(e){return e.Mainnet=`Mainnet`,e.Testnet=`Testnet`,e.Local=`Local`,e}({}),te={hinkalAddress:`0x7cb60446d7635C68EDf1c568cac74A1f98c1Cfa4`,hinkalHelperAddress:`0x6Fac96fc379eFEFB0E6c90CF2480d756F37D8d12`,depositOnChainUtxosExternalActionAddress:`0x0e763c56f1f58Ad85590394522B42019fb353EcC`,hinkalWrapperAddress:`0x2AE2C150c7CFE6662d13Ba9d8f8C1E9b271fEEc1`,emporiumAddress:`0x3f868DA5A511C36473A8B4e0851b1aA36d9a19D0`,hinkalWalletAddress:`0x4a2b15BCAb735c097758cc41522BbCd41897175A`,lifiExternalActionInstanceAddress:`0x8e825f8953B864D20f2A37fdae4EDBa4A6Db7435`,timelockAddress:`0x4c1c127ED7785035A51ce1DA415e6643B911622F`},ne={hinkalAddress:`0x7cb60446d7635C68EDf1c568cac74A1f98c1Cfa4`,hinkalHelperAddress:`0xF1EaA4cC2BB9b84459d6467AeA81d77F13823592`,depositOnChainUtxosExternalActionAddress:`0x5c678009c53b154dE1baE9a0b6daE5eB9cE902B0`,hinkalWrapperAddress:`0x0fAb8C78cC588D2dc2B96971685747FC980c08fb`,emporiumAddress:`0x0AEcD18E04FB5263155476059fDcAA41a8efF0F9`,hinkalWalletAddress:`0xb34e79F356aBd059DF1B1ef0A136Db65f6659e49`,lifiExternalActionInstanceAddress:`0x93A4b8A37B0282e01340f827b92854B1cf956E29`,timelockAddress:`0x65C649917Df3359FbADdf262adb8Aa8e486897c0`},re={hinkalAddress:`0x7cb60446d7635C68EDf1c568cac74A1f98c1Cfa4`,hinkalHelperAddress:`0x5f912cBBB7F14E4524faAe8559666e7C79227C1b`,depositOnChainUtxosExternalActionAddress:`0x6D9e70F10b93a0E81ae643d0365B517D921ed60d`,hinkalWrapperAddress:`0x6998fE93f3a3AbDb31df1922EB91BC282F42aa1d`,emporiumAddress:`0x795884e56c58D4fF1B26Eb1494F39FcfB38917a1`,hinkalWalletAddress:`0xB24043ebDC72ddC1923ec749cFBDFbEfF3FC82f6`,lifiExternalActionInstanceAddress:`0xfF0b792E9833B8aFb8BDE1f6695717e1A87968A3`,timelockAddress:`0xF04310839973454155d9886a4023451F8D3Db7D0`},ie={hinkalAddress:`0x25BBb093BA3cB978a5C00C31fFaC8Fdc343535cF`,hinkalHelperAddress:`0x1d9a22704Cf651184c754B127d51fad80e4887f0`,hinkalWrapperAddress:`0x214D8a8Bc9f671a35deA7e896F1ae1c2f6861b3B`,emporiumAddress:`0xdC677d309D86872B3350E01473B4Cf0D6B0806FE`,hinkalWalletAddress:`0x4B80DDB181bE35A64d378cfd2429ED9F8b6AE6fD`,lifiExternalActionInstanceAddress:`0x8b474575F5138E236474e2f42395c8a803B2487A`,depositOnChainUtxosExternalActionAddress:`0x120478B9643CA3b708D1e06b5dFdC5C727C5A3b4`,timelockAddress:`0xDFaFA4F3Db041546C999B28533FA6B8b7AD474eA`},ae={hinkalAddress:`0x5395d371491b87F656280Ca29b584185Bdc83580`,hinkalHelperAddress:`0xb66469a26C737aCA04128AfEb2AA9be2034f5E76`,hinkalWrapperAddress:`0x4360b2416c77e3a02a0d28Bc1Eed341CB6885f73`,emporiumAddress:`0x9B234163a3b6d315d402e48262Fb411316d7a1F7`,hinkalWalletAddress:`0xFd40a90A71Af2ad674AC38a605c3A8e87582fdC9`},oe={hinkalAddress:`0x7cb60446d7635C68EDf1c568cac74A1f98c1Cfa4`,hinkalHelperAddress:`0x3CD1C92D7D9eAC7a7cf5C39f24ebA044359e1bAC`,depositOnChainUtxosExternalActionAddress:`0x35AfB32e5a7d907f2ca0C8C37808A9274B96A198`,hinkalWrapperAddress:`0xeA179De69AcFcDD1Da5437E70339450bB96Ea5FE`,emporiumAddress:`0x658a7a12A45f59F9c2bB7a5d5A3bb733d9155d24`,hinkalWalletAddress:`0x95Da9777f9fb8d8500592E351676Aa9B560E5956`,lifiExternalActionInstanceAddress:`0xC071C85B373a104Bd4852CBA4f3eaa3c8F5Fb882`,timelockAddress:`0x2296772D624A55e40acf657d4D31E603A6c2c342`},se={hinkalAddress:`0x7cb60446d7635C68EDf1c568cac74A1f98c1Cfa4`,hinkalHelperAddress:`0xf6aFE2Cb1d4b108D14ec89e23999719328B63746`,depositOnChainUtxosExternalActionAddress:`0x6aD588Db8687516E626b037F7a4bc754D8f7d5B1`,hinkalWrapperAddress:`0xEa1765Cc8d3aEB2A3bf5365a7Fa8451597CA9153`,emporiumAddress:`0xf66D101962E20cb49c4934F9fbb43eb7ef75F4cC`,hinkalWalletAddress:`0x2Be66fdF3F0F1A93dce0450074ecb77c44CdC42B`,lifiExternalActionInstanceAddress:`0x3CD1C92D7D9eAC7a7cf5C39f24ebA044359e1bAC`,timelockAddress:`0xeD5545E21cAf6D85BA2fA09277466286001C2539`},b={hinkalAddress:`0x13b65FA5375af51A12762499602bE7B92afB8CD6`,hinkalHelperAddress:`0x6D5DFa6Ec97bF1Da5396033F305dFA8575c1f5a7`,emporiumAddress:`0x23A64eF68de98C6Cf01e3A5202d47a3bcee6f920`,hinkalWalletFactoryAddress:`0xD0b3FF7e99dcD6058362c7B0894DBB34723D1bfA`,hinkalWalletBeaconAddress:`0x85f525996478fe87e265dfdb99e6C3ebE2D6E876`},x={hinkalAddress:`0x7cb60446d7635C68EDf1c568cac74A1f98c1Cfa4`,hinkalHelperAddress:`0x385C83d0A80AfcD23B508D4602f576F09f15097b`,depositOnChainUtxosExternalActionAddress:`0xf2c1e80Fc268AfC50f45145Bd0D97c756D7C2014`,hinkalWrapperAddress:`0xC39A087096430Dd12d288227d7dA749D8Db8c669`,emporiumAddress:`0x70F48817aaE2Bb9dD042D4Ea46ECfe1C168ed3e0`,hinkalWalletAddress:`0x987F7979617361e002E91071978be99D10abeB80`,lifiExternalActionInstanceAddress:`0x8a7f66eCb18aBbe272BD50A04768D88191D84961`},S={hinkalAddress:`0x1858c7E127877430EbEc27D112F319C7091add33`,hinkalHelperAddress:`0x83927CF3049DEA065dB50e6B08aA5A136b70C95b`,depositOnChainUtxosExternalActionAddress:`0xFA3164c6beA5c21d86E14348854d51B08032da2A`,hinkalWrapperAddress:`0x74aFF37065ae1044158A3535248402Ff8FcF90e9`},C={hinkalAddress:`8LLNFE62Lr9rJLvmPsTsFttrcmwYrEykZwvpyYDW4Nc2`,originalDeployer:`8xzyYDbvfpqYEGekNsm6KDyNXJybTLJhBWBQwabsZN49`},w={hinkalAddress:`0x9046b44155bbf6aa991e86cc30451c4c1c73eb74`,hinkalHelperAddress:`0x4ca5f085914836d11f591769e71a018128759d92`},T={hinkalAddress:`0x2bf3af0ffb6f0b8cdc649d11c91953f700733b17`,hinkalHelperAddress:`0xef3b0c95e5a235ac8d5d4545eee02cf41b572459`},E={hinkalAddress:`0x7cb60446d7635C68EDf1c568cac74A1f98c1Cfa4`,hinkalHelperAddress:`0x617c6124f2641787907A2216614177356DC1e2F1`,depositOnChainUtxosExternalActionAddress:`0x5c678009c53b154dE1baE9a0b6daE5eB9cE902B0`,hinkalWrapperAddress:`0x0B790C436B7A277f24A7f43D74c44db1a56f2A36`,emporiumAddress:`0x94bF69507085a33028Aa111046B85cA1b6846aA3`,hinkalWalletAddress:`0xd05B85a7C2fA4d99C48145eF25e87C2a68826B70`,lifiExternalActionInstanceAddress:`0x894b2a0498840FDdf6519a2a1FAD4AfF0250A5f7`},D=e=>JSON.parse(new c.ethers.Interface(e).formatJson()),O=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[e,D(t)])),k={hinkalABI:`constructor(tuple(uint128 levels, address poseidon2, address poseidon4) constructorArgs, address _hinkalHelper, address _hinkalHelperManager).event BlockedUtxosCreated().event BufferReleased(address approvalTarget, address tokenAddress, uint256 inHinkalAddress).event ExternalActionRegistered(address externalActionAddress).event NewBufferEntry(address approvalTarget, address tokenAddress, uint256 amount, uint256 inHinkalAddress).event NewCommitment(uint256 commitment, int256 index, bytes encryptedOutput).event NewTransaction(address sender, uint256 timestamp, address erc20TokenAddress, int256 publicAmount).event NewUtxo(uint256 amount, address erc20Address, uint256 randomization, uint256 stealthAddress, uint256 timeStamp).event Nullified(uint256 nullifier).event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner).event OwnershipTransferred(address indexed previousOwner, address indexed newOwner).event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole).event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender).event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender).event VerifierRegistered(uint256 verifierId, address verifierAddress).event VerifierRemoved(uint256 verifierId).function DEFAULT_ADMIN_ROLE() view returns (bytes32).function HINKAL_HELPER_MANAGER() view returns (bytes32).function acceptOwnership().function buildVerifierId(tuple(uint16 tokenNumber, uint16 nullifierAmount, uint16 outputAmount) dimensions, uint256 externalActionId) pure returns (uint256).function externalActionMap(uint256) view returns (address).function getRoleAdmin(bytes32 role) view returns (bytes32).function getRootHash() view returns (uint256).function grantRole(bytes32 role, address account).function hasRole(bytes32 role, address account) view returns (bool).function hash2(uint256 a, uint256 b) view returns (uint256 poseidonHash).function hash4(uint256 a0, uint256 a1, uint256 a2, uint256 a3) view returns (uint256 poseidonHash).function hinkalHelper() view returns (address).function logarithm2(uint256 x) pure returns (uint256 y).function m_index() view returns (uint256).function nullifiers(uint256) view returns (bool).function onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) pure returns (bytes4).function onERC1155Received(address, address, uint256, uint256, bytes) pure returns (bytes4).function onERC721Received(address, address, uint256, bytes) pure returns (bytes4).function owner() view returns (address).function pendingOwner() view returns (address).function poseidon2() view returns (address).function poseidon4() view returns (address).function prooflessDeposit(address[] erc20Addresses, uint256[] amounts, tuple(uint256 H0x, uint256 H0y, uint256 H1x, uint256 H1y, uint256 stealthAddress)[] stealthAddressStructures, bytes[] onChainEncryptedOutputs, bool createBlockedUtxos, string orderId) payable.function registerExternalAction(uint256 externalActionId, address externalActionAddress).function registerVerifiers(uint256[] verifierIds, address[] verifierAddresses).function removeVerifier(uint256 verifierId).function renounceOwnership() view.function renounceRole(bytes32 role, address account).function revokeRole(bytes32 role, address account).function rootHashExists(uint256 _root, uint256 _rootIndex) view returns (bool).function roots(uint256) view returns (uint256).function setHinkalHelper(address _hinkalHelper).function supportsInterface(bytes4 interfaceId) view returns (bool).function transact(uint256[2] a, uint256[2][2] b, uint256[2] c, tuple(uint16 tokenNumber, uint16 nullifierAmount, uint16 outputAmount) dimensions, tuple(uint256 rootHashHinkal, uint256 rootHashHinkalIndex, address[] erc20TokenAddresses, int256[] amountChanges, uint256[][] inputNullifiers, uint256[][] outCommitments, bytes[][] encryptedOutputs, bytes onChainEncryptedOutput, bool[] onChainCreation, int256[] slippageValues, tuple(address feeToken, uint256 flatFee, uint256 variableRate) feeStructure, tuple(uint256 H0x, uint256 H0y, uint256 H1x, uint256 H1y, uint256 stealthAddress) stealthAddressStructure, uint256 timeStamp, uint256 calldataHash, uint256 emporiumMessage, uint16 publicSignalCount, address relay, tuple(address externalAddress, uint256 externalActionId, bytes externalActionMetadata) externalActionData, tuple(address preHookContract, address postHookContract, bytes preHookMetadata, bytes postHookMetadata) hookData, address originalSender, bytes extraData) circomData) payable.function transferOwnership(address newOwner).function tree(uint256) view returns (uint256).function verifierMap(uint256) view returns (address)`.split(`.`),hinkalHelperABI:[`constructor(address[] _initialRelays)`,`event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)`,`event RelayAdded(address relayAddress)`,`event RelayRemoved(address relayAddress)`,`function MAX_AMOUNT() view returns (int256)`,`function MAX_LEAVES_PD() view returns (uint256)`,`function addRelay(address _relayAddress)`,`function calculateRelayFee(uint256 balance, uint256 flatFee, uint256 variableRate) pure returns (uint256 relayFee)`,`function getRelayStore() view returns (address[])`,`function hinkalAddress() view returns (address)`,`function isRelayInList(address relayAddress) view returns (bool)`,`function owner() view returns (address)`,`function performHinkalChecks(tuple(uint256 rootHashHinkal, uint256 rootHashHinkalIndex, address[] erc20TokenAddresses, int256[] amountChanges, uint256[][] inputNullifiers, uint256[][] outCommitments, bytes[][] encryptedOutputs, bytes onChainEncryptedOutput, bool[] onChainCreation, int256[] slippageValues, tuple(address feeToken, uint256 flatFee, uint256 variableRate) feeStructure, tuple(uint256 H0x, uint256 H0y, uint256 H1x, uint256 H1y, uint256 stealthAddress) stealthAddressStructure, uint256 timeStamp, uint256 calldataHash, uint256 emporiumMessage, uint16 publicSignalCount, address relay, tuple(address externalAddress, uint256 externalActionId, bytes externalActionMetadata) externalActionData, tuple(address preHookContract, address postHookContract, bytes preHookMetadata, bytes postHookMetadata) hookData, address originalSender, bytes extraData) circomData, tuple(uint16 tokenNumber, uint16 nullifierAmount, uint16 outputAmount) dimensions, address sender) view returns (uint256[])`,`function performProoflessDepositChecks(address[] erc20Addresses, uint256[] amounts, tuple(uint256 H0x, uint256 H0y, uint256 H1x, uint256 H1y, uint256 stealthAddress)[] stealthAddressStructures, bytes[] onChainEncryptedOutputs) view`,`function performSideEffects(tuple(uint256 rootHashHinkal, uint256 rootHashHinkalIndex, address[] erc20TokenAddresses, int256[] amountChanges, uint256[][] inputNullifiers, uint256[][] outCommitments, bytes[][] encryptedOutputs, bytes onChainEncryptedOutput, bool[] onChainCreation, int256[] slippageValues, tuple(address feeToken, uint256 flatFee, uint256 variableRate) feeStructure, tuple(uint256 H0x, uint256 H0y, uint256 H1x, uint256 H1y, uint256 stealthAddress) stealthAddressStructure, uint256 timeStamp, uint256 calldataHash, uint256 emporiumMessage, uint16 publicSignalCount, address relay, tuple(address externalAddress, uint256 externalActionId, bytes externalActionMetadata) externalActionData, tuple(address preHookContract, address postHookContract, bytes preHookMetadata, bytes postHookMetadata) hookData, address originalSender, bytes extraData))`,`function relayStore(uint256) view returns (address)`,`function removeRelay(address _relayAddress)`,`function renounceOwnership()`,`function setHinkalAddress(address _hinkalAddress)`,`function transferOwnership(address newOwner)`],hinkalWrapperABI:[`constructor(address _hinkal)`,`event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)`,`event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)`,`function acceptOwnership()`,`function onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) pure returns (bytes4)`,`function onERC1155Received(address, address, uint256, uint256, bytes) pure returns (bytes4)`,`function onERC721Received(address, address, uint256, bytes) pure returns (bytes4)`,`function owner() view returns (address)`,`function pendingOwner() view returns (address)`,`function prooflessDeposit(address[] erc20Addresses, uint256[] amounts, tuple(uint256 H0x, uint256 H0y, uint256 H1x, uint256 H1y, uint256 stealthAddress)[] stealthAddressStructures, bytes[] onChainEncryptedOutputs, bool createBlockedUtxos, tuple(address feeRecipient, address feeToken, uint256 feeAmount) feeStructure, string orderId) payable`,`function renounceOwnership() view`,`function setHinkalAddress(address _hinkal)`,`function supportsInterface(bytes4 _interfaceId) view returns (bool)`,`function transferOwnership(address newOwner)`],depositOnChainUtxosExternalActionABI:[`constructor(address[] _allowedRecipients)`,`event BlockedUtxosCreated()`,`event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)`,`event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)`,`function acceptOwnership()`,`function onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) pure returns (bytes4)`,`function onERC1155Received(address, address, uint256, uint256, bytes) pure returns (bytes4)`,`function onERC721Received(address, address, uint256, bytes) pure returns (bytes4)`,`function owner() view returns (address)`,`function pendingOwner() view returns (address)`,`function renounceOwnership() view`,`function runAction(tuple(uint256 rootHashHinkal, uint256 rootHashHinkalIndex, address[] erc20TokenAddresses, int256[] amountChanges, uint256[][] inputNullifiers, uint256[][] outCommitments, bytes[][] encryptedOutputs, bytes onChainEncryptedOutput, bool[] onChainCreation, int256[] slippageValues, tuple(address feeToken, uint256 flatFee, uint256 variableRate) feeStructure, tuple(uint256 H0x, uint256 H0y, uint256 H1x, uint256 H1y, uint256 stealthAddress) stealthAddressStructure, uint256 timeStamp, uint256 calldataHash, uint256 emporiumMessage, uint16 publicSignalCount, address relay, tuple(address externalAddress, uint256 externalActionId, bytes externalActionMetadata) externalActionData, tuple(address preHookContract, address postHookContract, bytes preHookMetadata, bytes postHookMetadata) hookData, address originalSender, bytes extraData) circomData, int256[] deltaAmounts) returns (tuple(uint256 amount, address erc20Address, tuple(uint256 H0x, uint256 H0y, uint256 H1x, uint256 H1y, uint256 stealthAddress) stealthAddressStructure, uint256 timeStamp)[] utxoSet)`,`function setAllowedRecipients(address[] recipients)`,`function supportsInterface(bytes4 _interfaceId) view returns (bool)`,`function transferOwnership(address newOwner)`]},A={hinkalIdl:JSON.parse(`{"address":"8LLNFE62Lr9rJLvmPsTsFttrcmwYrEykZwvpyYDW4Nc2","metadata":{"name":"hinkal","version":"0.1.0","spec":"0.1.0","description":"Created with Anchor"},"instructions":[{"name":"accept_ownership","discriminator":[172,23,43,13,238,213,85,150],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}}],"args":[]},{"name":"close_nullifier","discriminator":[162,69,214,3,121,155,58,219],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"nullifier_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,110,117,108,108,105,102,105,101,114]},{"kind":"account","path":"original_deployer"},{"kind":"arg","path":"nullifier"}]}},{"name":"storage_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"nullifier","type":{"array":["u8",32]}}]},{"name":"init_nullifier","discriminator":[187,124,88,139,111,232,162,236],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"nullifier_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,110,117,108,108,105,102,105,101,114]},{"kind":"account","path":"original_deployer"},{"kind":"arg","path":"nullifier"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"nullifier","type":{"array":["u8",32]}}]},{"name":"initialize","discriminator":[175,175,109,31,13,152,155,237],"accounts":[{"name":"original_deployer","writable":true,"signer":true},{"name":"storage_vault","docs":["zero-length PDA owned by the system program that only stores lamports"],"writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[]},{"name":"multi_payment_deposit","discriminator":[70,64,60,132,3,67,69,74],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"root_bucket_current","writable":true},{"name":"root_bucket_next","writable":true,"optional":true},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"amounts","type":{"vec":"u64"}},{"name":"stealth_address_structure","type":{"vec":{"defined":{"name":"StealthAddressStructure"}}}},{"name":"encrypted_blobs","type":{"vec":"bytes"}},{"name":"create_blocked_utxos","type":"bool"}]},{"name":"multi_payment_deposit_at","discriminator":[20,97,177,53,252,2,24,176],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"root_bucket_current","writable":true},{"name":"root_bucket_next","writable":true,"optional":true},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"amounts","type":{"vec":"u64"}},{"name":"stealth_address_structure","type":{"vec":{"defined":{"name":"StealthAddressStructure"}}}},{"name":"encrypted_blobs","type":{"vec":"bytes"}},{"name":"create_blocked_utxos","type":"bool"},{"name":"timestamp","type":{"option":"i64"}}]},{"name":"proofless_deposit","discriminator":[238,63,30,216,109,36,109,123],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"root_bucket_current","writable":true},{"name":"root_bucket_next","writable":true,"optional":true},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"amount","type":"u64"},{"name":"stealth_address_structure","type":{"defined":{"name":"StealthAddressStructure"}}},{"name":"encrypted_blob","type":"bytes"},{"name":"create_blocked_utxos","type":"bool"}]},{"name":"store_encrypted_outputs","discriminator":[119,158,243,225,12,25,29,85],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"encrypted_outputs_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"encrypted_output","type":"bytes"},{"name":"on_chain_encrypted_output","type":"bytes"},{"name":"output_index","type":"u8"},{"name":"output_count","type":"u8"}]},{"name":"store_instructions","discriminator":[74,235,173,153,203,64,250,122],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"instructions_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,105,110,115,116,114,117,99,116,105,111,110,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"instructions","type":{"vec":{"defined":{"name":"SolanaInstructionData"}}}}]},{"name":"store_proof_part1","discriminator":[174,144,197,114,7,196,154,191],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"proof_account_part1","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"proof_a_arr","type":{"array":["u8",64]}},{"name":"proof_b_arr","type":{"array":["u8",128]}},{"name":"proof_c_arr","type":{"array":["u8",64]}},{"name":"public_signals_part1","type":{"vec":{"array":["u8",32]}}}]},{"name":"store_proof_part2","discriminator":[32,225,73,0,60,163,213,158],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"proof_account_part2","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"public_signals_part2","type":{"vec":{"array":["u8",32]}}}]},{"name":"swap2","discriminator":[65,75,63,76,235,91,91,136],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"swapper_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,115,119,97,112,112,101,114]},{"kind":"account","path":"original_deployer"},{"kind":"arg","path":"swapper_account_additional_seed"}]}},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint_from","optional":true},{"name":"mint_to","optional":true},{"name":"signer_to_ata","writable":true,"optional":true},{"name":"storage_vault_from_ata","writable":true,"optional":true},{"name":"storage_vault_to_ata","writable":true,"optional":true},{"name":"swapper_account_from_ata","writable":true,"optional":true},{"name":"swapper_account_to_ata","writable":true,"optional":true},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"root_bucket_verify","writable":true},{"name":"root_bucket_current","writable":true},{"name":"root_bucket_next","writable":true,"optional":true},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"third_nullifier","writable":true,"optional":true},{"name":"fourth_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"instructions_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,105,110,115,116,114,117,99,116,105,111,110,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority","pda":{"seeds":[{"kind":"const","value":[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{"name":"program"}],"args":[{"name":"id","type":"u32"},{"name":"swapper_account_additional_seed","type":{"array":["u8",32]}},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"variable_rate","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}},{"name":"root_hash_index","type":{"array":["u8",32]}}]},{"name":"swap6","discriminator":[99,72,77,24,113,171,250,215],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"swapper_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,115,119,97,112,112,101,114]},{"kind":"account","path":"original_deployer"},{"kind":"arg","path":"swapper_account_additional_seed"}]}},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint_from","optional":true},{"name":"mint_to","optional":true},{"name":"signer_to_ata","writable":true,"optional":true},{"name":"storage_vault_from_ata","writable":true,"optional":true},{"name":"storage_vault_to_ata","writable":true,"optional":true},{"name":"swapper_account_from_ata","writable":true,"optional":true},{"name":"swapper_account_to_ata","writable":true,"optional":true},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"root_bucket_verify","writable":true},{"name":"root_bucket_current","writable":true},{"name":"root_bucket_next","writable":true,"optional":true},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"third_nullifier","writable":true,"optional":true},{"name":"fourth_nullifier","writable":true,"optional":true},{"name":"fifth_nullifier","writable":true,"optional":true},{"name":"sixth_nullifier","writable":true,"optional":true},{"name":"seventh_nullifier","writable":true,"optional":true},{"name":"eighth_nullifier","writable":true,"optional":true},{"name":"nineth_nullifier","writable":true,"optional":true},{"name":"tenth_nullifier","writable":true,"optional":true},{"name":"eleventh_nullifier","writable":true,"optional":true},{"name":"twelveth_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"instructions_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,105,110,115,116,114,117,99,116,105,111,110,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority","pda":{"seeds":[{"kind":"const","value":[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{"name":"program"}],"args":[{"name":"id","type":"u32"},{"name":"swapper_account_additional_seed","type":{"array":["u8",32]}},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"variable_rate","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}},{"name":"root_hash_index","type":{"array":["u8",32]}}]},{"name":"transact2","discriminator":[147,170,237,9,83,181,181,81],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"recipient","writable":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"recipient_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"recipient"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"root_bucket_verify","writable":true},{"name":"root_bucket_current","writable":true},{"name":"root_bucket_next","writable":true,"optional":true},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"forbid_deposit","type":"bool"},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}},{"name":"root_hash_index","type":{"array":["u8",32]}}]},{"name":"transact6","discriminator":[141,202,39,130,160,18,56,118],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"recipient","writable":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"recipient_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"recipient"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"root_bucket_verify","writable":true},{"name":"root_bucket_current","writable":true},{"name":"root_bucket_next","writable":true,"optional":true},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"third_nullifier","writable":true,"optional":true},{"name":"fourth_nullifier","writable":true,"optional":true},{"name":"fifth_nullifier","writable":true,"optional":true},{"name":"sixth_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"forbid_deposit","type":"bool"},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}},{"name":"root_hash_index","type":{"array":["u8",32]}}]},{"name":"transfer2","discriminator":[27,140,248,82,105,169,171,143],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"root_bucket_verify","writable":true},{"name":"root_bucket_current","writable":true},{"name":"root_bucket_next","writable":true,"optional":true},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}},{"name":"root_hash_index","type":{"array":["u8",32]}}]},{"name":"transfer6","discriminator":[181,146,34,243,187,199,220,67],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"root_bucket_verify","writable":true},{"name":"root_bucket_current","writable":true},{"name":"root_bucket_next","writable":true,"optional":true},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"third_nullifier","writable":true,"optional":true},{"name":"fourth_nullifier","writable":true,"optional":true},{"name":"fifth_nullifier","writable":true,"optional":true},{"name":"sixth_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}},{"name":"root_hash_index","type":{"array":["u8",32]}}]},{"name":"transfer_ownership","discriminator":[65,177,215,73,53,45,99,47],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}}],"args":[{"name":"new_owner","type":"pubkey"}]},{"name":"update_relayer_status","discriminator":[247,180,15,221,102,66,142,253],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"relayer"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"status","type":"bool"}]}],"accounts":[{"name":"EncryptedOutputsAccount","discriminator":[38,153,140,49,115,38,136,21]},{"name":"InstructionsAccount","discriminator":[158,246,131,222,29,159,202,65]},{"name":"Merkle","discriminator":[55,52,102,252,195,69,204,210]},{"name":"NullifierAccount","discriminator":[250,31,238,177,213,98,48,172]},{"name":"ProofAccountPart1","discriminator":[227,231,205,87,22,154,112,114]},{"name":"ProofAccountPart2","discriminator":[84,185,22,128,59,14,111,158]},{"name":"StorageAccount","discriminator":[41,48,231,194,22,77,205,235]}],"events":[{"name":"BlockedUtxosCreated","discriminator":[64,214,216,215,75,156,106,107]},{"name":"NewCommitment","discriminator":[78,21,75,243,5,132,204,67]},{"name":"Nullified","discriminator":[124,69,200,64,75,203,121,17]},{"name":"OwnershipAccepted","discriminator":[60,223,46,198,226,73,39,18]},{"name":"OwnershipTransferred","discriminator":[172,61,205,183,250,50,38,98]},{"name":"RelayerStatusUpdated","discriminator":[47,132,241,182,171,89,127,242]}],"errors":[{"code":6000,"name":"InvalidMintConfiguration","msg":"Invalid combination of mint accounts supplied for swap."},{"code":6001,"name":"MissingMintFrom","msg":"Missing mint account for source leg."},{"code":6002,"name":"MissingMintTo","msg":"Missing mint account for destination leg."},{"code":6003,"name":"IdenticalTokenMints","msg":"Source and destination token mints cannot be identical."},{"code":6004,"name":"MissingStorageSourceAta","msg":"Missing storage vault source token ATA."},{"code":6005,"name":"MissingStorageDestinationAta","msg":"Missing storage vault destination token ATA."},{"code":6006,"name":"MissingSwapperSourceAta","msg":"Missing swapper account source token ATA."},{"code":6007,"name":"MissingSwapperDestinationAta","msg":"Missing swapper account destination token ATA."},{"code":6008,"name":"ReceivedAmountLowerThanExpected","msg":"Received amount lower than expected"},{"code":6009,"name":"ExpectedNegativeInputAmount","msg":"Expected negative input amount"},{"code":6010,"name":"ExpectedPositiveOutputAmount","msg":"Expected positive output amount"},{"code":6011,"name":"UnexpectedOnchainCreation","msg":"Unexpected onchain creation values specified"},{"code":6012,"name":"UnexpectedDimensions","msg":"Unexpected dimensions"},{"code":6013,"name":"ValueLargerThanCircomP","msg":"Value larger than circom P"},{"code":6014,"name":"UnsafeArithmetic","msg":"Unsafe arithmetic"},{"code":6015,"name":"FeeCalculationOverflow","msg":"Fee calculation overflow"},{"code":6016,"name":"InvalidPublicSignalsSize","msg":"Invalid public signals size for proof verification"},{"code":6017,"name":"UnsupportedDimensions","msg":"Unsupported dimensions for proof verification"},{"code":6018,"name":"NullifierAlreadyUsed","msg":"Cannot close a nullifier account that has already been used"},{"code":6019,"name":"Unauthorized","msg":"Unauthorized"},{"code":6020,"name":"CalldataHashMismatch","msg":"Calldata hash mismatch"},{"code":6021,"name":"SignedMessageHashMismatch","msg":"Signed message hash mismatch"},{"code":6022,"name":"RootHashDoesNotExist","msg":"Root hash doesn't exist"},{"code":6023,"name":"InvalidAmountChange","msg":"Invalid amount change"},{"code":6024,"name":"RelayerNotWhitelisted","msg":"Relayer account not whitelisted"},{"code":6025,"name":"ExpectedMintAddressZero","msg":"Expected mint address to be zero"},{"code":6026,"name":"ExpectedMintAddressNotZero","msg":"Expected mint address not to be zero"},{"code":6027,"name":"UnsupportedDimensionsError","msg":"Unsupported dimensions"},{"code":6028,"name":"InNullifiersLengthMismatch","msg":"In nullifiers length mismatch"},{"code":6029,"name":"InNullifierMismatch","msg":"In nullifier mismatch"},{"code":6030,"name":"PoseidonHashFailed","msg":"Poseidon hash failed"},{"code":6031,"name":"NullifierUsed","msg":"Nullifier used"},{"code":6032,"name":"NullifierNotZeroButAccountNotSpecified","msg":"Nullifier not zero, but account not specified"},{"code":6033,"name":"NullifierAccountsListLengthMustBeEven","msg":"Nullifier accounts list length must be even"},{"code":6034,"name":"OnChainCreationLengthMismatch","msg":"On chain creation length mismatch"},{"code":6035,"name":"EncryptedOutputsLengthMismatch","msg":"Encrypted outputs length mismatch"},{"code":6036,"name":"MissingOnChainEncryptedOutput","msg":"Missing encrypted output for on-chain commitment"},{"code":6037,"name":"EncryptedOutputTooLarge","msg":"Encrypted output byte length exceeds on-chain limit"},{"code":6038,"name":"EncryptedOutputsCountTooLarge","msg":"Too many encrypted outputs for on-chain account"},{"code":6039,"name":"EncryptedOutputIndexOutOfBounds","msg":"Encrypted output index out of bounds"},{"code":6040,"name":"ProofVerificationFailed","msg":"Proof verification failed"},{"code":6041,"name":"UnexpectedValue","msg":"Unexpected value"},{"code":6042,"name":"ATAValidationFailed","msg":"Associate token account validation failed"},{"code":6043,"name":"BalanceDiffMismatch","msg":"Balance Diff Should be equal to sum of onchain and offchain created commitments"},{"code":6044,"name":"ZeroRandomizationForbidden","msg":"Randomization cannot be zero"},{"code":6045,"name":"RemainingAccountSignerForbidden","msg":"Ramaining account signer forbidden"},{"code":6046,"name":"DepositForbidden","msg":"Deposit forbidden"},{"code":6047,"name":"SwapperAccountAdditionalSeedMismatch","msg":"Swapper account additional seed mismatch"},{"code":6048,"name":"InvalidVersion","msg":"Invalid Version"},{"code":6049,"name":"SelfCPIForbidden","msg":"Self-CPI forbidden"},{"code":6050,"name":"InvalidNullifierPDA","msg":"Invalid nullifier pda"},{"code":6051,"name":"DuplicateNullifier","msg":"Duplicate nullifier in proof"}],"types":[{"name":"BlockedUtxosCreated","type":{"kind":"struct","fields":[]}},{"name":"Dimensions","type":{"kind":"struct","fields":[{"name":"token_number","type":"u8"},{"name":"nullifier_amount","type":"u8"},{"name":"output_amount","type":"u8"}]}},{"name":"EncryptedOutputsAccount","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"encrypted_outputs","type":{"vec":"bytes"}},{"name":"on_chain_encrypted_output","type":"bytes"}]}},{"name":"InstructionsAccount","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"instructions","type":{"vec":{"defined":{"name":"SolanaInstructionData"}}}}]}},{"name":"Merkle","serialization":"bytemuck","repr":{"kind":"c"},"type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"tree_levels","type":{"array":[{"array":["u8",32]},200]}},{"name":"m_index","type":{"array":["u8",32]}},{"name":"levels","type":{"array":["u8",16]}},{"name":"minimum_index","type":{"array":["u8",32]}}]}},{"name":"NewCommitment","type":{"kind":"struct","fields":[{"name":"commitment","type":{"array":["u8",32]}},{"name":"index","type":{"array":["u8",32]}},{"name":"encrypted_output","type":"bytes"},{"name":"on_chain_data","type":{"array":[{"array":["u8",32]},9]}}]}},{"name":"Nullified","type":{"kind":"struct","fields":[{"name":"nullifier","type":{"array":["u8",32]}}]}},{"name":"NullifierAccount","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"is_used","type":"bool"}]}},{"name":"OwnershipAccepted","type":{"kind":"struct","fields":[{"name":"previous_owner","type":"pubkey"},{"name":"new_owner","type":"pubkey"}]}},{"name":"OwnershipTransferred","type":{"kind":"struct","fields":[{"name":"previous_owner","type":"pubkey"},{"name":"new_pending_owner","type":"pubkey"}]}},{"name":"ProofAccountPart1","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"proof_a_arr","type":{"array":["u8",64]}},{"name":"proof_b_arr","type":{"array":["u8",128]}},{"name":"proof_c_arr","type":{"array":["u8",64]}},{"name":"public_signals_part1","type":{"vec":{"array":["u8",32]}}}]}},{"name":"ProofAccountPart2","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"public_signals_part2","type":{"vec":{"array":["u8",32]}}}]}},{"name":"RelayerStatusUpdated","type":{"kind":"struct","fields":[{"name":"relayer","type":"pubkey"},{"name":"status","type":"bool"}]}},{"name":"SolanaInstructionData","type":{"kind":"struct","fields":[{"name":"account_indexes","type":"bytes"},{"name":"data","type":"bytes"},{"name":"program_index","type":"u8"}]}},{"name":"StealthAddressStructure","type":{"kind":"struct","fields":[{"name":"h0_x","type":{"array":["u8",32]}},{"name":"h0_y","type":{"array":["u8",32]}},{"name":"h1_x","type":{"array":["u8",32]}},{"name":"h1_y","type":{"array":["u8",32]}},{"name":"stealth_address","type":{"array":["u8",32]}}]}},{"name":"StorageAccount","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"whitelisted_relayers","type":{"vec":"pubkey"}},{"name":"owner","type":"pubkey"},{"name":"pending_owner","type":"pubkey"}]}}]}`)},j={hinkalABI:`constructor(tuple(uint128 levels) constructorArgs, address _hinkalHelper, address _hinkalHelperManager).event BlockedUtxosCreated().event ExternalActionRegistered(address externalActionAddress).event NewCommitment(uint256 commitment, int256 index, bytes encryptedOutput).event Nullified(uint256 nullifier).event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner).event OwnershipTransferred(address indexed previousOwner, address indexed newOwner).event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole).event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender).event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender).event VerifierRegistered(address verifierAddress).event VerifierRemoved(address verifierAddress).function DEFAULT_ADMIN_ROLE() view returns (bytes32).function HINKAL_HELPER_MANAGER() view returns (bytes32).function acceptOwnership().function buildVerifierId(tuple(uint16 tokenNumber, uint16 nullifierAmount, uint16 outputAmount) dimensions, uint256 externalActionId) pure returns (uint256).function externalActionMap(uint256) view returns (address).function getRoleAdmin(bytes32 role) view returns (bytes32).function getRootHash() view returns (uint256).function grantRole(bytes32 role, address account).function hasRole(bytes32 role, address account) view returns (bool).function hinkalHelper() view returns (address).function m_index() view returns (uint256).function nullifiers(uint256) view returns (bool).function owner() view returns (address).function pendingOwner() view returns (address).function registerExternalAction(uint256 externalActionId, address externalActionAddress).function registerVerifiers(address[] verifierAddresses).function removeVerifier(address verifier).function renounceOwnership() view.function renounceRole(bytes32 role, address account).function revokeRole(bytes32 role, address account).function rootHashExists(uint256 _root, uint256 _rootIndex) view returns (bool).function roots(uint256) view returns (uint256).function setHinkalHelper(address _hinkalHelper).function supportsInterface(bytes4 interfaceId) view returns (bool).function transact(tuple(uint8 v, bytes32 r, bytes32 s) proofSignature, uint256[2] a, uint256[2][2] b, uint256[2] c, tuple(uint16 tokenNumber, uint16 nullifierAmount, uint16 outputAmount) dimensions, tuple(uint256 rootHashHinkal, uint256 rootHashHinkalIndex, address[] erc20TokenAddresses, int256[] amountChanges, uint256 newRootHash, uint256[][] inputNullifiers, uint256[][] outCommitments, bytes[][] encryptedOutputs, int256[] slippageValues, tuple(address feeToken, uint256 flatFee, uint256 variableRate) feeStructure, uint256 timeStamp, uint256 calldataHash, uint256 emporiumMessage, uint16 publicSignalCount, address relay, tuple(address externalAddress, uint256 externalActionId, bytes externalActionMetadata) externalActionData, tuple(address preHookContract, address postHookContract, bytes preHookMetadata, bytes postHookMetadata) hookData, address originalSender, bytes extraData, uint256 insertedLeafIndex, bool createBlockedUtxos) circomData) payable.function transferOwnership(address newOwner).function verifierMap(address) view returns (bool)`.split(`.`),hinkalHelperABI:[`constructor(address[] _initialRelays)`,`event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)`,`event RelayAdded(address relayAddress)`,`event RelayRemoved(address relayAddress)`,`function MAX_AMOUNT() view returns (int256)`,`function addRelay(address _relayAddress)`,`function calculateRelayFee(uint256 balance, uint256 flatFee, uint256 variableRate) pure returns (uint256 relayFee)`,`function getRelayStore() view returns (address[])`,`function hinkalAddress() view returns (address)`,`function isRelayInList(address relayAddress) view returns (bool)`,`function owner() view returns (address)`,`function performHinkalChecks(tuple(uint256 rootHashHinkal, uint256 rootHashHinkalIndex, address[] erc20TokenAddresses, int256[] amountChanges, uint256 newRootHash, uint256[][] inputNullifiers, uint256[][] outCommitments, bytes[][] encryptedOutputs, int256[] slippageValues, tuple(address feeToken, uint256 flatFee, uint256 variableRate) feeStructure, uint256 timeStamp, uint256 calldataHash, uint256 emporiumMessage, uint16 publicSignalCount, address relay, tuple(address externalAddress, uint256 externalActionId, bytes externalActionMetadata) externalActionData, tuple(address preHookContract, address postHookContract, bytes preHookMetadata, bytes postHookMetadata) hookData, address originalSender, bytes extraData, uint256 insertedLeafIndex, bool createBlockedUtxos) circomData, tuple(uint16 tokenNumber, uint16 nullifierAmount, uint16 outputAmount) dimensions, address sender) view returns (uint256[])`,`function relayList(address) view returns (bool)`,`function relayStore(uint256) view returns (address)`,`function removeRelay(address _relayAddress)`,`function renounceOwnership()`,`function setHinkalAddress(address _hinkalAddress)`,`function transferOwnership(address newOwner)`]},M=e=>({...k,...e}),N=e=>({...O(j),...e}),P=e=>({...A,...e}),F=M(te),I=M(ne),L=M(re),R=M(ie),z=M(ae),ce=M(oe),B=M(se),V=M(b),H=M(x),U=M(S),W=M(E),G=N(w),le=N(T),K=P(C),q={ethMainnet:1,arbMainnet:42161,base:8453,polygon:137,bnbMainnet:56,tempo:4217,arcTestnet:5042002,solanaMainnet:501,tronMainnet:728126428,optimism:10,avalanche:43114,cronos:25,monad:143,plasma:9745,ink:57073,hyperEvm:999,tronNile:3448148188,sepoliaTestnet:11155111,optimismTest:1010,solanaLocalnet:102,tronLocalnet:103,localhost:31337};q.ethMainnet;var ue={[q.ethMainnet]:{name:`Ethereum`,chainId:q.ethMainnet,rpcUrl:`https://ethereum-rpc.publicnode.com`,wsRpcUrl:`wss://ethereum-rpc.publicnode.com`,supported:!0,contractData:L,priority:1,maxPageSize:9e5},[q.arbMainnet]:{name:`Arbitrum`,chainId:q.arbMainnet,rpcUrl:`https://arbitrum-one-rpc.publicnode.com`,wsRpcUrl:`wss://arbitrum-one-rpc.publicnode.com`,supported:!0,contractData:F,priority:2,maxPageSize:5e5},[q.base]:{name:`Base`,chainId:q.base,rpcUrl:`https://base-rpc.publicnode.com`,wsRpcUrl:`wss://base-rpc.publicnode.com`,supported:!0,contractData:B,priority:7,maxPageSize:5e5},[q.polygon]:{name:`Polygon`,chainId:q.polygon,rpcUrl:`https://polygon-bor-rpc.publicnode.com`,wsRpcUrl:`wss://polygon-bor-rpc.publicnode.com`,supported:!0,contractData:ce,priority:4,maxPageSize:9e5},[q.bnbMainnet]:{name:`BNB Chain`,chainId:q.bnbMainnet,rpcUrl:`https://bsc-rpc.publicnode.com`,wsRpcUrl:`wss://bsc-rpc.publicnode.com`,supported:!0,contractData:I,priority:13,maxPageSize:9e5},[q.tempo]:{name:`Tempo`,chainId:q.tempo,rpcUrl:`https://rpc.tempo.xyz`,supported:!0,priority:12,contractData:W,maxPageSize:9999},[q.arcTestnet]:{name:`Arc Testnet`,chainId:q.arcTestnet,rpcUrl:`https://rpc.testnet.arc.network`,supported:!0,contractData:H,priority:8,maxPageSize:9999},[q.solanaMainnet]:{name:`Solana`,chainId:q.solanaMainnet,rpcUrl:`https://solana-rpc.publicnode.com`,supported:!0,contractData:K,priority:8},[q.tronMainnet]:{name:`Tron`,chainId:q.tronMainnet,rpcUrl:`https://tron-rpc.publicnode.com`,supported:!0,priority:10,contractData:le,maxPageSize:5e5},[q.optimism]:{name:`Optimism`,chainId:q.optimism,rpcUrl:`https://optimism-rpc.publicnode.com`,wsRpcUrl:`wss://optimism-rpc.publicnode.com`,supported:!0,contractData:R,priority:3,maxPageSize:9e5},[q.avalanche]:{name:`Avalanche`,chainId:q.avalanche,rpcUrl:`https://api.avax.network/ext/bc/C/rpc`,supported:!1,contractData:{},priority:14},[q.cronos]:{name:`Cronos`,chainId:q.cronos,rpcUrl:`https://evm.cronos.org`,supported:!1,contractData:{},priority:15},[q.monad]:{name:`Monad`,chainId:q.monad,rpcUrl:`https://rpc.monad.xyz`,supported:!1,contractData:{},priority:16},[q.plasma]:{name:`Plasma`,chainId:q.plasma,rpcUrl:`https://rpc.plasma.to`,supported:!1,contractData:{},priority:17},[q.ink]:{name:`Ink`,chainId:q.ink,rpcUrl:`https://rpc-gel.inkonchain.com`,supported:!1,contractData:{},priority:18},[q.hyperEvm]:{name:`HyperEVM`,chainId:q.hyperEvm,rpcUrl:`https://rpc.hyperliquid.xyz/evm`,supported:!1,contractData:{},priority:19},[q.tronNile]:{name:`Tron Nile`,chainId:q.tronNile,rpcUrl:`https://nile.trongrid.io`,supported:!0,contractData:G,priority:9,maxPageSize:5e5},[q.sepoliaTestnet]:{name:`Sepolia Testnet`,chainId:q.sepoliaTestnet,rpcUrl:`https://ethereum-sepolia-rpc.publicnode.com`,wsRpcUrl:`wss://ethereum-sepolia-rpc.publicnode.com`,supported:!0,priority:11,contractData:U,maxPageSize:9e5},[q.optimismTest]:{name:`Optimism Test`,chainId:q.optimismTest,rpcUrl:`https://optimism-rpc.publicnode.com`,wsRpcUrl:`wss://optimism-rpc.publicnode.com`,supported:!0,contractData:z,priority:3,maxPageSize:9e5},[q.solanaLocalnet]:{name:`Solana Localnet`,chainId:q.solanaLocalnet,rpcUrl:`http://127.0.0.1:8899`,supported:!0,contractData:K,priority:9},[q.tronLocalnet]:{name:`Tron Localnet`,chainId:q.tronLocalnet,rpcUrl:`http://127.0.0.1:9090`,supported:!0,contractData:G,priority:9,maxPageSize:5e5}},de={name:`Localhost`,chainId:q.localhost,rpcUrl:`http://127.0.0.1:8545`,supported:!0,contractData:V,priority:7};p&&(ue[q.localhost]=de),y.Mainnet,q.polygon,q.arbMainnet,q.ethMainnet,q.bnbMainnet,q.optimism,q.base,q.tronMainnet,q.tempo,q.solanaMainnet,q.avalanche,q.cronos,q.monad,q.plasma,q.ink,q.hyperEvm,y.Testnet,h?(q.arcTestnet,q.tronNile,q.sepoliaTestnet,q.optimismTest):(q.arcTestnet,q.sepoliaTestnet),y.Local,q.localhost,q.solanaLocalnet,q.tronLocalnet;var fe=[q.tronNile,q.tronMainnet,q.tronLocalnet],pe=[q.solanaMainnet,q.solanaLocalnet],J=e=>pe.includes(e),Y=e=>fe.includes(e),X=e=>e===q.sepoliaTestnet,me=e=>e===q.tempo,he=e=>e===q.arcTestnet,ge=h?q.tronNile:q.tronMainnet,_e=q.solanaMainnet,Z=[q.ethMainnet,q.base,q.polygon,q.arbMainnet,q.bnbMainnet,q.arcTestnet,_e,q.tronMainnet,q.tronNile,q.tempo];Z.filter(e=>![q.arcTestnet,q.tronNile,q.sepoliaTestnet].includes(e)),Z.filter(e=>!Y(e)&&!X(e)&&!me(e)&&!he(e));var Q=[...Z.filter(e=>!Y(e)),ge];Z.filter(e=>!J(e)&&!Y(e));var ve=[q.sepoliaTestnet];Q.filter(e=>!ve.includes(e));var $=Z.filter(e=>e!==q.arcTestnet&&!X(e)&&!(Y(e)&&e!==q.tronMainnet));$.filter(e=>!Y(e));var ye=[q.avalanche,q.cronos,q.monad,q.plasma,q.ink,q.hyperEvm];[...$,...ye],v.Wallet,v.Pay,v.Bridge,v.Dashboard,q.arcTestnet,q.arcTestnet,q.sepoliaTestnet;var be=class{isNode=!1;onmessage=null;onerror=null;_eventEmitter;get eventEmitter(){if(this._eventEmitter)return this._eventEmitter;if(this.isNode){let e=require(`events`);this._eventEmitter=new e}else this._eventEmitter=new EventTarget;return this._eventEmitter}constructor(){this.isNode=typeof process<`u`&&process.versions!=null&&process.versions.node!=null}terminate(){}postMessage(e){this.isNode?this.eventEmitter.emit(`message`,e):postMessage(e)}postMessageToMainThread(e){this.isNode?this.parentPort.postMessage(e):postMessage(e)}postErrorToMainThread(e){this.isNode?this.parentPort.postMessage({error:e}):postMessage(e)}get parentPort(){return require(`worker_threads`).parentPort}};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return be}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/zkProofWorkerLauncher-
|
|
1
|
+
var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/zkProofWorkerLauncher-BZefV9RP.js`).href:new URL(`../../../../assets/zkProofWorkerLauncher-BZefV9RP.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
//#region libs/shared/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url
|
|
2
|
-
var e = "" + new URL("../../../../assets/zkProofWorkerLauncher-
|
|
2
|
+
var e = "" + new URL("../../../../assets/zkProofWorkerLauncher-BZefV9RP.js", import.meta.url).href;
|
|
3
3
|
//#endregion
|
|
4
4
|
export { e as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./workerProxy-
|
|
1
|
+
const e=require(`./workerProxy-BHzCZ9HT.js`),t=require(`./logError-CIIt1CO3.js`);let n=require(`buffer`),r=require(`process`);r=e.c(r);let i=require(`worker_threads`);require(`ethers`),Object.values({preHookContract:`0x0000000000000000000000000000000000000000`,postHookContract:`0x0000000000000000000000000000000000000000`,preHookMetadata:`0x00`,postHookMetadata:`0x00`}),Array.from({length:25},()=>`0`);var a=(e,t)=>{let n=[];for(let r=0;r<e.length;r+=1){n.push([]);for(let i=0;i<e[r].length;i+=1)n[r][i]=t.getSiblingHashesForVerification(BigInt(e[r][i].getCommitment())).map(e=>e.toString())}let r=[];for(let n=0;n<e.length;n+=1){r.push([]);for(let i=0;i<e[n].length;i+=1)r[n][i]=t.getSiblingSides(BigInt(e[n][i].getCommitment())).map(e=>e.toString())}return{inCommitmentSiblings:n,inCommitmentSiblingSides:r}},o=function(e){return e[e.CALC_COMMITMENTS_SIBLING_AND_SIDES=0]=`CALC_COMMITMENTS_SIBLING_AND_SIDES`,e[e.BUILD_IN_NULLIFIERS=1]=`BUILD_IN_NULLIFIERS`,e}({}),s=class extends Error{constructor(){super(`Merkle tree is incomplete`),this.name=`MerkleTreeIncompleteError`}},c=class e{tree;count;index;reverseTree;static createWithData(t,n,r,i,a,o,s){return new e(a,o,s,t,n,r,i)}static create(n,r,i=t.s){return new e(n,i,r)}createReverseTree(){let e=new Map;for(let t=this.getStartIndex();t<this.getStartIndex()+this.count;t+=1n){let n=this.tree.get(t);n!==void 0&&e.set(n,t)}return e}constructor(e,t,n,r,i,a,o){this.hashFunction=e,this.levels=t,this.defaultNodeValue=n,this.tree=r??new Map,this.count=o??0n,this.index=a??2n**(t-1n),i?this.reverseTree=i:this.reverseTree=this.createReverseTree()}getStartIndex(){return 2n**(this.levels-1n)}logarithm2(e){let t=0n;for(;2n**t<e;)t+=1n;return t}bigIntMax(e,t){return e>t?e:t}forceInsert(e,t){if(t<this.getStartIndex())throw RangeError();this.tree.set(t,e),this.reverseTree.set(e,t);let n=this.index-this.getStartIndex(),r=this.logarithm2(n),i=t;for(let e=1n;e<=r;e+=1n){i/=2n;let e=this.hashFunction(this.tree.get(i*2n)||this.defaultNodeValue,this.tree.get(i*2n+1n)||this.defaultNodeValue);this.tree.set(i,e)}}insert(e,n){let r=!1;this.tree.has(n)&&(r=!0,t.t(`Editing commitment index: ${n} `)),r||(this.count+=1n),this.index=this.bigIntMax(this.index,n+1n),this.forceInsert(e,n)}remove(e){this.forceInsert(this.defaultNodeValue,e)}completenessCheck(){if(this.count!==this.index-this.getStartIndex())throw new s}getRootHash(){this.completenessCheck();for(let e=1n;e<2n**this.levels;e*=2n)if(this.tree.get(e))return this.tree.get(e);return this.defaultNodeValue}getMerkleData(){return this.completenessCheck(),new Map(this.tree)}getValue(e){return this.tree.get(e)}contains(e){return this.reverseTree.has(e)}getSiblingIndex(e){return e===1n?1n:e%2n==1n?e-1n:e+1n}getSiblingHashesForVerification(e){this.completenessCheck();let t=this.reverseTree.get(e);if(t===void 0)return Array(25).fill(0n);let n=[];for(;t!==0n;)n.push(this.tree.get(this.getSiblingIndex(t))??this.defaultNodeValue),t/=2n;return n.slice(0,25)}getSiblingSides(e){this.completenessCheck();let t=this.reverseTree.get(e);if(t===void 0)return Array(25).fill(0n);let n=[];for(;t!==0n;){let e=t%2n==0n?0n:1n;n.push(e),t/=2n}return n.slice(0,25)}toJSON(){let{tree:e,reverseTree:t,count:n,index:r}=this;return{tree:Object.fromEntries(e),reverseTree:Object.fromEntries(t),count:n.toString(),index:r.toString()}}toJSONLite(){let{tree:e,count:t,index:n}=this;return{tree:Object.fromEntries(e),count:t.toString(),index:n.toString()}}clone(){return e.createWithData(new Map(this.tree),new Map(this.reverseTree),this.index,this.count,this.hashFunction,this.levels,this.defaultNodeValue)}getIndex(){return this.index}getInsertionSiblingData(e){let t=[],n=[],r=e;for(;r!==0n;)t.push(this.tree.get(this.getSiblingIndex(r))??this.defaultNodeValue),n.push(r%2n==0n?0n:1n),r/=2n;return{siblings:t.slice(0,25),sides:n.slice(0,25)}}},l=e=>new Map(Object.entries(e).map(([e,t])=>[BigInt(e),BigInt(t)])),u=e=>{let n=l(e.tree),r=e.reverseTree?l(e.reverseTree):void 0;return c.createWithData(n,r,BigInt(e.index),BigInt(e.count),t.l,t.s,0n)},d=new e.t,f=e=>{let{inputUtxosSerialized:n,merkleTreeSerialized:r}=e.data,i=u(r),{inCommitmentSiblings:o,inCommitmentSiblingSides:s}=a(n.map(e=>e.map(e=>new t.i(e))),i);d.postMessageToMainThread({inCommitmentSiblings:o,inCommitmentSiblingSides:s})},p=e=>{let{inputUtxosSerialized:n}=e.data,r=n.map(e=>e.map(e=>new t.i(e))).map(e=>e.map(e=>e.amount===0n?`0`:e.getNullifier()));d.postMessageToMainThread(r)},m=async e=>{try{await t.c(!0);let{type:n}=e.payload;switch(n){case o.CALC_COMMITMENTS_SIBLING_AND_SIDES:f(e.payload);return;case o.BUILD_IN_NULLIFIERS:p(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){console.error(`zk proof worker message failed`,e),d.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,i.parentPort.on(`message`,async e=>{await m(e)});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hinkal/common",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.10",
|
|
4
4
|
"homepage": "hinkal.io",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Hinkal Protocol"
|
|
@@ -76,9 +76,9 @@
|
|
|
76
76
|
},
|
|
77
77
|
"devDependencies": {
|
|
78
78
|
"nx": "22.6.4",
|
|
79
|
-
"vite": "
|
|
80
|
-
"vite-plugin-dts": "
|
|
81
|
-
"vite-tsconfig-paths": "
|
|
79
|
+
"vite": "8.0.10",
|
|
80
|
+
"vite-plugin-dts": "4.5.4",
|
|
81
|
+
"vite-tsconfig-paths": "6.1.1"
|
|
82
82
|
},
|
|
83
83
|
"dependencies": {
|
|
84
84
|
"@coral-xyz/anchor": "0.32.1",
|
|
@@ -94,7 +94,6 @@
|
|
|
94
94
|
"dotenv": "16.4.5",
|
|
95
95
|
"ethers": "6.17.0",
|
|
96
96
|
"idb-keyval": "6.3.0",
|
|
97
|
-
"multiformats": "9.4.2",
|
|
98
97
|
"snarkjs": "0.7.6",
|
|
99
98
|
"libsodium-wrappers": "0.8.4",
|
|
100
99
|
"lodash": "4.18.1",
|
|
@@ -108,7 +107,7 @@
|
|
|
108
107
|
},
|
|
109
108
|
"peerDependencies": {
|
|
110
109
|
"wagmi": "2.13.3",
|
|
111
|
-
"@walletconnect/utils": "
|
|
110
|
+
"@walletconnect/utils": "2.23.9"
|
|
112
111
|
},
|
|
113
112
|
"peerDependenciesMeta": {
|
|
114
113
|
"wagmi": {
|
package/services/Hinkal.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../common/src/constants/chains.constants.cjs`),t=require(`../common/src/types/hinkal.types.cjs`);require(`../common/src/types/index.cjs`);const n=require(`../common/src/functions/utils/erc20tokenFunctions.cjs`),r=require(`../common/src/functions/pre-transaction/getFeeStructure.cjs`),i=require(`../common/src/functions/private-wallet/emporium.helpers.cjs`),a=require(`../common/src/data-structures/private-balances/BalanceChangedHandler.cjs`);require(`../common/src/functions/index.cjs`);const o=require(`../common/src/data-structures/Hinkal/Hinkal.cjs`),s=require(`../internal/token.utils.cjs`),c=require(`../internal/swapApi.cjs`);var l=class{hinkalCommon;mappedPrivateBalancesSource;mappedPrivateBalances={};constructor(e){this.hinkalCommon=new o.Hinkal(e)}getProviderAdapter(e){return this.hinkalCommon.getProviderAdapter(e)}initProviderAdapter(e,t){return this.hinkalCommon.initProviderAdapter(e,t)}initUserKeys(e=t.LoginMessageMode.SDK){return this.hinkalCommon.initUserKeys(e)}initUserKeysWithSignature(e){return this.hinkalCommon.initUserKeysWithSignature(e)}initUserKeysFromSeedPhrases(e){return this.hinkalCommon.initUserKeysFromSeedPhrases(e)}initUserKeysWithEnclaveSignature(e=t.LoginMessageMode.SDK){return this.hinkalCommon.initUserKeysWithEnclaveSignature(e)}storeAndGetInitialSignature(e
|
|
1
|
+
const e=require(`../common/src/constants/chains.constants.cjs`),t=require(`../common/src/types/hinkal.types.cjs`);require(`../common/src/types/index.cjs`);const n=require(`../common/src/functions/utils/erc20tokenFunctions.cjs`),r=require(`../common/src/functions/pre-transaction/getFeeStructure.cjs`),i=require(`../common/src/functions/private-wallet/emporium.helpers.cjs`),a=require(`../common/src/data-structures/private-balances/BalanceChangedHandler.cjs`);require(`../common/src/functions/index.cjs`);const o=require(`../common/src/data-structures/Hinkal/Hinkal.cjs`),s=require(`../internal/token.utils.cjs`),c=require(`../internal/swapApi.cjs`);var l=class{hinkalCommon;mappedPrivateBalancesSource;mappedPrivateBalances={};constructor(e){this.hinkalCommon=new o.Hinkal(e)}getProviderAdapter(e){return this.hinkalCommon.getProviderAdapter(e)}initProviderAdapter(e,t){return this.hinkalCommon.initProviderAdapter(e,t)}initUserKeys(e=t.LoginMessageMode.SDK){return this.hinkalCommon.initUserKeys(e)}initUserKeysWithSignature(e){return this.hinkalCommon.initUserKeysWithSignature(e)}initUserKeysFromSeedPhrases(e){return this.hinkalCommon.initUserKeysFromSeedPhrases(e)}initUserKeysWithEnclaveSignature(e=t.LoginMessageMode.SDK){return this.hinkalCommon.initUserKeysWithEnclaveSignature(e)}storeAndGetInitialSignature(e){return this.hinkalCommon.storeAndGetInitialSignature(e)}resetProviderAdapters(){return this.hinkalCommon.resetProviderAdapters()}disconnectFromConnector(){return this.hinkalCommon.disconnectFromConnector()}destroy(){return this.hinkalCommon.destroy()}signMessage(e){return this.hinkalCommon.signMessage(e)}signTypedData(e,t,n){return this.hinkalCommon.signTypedData(e,t,n)}getSupportedChains(){return this.hinkalCommon.getSupportedChains()}isSelectedNetworkSupported(e){return this.hinkalCommon.isSelectedNetworkSupported(e)}switchNetwork(t){let n=e.networkRegistry[t];if(!n)throw Error(`Network with chainId ${t} not supported`);return this.hinkalCommon.switchNetwork(n)}resetMerkle(e){return this.hinkalCommon.resetMerkle(e)}resetMerkleTreesIfNecessary(e){return this.hinkalCommon.resetMerkleTreesIfNecessary(e)}getMappedPrivateBalances(e){return e===this.mappedPrivateBalancesSource?this.mappedPrivateBalances:(this.mappedPrivateBalancesSource=e,this.mappedPrivateBalances=s.mapPrivateBalances(e),this.mappedPrivateBalances)}get privateBalancesWithUSD(){return this.getMappedPrivateBalances(this.hinkalCommon.privateBalancesWithUSD)}onPrivateBalancesWithUSDChange(e){return this.hinkalCommon.onPrivateBalancesWithUSDChange(t=>e(this.getMappedPrivateBalances(t)))}refreshBalance(e){a.balanceChangedHandler.dispatch(e)}async getTotalBalances(e,t=!1,n=!1){let r=await this.hinkalCommon.getTotalBalances(e,void 0,void 0,t,n);return new Map([...r].map(([e,t])=>[e,t.map(s.mapTokenBalance)]))}async getTotalBalance(e,t=!1,n=!1){return(await this.getTotalBalances([e],t,n)).get(e)??[]}async getStuckShieldedBalances(e,t=!1,n=!1){let r=Array.isArray(e)?e:[e],i=await this.hinkalCommon.getStuckShieldedBalances(r,void 0,void 0,t,n),a=new Map([...i].map(([e,t])=>[e,t.map(s.mapTokenBalance)]));return Array.isArray(e)?a:a.get(e)??[]}getFeeStructure(e,t,n,i,a=[],o=0n,s){return r.getFeeStructure(e,t,n,i,a,o,s)}getEvmSwapPrices(e,t,n,r){return c.getEvmSwapPrices(e,t,n,r)}getSolanaSwapPrices(e,t,n,r){return c.getSolanaSwapPrices(e,t,n,r)}getSolanaPublicKey(){return this.hinkalCommon.getSolanaPublicKey()}getEthereumAddress(){return this.hinkalCommon.getEthereumAddress()}getEthereumAddressByChain(e){return this.hinkalCommon.getEthereumAddressByChain(e)}getRecipientInfo(){return this.hinkalCommon.getRecipientInfo()}getShieldedPublicKey(){return this.hinkalCommon.userKeys.getShieldedPublicKey()}async prooflessDeposit(e,t,r,i,a){return this.hinkalCommon.prooflessDeposit(await n.resolveErc20Tokens(e,t),r,i,a)}async deposit(e,t,r,i,a){return this.hinkalCommon.deposit(await n.resolveErc20Tokens(e,t),r,i,a)}async depositSolana(e,t,r){return this.hinkalCommon.depositSolana(r,await n.resolveErc20Token(e,t))}async depositForOther(e,t,r,i,a,o){return this.hinkalCommon.depositForOther(await n.resolveErc20Tokens(e,t),r,i,a,o)}async depositSolanaForOther(e,t,r,i){return this.hinkalCommon.depositSolanaForOther(r,await n.resolveErc20Token(e,t),i)}async depositAndWithdraw(e,t,r,i,a,o,s){return this.hinkalCommon.depositAndWithdraw(await n.resolveErc20Token(e,t),r,i,a,o,void 0,void 0,void 0,s)}async depositAndBridge(e,t,r,i,a,o){return this.hinkalCommon.depositAndBridge(await n.resolveErc20Token(e,t),r,i,a,void 0,void 0,void 0,o)}async bridgePrivateToPrivate(e,t,r,i,a,o,s,c,l){let[u,d]=await Promise.all([n.resolveErc20Token(e,t),n.resolveErc20Token(r,i)]);return this.hinkalCommon.bridgePrivateToPrivate(u,d,a,o,s,c,l)}async checkSendTransactionStatus(e){return this.hinkalCommon.checkSendTransactionStatus(e)}async nearDepositAndBridge(e,t,r,i,a,o,s){return this.hinkalCommon.nearDepositAndBridge(await n.resolveErc20Token(e,t),r,i,a,o,s)}async claimUtxo(e,t,r,i,a){return this.hinkalCommon.claimUtxo(await n.resolveErc20Token(e,t),r,i,a)}async transfer(e,t,r,i,a,o){return this.hinkalCommon.transfer(await n.resolveErc20Tokens(e,t),r,i,a,o)}async withdraw(e,t,r,i,a,o,s){return this.hinkalCommon.withdraw(await n.resolveErc20Tokens(e,t),r,i,a,o,s)}async withdrawStuckUtxos(e,t,r){return this.hinkalCommon.withdrawStuckUtxos(await n.resolveErc20Token(e,t),r)}async swap(e,t,r,i,a,o,s){return this.hinkalCommon.swap(await n.resolveErc20Tokens(e,t),r,i,a,o,s)}emporiumOp(e,t,n,r,a,o){return i.emporiumOp({contract:e,func:t,args:n,callDataString:r,invokeWallet:a,value:o})}async actionPrivateWallet(e,t,r,i,a,o,s){return this.hinkalCommon.actionPrivateWallet(e,await n.resolveErc20Tokens(e,t),r,i,a,[],void 0,o,s)}};exports.Hinkal=l;
|
package/services/Hinkal.d.ts
CHANGED
|
@@ -15,8 +15,8 @@ export declare class Hinkal<ConnectorType> implements IHinkal<ConnectorType> {
|
|
|
15
15
|
initUserKeys(mode?: LoginMessageMode): Promise<void>;
|
|
16
16
|
initUserKeysWithSignature(signature: string): void;
|
|
17
17
|
initUserKeysFromSeedPhrases(seedPhrases: string[]): Promise<void>;
|
|
18
|
-
initUserKeysWithEnclaveSignature(signInMode?: LoginMessageMode): Promise<
|
|
19
|
-
storeAndGetInitialSignature(authSignature: string
|
|
18
|
+
initUserKeysWithEnclaveSignature(signInMode?: LoginMessageMode): Promise<void>;
|
|
19
|
+
storeAndGetInitialSignature(authSignature: string): Promise<string>;
|
|
20
20
|
resetProviderAdapters(): Promise<void>;
|
|
21
21
|
disconnectFromConnector(): Promise<void>;
|
|
22
22
|
destroy(): Promise<void>;
|
|
@@ -31,7 +31,11 @@ export declare class Hinkal<ConnectorType> implements IHinkal<ConnectorType> {
|
|
|
31
31
|
get privateBalancesWithUSD(): PrivateBalancesState;
|
|
32
32
|
onPrivateBalancesWithUSDChange(callback: (state: PrivateBalancesState) => void): () => void;
|
|
33
33
|
refreshBalance(detail: PrivateBalanceUpdateEventType): void;
|
|
34
|
+
getTotalBalances(chainIds: number[], resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<Map<number, TokenBalance[]>>;
|
|
35
|
+
/** @deprecated use getTotalBalances instead. Kept for backward compatibility. */
|
|
34
36
|
getTotalBalance(chainId: number, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<TokenBalance[]>;
|
|
37
|
+
getStuckShieldedBalances(chainIds: number[], resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<Map<number, TokenBalance[]>>;
|
|
38
|
+
/** @deprecated pass chainIds as an array instead. Kept for backward compatibility. */
|
|
35
39
|
getStuckShieldedBalances(chainId: number, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<TokenBalance[]>;
|
|
36
40
|
getFeeStructure(chainId: number, feeTokenAddress: string | undefined, erc20Addresses: string[], externalActionId: ExternalActionId, calls?: CallInfo[], variableRate?: bigint, solanaTransactionParams?: SolanaTransactionParams): Promise<FeeStructure>;
|
|
37
41
|
getEvmSwapPrices(chainId: number, inSwapAmount: string, inSwapTokenAddress: string, outSwapTokenAddress: string): Promise<EvmSwapPrice | null>;
|
package/services/Hinkal.mjs
CHANGED
|
@@ -35,8 +35,8 @@ var f = class {
|
|
|
35
35
|
initUserKeysWithEnclaveSignature(e = t.SDK) {
|
|
36
36
|
return this.hinkalCommon.initUserKeysWithEnclaveSignature(e);
|
|
37
37
|
}
|
|
38
|
-
storeAndGetInitialSignature(e
|
|
39
|
-
return this.hinkalCommon.storeAndGetInitialSignature(e
|
|
38
|
+
storeAndGetInitialSignature(e) {
|
|
39
|
+
return this.hinkalCommon.storeAndGetInitialSignature(e);
|
|
40
40
|
}
|
|
41
41
|
resetProviderAdapters() {
|
|
42
42
|
return this.hinkalCommon.resetProviderAdapters();
|
|
@@ -82,11 +82,16 @@ var f = class {
|
|
|
82
82
|
refreshBalance(e) {
|
|
83
83
|
o.dispatch(e);
|
|
84
84
|
}
|
|
85
|
+
async getTotalBalances(e, t = !1, n = !1) {
|
|
86
|
+
let r = await this.hinkalCommon.getTotalBalances(e, void 0, void 0, t, n);
|
|
87
|
+
return new Map([...r].map(([e, t]) => [e, t.map(l)]));
|
|
88
|
+
}
|
|
85
89
|
async getTotalBalance(e, t = !1, n = !1) {
|
|
86
|
-
return (await this.
|
|
90
|
+
return (await this.getTotalBalances([e], t, n)).get(e) ?? [];
|
|
87
91
|
}
|
|
88
92
|
async getStuckShieldedBalances(e, t = !1, n = !1) {
|
|
89
|
-
|
|
93
|
+
let r = Array.isArray(e) ? e : [e], i = await this.hinkalCommon.getStuckShieldedBalances(r, void 0, void 0, t, n), a = new Map([...i].map(([e, t]) => [e, t.map(l)]));
|
|
94
|
+
return Array.isArray(e) ? a : a.get(e) ?? [];
|
|
90
95
|
}
|
|
91
96
|
getFeeStructure(e, t, n, r, a = [], o = 0n, s) {
|
|
92
97
|
return i(e, t, n, r, a, o, s);
|
package/types/IHinkal.d.ts
CHANGED
|
@@ -13,8 +13,8 @@ export interface IHinkal<ConnectorType = unknown> {
|
|
|
13
13
|
initUserKeys(mode?: LoginMessageMode): Promise<void>;
|
|
14
14
|
initUserKeysWithSignature(signature: string): void;
|
|
15
15
|
initUserKeysFromSeedPhrases(seedPhrases: string[]): Promise<void>;
|
|
16
|
-
initUserKeysWithEnclaveSignature(signInMode?: LoginMessageMode): Promise<
|
|
17
|
-
storeAndGetInitialSignature(authSignature: string
|
|
16
|
+
initUserKeysWithEnclaveSignature(signInMode?: LoginMessageMode): Promise<void>;
|
|
17
|
+
storeAndGetInitialSignature(authSignature: string): Promise<string>;
|
|
18
18
|
resetProviderAdapters(): Promise<void>;
|
|
19
19
|
disconnectFromConnector(): Promise<void>;
|
|
20
20
|
destroy(): Promise<void>;
|
|
@@ -29,7 +29,11 @@ export interface IHinkal<ConnectorType = unknown> {
|
|
|
29
29
|
/** Returns unsubscribe. Multiple listeners supported. */
|
|
30
30
|
onPrivateBalancesWithUSDChange(callback: (state: PrivateBalancesState) => void): () => void;
|
|
31
31
|
refreshBalance(detail: PrivateBalanceUpdateEventType): void;
|
|
32
|
+
getTotalBalances(chainIds: number[], resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<Map<number, TokenBalance[]>>;
|
|
33
|
+
/** @deprecated use getTotalBalances instead. */
|
|
32
34
|
getTotalBalance(chainId: number, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<TokenBalance[]>;
|
|
35
|
+
getStuckShieldedBalances(chainIds: number[], resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<Map<number, TokenBalance[]>>;
|
|
36
|
+
/** @deprecated pass chainIds as an array instead. */
|
|
33
37
|
getStuckShieldedBalances(chainId: number, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<TokenBalance[]>;
|
|
34
38
|
getFeeStructure(chainId: number, feeTokenAddress: string | undefined, erc20Addresses: string[], externalActionId: ExternalActionId, calls?: CallInfo[], variableRate?: bigint, solanaTransactionParams?: SolanaTransactionParams): Promise<FeeStructure>;
|
|
35
39
|
getEvmSwapPrices(chainId: number, inSwapAmount: string, inSwapTokenAddress: string, outSwapTokenAddress: string): Promise<EvmSwapPrice | null>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require(`../constants/server.constants.cjs`),t=require(`./getServerURL.cjs`),n=require(`../data-structures/http/HttpClient.cjs`);require(`../data-structures/http/index.cjs`);var r=async(r,i)=>{let{balances:a}=await n.httpClient.post(`${t.SERVER_URL}${e.API_CONFIG.ROUTES.evmTokenBalances}`,{chainId:r,walletAddress:i});return a},i=async(r,i)=>{let{nfts:a}=await n.httpClient.post(`${t.SERVER_URL}${e.API_CONFIG.ROUTES.evmNftAssets}`,{chainId:r,walletAddress:i});return a};exports.getEvmNftAssetsFromServer=i,exports.getEvmTokenBalancesFromServer=r;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { API_CONFIG as e } from "../constants/server.constants.mjs";
|
|
2
|
-
import { SERVER_URL as t } from "./getServerURL.mjs";
|
|
3
|
-
import { httpClient as n } from "../data-structures/http/HttpClient.mjs";
|
|
4
|
-
import "../data-structures/http/index.mjs";
|
|
5
|
-
//#region libs/shared/common/src/API/evm-token-assets.ts
|
|
6
|
-
var r = async (r, i) => {
|
|
7
|
-
let { balances: a } = await n.post(`${t}${e.ROUTES.evmTokenBalances}`, {
|
|
8
|
-
chainId: r,
|
|
9
|
-
walletAddress: i
|
|
10
|
-
});
|
|
11
|
-
return a;
|
|
12
|
-
}, i = async (r, i) => {
|
|
13
|
-
let { nfts: a } = await n.post(`${t}${e.ROUTES.evmNftAssets}`, {
|
|
14
|
-
chainId: r,
|
|
15
|
-
walletAddress: i
|
|
16
|
-
});
|
|
17
|
-
return a;
|
|
18
|
-
};
|
|
19
|
-
//#endregion
|
|
20
|
-
export { i as getEvmNftAssetsFromServer, r as getEvmTokenBalancesFromServer };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const getAnyRecipientInfo: (recipientAddress: string) => Promise<string | null>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require(`../constants/server.constants.cjs`),t=require(`./getServerURL.cjs`),n=require(`../data-structures/http/HttpClient.cjs`);require(`../data-structures/http/index.cjs`);var r=async r=>{let{nftAddresses:i}=await n.httpClient.post(`${t.SERVER_URL}${e.API_CONFIG.ROUTES.solanaNftAssets}`,{walletAddress:r});return i};exports.getSolanaNftAssetsFromServer=r;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { API_CONFIG as e } from "../constants/server.constants.mjs";
|
|
2
|
-
import { SERVER_URL as t } from "./getServerURL.mjs";
|
|
3
|
-
import { httpClient as n } from "../data-structures/http/HttpClient.mjs";
|
|
4
|
-
import "../data-structures/http/index.mjs";
|
|
5
|
-
//#region libs/shared/common/src/API/solana-nft-assets.ts
|
|
6
|
-
var r = async (r) => {
|
|
7
|
-
let { nftAddresses: i } = await n.post(`${t}${e.ROUTES.solanaNftAssets}`, { walletAddress: r });
|
|
8
|
-
return i;
|
|
9
|
-
};
|
|
10
|
-
//#endregion
|
|
11
|
-
export { r as getSolanaNftAssetsFromServer };
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { AdminTransactionType } from '../../types/admin.types';
|
|
2
|
-
import { SubAccount } from '../../types/proxy.types';
|
|
3
|
-
import { ERC20Token } from '../../types/token.types';
|
|
4
|
-
import { IHinkal } from './IHinkal';
|
|
5
|
-
export declare const hinkalSolanaSponsoredProxySend: (hinkal: IHinkal, token: ERC20Token, tempSubAccount: SubAccount, landedAmount: bigint, recipientAddress: string, action?: AdminTransactionType) => Promise<string>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/utils/caseInsensitive.utils.cjs`),r=require(`../../types/cache.types.cjs`),i=require(`../../API/API.cjs`),a=require(`../../error-handling/logger.cjs`),o=require(`../../functions/utils/string.utils.cjs`),s=require(`./token-visibility-db.cjs`),c=require(`../../functions/utils/erc20tokenFunctions.cjs`),l=require(`../../functions/utils/create-provider.cjs`),u=require(`../../functions/utils/publicBalance.utils.cjs`),d=require(`../../API/solana-nft-assets.cjs`),f=require(`../../API/evm-token-assets.cjs`);let p=require(`@solana/web3.js`),m=require(`idb-keyval`),h=require(`@solana/spl-token`);var g=new class{fetchedTokens={};KNOWN_GOOD_NFTS={[e.chainIds.base]:[`0x20bc8d248fe9c18a947406cea50d716828ab821f`],[e.chainIds.optimism]:[`0x3c3e0e73b53a19bcaf4178b8f9c9428fd2a2775e`]};isWhitelistedNFT(e,t){return this.KNOWN_GOOD_NFTS[t]?this.KNOWN_GOOD_NFTS[t].some(t=>n.caseInsensitiveEqual(e,t)):!1}async getPublicTokens(e,t){let n=o.getStateKey(t,e);return c.overlayTokensWithRegistryData((await(0,m.get)(r.StorageKeys.ALCHEMY_PUBLIC_TOKENS))?.[n]||[],e)}async getFetchedTokens(e,t){let n=o.getStateKey(t,e);return c.overlayTokensWithRegistryData(this.fetchedTokens[n]||[],e)}fetchAndUpdatePublicTokens(t,n){return e.isSolanaLike(n)?this.fetchAndUpdateSolanaTokens(t,n):this.fetchAndUpdateEVMTokens(t,n)}async fetchAndUpdateSolanaTokens(e,t){let a=o.getStateKey(e,t),[c,l]=await Promise.all([this.getSolanaTokenAddresses(t,e),this.getNFTAddresses(e)]),u=Array.from(new Set([...c,...l]));if(!u.length)return;let d=(await i.API.tokensInfoCall(t,u)).filter(e=>!!e),f=await s.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(t,d),p=d.filter(e=>!n.lowerCaseIncludes(f,e.erc20TokenAddress));await(0,m.update)(r.StorageKeys.ALCHEMY_PUBLIC_TOKENS,(e={})=>{let t={...e,[a]:p};return this.fetchedTokens=t,t})}async getWalletTokenAddresses(t,n){return e.isSolanaLike(t)?this.getSolanaTokenAddresses(t,n):this.getEVMTokenAddresses(t,n)}async fetchAndUpdateEVMTokens(e,a){let c=o.getStateKey(e,a),l=await this.getEVMTokenAddresses(a,e),u=await this.getNFTTokens(a,e),d=u.map(e=>e.contractAddress),f=[...l,...d];if(!f.length)return;let p=(await i.API.tokensInfoCall(a,f)).map((e,r)=>{if(e)return e;let i=f[r],o=u.find(e=>n.caseInsensitiveEqual(e.contractAddress,i));return o&&o.tokenIds&&o.tokenIds.length>0&&this.isWhitelistedNFT(i,a)?{chainId:a,name:`Unknown NFT`,symbol:`NFT`,erc20TokenAddress:i,decimals:0,nftTokenType:t.TokenType.ERC721,tokenIds:o.tokenIds}:null}).filter(e=>!!e),h=await s.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(a,p),g=p.filter(e=>!n.lowerCaseIncludes(h,e.erc20TokenAddress)).map(e=>({...e,tokenIds:u.find(t=>n.caseInsensitiveEqual(t.contractAddress,e.erc20TokenAddress))?.tokenIds}));await(0,m.update)(r.StorageKeys.ALCHEMY_PUBLIC_TOKENS,(e={})=>{let t={...e,[c]:g};return this.fetchedTokens=t,t})}async getSolanaTokenAddresses(n,r){let{rpcUrl:i}=e.networkRegistry[n],a=l.createCustomSolanaConnection(i),o=await a.getBalance(new p.PublicKey(r)),[s,c]=await Promise.all([a.getParsedTokenAccountsByOwner(new p.PublicKey(r),{programId:h.TOKEN_PROGRAM_ID}),a.getParsedTokenAccountsByOwner(new p.PublicKey(r),{programId:h.TOKEN_2022_PROGRAM_ID})]),u=[...s.value,...c.value].filter(e=>{let{amount:t}=e.account.data.parsed.info.tokenAmount;return BigInt(t)>0n}).map(e=>e.account.data.parsed.info.mint);return o>0&&u.unshift(t.solanaNativeAddress),Array.from(new Set(u))}async getNFTAddresses(e){try{return await d.getSolanaNftAssetsFromServer(e)}catch(e){return a.Logger.error(`Failed to fetch NFTs from DAS API`,e),[]}}async getEVMTokenAddresses(e,n){let[r,i]=await Promise.all([u.getPublicBalanceByTokenAddress(e,n,t.zeroAddress),f.getEvmTokenBalancesFromServer(e,n)]);r&&r>0n&&i.push({contractAddress:t.zeroAddress,tokenBalance:r.toString()});let a={};return i.forEach(e=>{(!a[e.contractAddress]||BigInt(e.tokenBalance)>0n)&&(a[e.contractAddress]=e)}),Object.keys(a)}async getNFTTokens(e,t){return f.getEvmNftAssetsFromServer(e,t)}};exports.alchemyPublicTokensDB=g;
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { chainIds as e, isSolanaLike as t, networkRegistry as n } from "../../constants/chains.constants.mjs";
|
|
2
|
-
import { TokenType as r, solanaNativeAddress as i, zeroAddress as a } from "../../constants/protocol.constants.mjs";
|
|
3
|
-
import { caseInsensitiveEqual as o, lowerCaseIncludes as s } from "../../functions/utils/caseInsensitive.utils.mjs";
|
|
4
|
-
import { StorageKeys as c } from "../../types/cache.types.mjs";
|
|
5
|
-
import { API as l } from "../../API/API.mjs";
|
|
6
|
-
import { Logger as u } from "../../error-handling/logger.mjs";
|
|
7
|
-
import { getStateKey as d } from "../../functions/utils/string.utils.mjs";
|
|
8
|
-
import { tokenVisibilityStorage as f } from "./token-visibility-db.mjs";
|
|
9
|
-
import { overlayTokensWithRegistryData as p } from "../../functions/utils/erc20tokenFunctions.mjs";
|
|
10
|
-
import { createCustomSolanaConnection as m } from "../../functions/utils/create-provider.mjs";
|
|
11
|
-
import { getPublicBalanceByTokenAddress as h } from "../../functions/utils/publicBalance.utils.mjs";
|
|
12
|
-
import { getSolanaNftAssetsFromServer as g } from "../../API/solana-nft-assets.mjs";
|
|
13
|
-
import { getEvmNftAssetsFromServer as _, getEvmTokenBalancesFromServer as v } from "../../API/evm-token-assets.mjs";
|
|
14
|
-
import { PublicKey as y } from "@solana/web3.js";
|
|
15
|
-
import { get as b, update as x } from "idb-keyval";
|
|
16
|
-
import { TOKEN_2022_PROGRAM_ID as S, TOKEN_PROGRAM_ID as C } from "@solana/spl-token";
|
|
17
|
-
var w = new class {
|
|
18
|
-
fetchedTokens = {};
|
|
19
|
-
KNOWN_GOOD_NFTS = {
|
|
20
|
-
[e.base]: ["0x20bc8d248fe9c18a947406cea50d716828ab821f"],
|
|
21
|
-
[e.optimism]: ["0x3c3e0e73b53a19bcaf4178b8f9c9428fd2a2775e"]
|
|
22
|
-
};
|
|
23
|
-
isWhitelistedNFT(e, t) {
|
|
24
|
-
return this.KNOWN_GOOD_NFTS[t] ? this.KNOWN_GOOD_NFTS[t].some((t) => o(e, t)) : !1;
|
|
25
|
-
}
|
|
26
|
-
async getPublicTokens(e, t) {
|
|
27
|
-
let n = d(t, e);
|
|
28
|
-
return p((await b(c.ALCHEMY_PUBLIC_TOKENS))?.[n] || [], e);
|
|
29
|
-
}
|
|
30
|
-
async getFetchedTokens(e, t) {
|
|
31
|
-
let n = d(t, e);
|
|
32
|
-
return p(this.fetchedTokens[n] || [], e);
|
|
33
|
-
}
|
|
34
|
-
fetchAndUpdatePublicTokens(e, n) {
|
|
35
|
-
return t(n) ? this.fetchAndUpdateSolanaTokens(e, n) : this.fetchAndUpdateEVMTokens(e, n);
|
|
36
|
-
}
|
|
37
|
-
async fetchAndUpdateSolanaTokens(e, t) {
|
|
38
|
-
let n = d(e, t), [r, i] = await Promise.all([this.getSolanaTokenAddresses(t, e), this.getNFTAddresses(e)]), a = Array.from(new Set([...r, ...i]));
|
|
39
|
-
if (!a.length) return;
|
|
40
|
-
let o = (await l.tokensInfoCall(t, a)).filter((e) => !!e), u = await f.hideSpamsAndFetchHiddenTokensAddresses(t, o), p = o.filter((e) => !s(u, e.erc20TokenAddress));
|
|
41
|
-
await x(c.ALCHEMY_PUBLIC_TOKENS, (e = {}) => {
|
|
42
|
-
let t = {
|
|
43
|
-
...e,
|
|
44
|
-
[n]: p
|
|
45
|
-
};
|
|
46
|
-
return this.fetchedTokens = t, t;
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
async getWalletTokenAddresses(e, n) {
|
|
50
|
-
return t(e) ? this.getSolanaTokenAddresses(e, n) : this.getEVMTokenAddresses(e, n);
|
|
51
|
-
}
|
|
52
|
-
async fetchAndUpdateEVMTokens(e, t) {
|
|
53
|
-
let n = d(e, t), i = await this.getEVMTokenAddresses(t, e), a = await this.getNFTTokens(t, e), u = a.map((e) => e.contractAddress), p = [...i, ...u];
|
|
54
|
-
if (!p.length) return;
|
|
55
|
-
let m = (await l.tokensInfoCall(t, p)).map((e, n) => {
|
|
56
|
-
if (e) return e;
|
|
57
|
-
let i = p[n], s = a.find((e) => o(e.contractAddress, i));
|
|
58
|
-
return s && s.tokenIds && s.tokenIds.length > 0 && this.isWhitelistedNFT(i, t) ? {
|
|
59
|
-
chainId: t,
|
|
60
|
-
name: "Unknown NFT",
|
|
61
|
-
symbol: "NFT",
|
|
62
|
-
erc20TokenAddress: i,
|
|
63
|
-
decimals: 0,
|
|
64
|
-
nftTokenType: r.ERC721,
|
|
65
|
-
tokenIds: s.tokenIds
|
|
66
|
-
} : null;
|
|
67
|
-
}).filter((e) => !!e), h = await f.hideSpamsAndFetchHiddenTokensAddresses(t, m), g = m.filter((e) => !s(h, e.erc20TokenAddress)).map((e) => ({
|
|
68
|
-
...e,
|
|
69
|
-
tokenIds: a.find((t) => o(t.contractAddress, e.erc20TokenAddress))?.tokenIds
|
|
70
|
-
}));
|
|
71
|
-
await x(c.ALCHEMY_PUBLIC_TOKENS, (e = {}) => {
|
|
72
|
-
let t = {
|
|
73
|
-
...e,
|
|
74
|
-
[n]: g
|
|
75
|
-
};
|
|
76
|
-
return this.fetchedTokens = t, t;
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
async getSolanaTokenAddresses(e, t) {
|
|
80
|
-
let { rpcUrl: r } = n[e], a = m(r), o = await a.getBalance(new y(t)), [s, c] = await Promise.all([a.getParsedTokenAccountsByOwner(new y(t), { programId: C }), a.getParsedTokenAccountsByOwner(new y(t), { programId: S })]), l = [...s.value, ...c.value].filter((e) => {
|
|
81
|
-
let { amount: t } = e.account.data.parsed.info.tokenAmount;
|
|
82
|
-
return BigInt(t) > 0n;
|
|
83
|
-
}).map((e) => e.account.data.parsed.info.mint);
|
|
84
|
-
return o > 0 && l.unshift(i), Array.from(new Set(l));
|
|
85
|
-
}
|
|
86
|
-
async getNFTAddresses(e) {
|
|
87
|
-
try {
|
|
88
|
-
return await g(e);
|
|
89
|
-
} catch (e) {
|
|
90
|
-
return u.error("Failed to fetch NFTs from DAS API", e), [];
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
async getEVMTokenAddresses(e, t) {
|
|
94
|
-
let [n, r] = await Promise.all([h(e, t, a), v(e, t)]);
|
|
95
|
-
n && n > 0n && r.push({
|
|
96
|
-
contractAddress: a,
|
|
97
|
-
tokenBalance: n.toString()
|
|
98
|
-
});
|
|
99
|
-
let i = {};
|
|
100
|
-
return r.forEach((e) => {
|
|
101
|
-
(!i[e.contractAddress] || BigInt(e.tokenBalance) > 0n) && (i[e.contractAddress] = e);
|
|
102
|
-
}), Object.keys(i);
|
|
103
|
-
}
|
|
104
|
-
async getNFTTokens(e, t) {
|
|
105
|
-
return _(e, t);
|
|
106
|
-
}
|
|
107
|
-
}();
|
|
108
|
-
//#endregion
|
|
109
|
-
export { w as alchemyPublicTokensDB };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../../functions/utils/caseInsensitive.utils.cjs`),i=require(`../../types/ethereum-network.types.cjs`),a=require(`../../types/cache.types.cjs`),o=require(`../../API/API.cjs`),s=require(`../../error-handling/logger.cjs`),c=require(`../../functions/utils/string.utils.cjs`),l=require(`./token-visibility-db.cjs`),u=require(`../../functions/web3/getContractMetadata.cjs`);let d=require(`idb-keyval`),f=require(`axios`);f=e.__toESM(f);var p=class{API_BASE=`https://testnet.arcscan.app/api`;fetchedTokens={};async getPublicTokens(e){let n=c.getStateKey(e,t.chainIds.arcTestnet);return(await(0,d.get)(a.StorageKeys.ARC_PUBLIC_TOKENS))?.[n]||[]}getFetchedTokens(e){let n=c.getStateKey(e,t.chainIds.arcTestnet);return this.fetchedTokens[n]||[]}async fetchAndUpdatePublicTokens(e){let i=c.getStateKey(e,t.chainIds.arcTestnet),s=await this.getERC20TokenAddresses(e),u=await this.getNFTTokens(e),f=u.map(e=>e.contractAddress),p=[...s,...f];if(!p.length)return;let m=(await o.API.tokensInfoCall(t.chainIds.arcTestnet,p)).map((e,i)=>{if(e)return e;let a=p[i],o=u.find(e=>r.caseInsensitiveEqual(e.contractAddress,a));return o&&o.tokenIds&&o.tokenIds.length>0?{chainId:t.chainIds.arcTestnet,name:`Unknown NFT`,symbol:`NFT`,erc20TokenAddress:a,decimals:0,nftTokenType:n.TokenType.ERC721,tokenIds:o.tokenIds}:null}).filter(e=>!!e),h=await l.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(t.chainIds.arcTestnet,m),g=m.filter(e=>!r.lowerCaseIncludes(h,e.erc20TokenAddress)).map(e=>({...e,tokenIds:u.find(t=>r.caseInsensitiveEqual(t.contractAddress,e.erc20TokenAddress))?.tokenIds}));await(0,d.update)(a.StorageKeys.ARC_PUBLIC_TOKENS,(e={})=>{let t={...e,[i]:g};return this.fetchedTokens=t,t})}async getERC20TokenAddresses(e){let n=[];try{let r=(await f.default.post(`${this.API_BASE}?module=account&action=tokentx&address=${e}`)).data;if(r.status===`1`&&r.result){let a=[...new Set(r.result.map(({contractAddress:e})=>e))];for(let r of a)try{let a=u.getContractWithFetcherByChainId(t.chainIds.arcTestnet,i.ContractType.ERC20Contract,r),o=BigInt(await a.balanceOf(e));o>0n&&n.push({contractAddress:r,tokenBalance:o.toString()})}catch(e){s.Logger.error(`Error fetching ARC testnet token balance:`,e)}}}catch(e){s.Logger.error(`Error fetching ARC testnet token transactions:`,e)}return n.filter(({tokenBalance:e})=>Number(e)!==0).map(({contractAddress:e})=>e)}async getNFTTokens(e){let t=`${this.API_BASE}/v2/addresses/${e}/nft?type=ERC-721,ERC-1155`,n=[],r;do{let e=r?`&${new URLSearchParams(r)}`:``,{data:i}=await f.default.get(`${t}${e}`),{items:a=[],next_page_params:o}=i;n.push(...a),r=o?{token_contract_address_hash:o.token_contract_address_hash,token_id:o.token_id,token_type:o.token_type}:void 0}while(r);let i=n.reduce((e,t)=>{let n=t.token.address_hash.toLowerCase(),r=t.id;return e.has(n)||e.set(n,[]),e.get(n)?.push(r),e},new Map);return Array.from(i.entries()).map(([e,t])=>({contractAddress:e,tokenIds:t}))}},m=new p;exports.ArcPublicTokensDB=p,exports.arcPublicTokensDB=m;
|