@hinkal/common 0.2.33 → 0.2.35

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.
Files changed (167) hide show
  1. package/API/callNearIntentsAPI.cjs +1 -0
  2. package/API/callNearIntentsAPI.d.ts +3 -0
  3. package/API/callNearIntentsAPI.mjs +8 -0
  4. package/API/enclaveSignatureCalls.cjs +1 -1
  5. package/API/enclaveSignatureCalls.d.ts +1 -1
  6. package/API/enclaveSignatureCalls.mjs +1 -1
  7. package/API/index.cjs +1 -1
  8. package/API/index.d.ts +1 -0
  9. package/API/index.mjs +1 -0
  10. package/constants/bridging.constants.cjs +1 -1
  11. package/constants/bridging.constants.d.ts +15 -1
  12. package/constants/bridging.constants.mjs +25 -5
  13. package/constants/chains.constants.cjs +1 -1
  14. package/constants/chains.constants.d.ts +12 -1
  15. package/constants/chains.constants.mjs +94 -26
  16. package/constants/index.cjs +1 -1
  17. package/constants/index.mjs +1 -0
  18. package/constants/protocol.constants.cjs +1 -1
  19. package/constants/protocol.constants.d.ts +3 -0
  20. package/constants/protocol.constants.mjs +2 -2
  21. package/constants/server.constants.cjs +1 -1
  22. package/constants/server.constants.d.ts +2 -0
  23. package/constants/server.constants.mjs +2 -0
  24. package/constants/token-data/ERC20Registry.cjs +1 -1
  25. package/constants/token-data/ERC20Registry.mjs +49 -14
  26. package/constants/token-data/avalancheRegistry.json.cjs +1 -0
  27. package/constants/token-data/avalancheRegistry.json.mjs +44 -0
  28. package/constants/token-data/bnbMainnetRegistry.json.cjs +1 -0
  29. package/constants/token-data/bnbMainnetRegistry.json.mjs +44 -0
  30. package/constants/token-data/cronosRegistry.json.cjs +1 -0
  31. package/constants/token-data/cronosRegistry.json.mjs +44 -0
  32. package/constants/token-data/hyperEvmRegistry.json.cjs +1 -0
  33. package/constants/token-data/hyperEvmRegistry.json.mjs +36 -0
  34. package/constants/token-data/index.cjs +1 -1
  35. package/constants/token-data/index.d.ts +58 -1
  36. package/constants/token-data/index.mjs +10 -2
  37. package/constants/token-data/inkRegistry.json.cjs +1 -0
  38. package/constants/token-data/inkRegistry.json.mjs +28 -0
  39. package/constants/token-data/monadRegistry.json.cjs +1 -0
  40. package/constants/token-data/monadRegistry.json.mjs +36 -0
  41. package/constants/token-data/plasmaRegistry.json.cjs +1 -0
  42. package/constants/token-data/plasmaRegistry.json.mjs +28 -0
  43. package/constants/token-data/popularNonRebasingTokens.cjs +1 -0
  44. package/constants/token-data/popularNonRebasingTokens.d.ts +2 -0
  45. package/constants/token-data/popularNonRebasingTokens.mjs +11 -0
  46. package/constants/tokens.constants.cjs +1 -1
  47. package/constants/tokens.constants.mjs +8 -1
  48. package/data-structures/Hinkal/Hinkal.cjs +1 -1
  49. package/data-structures/Hinkal/Hinkal.d.ts +8 -2
  50. package/data-structures/Hinkal/Hinkal.mjs +123 -101
  51. package/data-structures/Hinkal/IHinkal.d.ts +8 -2
  52. package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  53. package/data-structures/Hinkal/handleAutoDepositBack.mjs +15 -15
  54. package/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
  55. package/data-structures/Hinkal/hinkalClaimUtxo.mjs +33 -35
  56. package/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
  57. package/data-structures/Hinkal/hinkalDepositAndBridge.mjs +43 -49
  58. package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  59. package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +38 -40
  60. package/data-structures/Hinkal/hinkalNearDepositAndBridge.cjs +1 -0
  61. package/data-structures/Hinkal/hinkalNearDepositAndBridge.d.ts +6 -0
  62. package/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +43 -0
  63. package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  64. package/data-structures/Hinkal/hinkalPrivateWallet.mjs +21 -26
  65. package/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
  66. package/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +62 -64
  67. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  68. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +2 -2
  69. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +36 -36
  70. package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
  71. package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +7 -7
  72. package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  73. package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +9 -9
  74. package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  75. package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +8 -8
  76. package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  77. package/data-structures/Hinkal/hinkalSolanaSwap.mjs +50 -51
  78. package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  79. package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +45 -46
  80. package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  81. package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +38 -39
  82. package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  83. package/data-structures/Hinkal/hinkalSwap.mjs +18 -19
  84. package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  85. package/data-structures/Hinkal/hinkalTransfer.mjs +21 -22
  86. package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  87. package/data-structures/Hinkal/hinkalWithdraw.mjs +24 -25
  88. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  89. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +39 -41
  90. package/data-structures/Hinkal/index.cjs +1 -1
  91. package/data-structures/Hinkal/index.d.ts +1 -0
  92. package/data-structures/Hinkal/index.mjs +1 -0
  93. package/data-structures/crypto-keys/keys.cjs +1 -1
  94. package/data-structures/crypto-keys/keys.d.ts +18 -0
  95. package/data-structures/crypto-keys/keys.mjs +10 -0
  96. package/data-structures/index.cjs +1 -1
  97. package/data-structures/index.mjs +1 -0
  98. package/error-handling/error-codes.constants.cjs +1 -1
  99. package/error-handling/error-codes.constants.d.ts +4 -0
  100. package/error-handling/error-codes.constants.mjs +4 -0
  101. package/error-handling/get-error.message.cjs +1 -1
  102. package/error-handling/get-error.message.mjs +2 -1
  103. package/functions/index.cjs +1 -1
  104. package/functions/index.mjs +8 -6
  105. package/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -1
  106. package/functions/pre-transaction/buildCommitmentValidationData.d.ts +12 -2
  107. package/functions/pre-transaction/buildCommitmentValidationData.mjs +43 -36
  108. package/functions/pre-transaction/sendV0Transaction.cjs +2 -1
  109. package/functions/pre-transaction/sendV0Transaction.d.ts +2 -2
  110. package/functions/pre-transaction/sendV0Transaction.mjs +65 -60
  111. package/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  112. package/functions/snarkjs/constructGeneralZkProof.d.ts +1 -0
  113. package/functions/snarkjs/constructGeneralZkProof.mjs +6 -5
  114. package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  115. package/functions/snarkjs/constructSolanaZkProof.d.ts +1 -0
  116. package/functions/snarkjs/constructSolanaZkProof.mjs +35 -34
  117. package/functions/snarkjs/generateMainAndCommitmentZkProof.cjs +1 -0
  118. package/functions/snarkjs/generateMainAndCommitmentZkProof.d.ts +11 -0
  119. package/functions/snarkjs/generateMainAndCommitmentZkProof.mjs +16 -0
  120. package/functions/snarkjs/generateZkProof.cjs +1 -1
  121. package/functions/snarkjs/generateZkProof.d.ts +3 -3
  122. package/functions/snarkjs/generateZkProof.mjs +5 -9
  123. package/functions/snarkjs/generateZkProofEnclave.cjs +1 -1
  124. package/functions/snarkjs/generateZkProofEnclave.d.ts +2 -2
  125. package/functions/snarkjs/generateZkProofEnclave.mjs +8 -8
  126. package/functions/snarkjs/generateZkProofSelf.cjs +1 -1
  127. package/functions/snarkjs/generateZkProofSelf.mjs +5 -5
  128. package/functions/snarkjs/index.cjs +1 -1
  129. package/functions/snarkjs/index.d.ts +1 -0
  130. package/functions/snarkjs/index.mjs +1 -0
  131. package/functions/snarkjs/verifyCommitmentValidationData.cjs +1 -1
  132. package/functions/snarkjs/verifyCommitmentValidationData.mjs +5 -5
  133. package/functions/utils/customEnclaveFunctionsRegister.d.ts +3 -3
  134. package/functions/utils/enclave-signature-storage.cjs +1 -1
  135. package/functions/utils/enclave-signature-storage.d.ts +1 -1
  136. package/functions/utils/enclave-signature-storage.mjs +1 -1
  137. package/functions/utils/index.cjs +1 -1
  138. package/functions/utils/index.d.ts +1 -0
  139. package/functions/utils/index.mjs +6 -5
  140. package/functions/utils/nearIntents.utils.cjs +1 -0
  141. package/functions/utils/nearIntents.utils.d.ts +11 -0
  142. package/functions/utils/nearIntents.utils.mjs +36 -0
  143. package/functions/utils/time.utils.cjs +1 -1
  144. package/functions/utils/time.utils.d.ts +1 -0
  145. package/functions/utils/time.utils.mjs +2 -2
  146. package/functions/web3/oneInchAPI.cjs +1 -1
  147. package/functions/web3/oneInchAPI.mjs +1 -1
  148. package/index.cjs +1 -1
  149. package/index.mjs +320 -315
  150. package/package.json +1 -1
  151. package/types/index.d.ts +1 -0
  152. package/types/near-intents.types.d.ts +60 -0
  153. package/types/solana.types.d.ts +1 -0
  154. package/webworker/{logError-fCJ4HXQz.js → logError-DoUkEIFE.js} +14 -14
  155. package/webworker/package.json +1 -1
  156. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  157. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  158. package/webworker/snarkjsWorkerNode.cjs +1 -1
  159. package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  160. package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  161. package/webworker/utxoWorkerNode.cjs +1 -1
  162. package/webworker/viteWorkerURL.constant.cjs +3 -3
  163. package/webworker/viteWorkerURL.constant.mjs +3 -3
  164. package/webworker/{workerProxy-BNBqYien.js → workerProxy-DQJE57Ye.js} +1 -1
  165. package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  166. package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  167. package/webworker/zkProofWorkerNode.cjs +1 -1
@@ -1 +1 @@
1
- const e=require(`../types/transaction.types.cjs`);require(`../types/index.cjs`);const t=require(`./error-codes.constants.cjs`),n=require(`./customErrors/ErrorWithAmount.cjs`),r=require(`./customErrors/FeeOverTransactionValueError.cjs`),i=require(`./types.cjs`),a=require(`./customErrors/customErrors.helpers.cjs`);require(`./customErrors/index.cjs`);const o=require(`./isInsufficientFundsError.cjs`);var s=e=>{if(typeof e==`object`&&e){if(`response`in e&&typeof e.response==`object`&&e.response!==null&&`data`in e.response&&typeof e.response.data==`object`&&e.response.data!==null&&`message`in e.response.data&&typeof e.response.data.message==`string`)return e.response.data.message;if(`data`in e&&typeof e.data==`object`&&e.data!==null&&`message`in e.data&&typeof e.data.message==`string`)return e.data.message;if(`message`in e&&typeof e.message==`string`)return e.message}if(e instanceof Error)return e.message;if(typeof e==`string`)return e},c=e=>{switch(e){case i.ErrorCategory.DEPOSIT:return`Deposit failed`;case i.ErrorCategory.SWAP:return`Swap failed`;case i.ErrorCategory.BRIDGE:return`Bridge failed`;case i.ErrorCategory.WITHDRAW:return`Send failed`;case i.ErrorCategory.Fund:return`Unshield failed`;case i.ErrorCategory.Receive:return`Shield failed`;case i.ErrorCategory.DappTransaction:return`DApp transaction failed`;case i.ErrorCategory.Approve:return`Approval failed`;default:return t.transactionErrorCodes.UNKNOWN}},l=(e,i)=>{if(e instanceof r.FeeOverTransactionValueError)return a.getGenericFeeOverTransactionValueErrorMessage(e,i);if(e instanceof n.ErrorWithAmount){let{amount:t,message:n}=e;return`${n} ${t}`}let l=s(e);if(l&&o.isInsufficientFundsError(l))return t.insufficientResourcesErrorCodes.INSUFFICIENT_FUNDS;if(l){let e=l.toLowerCase(),n=Object.keys(t.transactionErrorCodes).find(n=>e===t.transactionErrorCodes[n].toLowerCase());if(n&&n in t.UserFriendlyErrorCodes)return t.UserFriendlyErrorCodes[n];let r=Object.entries(t.transactionErrorCodes).find(([t,n])=>e.includes(n.toLowerCase()));if(r)return t.UserFriendlyErrorCodes[r[0]]??r[1];if(Object.values(t.DIRECTLY_SHOW_MESSAGE_ERROR_CODES).find(t=>e.includes(t.toLowerCase())))return l}return i?c(i):t.transactionErrorCodes.UNKNOWN},u=(t,n)=>{let r;switch(n){case e.TransactionRequestType.Send:case e.TransactionRequestType.ProxySend:r=i.ErrorCategory.WITHDRAW;break;case e.TransactionRequestType.SwapTokens:case e.TransactionRequestType.ProxySwapTokens:r=i.ErrorCategory.SWAP;break;case e.TransactionRequestType.ReceiveFromShieldedAccount:r=i.ErrorCategory.Receive;break;case e.TransactionRequestType.Fund:r=i.ErrorCategory.Fund;break;case e.TransactionRequestType.PrivateTransactionFromProxy:r=i.ErrorCategory.DappTransaction;break;default:r=void 0;break}return l(t,r)};exports.extractMessage=s,exports.getErrorMessage=l,exports.getErrorMessageFromTransactionRequest=u;
1
+ const e=require(`../types/transaction.types.cjs`);require(`../types/index.cjs`);const t=require(`./error-codes.constants.cjs`),n=require(`./customErrors/ErrorWithAmount.cjs`),r=require(`./customErrors/FeeOverTransactionValueError.cjs`),i=require(`./types.cjs`),a=require(`./customErrors/customErrors.helpers.cjs`);require(`./customErrors/index.cjs`);const o=require(`./isInsufficientFundsError.cjs`);var s=e=>{if(typeof e==`object`&&e){if(`response`in e&&typeof e.response==`object`&&e.response!==null&&`data`in e.response&&typeof e.response.data==`object`&&e.response.data!==null&&`message`in e.response.data&&typeof e.response.data.message==`string`)return e.response.data.message;if(`data`in e&&typeof e.data==`object`&&e.data!==null&&`message`in e.data&&typeof e.data.message==`string`)return e.data.message;if(`message`in e&&typeof e.message==`string`&&e.message)return e.message;if(`error`in e&&typeof e.error==`string`&&e.error)return e.error}if(e instanceof Error)return e.message;if(typeof e==`string`)return e},c=e=>{switch(e){case i.ErrorCategory.DEPOSIT:return`Deposit failed`;case i.ErrorCategory.SWAP:return`Swap failed`;case i.ErrorCategory.BRIDGE:return`Bridge failed`;case i.ErrorCategory.WITHDRAW:return`Send failed`;case i.ErrorCategory.Fund:return`Unshield failed`;case i.ErrorCategory.Receive:return`Shield failed`;case i.ErrorCategory.DappTransaction:return`DApp transaction failed`;case i.ErrorCategory.Approve:return`Approval failed`;default:return t.transactionErrorCodes.UNKNOWN}},l=(e,i)=>{if(e instanceof r.FeeOverTransactionValueError)return a.getGenericFeeOverTransactionValueErrorMessage(e,i);if(e instanceof n.ErrorWithAmount){let{amount:t,message:n}=e;return`${n} ${t}`}let l=s(e);if(l&&o.isInsufficientFundsError(l))return t.insufficientResourcesErrorCodes.INSUFFICIENT_FUNDS;if(l){let e=l.toLowerCase(),n=Object.keys(t.transactionErrorCodes).find(n=>e===t.transactionErrorCodes[n].toLowerCase());if(n&&n in t.UserFriendlyErrorCodes)return t.UserFriendlyErrorCodes[n];let r=Object.entries(t.transactionErrorCodes).find(([t,n])=>e.includes(n.toLowerCase()));if(r)return t.UserFriendlyErrorCodes[r[0]]??r[1];if(Object.values(t.DIRECTLY_SHOW_MESSAGE_ERROR_CODES).find(t=>e.includes(t.toLowerCase())))return l}return i?c(i):t.transactionErrorCodes.UNKNOWN},u=(t,n)=>{let r;switch(n){case e.TransactionRequestType.Send:case e.TransactionRequestType.ProxySend:r=i.ErrorCategory.WITHDRAW;break;case e.TransactionRequestType.SwapTokens:case e.TransactionRequestType.ProxySwapTokens:r=i.ErrorCategory.SWAP;break;case e.TransactionRequestType.ReceiveFromShieldedAccount:r=i.ErrorCategory.Receive;break;case e.TransactionRequestType.Fund:r=i.ErrorCategory.Fund;break;case e.TransactionRequestType.PrivateTransactionFromProxy:r=i.ErrorCategory.DappTransaction;break;default:r=void 0;break}return l(t,r)};exports.extractMessage=s,exports.getErrorMessage=l,exports.getErrorMessageFromTransactionRequest=u;
@@ -12,7 +12,8 @@ var u = (e) => {
12
12
  if (typeof e == "object" && e) {
13
13
  if ("response" in e && typeof e.response == "object" && e.response !== null && "data" in e.response && typeof e.response.data == "object" && e.response.data !== null && "message" in e.response.data && typeof e.response.data.message == "string") return e.response.data.message;
14
14
  if ("data" in e && typeof e.data == "object" && e.data !== null && "message" in e.data && typeof e.data.message == "string") return e.data.message;
15
- if ("message" in e && typeof e.message == "string") return e.message;
15
+ if ("message" in e && typeof e.message == "string" && e.message) return e.message;
16
+ if ("error" in e && typeof e.error == "string" && e.error) return e.error;
16
17
  }
17
18
  if (e instanceof Error) return e.message;
18
19
  if (typeof e == "string") return e;
@@ -1 +1 @@
1
- require(`./utils/serialize.utils.cjs`),require(`./utils/get-signature-header.cjs`),require(`./utils/caseInsensitive.utils.cjs`),require(`./utils/addresses.cjs`),require(`./utils/auth.utils.cjs`),require(`./kyc/openDefaultPassportWindow.cjs`),require(`./web3/etherFunctions.cjs`),require(`./utils/amounts.utils.cjs`),require(`./utils/erc20tokenFunctions.cjs`),require(`./utils/bytes32.utils.cjs`),require(`./utils/time.utils.cjs`),require(`./utils/bit.operations.cjs`),require(`./utils/upToDateState.cjs`),require(`./utils/getDataFromTransaction.cjs`),require(`./utils/cacheFunctions.cjs`),require(`./utils/encryptInputForEnclave.cjs`),require(`./utils/solanaMint.utils.cjs`),require(`./utils/customEnclaveFunctionsRegister.cjs`),require(`./utils/tron.utils.cjs`),require(`./web3/events/getInputUtxoAndBalance.cjs`),require(`./utils/string.utils.cjs`),require(`./utils/token-check.utils.cjs`),require(`./utils/mutexes.utils.cjs`),require(`./web3/events/getShieldedBalance.cjs`),require(`./pre-transaction/outputUtxoProcessing.cjs`),require(`./utils/external-action.utils.cjs`),require(`./snarkjs/common.snarkjs.cjs`),require(`./pre-transaction/solana.cjs`),require(`./snarkjs/signedMessageHash.cjs`),require(`./snarkjs/generateZkProof.cjs`),require(`./utils/serialize-utxos.utils.cjs`),require(`./utils/create-provider.cjs`),require(`./utils/requireEnv.cjs`),require(`./utils/resolve-sync.utils.cjs`),require(`./utils/convertIntegrationProviderToExternalActionId.cjs`),require(`./pre-transaction/interaction-to-action.cjs`),require(`./pre-transaction/process-gas-estimates.cjs`),require(`./pre-transaction/getFlatFees.cjs`),require(`./pre-transaction/getVolatileTransferAmount.cjs`),require(`./pre-transaction/constructAdminData.cjs`),require(`./pre-transaction/calculateSolanaNullifierCount.cjs`),require(`./pre-transaction/addressTableLookup.cjs`),require(`./pre-transaction/solana-public-signals.cjs`),require(`./pre-transaction/convert-okx-instructions.cjs`),require(`./web3/getSolanaPriorityFee.cjs`),require(`./utils/process.utils.cjs`),require(`./pre-transaction/sendV0Transaction.cjs`),require(`./pre-transaction/store-proof.cjs`),require(`./pre-transaction/sendInitNullifiersTransaction.cjs`),require(`./pre-transaction/recipientUtxoProcessing.cjs`),require(`./pre-transaction/store-instructions.cjs`),require(`./pre-transaction/ensureAmountChanges.cjs`),require(`./pre-transaction/getFeeStructure.cjs`),require(`./pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),require(`./pre-transaction/buildCommitmentValidationData.cjs`),require(`./pre-transaction/index.cjs`),require(`./utils/evmNetworkFunctions.cjs`),require(`./utils/userAgent.cjs`),require(`./utils/reloadPage.cjs`),require(`./utils/nickname.utils.cjs`),require(`./utils/cacheDevice.utils.cjs`),require(`./utils/getBlockExplorerUrl.cjs`),require(`./utils/involves-permit2-op.cjs`),require(`./utils/convertEmporiumOpToCallInfo.cjs`),require(`./utils/getRecipientInfoFromUserKeys.cjs`),require(`./utils/publicBalance.utils.cjs`),require(`./utils/rpc-int-encode.cjs`),require(`./utils/arraysMatch.cjs`),require(`./utils/trimFieldValues.cjs`),require(`./utils/walletBalances.utils.cjs`),require(`./utils/nftTokenFunctions.cjs`),require(`./utils/inLogicMetadata.cjs`),require(`./utils/networks.utils.cjs`),require(`./utils/is-valid-url.cjs`),require(`./utils/postToOffscreen.cjs`),require(`./utils/solanaSendPreflight.utils.cjs`),require(`./utils/prepareHinkal.cjs`),require(`./utils/getContractAddress.cjs`),require(`./utils/getUtxosFromReceipt.utils.cjs`),require(`./utils/getUtxosFromReceiptSolana.cjs`),require(`./utils/fees.utils.cjs`),require(`./utils/proxyAvatar.utils.cjs`),require(`./utils/validateUsername.cjs`),require(`./utils/enclave-utxo-storage.cjs`),require(`./utils/enclave-signature-storage.cjs`),require(`./utils/tx-confirmation.utils.cjs`),require(`./utils/buildClaimableDepositPlan.cjs`),require(`./utils/pay-routing.utils.cjs`),require(`./utils/formatter.cjs`),require(`./utils/tronSimulation.utils.cjs`),require(`./utils/getSignerFromContract.cjs`),require(`./utils/deposit-claimable.utils.cjs`),require(`./utils/transfer-claimable.utils.cjs`),require(`./utils/getWalletGroupKey.utils.cjs`),require(`./web3/events/balanceChangedHandler.cjs`),require(`./utils/dispatchBalanceRefreshes.cjs`),require(`./utils/lifi.utils.cjs`),require(`./utils/enclave-recipient-info-storage.cjs`),require(`./utils/solana-memo.cjs`),require(`./utils/mnemonics.cjs`),require(`./utils/index.cjs`),require(`./snarkjs/fetchOnChainRootHashes.cjs`),require(`./private-wallet/emporium.helpers.cjs`),require(`./snarkjs/constructGeneralZkProof.cjs`),require(`./web3/events/getTransactionLogEvents.cjs`),require(`./web3/uniswapAPI.cjs`),require(`./web3/odosAPI.cjs`),require(`./web3/oneInchAPI.cjs`),require(`./web3/lifiAPI.cjs`),require(`./web3/okxAPI.cjs`),require(`./web3/runContractFunction.cjs`),require(`./web3/getTokenHolder.cjs`),require(`./web3/EIP-712.cjs`),require(`./web3/signAndSendSerializedTransaction.cjs`),require(`./web3/connectors.utils.cjs`),require(`./web3/crypto.cjs`),require(`./web3/index.cjs`),require(`./snarkjs/constructSolanaZkProof.cjs`),require(`./snarkjs/verifyCommitmentValidationData.cjs`),require(`./snarkjs/index.cjs`),require(`./kyc/passportHelper.cjs`),require(`./kyc/checkTokenLimitsUSD.cjs`),require(`./kyc/index.cjs`),require(`./private-wallet/opProducer.cjs`),require(`./private-wallet/emporium.swap.helpers.cjs`),require(`./private-wallet/index.cjs`),require(`./auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs`),require(`./auto-deposit-back-helpers/get-gas-token-records.cjs`),require(`./auto-deposit-back-helpers/select-gas-token.cjs`),require(`./auto-deposit-back-helpers/update-hinkal.cjs`),require(`./auto-deposit-back-helpers/index.cjs`);
1
+ require(`./utils/serialize.utils.cjs`),require(`./utils/get-signature-header.cjs`),require(`./utils/caseInsensitive.utils.cjs`),require(`./utils/addresses.cjs`),require(`./utils/auth.utils.cjs`),require(`./kyc/openDefaultPassportWindow.cjs`),require(`./web3/etherFunctions.cjs`),require(`./utils/amounts.utils.cjs`),require(`./utils/erc20tokenFunctions.cjs`),require(`./utils/bytes32.utils.cjs`),require(`./utils/time.utils.cjs`),require(`./utils/bit.operations.cjs`),require(`./utils/upToDateState.cjs`),require(`./utils/getDataFromTransaction.cjs`),require(`./utils/cacheFunctions.cjs`),require(`./utils/encryptInputForEnclave.cjs`),require(`./utils/solanaMint.utils.cjs`),require(`./utils/customEnclaveFunctionsRegister.cjs`),require(`./utils/tron.utils.cjs`),require(`./web3/events/getInputUtxoAndBalance.cjs`),require(`./utils/string.utils.cjs`),require(`./utils/token-check.utils.cjs`),require(`./utils/mutexes.utils.cjs`),require(`./web3/events/getShieldedBalance.cjs`),require(`./pre-transaction/outputUtxoProcessing.cjs`),require(`./utils/external-action.utils.cjs`),require(`./snarkjs/common.snarkjs.cjs`),require(`./pre-transaction/solana.cjs`),require(`./snarkjs/signedMessageHash.cjs`),require(`./pre-transaction/interaction-to-action.cjs`),require(`./pre-transaction/process-gas-estimates.cjs`),require(`./pre-transaction/getFlatFees.cjs`),require(`./pre-transaction/getVolatileTransferAmount.cjs`),require(`./pre-transaction/constructAdminData.cjs`),require(`./utils/create-provider.cjs`),require(`./pre-transaction/calculateSolanaNullifierCount.cjs`),require(`./pre-transaction/addressTableLookup.cjs`),require(`./pre-transaction/solana-public-signals.cjs`),require(`./pre-transaction/convert-okx-instructions.cjs`),require(`./web3/getSolanaPriorityFee.cjs`),require(`./utils/process.utils.cjs`),require(`./pre-transaction/sendV0Transaction.cjs`),require(`./pre-transaction/store-proof.cjs`),require(`./pre-transaction/sendInitNullifiersTransaction.cjs`),require(`./pre-transaction/recipientUtxoProcessing.cjs`),require(`./pre-transaction/store-instructions.cjs`),require(`./pre-transaction/ensureAmountChanges.cjs`),require(`./pre-transaction/getFeeStructure.cjs`),require(`./pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),require(`./pre-transaction/buildCommitmentValidationData.cjs`),require(`./pre-transaction/index.cjs`),require(`./snarkjs/generateZkProof.cjs`),require(`./snarkjs/generateMainAndCommitmentZkProof.cjs`),require(`./utils/serialize-utxos.utils.cjs`),require(`./utils/requireEnv.cjs`),require(`./utils/resolve-sync.utils.cjs`),require(`./utils/convertIntegrationProviderToExternalActionId.cjs`),require(`./utils/evmNetworkFunctions.cjs`),require(`./utils/userAgent.cjs`),require(`./utils/reloadPage.cjs`),require(`./utils/nickname.utils.cjs`),require(`./utils/cacheDevice.utils.cjs`),require(`./utils/getBlockExplorerUrl.cjs`),require(`./utils/involves-permit2-op.cjs`),require(`./utils/convertEmporiumOpToCallInfo.cjs`),require(`./utils/getRecipientInfoFromUserKeys.cjs`),require(`./utils/publicBalance.utils.cjs`),require(`./utils/rpc-int-encode.cjs`),require(`./utils/arraysMatch.cjs`),require(`./utils/trimFieldValues.cjs`),require(`./utils/walletBalances.utils.cjs`),require(`./utils/nftTokenFunctions.cjs`),require(`./utils/inLogicMetadata.cjs`),require(`./utils/networks.utils.cjs`),require(`./utils/is-valid-url.cjs`),require(`./utils/postToOffscreen.cjs`),require(`./utils/solanaSendPreflight.utils.cjs`),require(`./utils/prepareHinkal.cjs`),require(`./utils/getContractAddress.cjs`),require(`./utils/getUtxosFromReceipt.utils.cjs`),require(`./utils/getUtxosFromReceiptSolana.cjs`),require(`./utils/fees.utils.cjs`),require(`./utils/proxyAvatar.utils.cjs`),require(`./utils/validateUsername.cjs`),require(`./utils/enclave-utxo-storage.cjs`),require(`./utils/enclave-signature-storage.cjs`),require(`./utils/tx-confirmation.utils.cjs`),require(`./utils/buildClaimableDepositPlan.cjs`),require(`./utils/pay-routing.utils.cjs`),require(`./utils/formatter.cjs`),require(`./utils/tronSimulation.utils.cjs`),require(`./utils/getSignerFromContract.cjs`),require(`./utils/deposit-claimable.utils.cjs`),require(`./utils/transfer-claimable.utils.cjs`),require(`./utils/getWalletGroupKey.utils.cjs`),require(`./web3/events/balanceChangedHandler.cjs`),require(`./utils/dispatchBalanceRefreshes.cjs`),require(`./utils/lifi.utils.cjs`),require(`./utils/enclave-recipient-info-storage.cjs`),require(`./utils/solana-memo.cjs`),require(`./utils/mnemonics.cjs`),require(`./utils/nearIntents.utils.cjs`),require(`./utils/index.cjs`),require(`./snarkjs/fetchOnChainRootHashes.cjs`),require(`./private-wallet/emporium.helpers.cjs`),require(`./snarkjs/constructGeneralZkProof.cjs`),require(`./web3/events/getTransactionLogEvents.cjs`),require(`./web3/uniswapAPI.cjs`),require(`./web3/odosAPI.cjs`),require(`./web3/oneInchAPI.cjs`),require(`./web3/lifiAPI.cjs`),require(`./web3/okxAPI.cjs`),require(`./web3/runContractFunction.cjs`),require(`./web3/getTokenHolder.cjs`),require(`./web3/EIP-712.cjs`),require(`./web3/signAndSendSerializedTransaction.cjs`),require(`./web3/connectors.utils.cjs`),require(`./web3/crypto.cjs`),require(`./web3/index.cjs`),require(`./snarkjs/constructSolanaZkProof.cjs`),require(`./snarkjs/verifyCommitmentValidationData.cjs`),require(`./snarkjs/index.cjs`),require(`./kyc/passportHelper.cjs`),require(`./kyc/checkTokenLimitsUSD.cjs`),require(`./kyc/index.cjs`),require(`./private-wallet/opProducer.cjs`),require(`./private-wallet/emporium.swap.helpers.cjs`),require(`./private-wallet/index.cjs`),require(`./auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs`),require(`./auto-deposit-back-helpers/get-gas-token-records.cjs`),require(`./auto-deposit-back-helpers/select-gas-token.cjs`),require(`./auto-deposit-back-helpers/update-hinkal.cjs`),require(`./auto-deposit-back-helpers/index.cjs`);
@@ -27,17 +27,12 @@ import "./utils/external-action.utils.mjs";
27
27
  import "./snarkjs/common.snarkjs.mjs";
28
28
  import "./pre-transaction/solana.mjs";
29
29
  import "./snarkjs/signedMessageHash.mjs";
30
- import "./snarkjs/generateZkProof.mjs";
31
- import "./utils/serialize-utxos.utils.mjs";
32
- import "./utils/create-provider.mjs";
33
- import "./utils/requireEnv.mjs";
34
- import "./utils/resolve-sync.utils.mjs";
35
- import "./utils/convertIntegrationProviderToExternalActionId.mjs";
36
30
  import "./pre-transaction/interaction-to-action.mjs";
37
31
  import "./pre-transaction/process-gas-estimates.mjs";
38
32
  import "./pre-transaction/getFlatFees.mjs";
39
33
  import "./pre-transaction/getVolatileTransferAmount.mjs";
40
34
  import "./pre-transaction/constructAdminData.mjs";
35
+ import "./utils/create-provider.mjs";
41
36
  import "./pre-transaction/calculateSolanaNullifierCount.mjs";
42
37
  import "./pre-transaction/addressTableLookup.mjs";
43
38
  import "./pre-transaction/solana-public-signals.mjs";
@@ -54,6 +49,12 @@ import "./pre-transaction/getFeeStructure.mjs";
54
49
  import "./pre-transaction/waitForDepositedUtxosInMerkleTree.mjs";
55
50
  import "./pre-transaction/buildCommitmentValidationData.mjs";
56
51
  import "./pre-transaction/index.mjs";
52
+ import "./snarkjs/generateZkProof.mjs";
53
+ import "./snarkjs/generateMainAndCommitmentZkProof.mjs";
54
+ import "./utils/serialize-utxos.utils.mjs";
55
+ import "./utils/requireEnv.mjs";
56
+ import "./utils/resolve-sync.utils.mjs";
57
+ import "./utils/convertIntegrationProviderToExternalActionId.mjs";
57
58
  import "./utils/evmNetworkFunctions.mjs";
58
59
  import "./utils/userAgent.mjs";
59
60
  import "./utils/reloadPage.mjs";
@@ -98,6 +99,7 @@ import "./utils/lifi.utils.mjs";
98
99
  import "./utils/enclave-recipient-info-storage.mjs";
99
100
  import "./utils/solana-memo.mjs";
100
101
  import "./utils/mnemonics.mjs";
102
+ import "./utils/nearIntents.utils.mjs";
101
103
  import "./utils/index.mjs";
102
104
  import "./snarkjs/fetchOnChainRootHashes.mjs";
103
105
  import "./private-wallet/emporium.helpers.mjs";
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../data-structures/crypto-keys/keys.cjs`),n=require(`../utils/solanaMint.utils.cjs`),r=require(`../snarkjs/common.snarkjs.cjs`),i=require(`../../webworker/worker.registry.cjs`),a=require(`../../webworker/performTaskWithWorker.cjs`),o=require(`../snarkjs/generateZkProof.cjs`),s=require(`../../webworker/zkProofWorker/zkProofWorker.types.cjs`);var c=async(c,l,u,d)=>{let f=e.isSolanaLike(c),p=d.map(e=>e.map(e=>e.amount.toString())),m=d.map(e=>e.map(e=>e.timeStamp)),h=d.map(e=>e.map(e=>r.getUtxoCircuitInRandomization(e))),g=d.map(e=>e.map(e=>e.getConstructableParams())),_=d.map(e=>e.map(e=>e.amount===0n?`0`:BigInt(e.getCommitment()).toString())),v=await a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:s.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:g}}}),y=l.getShieldedPrivateKey(),b=l.getSpendingKeyPair().pubSpendingBJJPoint,x=f?u.map(e=>{let{compressedAddress:t}=n.formatMintAddress(e);return BigInt(t).toString()}):u.map(e=>BigInt(e).toString());d.forEach((e,n)=>{e.forEach((e,r)=>{let i=e.getStealthAddress(),a=e.spendingPublicKey??b,o=e.isNewStyle&&e.H0?t.UserKeys.getStealthAddressNewStyle(e.H0,y,a):t.UserKeys.getStealthAddress(BigInt(e.randomization),y);if(BigInt(i).toString()!==BigInt(o).toString())throw Error(`Commitment validation stealth mismatch at tokenIdx=${n}, utxoIdx=${r}`)})});let S={nullifyingPrivateKey:y,spendingPublicKey:b,erc20TokenAddresses:x,inAmounts:p,inRandomizations:h,inH0Ax:d.map(e=>e.map(e=>r.getUtxoCircuitH0Coords(e)[0].toString())),inH0Ay:d.map(e=>e.map(e=>r.getUtxoCircuitH0Coords(e)[1].toString())),isNewStyle:d.map(e=>e.map(e=>!!e.isNewStyle)),inTimeStamps:m,inCommitments:_,inNullifiers:v};if(!u.length||!d[0]?.length)return;let{zkCallData:C}=await o.generateZkProof(c,`commitmentCalculator${u.length}x${d[0].length}`,S,!1);if(!Array.isArray(C?.[0])||!Array.isArray(C?.[1])||!Array.isArray(C?.[2]))throw Error(`Invalid zkCallData shape for commitment validation`);return{tokenAddresses:x,inAmounts:p,inTimeStamps:m,inRandomizations:h,inCommitments:_,inNullifiers:v,proof:{a:C[0],b:C[1],c:C[2]}}};exports.buildCommitmentValidationData=c;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../data-structures/crypto-keys/keys.cjs`),n=require(`../utils/solanaMint.utils.cjs`),r=require(`../snarkjs/common.snarkjs.cjs`),i=require(`../../webworker/worker.registry.cjs`),a=require(`../../webworker/performTaskWithWorker.cjs`),o=require(`../../webworker/zkProofWorker/zkProofWorker.types.cjs`);var s=async(s,c,l,u)=>{let d=e.isSolanaLike(s),f=u.map(e=>e.map(e=>e.amount.toString())),p=u.map(e=>e.map(e=>e.timeStamp)),m=u.map(e=>e.map(e=>r.getUtxoCircuitInRandomization(e))),h=u.map(e=>e.map(e=>e.getConstructableParams())),g=u.map(e=>e.map(e=>e.amount===0n?`0`:BigInt(e.getCommitment()).toString())),_=await a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:h}}}),v=c.getShieldedPrivateKey(),y=c.getSpendingKeyPair().pubSpendingBJJPoint,b=d?l.map(e=>{let{compressedAddress:t}=n.formatMintAddress(e);return BigInt(t).toString()}):l.map(e=>BigInt(e).toString());u.forEach((e,n)=>{e.forEach((e,r)=>{let i=e.getStealthAddress(),a=e.spendingPublicKey??y,o=e.isNewStyle&&e.H0?t.UserKeys.getStealthAddressNewStyle(e.H0,v,a):t.UserKeys.getStealthAddress(BigInt(e.randomization),v);if(BigInt(i).toString()!==BigInt(o).toString())throw Error(`Commitment validation stealth mismatch at tokenIdx=${n}, utxoIdx=${r}`)})});let x={nullifyingPrivateKey:v,spendingPublicKey:y,erc20TokenAddresses:b,inAmounts:f,inRandomizations:m,inH0Ax:u.map(e=>e.map(e=>r.getUtxoCircuitH0Coords(e)[0].toString())),inH0Ay:u.map(e=>e.map(e=>r.getUtxoCircuitH0Coords(e)[1].toString())),isNewStyle:u.map(e=>e.map(e=>!!e.isNewStyle)),inTimeStamps:p,inCommitments:g,inNullifiers:_};if(!(!l.length||!u[0]?.length))return{tokenAddresses:b,inAmounts:f,inTimeStamps:p,inRandomizations:m,inCommitments:g,inNullifiers:_,verifierName:`commitmentCalculator${l.length}x${u[0].length}`,commitmentInput:x}},c=(e,t)=>{if(!(!e||!t))return{tokenAddresses:e.tokenAddresses,inAmounts:e.inAmounts,inTimeStamps:e.inTimeStamps,inRandomizations:e.inRandomizations,inCommitments:e.inCommitments,inNullifiers:e.inNullifiers,proof:{a:t.zkCallData[0],b:t.zkCallData[1],c:t.zkCallData[2]}}};exports.buildCommitmentValidationData=s,exports.buildCommitmentValidationDataFromProof=c;
@@ -1,4 +1,14 @@
1
1
  import { UserKeys } from '../../data-structures/crypto-keys/keys';
2
2
  import { Utxo } from '../../data-structures/utxo/Utxo';
3
- import { CommitmentValidationDataType } from '../../types';
4
- export declare const buildCommitmentValidationData: (chainId: number, userKeys: UserKeys, erc20Addresses: string[], inputUtxosArray: Utxo[][]) => Promise<CommitmentValidationDataType | undefined>;
3
+ import { CommitmentValidationDataType } from '../../types/circom-data.types';
4
+ import { NewZkCallDataType } from '../../types/snark.types';
5
+ interface BuildCommitmentValidationData extends Omit<CommitmentValidationDataType, 'proof'> {
6
+ verifierName: string;
7
+ commitmentInput: any;
8
+ }
9
+ export declare const buildCommitmentValidationData: (chainId: number, userKeys: UserKeys, erc20Addresses: string[], inputUtxosArray: Utxo[][]) => Promise<BuildCommitmentValidationData | undefined>;
10
+ export declare const buildCommitmentValidationDataFromProof: (commitmentValidationData: BuildCommitmentValidationData | undefined, commitmentValidationProofResponse: {
11
+ zkCallData: NewZkCallDataType;
12
+ publicSignals: string[];
13
+ } | undefined) => CommitmentValidationDataType | undefined;
14
+ export {};
@@ -4,55 +4,62 @@ import { formatMintAddress as n } from "../utils/solanaMint.utils.mjs";
4
4
  import { getUtxoCircuitH0Coords as r, getUtxoCircuitInRandomization as i } from "../snarkjs/common.snarkjs.mjs";
5
5
  import { WorkerVariant as a } from "../../webworker/worker.registry.mjs";
6
6
  import { performTaskWithWorker as o } from "../../webworker/performTaskWithWorker.mjs";
7
- import { generateZkProof as s } from "../snarkjs/generateZkProof.mjs";
8
- import { ZKProofWorkerActionType as c } from "../../webworker/zkProofWorker/zkProofWorker.types.mjs";
7
+ import { ZKProofWorkerActionType as s } from "../../webworker/zkProofWorker/zkProofWorker.types.mjs";
9
8
  //#region libs/shared/common/src/functions/pre-transaction/buildCommitmentValidationData.ts
10
- var l = async (l, u, d, f) => {
11
- let p = e(l), m = f.map((e) => e.map((e) => e.amount.toString())), h = f.map((e) => e.map((e) => e.timeStamp)), g = f.map((e) => e.map((e) => i(e))), _ = f.map((e) => e.map((e) => e.getConstructableParams())), v = f.map((e) => e.map((e) => e.amount === 0n ? "0" : BigInt(e.getCommitment()).toString())), y = await o({
9
+ var c = async (c, l, u, d) => {
10
+ let f = e(c), p = d.map((e) => e.map((e) => e.amount.toString())), m = d.map((e) => e.map((e) => e.timeStamp)), h = d.map((e) => e.map((e) => i(e))), g = d.map((e) => e.map((e) => e.getConstructableParams())), _ = d.map((e) => e.map((e) => e.amount === 0n ? "0" : BigInt(e.getCommitment()).toString())), v = await o({
12
11
  type: a.ZKProof,
13
12
  payload: {
14
- type: c.BUILD_IN_NULLIFIERS,
15
- data: { inputUtxosSerialized: _ }
13
+ type: s.BUILD_IN_NULLIFIERS,
14
+ data: { inputUtxosSerialized: g }
16
15
  }
17
- }), b = u.getShieldedPrivateKey(), x = u.getSpendingKeyPair().pubSpendingBJJPoint, S = p ? d.map((e) => {
16
+ }), y = l.getShieldedPrivateKey(), b = l.getSpendingKeyPair().pubSpendingBJJPoint, x = f ? u.map((e) => {
18
17
  let { compressedAddress: t } = n(e);
19
18
  return BigInt(t).toString();
20
- }) : d.map((e) => BigInt(e).toString());
21
- f.forEach((e, n) => {
19
+ }) : u.map((e) => BigInt(e).toString());
20
+ d.forEach((e, n) => {
22
21
  e.forEach((e, r) => {
23
- let i = e.getStealthAddress(), a = e.spendingPublicKey ?? x, o = e.isNewStyle && e.H0 ? t.getStealthAddressNewStyle(e.H0, b, a) : t.getStealthAddress(BigInt(e.randomization), b);
22
+ let i = e.getStealthAddress(), a = e.spendingPublicKey ?? b, o = e.isNewStyle && e.H0 ? t.getStealthAddressNewStyle(e.H0, y, a) : t.getStealthAddress(BigInt(e.randomization), y);
24
23
  if (BigInt(i).toString() !== BigInt(o).toString()) throw Error(`Commitment validation stealth mismatch at tokenIdx=${n}, utxoIdx=${r}`);
25
24
  });
26
25
  });
27
- let C = {
28
- nullifyingPrivateKey: b,
29
- spendingPublicKey: x,
30
- erc20TokenAddresses: S,
31
- inAmounts: m,
32
- inRandomizations: g,
33
- inH0Ax: f.map((e) => e.map((e) => r(e)[0].toString())),
34
- inH0Ay: f.map((e) => e.map((e) => r(e)[1].toString())),
35
- isNewStyle: f.map((e) => e.map((e) => !!e.isNewStyle)),
36
- inTimeStamps: h,
37
- inCommitments: v,
38
- inNullifiers: y
26
+ let S = {
27
+ nullifyingPrivateKey: y,
28
+ spendingPublicKey: b,
29
+ erc20TokenAddresses: x,
30
+ inAmounts: p,
31
+ inRandomizations: h,
32
+ inH0Ax: d.map((e) => e.map((e) => r(e)[0].toString())),
33
+ inH0Ay: d.map((e) => e.map((e) => r(e)[1].toString())),
34
+ isNewStyle: d.map((e) => e.map((e) => !!e.isNewStyle)),
35
+ inTimeStamps: m,
36
+ inCommitments: _,
37
+ inNullifiers: v
39
38
  };
40
- if (!d.length || !f[0]?.length) return;
41
- let { zkCallData: w } = await s(l, `commitmentCalculator${d.length}x${f[0].length}`, C, !1);
42
- if (!Array.isArray(w?.[0]) || !Array.isArray(w?.[1]) || !Array.isArray(w?.[2])) throw Error("Invalid zkCallData shape for commitment validation");
43
- return {
44
- tokenAddresses: S,
45
- inAmounts: m,
46
- inTimeStamps: h,
47
- inRandomizations: g,
48
- inCommitments: v,
49
- inNullifiers: y,
39
+ if (!(!u.length || !d[0]?.length)) return {
40
+ tokenAddresses: x,
41
+ inAmounts: p,
42
+ inTimeStamps: m,
43
+ inRandomizations: h,
44
+ inCommitments: _,
45
+ inNullifiers: v,
46
+ verifierName: `commitmentCalculator${u.length}x${d[0].length}`,
47
+ commitmentInput: S
48
+ };
49
+ }, l = (e, t) => {
50
+ if (!(!e || !t)) return {
51
+ tokenAddresses: e.tokenAddresses,
52
+ inAmounts: e.inAmounts,
53
+ inTimeStamps: e.inTimeStamps,
54
+ inRandomizations: e.inRandomizations,
55
+ inCommitments: e.inCommitments,
56
+ inNullifiers: e.inNullifiers,
50
57
  proof: {
51
- a: w[0],
52
- b: w[1],
53
- c: w[2]
58
+ a: t.zkCallData[0],
59
+ b: t.zkCallData[1],
60
+ c: t.zkCallData[2]
54
61
  }
55
62
  };
56
63
  };
57
64
  //#endregion
58
- export { l as buildCommitmentValidationData };
65
+ export { c as buildCommitmentValidationData, l as buildCommitmentValidationDataFromProof };
@@ -1 +1,2 @@
1
- require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../utils/serialize.utils.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../data-structures/AccountActions/AccountActions.cjs`),r=require(`../../types/fee.types.cjs`),i=require(`../web3/getSolanaPriorityFee.cjs`),a=require(`../utils/process.utils.cjs`),o=require(`../../error-handling/retrySolanaError.cjs`);let s=require(`@solana/web3.js`),c=require(`@solana/spl-token`);var l=5e3,u=6e4,d=7,f=async(e,t,n=`confirmed`)=>await a.pollForValue(()=>e.getTransaction(t,{commitment:n,maxSupportedTransactionVersion:0}),{timeoutMs:u,intervalMs:l})??null,p=async(e,n,r,i)=>{try{let{blockhash:a}=await e.getLatestBlockhash(),o=new s.VersionedTransaction(new s.TransactionMessage({payerKey:n,recentBlockhash:a,instructions:[s.ComputeBudgetProgram.setComputeUnitLimit({units:t.MAX_COMPUTE_UNIT_LIMIT}),...r]}).compileToV0Message(i)),{unitsConsumed:c}=(await e.simulateTransaction(o,{sigVerify:!1,replaceRecentBlockhash:!0})).value;if(!c)return t.MAX_COMPUTE_UNIT_LIMIT;let l=Math.ceil(c*(1+t.COMPUTE_UNIT_PADDING_PERCENTAGE));return Math.max(t.MIN_COMPUTE_UNIT_LIMIT,Math.min(l,t.MAX_COMPUTE_UNIT_LIMIT))}catch{return t.MAX_COMPUTE_UNIT_LIMIT}},m=(e,t,n,r)=>{let i=new Set;return t&&i.add(t.toBase58()),n?.forEach(e=>i.add(e.toBase58())),e.forEach(e=>{i.add(e.programId.toBase58()),e.keys.forEach(e=>{i.add(e.pubkey.toBase58())})}),r&&r.forEach(e=>{i.add(e.key.toBase58()),e.state.addresses.forEach(e=>{i.add(e.toBase58())})}),[...i].map(e=>new s.PublicKey(e))},h=t=>{if(!t)throw Error(`Failed to fetch Solana transaction details for signature`);if(t.meta?.err){let n=e.safeJsonStringify(t.meta.err);throw Error(`Solana transaction failed on-chain: ${n}`)}},g=async(e,n,r,a,o)=>{if(r.some(e=>e.programId.equals(s.ComputeBudgetProgram.programId)))return r.map(e=>e.programId.equals(s.ComputeBudgetProgram.programId)&&e.data[0]===2?s.ComputeBudgetProgram.setComputeUnitLimit({units:t.MAX_COMPUTE_UNIT_LIMIT}):e);let c=r.filter(e=>!e.programId.equals(s.ComputeBudgetProgram.programId)),l=await p(e,n,c,a),u=s.ComputeBudgetProgram.setComputeUnitLimit({units:l}),d=e.rpcEndpoint.includes(`helius`)?await i.getSolanaPriorityFee(m(c,n,[s.ComputeBudgetProgram.programId],a),o):0;return[u,s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:d}),...c]},_=async(e,t,n,i,a)=>{if(t.length===0)return``;for(let c=0;c<10;c+=1){let l=c===9;try{let o=await g(e,n.publicKey,t,a,c>=d?r.SolanaPriorityFeeMode.HIGH:r.SolanaPriorityFeeMode.RECOMMENDED),{blockhash:l,lastValidBlockHeight:u}=await e.getLatestBlockhash(),p=new s.VersionedTransaction(new s.TransactionMessage({payerKey:n.publicKey,instructions:o,recentBlockhash:l}).compileToV0Message(a));p.sign(i);let m=await e.sendTransaction(p);return await e.confirmTransaction({signature:m,blockhash:l,lastValidBlockHeight:u},`confirmed`),h(await f(e,m)),m}catch(e){if(o.shouldRetryForSolanaError(e)&&!l)continue;throw e}}return``},v=async(e,t,n,r)=>{if(!n)return null;let i=await(0,c.getAssociatedTokenAddress)(n,r,!0,c.TOKEN_PROGRAM_ID,c.ASSOCIATED_TOKEN_PROGRAM_ID);return await e.getAccountInfo(i)||await _(e,[(0,c.createAssociatedTokenAccountInstruction)(t.publicKey,i,r,n,c.TOKEN_PROGRAM_ID,c.ASSOCIATED_TOKEN_PROGRAM_ID)],t,[t]),i},y=async({connection:e,chainId:t,subAccount:i,payerPublicKey:a,instructions:c,lookupTableAccounts:l})=>{let u=n.AccountActions.getPrivateKeyFromSubAccount(t,i);if(!u)throw Error(`Private key is not available`);for(let t=0;t<10;t+=1){let i=t===9;try{let t=await g(e,a,c,l,i?r.SolanaPriorityFeeMode.HIGH:r.SolanaPriorityFeeMode.RECOMMENDED),{blockhash:o,lastValidBlockHeight:d}=await e.getLatestBlockhash(),p=new s.VersionedTransaction(new s.TransactionMessage({payerKey:a,recentBlockhash:o,instructions:t}).compileToV0Message(l)),m=await n.AccountActions.sendAndSignSolanaTransactionFromPrivateKey(e,u,p,!0);return await e.confirmTransaction({signature:m,blockhash:o,lastValidBlockHeight:d},`confirmed`),h(await f(e,m)),m}catch(e){if(o.shouldRetryForSolanaError(e)&&!i)continue;throw e}}throw Error(`Failed to send proxy v0 transaction due to expired blockheight after all retries`)},b=async(e,t,n,r)=>{let{blockhash:i}=await e.getLatestBlockhash(),a=new s.VersionedTransaction(new s.TransactionMessage({payerKey:t,recentBlockhash:i,instructions:await g(e,t,n,r)}).compileToV0Message(r));return Buffer.from(a.serialize()).toString(`base64`)};exports.ensureAtaExists=v,exports.estimateComputeUnitLimit=p,exports.fetchSolanaTransaction=f,exports.getAccountsFromInstructions=m,exports.sendProxyV0Transaction=y,exports.sendV0Transaction=_,exports.serializeProxyV0Transaction=b;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../utils/serialize.utils.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../data-structures/AccountActions/AccountActions.cjs`),r=require(`../../types/fee.types.cjs`),i=require(`../web3/getSolanaPriorityFee.cjs`),a=require(`../utils/process.utils.cjs`),o=require(`../../error-handling/retrySolanaError.cjs`);let s=require(`@solana/web3.js`),c=require(`@solana/spl-token`);var l=5e3,u=6e4,d=7,f=async(e,t,n=`confirmed`)=>await a.pollForValue(()=>e.getTransaction(t,{commitment:n,maxSupportedTransactionVersion:0}),{timeoutMs:u,intervalMs:l})??null,p=async(e,n,r,i,a=!1)=>{try{let{blockhash:o}=await e.getLatestBlockhash(),c=new s.VersionedTransaction(new s.TransactionMessage({payerKey:n,recentBlockhash:o,instructions:[s.ComputeBudgetProgram.setComputeUnitLimit({units:t.MAX_COMPUTE_UNIT_LIMIT}),...a?[s.ComputeBudgetProgram.requestHeapFrame({bytes:t.MAX_SOLANA_HEAP_FRAME_BYTES})]:[],...r]}).compileToV0Message(i)),{unitsConsumed:l}=(await e.simulateTransaction(c,{sigVerify:!1,replaceRecentBlockhash:!0})).value;if(!l)return t.MAX_COMPUTE_UNIT_LIMIT;let u=Math.ceil(l*(1+t.COMPUTE_UNIT_PADDING_PERCENTAGE));return Math.max(t.MIN_COMPUTE_UNIT_LIMIT,Math.min(u,t.MAX_COMPUTE_UNIT_LIMIT))}catch{return t.MAX_COMPUTE_UNIT_LIMIT}},m=(e,t,n,r)=>{let i=new Set;return t&&i.add(t.toBase58()),n?.forEach(e=>i.add(e.toBase58())),e.forEach(e=>{i.add(e.programId.toBase58()),e.keys.forEach(e=>{i.add(e.pubkey.toBase58())})}),r&&r.forEach(e=>{i.add(e.key.toBase58()),e.state.addresses.forEach(e=>{i.add(e.toBase58())})}),[...i].map(e=>new s.PublicKey(e))},h=t=>{if(!t)throw Error(`Failed to fetch Solana transaction details for signature`);if(t.meta?.err){let n=e.safeJsonStringify(t.meta.err),r=t.meta.logMessages?.join(`
2
+ `);throw Error(r?`Solana transaction failed on-chain: ${n}\n${r}`:`Solana transaction failed on-chain: ${n}`)}},g=async(e,n,r,a,o,c=!1)=>{if(r.some(e=>e.programId.equals(s.ComputeBudgetProgram.programId)))return r.map(e=>e.programId.equals(s.ComputeBudgetProgram.programId)&&e.data[0]===2?s.ComputeBudgetProgram.setComputeUnitLimit({units:t.MAX_COMPUTE_UNIT_LIMIT}):e);let l=r.filter(e=>!e.programId.equals(s.ComputeBudgetProgram.programId)),u=await p(e,n,l,a,c),d=s.ComputeBudgetProgram.setComputeUnitLimit({units:u}),f=e.rpcEndpoint.includes(`helius`)?await i.getSolanaPriorityFee(m(l,n,[s.ComputeBudgetProgram.programId],a),o):0;return[d,s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:f}),...c?[s.ComputeBudgetProgram.requestHeapFrame({bytes:t.MAX_SOLANA_HEAP_FRAME_BYTES})]:[],...l]},_=async(e,t,n,i,a,c=!1)=>{if(t.length===0)return``;for(let l=0;l<10;l+=1){let u=l===9;try{let o=await g(e,n.publicKey,t,a,l>=d?r.SolanaPriorityFeeMode.HIGH:r.SolanaPriorityFeeMode.RECOMMENDED,c),{blockhash:u,lastValidBlockHeight:p}=await e.getLatestBlockhash(),m=new s.VersionedTransaction(new s.TransactionMessage({payerKey:n.publicKey,instructions:o,recentBlockhash:u}).compileToV0Message(a));m.sign(i);let _=await e.sendTransaction(m);return await e.confirmTransaction({signature:_,blockhash:u,lastValidBlockHeight:p},`confirmed`),h(await f(e,_)),_}catch(e){if(o.shouldRetryForSolanaError(e)&&!u)continue;throw e}}return``},v=async(e,t,n,r)=>{if(!n)return null;let i=await(0,c.getAssociatedTokenAddress)(n,r,!0,c.TOKEN_PROGRAM_ID,c.ASSOCIATED_TOKEN_PROGRAM_ID);return await e.getAccountInfo(i)||await _(e,[(0,c.createAssociatedTokenAccountInstruction)(t.publicKey,i,r,n,c.TOKEN_PROGRAM_ID,c.ASSOCIATED_TOKEN_PROGRAM_ID)],t,[t]),i},y=async({connection:e,chainId:t,subAccount:i,payerPublicKey:a,instructions:c,lookupTableAccounts:l})=>{let u=n.AccountActions.getPrivateKeyFromSubAccount(t,i);if(!u)throw Error(`Private key is not available`);for(let t=0;t<10;t+=1){let i=t===9;try{let t=await g(e,a,c,l,i?r.SolanaPriorityFeeMode.HIGH:r.SolanaPriorityFeeMode.RECOMMENDED),{blockhash:o,lastValidBlockHeight:d}=await e.getLatestBlockhash(),p=new s.VersionedTransaction(new s.TransactionMessage({payerKey:a,recentBlockhash:o,instructions:t}).compileToV0Message(l)),m=await n.AccountActions.sendAndSignSolanaTransactionFromPrivateKey(e,u,p,!0);return await e.confirmTransaction({signature:m,blockhash:o,lastValidBlockHeight:d},`confirmed`),h(await f(e,m)),m}catch(e){if(o.shouldRetryForSolanaError(e)&&!i)continue;throw e}}throw Error(`Failed to send proxy v0 transaction due to expired blockheight after all retries`)},b=async(e,t,n,r)=>{let{blockhash:i}=await e.getLatestBlockhash(),a=new s.VersionedTransaction(new s.TransactionMessage({payerKey:t,recentBlockhash:i,instructions:await g(e,t,n,r)}).compileToV0Message(r));return Buffer.from(a.serialize()).toString(`base64`)};exports.ensureAtaExists=v,exports.estimateComputeUnitLimit=p,exports.fetchSolanaTransaction=f,exports.getAccountsFromInstructions=m,exports.sendProxyV0Transaction=y,exports.sendV0Transaction=_,exports.serializeProxyV0Transaction=b;
@@ -1,9 +1,9 @@
1
1
  import { AddressLookupTableAccount, Connection, Finality, Keypair, PublicKey, TransactionInstruction, VersionedTransactionResponse } from '@solana/web3.js';
2
2
  import { SubAccount } from '../../types/proxy.types';
3
3
  export declare const fetchSolanaTransaction: (connection: Connection, signature: string, finality?: Finality) => Promise<VersionedTransactionResponse | null>;
4
- export declare const estimateComputeUnitLimit: (connection: Connection, payerKey: PublicKey, instructions: TransactionInstruction[], lookupTableAccounts?: AddressLookupTableAccount[]) => Promise<number>;
4
+ export declare const estimateComputeUnitLimit: (connection: Connection, payerKey: PublicKey, instructions: TransactionInstruction[], lookupTableAccounts?: AddressLookupTableAccount[], requestHeapFrame?: boolean) => Promise<number>;
5
5
  export declare const getAccountsFromInstructions: (instructions: TransactionInstruction[], payerKey?: PublicKey, additionalAccounts?: PublicKey[], lookupTableAccounts?: AddressLookupTableAccount[]) => PublicKey[];
6
- export declare const sendV0Transaction: (connection: Connection, instructions: TransactionInstruction[], payer: Keypair, signers: Keypair[], lookupTableAccounts?: AddressLookupTableAccount[]) => Promise<string>;
6
+ export declare const sendV0Transaction: (connection: Connection, instructions: TransactionInstruction[], payer: Keypair, signers: Keypair[], lookupTableAccounts?: AddressLookupTableAccount[], requestHeapFrame?: boolean) => Promise<string>;
7
7
  export declare const ensureAtaExists: (connection: Connection, payer: Keypair, mintPubkey: PublicKey | null, owner: PublicKey) => Promise<PublicKey | null>;
8
8
  type SendProxyV0TransactionParams = {
9
9
  connection: Connection;
@@ -1,36 +1,40 @@
1
1
  import { safeJsonStringify as e } from "../utils/serialize.utils.mjs";
2
- import { COMPUTE_UNIT_PADDING_PERCENTAGE as t, MAX_COMPUTE_UNIT_LIMIT as n, MIN_COMPUTE_UNIT_LIMIT as r } from "../../constants/protocol.constants.mjs";
3
- import { AccountActions as i } from "../../data-structures/AccountActions/AccountActions.mjs";
4
- import { SolanaPriorityFeeMode as a } from "../../types/fee.types.mjs";
5
- import { getSolanaPriorityFee as o } from "../web3/getSolanaPriorityFee.mjs";
6
- import { pollForValue as s } from "../utils/process.utils.mjs";
7
- import { shouldRetryForSolanaError as c } from "../../error-handling/retrySolanaError.mjs";
8
- import { ComputeBudgetProgram as l, PublicKey as u, TransactionMessage as d, VersionedTransaction as f } from "@solana/web3.js";
9
- import { ASSOCIATED_TOKEN_PROGRAM_ID as p, TOKEN_PROGRAM_ID as m, createAssociatedTokenAccountInstruction as h, getAssociatedTokenAddress as g } from "@solana/spl-token";
2
+ import { COMPUTE_UNIT_PADDING_PERCENTAGE as t, MAX_COMPUTE_UNIT_LIMIT as n, MAX_SOLANA_HEAP_FRAME_BYTES as r, MIN_COMPUTE_UNIT_LIMIT as i } from "../../constants/protocol.constants.mjs";
3
+ import { AccountActions as a } from "../../data-structures/AccountActions/AccountActions.mjs";
4
+ import { SolanaPriorityFeeMode as o } from "../../types/fee.types.mjs";
5
+ import { getSolanaPriorityFee as s } from "../web3/getSolanaPriorityFee.mjs";
6
+ import { pollForValue as c } from "../utils/process.utils.mjs";
7
+ import { shouldRetryForSolanaError as l } from "../../error-handling/retrySolanaError.mjs";
8
+ import { ComputeBudgetProgram as u, PublicKey as d, TransactionMessage as f, VersionedTransaction as p } from "@solana/web3.js";
9
+ import { ASSOCIATED_TOKEN_PROGRAM_ID as m, TOKEN_PROGRAM_ID as h, createAssociatedTokenAccountInstruction as g, getAssociatedTokenAddress as _ } from "@solana/spl-token";
10
10
  //#region libs/shared/common/src/functions/pre-transaction/sendV0Transaction.ts
11
- var _ = 5e3, v = 6e4, y = 7, b = async (e, t, n = "confirmed") => await s(() => e.getTransaction(t, {
11
+ var v = 5e3, y = 6e4, b = 7, x = async (e, t, n = "confirmed") => await c(() => e.getTransaction(t, {
12
12
  commitment: n,
13
13
  maxSupportedTransactionVersion: 0
14
14
  }), {
15
- timeoutMs: v,
16
- intervalMs: _
17
- }) ?? null, x = async (e, i, a, o) => {
15
+ timeoutMs: y,
16
+ intervalMs: v
17
+ }) ?? null, S = async (e, a, o, s, c = !1) => {
18
18
  try {
19
- let { blockhash: s } = await e.getLatestBlockhash(), c = new f(new d({
20
- payerKey: i,
21
- recentBlockhash: s,
22
- instructions: [l.setComputeUnitLimit({ units: n }), ...a]
23
- }).compileToV0Message(o)), { unitsConsumed: u } = (await e.simulateTransaction(c, {
19
+ let { blockhash: l } = await e.getLatestBlockhash(), d = new p(new f({
20
+ payerKey: a,
21
+ recentBlockhash: l,
22
+ instructions: [
23
+ u.setComputeUnitLimit({ units: n }),
24
+ ...c ? [u.requestHeapFrame({ bytes: r })] : [],
25
+ ...o
26
+ ]
27
+ }).compileToV0Message(s)), { unitsConsumed: m } = (await e.simulateTransaction(d, {
24
28
  sigVerify: !1,
25
29
  replaceRecentBlockhash: !0
26
30
  })).value;
27
- if (!u) return n;
28
- let p = Math.ceil(u * (1 + t));
29
- return Math.max(r, Math.min(p, n));
31
+ if (!m) return n;
32
+ let h = Math.ceil(m * (1 + t));
33
+ return Math.max(i, Math.min(h, n));
30
34
  } catch {
31
35
  return n;
32
36
  }
33
- }, S = (e, t, n, r) => {
37
+ }, C = (e, t, n, r) => {
34
38
  let i = /* @__PURE__ */ new Set();
35
39
  return t && i.add(t.toBase58()), n?.forEach((e) => i.add(e.toBase58())), e.forEach((e) => {
36
40
  i.add(e.programId.toBase58()), e.keys.forEach((e) => {
@@ -40,77 +44,78 @@ var _ = 5e3, v = 6e4, y = 7, b = async (e, t, n = "confirmed") => await s(() =>
40
44
  i.add(e.key.toBase58()), e.state.addresses.forEach((e) => {
41
45
  i.add(e.toBase58());
42
46
  });
43
- }), [...i].map((e) => new u(e));
44
- }, C = (t) => {
47
+ }), [...i].map((e) => new d(e));
48
+ }, w = (t) => {
45
49
  if (!t) throw Error("Failed to fetch Solana transaction details for signature");
46
50
  if (t.meta?.err) {
47
- let n = e(t.meta.err);
48
- throw Error(`Solana transaction failed on-chain: ${n}`);
51
+ let n = e(t.meta.err), r = t.meta.logMessages?.join("\n");
52
+ throw Error(r ? `Solana transaction failed on-chain: ${n}\n${r}` : `Solana transaction failed on-chain: ${n}`);
49
53
  }
50
- }, w = async (e, t, r, i, a) => {
51
- if (r.some((e) => e.programId.equals(l.programId))) return r.map((e) => e.programId.equals(l.programId) && e.data[0] === 2 ? l.setComputeUnitLimit({ units: n }) : e);
52
- let s = r.filter((e) => !e.programId.equals(l.programId)), c = await x(e, t, s, i), u = l.setComputeUnitLimit({ units: c }), d = e.rpcEndpoint.includes("helius") ? await o(S(s, t, [l.programId], i), a) : 0;
54
+ }, T = async (e, t, i, a, o, c = !1) => {
55
+ if (i.some((e) => e.programId.equals(u.programId))) return i.map((e) => e.programId.equals(u.programId) && e.data[0] === 2 ? u.setComputeUnitLimit({ units: n }) : e);
56
+ let l = i.filter((e) => !e.programId.equals(u.programId)), d = await S(e, t, l, a, c), f = u.setComputeUnitLimit({ units: d }), p = e.rpcEndpoint.includes("helius") ? await s(C(l, t, [u.programId], a), o) : 0;
53
57
  return [
54
- u,
55
- l.setComputeUnitPrice({ microLamports: d }),
56
- ...s
58
+ f,
59
+ u.setComputeUnitPrice({ microLamports: p }),
60
+ ...c ? [u.requestHeapFrame({ bytes: r })] : [],
61
+ ...l
57
62
  ];
58
- }, T = async (e, t, n, r, i) => {
63
+ }, E = async (e, t, n, r, i, a = !1) => {
59
64
  if (t.length === 0) return "";
60
- for (let o = 0; o < 10; o += 1) {
61
- let s = o === 9;
65
+ for (let s = 0; s < 10; s += 1) {
66
+ let c = s === 9;
62
67
  try {
63
- let s = await w(e, n.publicKey, t, i, o >= y ? a.HIGH : a.RECOMMENDED), { blockhash: c, lastValidBlockHeight: l } = await e.getLatestBlockhash(), u = new f(new d({
68
+ let c = await T(e, n.publicKey, t, i, s >= b ? o.HIGH : o.RECOMMENDED, a), { blockhash: l, lastValidBlockHeight: u } = await e.getLatestBlockhash(), d = new p(new f({
64
69
  payerKey: n.publicKey,
65
- instructions: s,
66
- recentBlockhash: c
70
+ instructions: c,
71
+ recentBlockhash: l
67
72
  }).compileToV0Message(i));
68
- u.sign(r);
69
- let p = await e.sendTransaction(u);
73
+ d.sign(r);
74
+ let m = await e.sendTransaction(d);
70
75
  return await e.confirmTransaction({
71
- signature: p,
72
- blockhash: c,
73
- lastValidBlockHeight: l
74
- }, "confirmed"), C(await b(e, p)), p;
76
+ signature: m,
77
+ blockhash: l,
78
+ lastValidBlockHeight: u
79
+ }, "confirmed"), w(await x(e, m)), m;
75
80
  } catch (e) {
76
- if (c(e) && !s) continue;
81
+ if (l(e) && !c) continue;
77
82
  throw e;
78
83
  }
79
84
  }
80
85
  return "";
81
- }, E = async (e, t, n, r) => {
86
+ }, D = async (e, t, n, r) => {
82
87
  if (!n) return null;
83
- let i = await g(n, r, !0, m, p);
84
- return await e.getAccountInfo(i) || await T(e, [h(t.publicKey, i, r, n, m, p)], t, [t]), i;
85
- }, D = async ({ connection: e, chainId: t, subAccount: n, payerPublicKey: r, instructions: o, lookupTableAccounts: s }) => {
86
- let l = i.getPrivateKeyFromSubAccount(t, n);
87
- if (!l) throw Error("Private key is not available");
88
+ let i = await _(n, r, !0, h, m);
89
+ return await e.getAccountInfo(i) || await E(e, [g(t.publicKey, i, r, n, h, m)], t, [t]), i;
90
+ }, O = async ({ connection: e, chainId: t, subAccount: n, payerPublicKey: r, instructions: i, lookupTableAccounts: s }) => {
91
+ let c = a.getPrivateKeyFromSubAccount(t, n);
92
+ if (!c) throw Error("Private key is not available");
88
93
  for (let t = 0; t < 10; t += 1) {
89
94
  let n = t === 9;
90
95
  try {
91
- let t = await w(e, r, o, s, n ? a.HIGH : a.RECOMMENDED), { blockhash: c, lastValidBlockHeight: u } = await e.getLatestBlockhash(), p = new f(new d({
96
+ let t = await T(e, r, i, s, n ? o.HIGH : o.RECOMMENDED), { blockhash: l, lastValidBlockHeight: u } = await e.getLatestBlockhash(), d = new p(new f({
92
97
  payerKey: r,
93
- recentBlockhash: c,
98
+ recentBlockhash: l,
94
99
  instructions: t
95
- }).compileToV0Message(s)), m = await i.sendAndSignSolanaTransactionFromPrivateKey(e, l, p, !0);
100
+ }).compileToV0Message(s)), m = await a.sendAndSignSolanaTransactionFromPrivateKey(e, c, d, !0);
96
101
  return await e.confirmTransaction({
97
102
  signature: m,
98
- blockhash: c,
103
+ blockhash: l,
99
104
  lastValidBlockHeight: u
100
- }, "confirmed"), C(await b(e, m)), m;
105
+ }, "confirmed"), w(await x(e, m)), m;
101
106
  } catch (e) {
102
- if (c(e) && !n) continue;
107
+ if (l(e) && !n) continue;
103
108
  throw e;
104
109
  }
105
110
  }
106
111
  throw Error("Failed to send proxy v0 transaction due to expired blockheight after all retries");
107
- }, O = async (e, t, n, r) => {
108
- let { blockhash: i } = await e.getLatestBlockhash(), a = new f(new d({
112
+ }, k = async (e, t, n, r) => {
113
+ let { blockhash: i } = await e.getLatestBlockhash(), a = new p(new f({
109
114
  payerKey: t,
110
115
  recentBlockhash: i,
111
- instructions: await w(e, t, n, r)
116
+ instructions: await T(e, t, n, r)
112
117
  }).compileToV0Message(r));
113
118
  return Buffer.from(a.serialize()).toString("base64");
114
119
  };
115
120
  //#endregion
116
- export { E as ensureAtaExists, x as estimateComputeUnitLimit, b as fetchSolanaTransaction, S as getAccountsFromInstructions, D as sendProxyV0Transaction, T as sendV0Transaction, O as serializeProxyV0Transaction };
121
+ export { D as ensureAtaExists, S as estimateComputeUnitLimit, x as fetchSolanaTransaction, C as getAccountsFromInstructions, O as sendProxyV0Transaction, E as sendV0Transaction, k as serializeProxyV0Transaction };
@@ -1 +1 @@
1
- const e=require(`../../types/external-action.types.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../web3/etherFunctions.cjs`),ee=require(`../../crypto/poseidon.cjs`),te=require(`../../data-structures/crypto-keys/keys.cjs`),ne=require(`../utils/time.utils.cjs`),i=require(`../utils/bit.operations.cjs`),a=require(`../../error-handling/logger.cjs`),o=require(`./common.snarkjs.cjs`),s=require(`./signedMessageHash.cjs`),c=require(`./generateCircomData.cjs`),l=require(`./generateZkProof.cjs`),u=require(`../../data-structures/AccountActions/AccountActions.cjs`),d=require(`./getMerkleTreeSiblingsAndRootHashes.cjs`),f=require(`../private-wallet/emporium.helpers.cjs`);var p=async(p,m,h,g,_,v,y,b,x,S=n.zeroAddress,C=t.chainIds.localhost,w=m.map(()=>!1),T=void 0,E,D)=>{let O=o.getZkProofVerifierName(m,h),k=o.calcAmountChanges(m,h),A=m.map(e=>e[0].erc20TokenAddress),j=o.calcEncryptedOutputs(h),M=n.defaultSignatureData,N=g.getShieldedPrivateKey(),{pubSpendingBJJPoint:P}=g.getSpendingKeyPair(),F=o.calcStealthAddressStructure(te.UserKeys.findCorrectRandomization(r.randomBigInt(31),N),N,g.getSpendingKeyPair().pubSpendingBJJPoint),{inCommitmentSiblings:I,inCommitmentSiblingSides:re,rootHashHinkal:L,inNullifiers:R}=await d.getDataFromWorkers(C,p,m.map(e=>e.map(e=>e.getConstructableParams()))),z=o.buildOutCommitments(h),B=r.randomBigInt(31),V=ee.poseidonFunction(B),H=BigInt(h.length>0?h[0][0].timeStamp:ne.getCurrentTimeInSeconds()),U={rootHashHinkal:L,spendingPublicKey:P,nullifyingPrivateKey:N,erc20TokenAddresses:A,amountChanges:k,inAmounts:m.map(e=>e.map(e=>e.amount.toString())),inRandomizations:m.map(e=>e.map(e=>o.getUtxoCircuitInRandomization(e))),inH0Ax:m.map(e=>e.map(e=>o.getUtxoCircuitH0Coords(e)[0].toString())),inH0Ay:m.map(e=>e.map(e=>o.getUtxoCircuitH0Coords(e)[1].toString())),isNewStyle:m.map(e=>e.map(e=>!!e.isNewStyle)),inTimeStamps:m.map(e=>e.map(e=>e.timeStamp)),inNullifiers:R,inCommitmentSiblings:I,inCommitmentSiblingSides:re,outAmounts:h.map(e=>e.map(e=>e.amount.toString())),outTimeStamp:H,outPublicKeys:h.map(e=>e.map(e=>e.getStealthAddress())),outCommitments:z,calldataHash:0n,messageSeed:B,H0Ax:i.takeOffHighestBit(F.extraRandomization),H0Ay:F.H0},W=o.calcPublicSignalCount(O,U.erc20TokenAddresses,U.amountChanges,U.inNullifiers,U.outCommitments),G=o.calcAmountChanges(m,h,!0),K=o.getSlippageValues(G);a.Logger.log({publicSignalCount:W});let q=Array.isArray(y)?y:[y],J=t.getOnchainChainId(C),Y=D?u.AccountActions.getSignerAddressFromPrivateKey(J,D):void 0,X=_===e.ExternalActionId.Emporium?await f.encodeEmporiumMetadata(C,v??n.zeroAddress,D,q,V,Y):await f.encodeEmporiumMetadata(C,n.zeroAddress,void 0,_===0n?[]:q,V,n.zeroAddress);U.calldataHash=o.createCallDataHash(W,S,v,_,X,j,T,K,w,x,M,E);let Z=s.computeSignedMessageHashEvm({rootHashHinkal:L,erc20TokenAddresses:A,amountChanges:k,outTimeStamp:H,inNullifiers:R,outCommitments:z,calldataHash:U.calldataHash,message:V,outH1Ay:F.H1,H0Ax:U.H0Ax,H0Ay:F.H0}),{R8:Q,S:ie}=g.signEddsa(Z);U.eddsaSignature=[Q[0],Q[1],ie],U.signedMessageHash=Z;let $=O.startsWith(`mainEVMCircuitMin0`),ae={outTimeStamp:H,calldataHash:U.calldataHash,messageSeed:B},{zkCallData:oe}=await l.generateZkProof(C,O,$?ae:U,b);return{zkCallData:oe,circomData:c.generateCircomData(z,R,L,G,A,h,j,W,_,v,X,S,U.calldataHash,F,w,T,$?Number(H):void 0,K,x,M,E),dimData:{tokenNumber:m.length,nullifierAmount:m.length>0?m[0].length:0,outputAmount:h.length>0?h[0].length:0},encryptedOutputs:j}};exports.constructZkProof=p;
1
+ const e=require(`../../types/external-action.types.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../web3/etherFunctions.cjs`),ee=require(`../../crypto/poseidon.cjs`),te=require(`../../data-structures/crypto-keys/keys.cjs`),ne=require(`../utils/time.utils.cjs`),i=require(`../utils/bit.operations.cjs`),a=require(`../../error-handling/logger.cjs`),o=require(`./common.snarkjs.cjs`),s=require(`./signedMessageHash.cjs`),c=require(`./generateCircomData.cjs`),l=require(`../../data-structures/AccountActions/AccountActions.cjs`),u=require(`./generateMainAndCommitmentZkProof.cjs`),d=require(`./getMerkleTreeSiblingsAndRootHashes.cjs`),f=require(`../private-wallet/emporium.helpers.cjs`);var p=async(p,m,h,g,_,v,y,b,x,S=n.zeroAddress,C=t.chainIds.localhost,w=m.map(()=>!1),T=void 0,E,D)=>{let O=o.getZkProofVerifierName(m,h),k=o.calcAmountChanges(m,h),A=m.map(e=>e[0].erc20TokenAddress),j=o.calcEncryptedOutputs(h),M=n.defaultSignatureData,N=g.getShieldedPrivateKey(),{pubSpendingBJJPoint:P}=g.getSpendingKeyPair(),F=o.calcStealthAddressStructure(te.UserKeys.findCorrectRandomization(r.randomBigInt(31),N),N,g.getSpendingKeyPair().pubSpendingBJJPoint),{inCommitmentSiblings:I,inCommitmentSiblingSides:re,rootHashHinkal:L,inNullifiers:R}=await d.getDataFromWorkers(C,p,m.map(e=>e.map(e=>e.getConstructableParams()))),z=o.buildOutCommitments(h),B=r.randomBigInt(31),V=ee.poseidonFunction(B),H=BigInt(h.length>0?h[0][0].timeStamp:ne.getCurrentTimeInSeconds()),U={rootHashHinkal:L,spendingPublicKey:P,nullifyingPrivateKey:N,erc20TokenAddresses:A,amountChanges:k,inAmounts:m.map(e=>e.map(e=>e.amount.toString())),inRandomizations:m.map(e=>e.map(e=>o.getUtxoCircuitInRandomization(e))),inH0Ax:m.map(e=>e.map(e=>o.getUtxoCircuitH0Coords(e)[0].toString())),inH0Ay:m.map(e=>e.map(e=>o.getUtxoCircuitH0Coords(e)[1].toString())),isNewStyle:m.map(e=>e.map(e=>!!e.isNewStyle)),inTimeStamps:m.map(e=>e.map(e=>e.timeStamp)),inNullifiers:R,inCommitmentSiblings:I,inCommitmentSiblingSides:re,outAmounts:h.map(e=>e.map(e=>e.amount.toString())),outTimeStamp:H,outPublicKeys:h.map(e=>e.map(e=>e.getStealthAddress())),outCommitments:z,calldataHash:0n,messageSeed:B,H0Ax:i.takeOffHighestBit(F.extraRandomization),H0Ay:F.H0},W=o.calcPublicSignalCount(O,U.erc20TokenAddresses,U.amountChanges,U.inNullifiers,U.outCommitments),G=o.calcAmountChanges(m,h,!0),K=o.getSlippageValues(G);a.Logger.log({publicSignalCount:W});let q=Array.isArray(y)?y:[y],J=t.getOnchainChainId(C),Y=D?l.AccountActions.getSignerAddressFromPrivateKey(J,D):void 0,X=_===e.ExternalActionId.Emporium?await f.encodeEmporiumMetadata(C,v??n.zeroAddress,D,q,V,Y):await f.encodeEmporiumMetadata(C,n.zeroAddress,void 0,_===0n?[]:q,V,n.zeroAddress);U.calldataHash=o.createCallDataHash(W,S,v,_,X,j,T,K,w,x,M,E);let Z=s.computeSignedMessageHashEvm({rootHashHinkal:L,erc20TokenAddresses:A,amountChanges:k,outTimeStamp:H,inNullifiers:R,outCommitments:z,calldataHash:U.calldataHash,message:V,outH1Ay:F.H1,H0Ax:U.H0Ax,H0Ay:F.H0}),{R8:Q,S:ie}=g.signEddsa(Z);U.eddsaSignature=[Q[0],Q[1],ie],U.signedMessageHash=Z;let $=O.startsWith(`mainEVMCircuitMin0`),ae={outTimeStamp:H,calldataHash:U.calldataHash,messageSeed:B},{zkCallData:oe,commitmentValidationData:se}=await u.generateMainAndCommitmentZkProof(C,g,A,m,O,$?ae:U,b);return{zkCallData:oe,circomData:c.generateCircomData(z,R,L,G,A,h,j,W,_,v,X,S,U.calldataHash,F,w,T,$?Number(H):void 0,K,x,M,E),dimData:{tokenNumber:m.length,nullifierAmount:m.length>0?m[0].length:0,outputAmount:h.length>0?h[0].length:0},encryptedOutputs:j,commitmentValidationData:se}};exports.constructZkProof=p;
@@ -9,4 +9,5 @@ export declare const constructZkProof: <T = CircomDataType>(merkleTree: MerkleTr
9
9
  circomData: T;
10
10
  dimData: DimDataType;
11
11
  encryptedOutputs: string[][];
12
+ commitmentValidationData: import('../..').CommitmentValidationDataType | undefined;
12
13
  }>;
@@ -10,8 +10,8 @@ import { Logger as ie } from "../../error-handling/logger.mjs";
10
10
  import { buildOutCommitments as ae, calcAmountChanges as o, calcEncryptedOutputs as s, calcPublicSignalCount as c, calcStealthAddressStructure as l, createCallDataHash as u, getSlippageValues as d, getUtxoCircuitH0Coords as f, getUtxoCircuitInRandomization as oe, getZkProofVerifierName as se } from "./common.snarkjs.mjs";
11
11
  import { computeSignedMessageHashEvm as ce } from "./signedMessageHash.mjs";
12
12
  import { generateCircomData as le } from "./generateCircomData.mjs";
13
- import { generateZkProof as ue } from "./generateZkProof.mjs";
14
- import { AccountActions as de } from "../../data-structures/AccountActions/AccountActions.mjs";
13
+ import { AccountActions as ue } from "../../data-structures/AccountActions/AccountActions.mjs";
14
+ import { generateMainAndCommitmentZkProof as de } from "./generateMainAndCommitmentZkProof.mjs";
15
15
  import { getDataFromWorkers as p } from "./getMerkleTreeSiblingsAndRootHashes.mjs";
16
16
  import { encodeEmporiumMetadata as m } from "../private-wallet/emporium.helpers.mjs";
17
17
  //#region libs/shared/common/src/functions/snarkjs/constructGeneralZkProof.ts
@@ -41,7 +41,7 @@ var h = async (h, g, _, v, y, b, x, fe, S, C = i, w = t.localhost, T = g.map(()
41
41
  H0Ay: I.H0
42
42
  }, K = c(k, G.erc20TokenAddresses, G.amountChanges, G.inNullifiers, G.outCommitments), q = o(g, _, !0), J = d(q);
43
43
  ie.log({ publicSignalCount: K });
44
- let Y = Array.isArray(x) ? x : [x], pe = n(w), me = O ? de.getSignerAddressFromPrivateKey(pe, O) : void 0, X = y === e.Emporium ? await m(w, b ?? i, O, Y, U, me) : await m(w, i, void 0, y === 0n ? [] : Y, U, i);
44
+ let Y = Array.isArray(x) ? x : [x], pe = n(w), me = O ? ue.getSignerAddressFromPrivateKey(pe, O) : void 0, X = y === e.Emporium ? await m(w, b ?? i, O, Y, U, me) : await m(w, i, void 0, y === 0n ? [] : Y, U, i);
45
45
  G.calldataHash = u(K, C, b, y, X, M, E, J, T, S, N, D);
46
46
  let Z = ce({
47
47
  rootHashHinkal: z,
@@ -65,7 +65,7 @@ var h = async (h, g, _, v, y, b, x, fe, S, C = i, w = t.localhost, T = g.map(()
65
65
  outTimeStamp: W,
66
66
  calldataHash: G.calldataHash,
67
67
  messageSeed: H
68
- }, { zkCallData: _e } = await ue(w, k, $ ? ge : G, fe);
68
+ }, { zkCallData: _e, commitmentValidationData: ve } = await de(w, v, j, g, k, $ ? ge : G, fe);
69
69
  return {
70
70
  zkCallData: _e,
71
71
  circomData: le(V, B, z, q, j, _, M, K, y, b, X, C, G.calldataHash, I, T, E, $ ? Number(W) : void 0, J, S, N, D),
@@ -74,7 +74,8 @@ var h = async (h, g, _, v, y, b, x, fe, S, C = i, w = t.localhost, T = g.map(()
74
74
  nullifierAmount: g.length > 0 ? g[0].length : 0,
75
75
  outputAmount: _.length > 0 ? _[0].length : 0
76
76
  },
77
- encryptedOutputs: M
77
+ encryptedOutputs: M,
78
+ commitmentValidationData: ve
78
79
  };
79
80
  };
80
81
  //#endregion
@@ -1 +1 @@
1
- require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../web3/etherFunctions.cjs`),n=require(`../../crypto/poseidon.cjs`),r=require(`../utils/bit.operations.cjs`),i=require(`../utils/solanaMint.utils.cjs`),a=require(`./common.snarkjs.cjs`),o=require(`../pre-transaction/solana.cjs`),s=require(`./signedMessageHash.cjs`),c=require(`./generateZkProof.cjs`);require(`../pre-transaction/index.cjs`),require(`../utils/index.cjs`);const l=require(`./getMerkleTreeSiblingsAndRootHashes.cjs`),u=require(`../pre-transaction/getSolanaCalldataHash.cjs`);require(`../web3/index.cjs`);let d=require(`@solana/web3.js`);var f=async(f,p,m,h,g,_,v,y,b,x,S,C,w,T=e.chainIds.solanaLocalnet,E=[],D=[],O=0n)=>{let k=new d.PublicKey(x),A=new d.PublicKey(S),j=m.getShieldedPrivateKey(),{pubSpendingBJJPoint:M}=m.getSpendingKeyPair(),N=a.calcStealthAddressStructure(v,j,m.getSpendingKeyPair().pubSpendingBJJPoint),P=t.randomBigInt(31),F=n.poseidonFunction(P),I=n.poseidonFunction(O),L=h.map(e=>i.formatMintAddress(e)),R=L.map(e=>e.mintAccountPart1),z=L.map(e=>e.mintAccountPart2),B=u.getSolanaCalldataHash(C,k,A,w,y,b,E,D),V=`${C.tokenNumber}x${C.nullifierAmount}x${C.outputAmount}`,H=a.calcAmountChanges(g,_),{inCommitmentSiblings:U,inCommitmentSiblingSides:W,rootHashHinkal:G,inNullifiers:K}=await l.getDataFromWorkers(T,p,g.map(e=>e.map(e=>e.getConstructableParams()))),q=a.buildOutCommitments(_),J=r.takeOffHighestBit(N.extraRandomization),Y=N.H0,X=s.computeSignedMessageHashSolana({rootHashHinkal:G,mintAccountPart1:R,mintAccountPart2:z,amountChanges:H,outTimeStamp:BigInt(_[0][0].timeStamp),inNullifiers:K,outCommitments:q,calldataHash:B,message:F,swapperAccountAdditionalSeed:I,outH1Ay:N.H1,H0Ax:J,H0Ay:Y}),{R8:Z,S:Q}=m.signEddsa(X),$={rootHashHinkal:G,spendingPublicKey:M,eddsaSignature:[Z[0],Z[1],Q],signedMessageHash:X,nullifyingPrivateKey:j,mintAccountPart1:R,mintAccountPart2:z,amountChanges:H,inAmounts:g.map(e=>e.map(e=>e.amount.toString())),inRandomizations:g.map(e=>e.map(e=>a.getUtxoCircuitInRandomization(e))),inH0Ax:g.map(e=>e.map(e=>a.getUtxoCircuitH0Coords(e)[0].toString())),inH0Ay:g.map(e=>e.map(e=>a.getUtxoCircuitH0Coords(e)[1].toString())),isNewStyle:g.map(e=>e.map(e=>!!e.isNewStyle)),inTimeStamps:g.map(e=>e.map(e=>e.timeStamp)),inNullifiers:K,inCommitmentSiblings:U,inCommitmentSiblingSides:W,outAmounts:_.map(e=>e.map(e=>e.amount.toString())),outTimeStamp:BigInt(_[0][0].timeStamp),outPublicKeys:_.map(e=>e.map(e=>e.getStealthAddress())),outCommitments:q,calldataHash:B,messageSeed:P,swapperAccountSalt:O,H0Ax:J,H0Ay:Y},{publicSignals:ee,zkCallData:te}=await c.generateZkProof(T,`mainSolanaCircuit${V}`,$,f),[ne,re,ie]=te;return{proofAArr:ne.map(BigInt).map(o.encodeToByte32Array).flat(),proofBArr:re.flat().map(BigInt).map(o.encodeToByte32Array).flat(),proofCArr:ie.map(BigInt).map(o.encodeToByte32Array).flat(),publicInputsArr:ee.map(BigInt).map(o.encodeToByte32Array)}};exports.constructSolanaZkProof=f;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../web3/etherFunctions.cjs`),n=require(`../../crypto/poseidon.cjs`),r=require(`../utils/bit.operations.cjs`),i=require(`../utils/solanaMint.utils.cjs`),a=require(`./common.snarkjs.cjs`),o=require(`../pre-transaction/solana.cjs`),s=require(`./signedMessageHash.cjs`);require(`../pre-transaction/index.cjs`);const c=require(`./generateMainAndCommitmentZkProof.cjs`);require(`../utils/index.cjs`);const l=require(`./getMerkleTreeSiblingsAndRootHashes.cjs`),u=require(`../pre-transaction/getSolanaCalldataHash.cjs`);require(`../web3/index.cjs`);let d=require(`@solana/web3.js`);var f=async(f,p,m,h,g,_,v,y,b,x,S,C,w,T=e.chainIds.solanaLocalnet,E=[],D=[],O=0n)=>{let k=new d.PublicKey(x),A=new d.PublicKey(S),j=m.getShieldedPrivateKey(),{pubSpendingBJJPoint:M}=m.getSpendingKeyPair(),N=a.calcStealthAddressStructure(v,j,m.getSpendingKeyPair().pubSpendingBJJPoint),P=t.randomBigInt(31),F=n.poseidonFunction(P),I=n.poseidonFunction(O),L=h.map(e=>i.formatMintAddress(e)),R=L.map(e=>e.mintAccountPart1),z=L.map(e=>e.mintAccountPart2),B=u.getSolanaCalldataHash(C,k,A,w,y,b,E,D),V=`${C.tokenNumber}x${C.nullifierAmount}x${C.outputAmount}`,H=a.calcAmountChanges(g,_),{inCommitmentSiblings:U,inCommitmentSiblingSides:W,rootHashHinkal:G,inNullifiers:K}=await l.getDataFromWorkers(T,p,g.map(e=>e.map(e=>e.getConstructableParams()))),q=a.buildOutCommitments(_),J=r.takeOffHighestBit(N.extraRandomization),Y=N.H0,X=s.computeSignedMessageHashSolana({rootHashHinkal:G,mintAccountPart1:R,mintAccountPart2:z,amountChanges:H,outTimeStamp:BigInt(_[0][0].timeStamp),inNullifiers:K,outCommitments:q,calldataHash:B,message:F,swapperAccountAdditionalSeed:I,outH1Ay:N.H1,H0Ax:J,H0Ay:Y}),{R8:Z,S:Q}=m.signEddsa(X),$={rootHashHinkal:G,spendingPublicKey:M,eddsaSignature:[Z[0],Z[1],Q],signedMessageHash:X,nullifyingPrivateKey:j,mintAccountPart1:R,mintAccountPart2:z,amountChanges:H,inAmounts:g.map(e=>e.map(e=>e.amount.toString())),inRandomizations:g.map(e=>e.map(e=>a.getUtxoCircuitInRandomization(e))),inH0Ax:g.map(e=>e.map(e=>a.getUtxoCircuitH0Coords(e)[0].toString())),inH0Ay:g.map(e=>e.map(e=>a.getUtxoCircuitH0Coords(e)[1].toString())),isNewStyle:g.map(e=>e.map(e=>!!e.isNewStyle)),inTimeStamps:g.map(e=>e.map(e=>e.timeStamp)),inNullifiers:K,inCommitmentSiblings:U,inCommitmentSiblingSides:W,outAmounts:_.map(e=>e.map(e=>e.amount.toString())),outTimeStamp:BigInt(_[0][0].timeStamp),outPublicKeys:_.map(e=>e.map(e=>e.getStealthAddress())),outCommitments:q,calldataHash:B,messageSeed:P,swapperAccountSalt:O,H0Ax:J,H0Ay:Y},{zkCallData:ee,publicSignals:te,commitmentValidationData:ne}=await c.generateMainAndCommitmentZkProof(T,m,h,g,`mainSolanaCircuit${V}`,$,f),[re,ie,ae]=ee;return{proofAArr:re.map(BigInt).map(o.encodeToByte32Array).flat(),proofBArr:ie.flat().map(BigInt).map(o.encodeToByte32Array).flat(),proofCArr:ae.map(BigInt).map(o.encodeToByte32Array).flat(),publicInputsArr:te.map(BigInt).map(o.encodeToByte32Array),commitmentValidationData:ne}};exports.constructSolanaZkProof=f;
@@ -9,4 +9,5 @@ export declare const constructSolanaZkProof: (generateProofRemotely: boolean, me
9
9
  proofBArr: number[];
10
10
  proofCArr: number[];
11
11
  publicInputsArr: number[][];
12
+ commitmentValidationData: import('../..').CommitmentValidationDataType | undefined;
12
13
  }>;