@hinkal/common 0.3.9 → 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.
Files changed (230) hide show
  1. package/README.md +2 -8
  2. package/common/src/API/API.cjs +1 -1
  3. package/common/src/API/API.d.ts +4 -5
  4. package/common/src/API/API.mjs +79 -80
  5. package/common/src/API/dashboardTransactionCalls.cjs +1 -1
  6. package/common/src/API/dashboardTransactionCalls.d.ts +4 -1
  7. package/common/src/API/dashboardTransactionCalls.mjs +2 -2
  8. package/common/src/API/enclaveRecipientInfoCalls.d.ts +0 -2
  9. package/common/src/API/enclaveSignatureCalls.cjs +1 -1
  10. package/common/src/API/enclaveSignatureCalls.d.ts +2 -1
  11. package/common/src/API/enclaveSignatureCalls.mjs +5 -8
  12. package/common/src/API/enclaveUtxoCalls.cjs +1 -1
  13. package/common/src/API/enclaveUtxoCalls.d.ts +12 -8
  14. package/common/src/API/enclaveUtxoCalls.mjs +17 -20
  15. package/common/src/API/privateSendRecipientInfoCalls.cjs +1 -1
  16. package/common/src/API/privateSendRecipientInfoCalls.d.ts +3 -6
  17. package/common/src/API/privateSendRecipientInfoCalls.mjs +12 -6
  18. package/common/src/API/scheduled-transactions-calls.cjs +1 -1
  19. package/common/src/API/scheduled-transactions-calls.d.ts +1 -5
  20. package/common/src/API/scheduled-transactions-calls.mjs +2 -6
  21. package/common/src/constants/bridging.constants.cjs +1 -1
  22. package/common/src/constants/bridging.constants.d.ts +1 -0
  23. package/common/src/constants/bridging.constants.mjs +1 -1
  24. package/common/src/constants/chains.constants.cjs +1 -1
  25. package/common/src/constants/chains.constants.d.ts +18 -17
  26. package/common/src/constants/chains.constants.mjs +108 -89
  27. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
  28. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +2 -1
  29. package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
  30. package/common/src/constants/deploy-data/deploy-data-base.json.mjs +2 -1
  31. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +1 -1
  32. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +2 -1
  33. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
  34. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +2 -1
  35. package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
  36. package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +2 -1
  37. package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
  38. package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +2 -1
  39. package/common/src/constants/events.constants.cjs +1 -1
  40. package/common/src/constants/events.constants.mjs +1 -16
  41. package/common/src/constants/protocol.constants.d.ts +1 -3
  42. package/common/src/constants/server.constants.cjs +1 -1
  43. package/common/src/constants/server.constants.d.ts +1 -4
  44. package/common/src/constants/server.constants.mjs +1 -4
  45. package/common/src/constants/tx-confirmation.constants.cjs +1 -1
  46. package/common/src/constants/tx-confirmation.constants.d.ts +1 -0
  47. package/common/src/constants/tx-confirmation.constants.mjs +2 -2
  48. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  49. package/common/src/data-structures/Hinkal/Hinkal.d.ts +6 -9
  50. package/common/src/data-structures/Hinkal/Hinkal.mjs +129 -160
  51. package/common/src/data-structures/Hinkal/IHinkal.d.ts +5 -9
  52. package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  53. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +23 -23
  54. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
  55. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +1 -1
  56. package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  57. package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +10 -10
  58. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  59. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +18 -18
  60. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.cjs +1 -1
  61. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +3 -2
  62. package/common/src/data-structures/Hinkal/hinkalProxySend.cjs +1 -0
  63. package/common/src/data-structures/Hinkal/hinkalProxySend.d.ts +6 -0
  64. package/common/src/data-structures/Hinkal/hinkalProxySend.mjs +16 -0
  65. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  66. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +44 -47
  67. package/common/src/data-structures/Hinkal/hinkalSolanaTransact.cjs +1 -1
  68. package/common/src/data-structures/Hinkal/hinkalSolanaTransact.mjs +2 -2
  69. package/common/src/data-structures/Hinkal/hinkalTransact.cjs +1 -1
  70. package/common/src/data-structures/Hinkal/hinkalTransact.mjs +1 -1
  71. package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  72. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +4 -4
  73. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  74. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +101 -94
  75. package/common/src/data-structures/Hinkal/index.d.ts +0 -1
  76. package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
  77. package/common/src/data-structures/IndexedDB/activity-db.mjs +34 -34
  78. package/common/src/data-structures/IndexedDB/index.cjs +1 -1
  79. package/common/src/data-structures/IndexedDB/index.d.ts +1 -0
  80. package/common/src/data-structures/IndexedDB/index.mjs +1 -0
  81. package/common/src/data-structures/IndexedDB/scheduled-transactions-db.cjs +1 -0
  82. package/common/src/data-structures/IndexedDB/scheduled-transactions-db.d.ts +11 -0
  83. package/common/src/data-structures/IndexedDB/scheduled-transactions-db.mjs +34 -0
  84. package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
  85. package/common/src/data-structures/IndexedDB/signatures-db.mjs +11 -11
  86. package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
  87. package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +18 -19
  88. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  89. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +11 -11
  90. package/common/src/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -1
  91. package/common/src/data-structures/event-service/helpers/ClientEventHelper.mjs +6 -6
  92. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
  93. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.d.ts +1 -0
  94. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +79 -75
  95. package/common/src/data-structures/provider-adapter/IProviderAdapter.d.ts +1 -4
  96. package/common/src/error-handling/error-codes.constants.cjs +1 -1
  97. package/common/src/error-handling/error-codes.constants.d.ts +6 -0
  98. package/common/src/error-handling/error-codes.constants.mjs +10 -4
  99. package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.cjs +1 -1
  100. package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.mjs +7 -6
  101. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -1
  102. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +8 -8
  103. package/common/src/functions/index.cjs +1 -1
  104. package/common/src/functions/index.mjs +1 -2
  105. package/common/src/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
  106. package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +12 -12
  107. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  108. package/common/src/functions/private-wallet/emporium.helpers.mjs +13 -13
  109. package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  110. package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +13 -13
  111. package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  112. package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +4 -4
  113. package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  114. package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +5 -5
  115. package/common/src/functions/snarkjs/constructTxEnclave.cjs +1 -1
  116. package/common/src/functions/snarkjs/constructTxEnclave.d.ts +1 -1
  117. package/common/src/functions/snarkjs/constructTxEnclave.mjs +61 -133
  118. package/common/src/functions/snarkjs/constructTxEnclaveVerify.cjs +1 -0
  119. package/common/src/functions/snarkjs/constructTxEnclaveVerify.d.ts +5 -0
  120. package/common/src/functions/snarkjs/constructTxEnclaveVerify.mjs +295 -0
  121. package/common/src/functions/utils/addresses.cjs +1 -1
  122. package/common/src/functions/utils/addresses.d.ts +1 -0
  123. package/common/src/functions/utils/addresses.mjs +13 -12
  124. package/common/src/functions/utils/bridge-arrival.utils.cjs +1 -1
  125. package/common/src/functions/utils/bridge-arrival.utils.mjs +12 -11
  126. package/common/src/functions/utils/create-provider.cjs +1 -1
  127. package/common/src/functions/utils/create-provider.mjs +4 -1
  128. package/common/src/functions/utils/enclave-recipient-info-storage.cjs +1 -1
  129. package/common/src/functions/utils/enclave-recipient-info-storage.d.ts +4 -1
  130. package/common/src/functions/utils/enclave-recipient-info-storage.mjs +1 -0
  131. package/common/src/functions/utils/enclave-signature-storage.cjs +1 -1
  132. package/common/src/functions/utils/enclave-signature-storage.d.ts +1 -1
  133. package/common/src/functions/utils/enclave-signature-storage.mjs +3 -3
  134. package/common/src/functions/utils/enclave-utxo-storage.cjs +1 -1
  135. package/common/src/functions/utils/enclave-utxo-storage.d.ts +3 -3
  136. package/common/src/functions/utils/enclave-utxo-storage.mjs +8 -5
  137. package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
  138. package/common/src/functions/utils/encryptInputForEnclave.d.ts +8 -0
  139. package/common/src/functions/utils/encryptInputForEnclave.mjs +43 -23
  140. package/common/src/functions/utils/erc20tokenFunctions.cjs +1 -1
  141. package/common/src/functions/utils/erc20tokenFunctions.mjs +2 -15
  142. package/common/src/functions/utils/fees.utils.cjs +1 -1
  143. package/common/src/functions/utils/fees.utils.mjs +6 -6
  144. package/common/src/functions/utils/index.cjs +1 -1
  145. package/common/src/functions/utils/index.d.ts +1 -0
  146. package/common/src/functions/utils/index.mjs +3 -3
  147. package/common/src/functions/utils/ipfs.d.ts +2 -3
  148. package/common/src/functions/utils/lifi.utils.d.ts +2 -0
  149. package/common/src/functions/utils/nearIntents.utils.cjs +1 -1
  150. package/common/src/functions/utils/nearIntents.utils.mjs +6 -6
  151. package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
  152. package/common/src/functions/utils/publicBalance.utils.mjs +9 -10
  153. package/common/src/functions/utils/temporary-wallet-recovery.utils.cjs +1 -0
  154. package/common/src/functions/utils/temporary-wallet-recovery.utils.d.ts +7 -0
  155. package/common/src/functions/utils/temporary-wallet-recovery.utils.mjs +10 -0
  156. package/common/src/functions/utils/tron.utils.cjs +1 -1
  157. package/common/src/functions/utils/tron.utils.mjs +16 -29
  158. package/common/src/functions/utils/tx-confirmation.utils.cjs +1 -1
  159. package/common/src/functions/utils/tx-confirmation.utils.d.ts +1 -0
  160. package/common/src/functions/utils/tx-confirmation.utils.mjs +16 -13
  161. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  162. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +5 -5
  163. package/common/src/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
  164. package/common/src/functions/web3/events/getInputUtxosEnclave.d.ts +1 -1
  165. package/common/src/functions/web3/events/getInputUtxosEnclave.mjs +19 -11
  166. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  167. package/common/src/functions/web3/events/getShieldedBalance.d.ts +4 -4
  168. package/common/src/functions/web3/events/getShieldedBalance.mjs +113 -102
  169. package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
  170. package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +16 -16
  171. package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
  172. package/common/src/providers/SolanaProviderAdapter.d.ts +1 -4
  173. package/common/src/providers/SolanaProviderAdapter.mjs +3 -6
  174. package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
  175. package/common/src/providers/WagmiProviderAdapter.mjs +5 -5
  176. package/common/src/types/cache.types.cjs +1 -1
  177. package/common/src/types/cache.types.d.ts +2 -1
  178. package/common/src/types/cache.types.mjs +1 -1
  179. package/common/src/types/enclaveApi.types.d.ts +2 -3
  180. package/common/src/types/ethereum-network.types.d.ts +1 -0
  181. package/common/src/types/events.types.d.ts +1 -0
  182. package/common/src/types/near-intents.types.d.ts +1 -0
  183. package/common/src/types/remote-proof.types.d.ts +5 -0
  184. package/common/src/types/remote-tx-build.types.d.ts +37 -4
  185. package/common/src/types/scheduled-transactions.types.d.ts +18 -0
  186. package/common/src/types/solana.types.d.ts +0 -3
  187. package/common/src/webworker/{logError-RKYfeI6h.js → logError-CIIt1CO3.js} +1 -1
  188. package/common/src/webworker/package.json +1 -2
  189. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  190. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  191. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  192. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  193. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  194. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  195. package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
  196. package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
  197. package/common/src/webworker/workerProxy-BHzCZ9HT.js +1 -0
  198. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  199. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  200. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  201. package/package.json +1 -2
  202. package/services/Hinkal.cjs +1 -1
  203. package/services/Hinkal.d.ts +6 -2
  204. package/services/Hinkal.mjs +9 -4
  205. package/types/IHinkal.d.ts +6 -2
  206. package/common/src/API/evm-token-assets.cjs +0 -1
  207. package/common/src/API/evm-token-assets.mjs +0 -20
  208. package/common/src/API/getAnyRecipientInfo.d.ts +0 -1
  209. package/common/src/API/solana-nft-assets.cjs +0 -1
  210. package/common/src/API/solana-nft-assets.mjs +0 -11
  211. package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredProxySend.d.ts +0 -5
  212. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +0 -1
  213. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +0 -109
  214. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +0 -1
  215. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +0 -94
  216. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +0 -1
  217. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +0 -134
  218. package/common/src/data-structures/TokenDBs/PublicTokensDB.cjs +0 -1
  219. package/common/src/data-structures/TokenDBs/PublicTokensDB.mjs +0 -32
  220. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.cjs +0 -1
  221. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.mjs +0 -37
  222. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +0 -1
  223. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +0 -51
  224. package/common/src/data-structures/TokenDBs/index.cjs +0 -1
  225. package/common/src/data-structures/TokenDBs/index.mjs +0 -6
  226. package/common/src/functions/utils/ipfs.cjs +0 -1
  227. package/common/src/functions/utils/ipfs.mjs +0 -1
  228. package/common/src/functions/utils/reloadPage.cjs +0 -1
  229. package/common/src/functions/utils/reloadPage.mjs +0 -4
  230. package/common/src/webworker/workerProxy-COB7g4Qc.js +0 -1
@@ -141,12 +141,15 @@ var e = {
141
141
  TRON_CONFIRMATION_DECLINED: "Confirmation declined by user",
142
142
  BLACKLISTED_INPUT_COMMITMENT_ADDRESS: "One of the source addresses is restricted from private transactions",
143
143
  ACCOUNT_RESOURCE_INSUFFICIENT_ERROR: "Account resource insufficient error",
144
- TRON_ROOT_HASH_STALE: "Hinkal Root Hash Is Stale For Proof",
145
- TRON_TX_IN_FLIGHT: "Another Hinkal transaction is in progress"
144
+ TRON_ROOT_HASH_STALE: "Hinkal Root Hash Is Stale For Insertion",
145
+ TRON_TX_IN_FLIGHT: "Another Hinkal transaction is in progress",
146
+ SOLANA_CONFIRMATION_TIMEOUT: "Transaction was not confirmed in",
147
+ BRIDGE_ARRIVAL_TIMEOUT: "Bridge did not land on destination temp wallet"
146
148
  }, i = "Not enough memory. Please, close some tabs/applications to free up memory and try again", a = "Your transaction didn’t go through due to price slippage. Try increasing your slippage tolerance", o = {
147
149
  USER_REJECTED_TRANSACTION: "You cancelled the transaction",
148
150
  SOME_ERROR: "Some error has occurred. Please try again in a few minutes. If the issue persists, please report it in Discord",
149
151
  TOO_HIGH_AMOUNT: "The amount you provided is too high, please adjust the amount",
152
+ NOT_ENOUGH_TOKENS: "Transfer amount exceeds balance. Try lowering amount or add funds and retry.",
150
153
  WC_NO_MATCHING_KEY: "Wallet Connect error. Please, try again",
151
154
  RPC_PROVIDER_LIMIT_ERROR: "Rate Limit: please, use different rpc provider in your wallet",
152
155
  INSUFFICIENT_FUNDS_GAS: "Your balance is too low to cover the transaction fees. Please add funds to proceed",
@@ -223,11 +226,14 @@ var e = {
223
226
  NO_SWAP_QUOTES: "No swap route available for this token pair on the selected network at the moment. Please try again later or adjust the swap parameters.",
224
227
  TRON_ROOT_HASH_STALE: "Another transaction was processed just before yours. Please try again",
225
228
  TRON_TX_IN_FLIGHT: "Another transaction is currently being processed. Please try again in a few seconds",
226
- NO_LIFI_PRICE: "Li-Fi provider couldn't fetch the price. please, retry in a few seconds."
229
+ NO_LIFI_PRICE: "Li-Fi provider couldn't fetch the price. please, retry in a few seconds.",
230
+ SOLANA_CONFIRMATION_TIMEOUT: "Network didn't confirm your transfer in time. It may still be confirmed - please, check Solscan before retrying.",
231
+ BRIDGE_ARRIVAL_TIMEOUT: "The bridge is taking longer than usual. Your funds left the source chain and are not lost - once they arrive, claim them from Recovery Funds."
227
232
  }, s = {
228
233
  UTXO_LIMITATIONS: "Your transaction exceeds the UTXO limit",
229
234
  INSUFFICIENT_BALANCE_FOR_FEES: "Fees are high right now and would consume a large portion of your balance. Consider reducing the amount or retrying later.",
230
- HIGH_FEE_WARNING: "Total fees exceed your available balance. Consider adding funds or retry later when fees decrease."
235
+ HIGH_FEE_WARNING: "Total fees exceed your available balance. Consider adding funds or retry later when fees decrease.",
236
+ INSUFFICIENT_FUNDS_FOR_RECOVERY_FEES: "Insufficient funds to cover recovery fees"
231
237
  };
232
238
  //#endregion
233
239
  export { s as DIRECTLY_SHOW_MESSAGE_ERROR_CODES, o as UserFriendlyErrorCodes, n as gasErrorCodes, t as insufficientResourcesErrorCodes, r as transactionErrorCodes };
@@ -1 +1 @@
1
- const e=require(`../web3/etherFunctions.cjs`),t=require(`../../error-handling/logger.cjs`),n=require(`../utils/publicBalance.utils.cjs`);require(`../utils/index.cjs`),require(`../web3/index.cjs`);var r=async(r,i,a,o,s,c)=>{try{let t=await a.getEthereumAddressByChain(i),l=await a.getBalances(i,a.userKeys.getShieldedPrivateKey(),a.userKeys.getShieldedPublicKey(),t);return await Promise.all(r.map(async t=>{let r=t.erc20TokenAddress.toLowerCase(),i=l.get(r)?.balance??0n,a=(await n.getPublicBalance(s,o,t))?.balance??0n,u=c.get(r)??0,d=parseFloat(e.getAmountInToken(t,i))*u,f=parseFloat(e.getAmountInToken(t,a))*u;return{erc20Token:t,privateUsdBalance:d,publicUsdBalance:f,totalUsdBalance:d+f}}))}catch(e){return t.Logger.error(`Error getting gas token records`,e),[]}};exports.getGasTokenRecords=r;
1
+ const e=require(`../web3/etherFunctions.cjs`),t=require(`../../error-handling/logger.cjs`),n=require(`../web3/events/getShieldedBalance.cjs`),r=require(`../utils/publicBalance.utils.cjs`);require(`../utils/index.cjs`),require(`../web3/index.cjs`);var i=async(i,a,o,s,c,l)=>{try{let t=await o.getEthereumAddressByChain(a),u=(await n.getShieldedBalances(o,new Map([[a,t]]),o.userKeys.getShieldedPrivateKey(),o.userKeys.getShieldedPublicKey())).get(a)??[];return await Promise.all(i.map(async t=>{let n=t.erc20TokenAddress.toLowerCase(),i=u.find(e=>e.token.erc20TokenAddress.toLowerCase()===n)?.balance??0n,a=(await r.getPublicBalance(c,s,t))?.balance??0n,o=l.get(n)??0,d=parseFloat(e.getAmountInToken(t,i))*o,f=parseFloat(e.getAmountInToken(t,a))*o;return{erc20Token:t,privateUsdBalance:d,publicUsdBalance:f,totalUsdBalance:d+f}}))}catch(e){return t.Logger.error(`Error getting gas token records`,e),[]}};exports.getGasTokenRecords=i;
@@ -1,14 +1,15 @@
1
1
  import { getAmountInToken as e } from "../web3/etherFunctions.mjs";
2
2
  import { Logger as t } from "../../error-handling/logger.mjs";
3
- import { getPublicBalance as n } from "../utils/publicBalance.utils.mjs";
3
+ import { getShieldedBalances as n } from "../web3/events/getShieldedBalance.mjs";
4
+ import { getPublicBalance as r } from "../utils/publicBalance.utils.mjs";
4
5
  import "../utils/index.mjs";
5
6
  import "../web3/index.mjs";
6
7
  //#region libs/shared/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.ts
7
- var r = async (r, i, a, o, s, c) => {
8
+ var i = async (i, a, o, s, c, l) => {
8
9
  try {
9
- let t = await a.getEthereumAddressByChain(i), l = await a.getBalances(i, a.userKeys.getShieldedPrivateKey(), a.userKeys.getShieldedPublicKey(), t);
10
- return await Promise.all(r.map(async (t) => {
11
- let r = t.erc20TokenAddress.toLowerCase(), i = l.get(r)?.balance ?? 0n, a = (await n(s, o, t))?.balance ?? 0n, u = c.get(r) ?? 0, d = parseFloat(e(t, i)) * u, f = parseFloat(e(t, a)) * u;
10
+ let t = await o.getEthereumAddressByChain(a), u = (await n(o, new Map([[a, t]]), o.userKeys.getShieldedPrivateKey(), o.userKeys.getShieldedPublicKey())).get(a) ?? [];
11
+ return await Promise.all(i.map(async (t) => {
12
+ let n = t.erc20TokenAddress.toLowerCase(), i = u.find((e) => e.token.erc20TokenAddress.toLowerCase() === n)?.balance ?? 0n, a = (await r(c, s, t))?.balance ?? 0n, o = l.get(n) ?? 0, d = parseFloat(e(t, i)) * o, f = parseFloat(e(t, a)) * o;
12
13
  return {
13
14
  erc20Token: t,
14
15
  privateUsdBalance: d,
@@ -21,4 +22,4 @@ var r = async (r, i, a, o, s, c) => {
21
22
  }
22
23
  };
23
24
  //#endregion
24
- export { r as getGasTokenRecords };
25
+ export { i as getGasTokenRecords };
@@ -1 +1 @@
1
- const e=require(`../utils/caseInsensitive.utils.cjs`),t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../types/external-action.types.cjs`),r=require(`../../types/offscreen.types.cjs`);require(`../../types/index.cjs`);const i=require(`../../error-handling/logger.cjs`);require(`../../error-handling/index.cjs`);const a=require(`../pre-transaction/getFeeStructure.cjs`);require(`../pre-transaction/index.cjs`);const o=require(`../utils/convertEmporiumOpToCallInfo.cjs`),s=require(`../utils/postToOffscreen.cjs`);require(`../utils/index.cjs`);var c=async(c,l,u,d,f,p,m,h,g)=>{try{if(!((p.find(({erc20Token:t})=>e.caseInsensitiveEqual(t.erc20TokenAddress,c))?.totalUsdBalance??0)>=l)){let i=p.find(t=>t.totalUsdBalance<=l?!1:d.find(({erc20TokenAddress:n})=>e.caseInsensitiveEqual(n,t.erc20Token.erc20TokenAddress))?t.publicUsdBalance>l:!0);if(!i){s.postToOffscreen(r.MessagesFromOffscreen.AutoShieldTxStatus,{message:t.transactionErrorCodes.AUTO_SHIELD_INSUFFICIENT_GAS});return}c=i.erc20Token.erc20TokenAddress,m=await a.getFeeStructure(u,c,h,n.ExternalActionId.Emporium,f.map(e=>o.convertEmporiumOpToCallInfo(e,g,u)))}return{feeToken:c,feeStructure:m}}catch(e){i.Logger.error(`selectGasToken error`,{error:e});return}};exports.selectGasToken=c;
1
+ const e=require(`../utils/caseInsensitive.utils.cjs`),t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../error-handling/logger.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/offscreen.types.cjs`);require(`../../types/index.cjs`),require(`../../error-handling/index.cjs`);const a=require(`../pre-transaction/getFeeStructure.cjs`);require(`../pre-transaction/index.cjs`);const o=require(`../utils/convertEmporiumOpToCallInfo.cjs`),s=require(`../utils/postToOffscreen.cjs`);require(`../utils/index.cjs`);var c=async(c,l,u,d,f,p,m,h,g)=>{try{if(!((p.find(({erc20Token:t})=>e.caseInsensitiveEqual(t.erc20TokenAddress,c))?.totalUsdBalance??0)>=l)){let n=p.find(t=>t.totalUsdBalance<=l?!1:d.find(({erc20TokenAddress:n})=>e.caseInsensitiveEqual(n,t.erc20Token.erc20TokenAddress))?t.publicUsdBalance>l:!0);if(!n){s.postToOffscreen(i.MessagesFromOffscreen.AutoShieldTxStatus,{message:t.transactionErrorCodes.AUTO_SHIELD_INSUFFICIENT_GAS});return}c=n.erc20Token.erc20TokenAddress,m=await a.getFeeStructure(u,c,h,r.ExternalActionId.Emporium,f.map(e=>o.convertEmporiumOpToCallInfo(e,g,u)))}return{feeToken:c,feeStructure:m}}catch(e){n.Logger.error(`selectGasToken error`,{error:e});return}};exports.selectGasToken=c;
@@ -1,9 +1,9 @@
1
1
  import { caseInsensitiveEqual as e } from "../utils/caseInsensitive.utils.mjs";
2
2
  import { transactionErrorCodes as t } from "../../error-handling/error-codes.constants.mjs";
3
- import { ExternalActionId as n } from "../../types/external-action.types.mjs";
4
- import { MessagesFromOffscreen as r } from "../../types/offscreen.types.mjs";
3
+ import { Logger as n } from "../../error-handling/logger.mjs";
4
+ import { ExternalActionId as r } from "../../types/external-action.types.mjs";
5
+ import { MessagesFromOffscreen as i } from "../../types/offscreen.types.mjs";
5
6
  import "../../types/index.mjs";
6
- import { Logger as i } from "../../error-handling/logger.mjs";
7
7
  import "../../error-handling/index.mjs";
8
8
  import { getFeeStructure as a } from "../pre-transaction/getFeeStructure.mjs";
9
9
  import "../pre-transaction/index.mjs";
@@ -14,19 +14,19 @@ import "../utils/index.mjs";
14
14
  var c = async (c, l, u, d, f, p, m, h, g) => {
15
15
  try {
16
16
  if (!((p.find(({ erc20Token: t }) => e(t.erc20TokenAddress, c))?.totalUsdBalance ?? 0) >= l)) {
17
- let i = p.find((t) => t.totalUsdBalance <= l ? !1 : d.find(({ erc20TokenAddress: n }) => e(n, t.erc20Token.erc20TokenAddress)) ? t.publicUsdBalance > l : !0);
18
- if (!i) {
19
- s(r.AutoShieldTxStatus, { message: t.AUTO_SHIELD_INSUFFICIENT_GAS });
17
+ let n = p.find((t) => t.totalUsdBalance <= l ? !1 : d.find(({ erc20TokenAddress: n }) => e(n, t.erc20Token.erc20TokenAddress)) ? t.publicUsdBalance > l : !0);
18
+ if (!n) {
19
+ s(i.AutoShieldTxStatus, { message: t.AUTO_SHIELD_INSUFFICIENT_GAS });
20
20
  return;
21
21
  }
22
- c = i.erc20Token.erc20TokenAddress, m = await a(u, c, h, n.Emporium, f.map((e) => o(e, g, u)));
22
+ c = n.erc20Token.erc20TokenAddress, m = await a(u, c, h, r.Emporium, f.map((e) => o(e, g, u)));
23
23
  }
24
24
  return {
25
25
  feeToken: c,
26
26
  feeStructure: m
27
27
  };
28
28
  } catch (e) {
29
- i.error("selectGasToken error", { error: e });
29
+ n.error("selectGasToken error", { error: e });
30
30
  return;
31
31
  }
32
32
  };
@@ -1 +1 @@
1
- require(`./utils/abi.utils.cjs`),require(`./utils/serialize.utils.cjs`),require(`./utils/caseInsensitive.utils.cjs`),require(`./utils/amounts.utils.cjs`),require(`./web3/etherFunctions.cjs`),require(`./utils/time.utils.cjs`),require(`./utils/upToDateState.cjs`),require(`./utils/cacheFunctions.cjs`),require(`./utils/encodeTokenWithId.cjs`),require(`./utils/enclaveHandshakeService.cjs`),require(`./utils/encryptInputForEnclave.cjs`),require(`./utils/solanaMint.utils.cjs`),require(`./utils/serialize-utxos.utils.cjs`),require(`./utils/customEnclaveFunctionsRegister.cjs`),require(`./utils/addresses.cjs`),require(`./utils/tron.utils.cjs`),require(`./web3/events/getInputUtxoAndBalance.cjs`),require(`./utils/legacyKeys.cjs`),require(`./utils/auth.utils.cjs`),require(`./utils/string.utils.cjs`),require(`./utils/token-check.utils.cjs`),require(`./utils/map.utils.cjs`),require(`./utils/mutexes.utils.cjs`),require(`./utils/erc20tokenFunctions.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/process-gas-estimates.cjs`),require(`./pre-transaction/getVolatileTransferAmount.cjs`),require(`./pre-transaction/constructAdminData.cjs`),require(`./utils/create-provider.cjs`),require(`./pre-transaction/calculateSolanaNullifierCount.cjs`),require(`./pre-transaction/convert-okx-instructions.cjs`),require(`./utils/process.utils.cjs`),require(`./pre-transaction/sendV0Transaction.cjs`),require(`./utils/bytes32.utils.cjs`),require(`./pre-transaction/getFeeStructure.cjs`),require(`./pre-transaction/getExternalSwapAddress.cjs`),require(`./pre-transaction/speculativeUtxo.cjs`),require(`./pre-transaction/buildCommitmentValidationData.cjs`),require(`./pre-transaction/index.cjs`),require(`./snarkjs/generateZkProof.cjs`),require(`./snarkjs/generateMainAndCommitmentZkProof.cjs`),require(`./web3/getContractMetadata.cjs`),require(`./utils/solana-program.utils.cjs`),require(`./snarkjs/fetchOnChainRootHashes.cjs`),require(`./utils/getContractAddress.cjs`),require(`./private-wallet/emporium.helpers.cjs`),require(`./snarkjs/constructGeneralZkProof.cjs`),require(`./utils/getSignerFromContract.cjs`),require(`./utils/tronSimulation.utils.cjs`),require(`./utils/resolve-sync.utils.cjs`),require(`./utils/reloadPage.cjs`),require(`./utils/cacheDevice.utils.cjs`),require(`./utils/involves-permit2-op.cjs`),require(`./utils/convertEmporiumOpToCallInfo.cjs`),require(`./utils/getRecipientInfoFromUserKeys.cjs`),require(`./utils/publicBalance.utils.cjs`),require(`./utils/postToOffscreen.cjs`),require(`./utils/fees.utils.cjs`),require(`./utils/proxyAvatar.utils.cjs`),require(`./utils/enclave-utxo-storage.cjs`),require(`./utils/enclave-signature-storage.cjs`),require(`./utils/tx-confirmation.utils.cjs`),require(`./utils/bridge-arrival.utils.cjs`),require(`./utils/solana-sponsored.utils.cjs`),require(`./utils/temp-wallet.utils.cjs`),require(`./utils/mnemonics.cjs`),require(`./utils/nearIntents.utils.cjs`),require(`./utils/index.cjs`),require(`./web3/lifiAPI.cjs`),require(`./web3/okxAPI.cjs`),require(`./web3/index.cjs`),require(`./snarkjs/constructSolanaZkProof.cjs`),require(`./snarkjs/index.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/abi.utils.cjs`),require(`./utils/serialize.utils.cjs`),require(`./utils/caseInsensitive.utils.cjs`),require(`./utils/amounts.utils.cjs`),require(`./web3/etherFunctions.cjs`),require(`./utils/time.utils.cjs`),require(`./utils/upToDateState.cjs`),require(`./utils/cacheFunctions.cjs`),require(`./utils/encodeTokenWithId.cjs`),require(`./utils/enclaveHandshakeService.cjs`),require(`./utils/encryptInputForEnclave.cjs`),require(`./utils/solanaMint.utils.cjs`),require(`./utils/serialize-utxos.utils.cjs`),require(`./utils/customEnclaveFunctionsRegister.cjs`),require(`./utils/tron.utils.cjs`),require(`./utils/addresses.cjs`),require(`./web3/events/getInputUtxoAndBalance.cjs`),require(`./utils/legacyKeys.cjs`),require(`./utils/auth.utils.cjs`),require(`./utils/string.utils.cjs`),require(`./utils/token-check.utils.cjs`),require(`./utils/map.utils.cjs`),require(`./utils/mutexes.utils.cjs`),require(`./utils/erc20tokenFunctions.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/process-gas-estimates.cjs`),require(`./pre-transaction/getVolatileTransferAmount.cjs`),require(`./pre-transaction/constructAdminData.cjs`),require(`./utils/create-provider.cjs`),require(`./pre-transaction/calculateSolanaNullifierCount.cjs`),require(`./pre-transaction/convert-okx-instructions.cjs`),require(`./utils/process.utils.cjs`),require(`./pre-transaction/sendV0Transaction.cjs`),require(`./utils/bytes32.utils.cjs`),require(`./pre-transaction/getFeeStructure.cjs`),require(`./pre-transaction/getExternalSwapAddress.cjs`),require(`./pre-transaction/speculativeUtxo.cjs`),require(`./pre-transaction/buildCommitmentValidationData.cjs`),require(`./pre-transaction/index.cjs`),require(`./snarkjs/generateZkProof.cjs`),require(`./snarkjs/generateMainAndCommitmentZkProof.cjs`),require(`./web3/getContractMetadata.cjs`),require(`./utils/solana-program.utils.cjs`),require(`./snarkjs/fetchOnChainRootHashes.cjs`),require(`./utils/getContractAddress.cjs`),require(`./private-wallet/emporium.helpers.cjs`),require(`./snarkjs/constructGeneralZkProof.cjs`),require(`./utils/getSignerFromContract.cjs`),require(`./utils/tronSimulation.utils.cjs`),require(`./utils/resolve-sync.utils.cjs`),require(`./utils/cacheDevice.utils.cjs`),require(`./utils/involves-permit2-op.cjs`),require(`./utils/convertEmporiumOpToCallInfo.cjs`),require(`./utils/getRecipientInfoFromUserKeys.cjs`),require(`./utils/publicBalance.utils.cjs`),require(`./utils/postToOffscreen.cjs`),require(`./utils/fees.utils.cjs`),require(`./utils/proxyAvatar.utils.cjs`),require(`./utils/enclave-utxo-storage.cjs`),require(`./utils/enclave-signature-storage.cjs`),require(`./utils/tx-confirmation.utils.cjs`),require(`./utils/bridge-arrival.utils.cjs`),require(`./utils/solana-sponsored.utils.cjs`),require(`./utils/temp-wallet.utils.cjs`),require(`./utils/mnemonics.cjs`),require(`./utils/nearIntents.utils.cjs`),require(`./utils/index.cjs`),require(`./web3/lifiAPI.cjs`),require(`./web3/okxAPI.cjs`),require(`./web3/index.cjs`),require(`./snarkjs/constructSolanaZkProof.cjs`),require(`./snarkjs/index.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`);
@@ -12,8 +12,8 @@ import "./utils/encryptInputForEnclave.mjs";
12
12
  import "./utils/solanaMint.utils.mjs";
13
13
  import "./utils/serialize-utxos.utils.mjs";
14
14
  import "./utils/customEnclaveFunctionsRegister.mjs";
15
- import "./utils/addresses.mjs";
16
15
  import "./utils/tron.utils.mjs";
16
+ import "./utils/addresses.mjs";
17
17
  import "./web3/events/getInputUtxoAndBalance.mjs";
18
18
  import "./utils/legacyKeys.mjs";
19
19
  import "./utils/auth.utils.mjs";
@@ -53,7 +53,6 @@ import "./snarkjs/constructGeneralZkProof.mjs";
53
53
  import "./utils/getSignerFromContract.mjs";
54
54
  import "./utils/tronSimulation.utils.mjs";
55
55
  import "./utils/resolve-sync.utils.mjs";
56
- import "./utils/reloadPage.mjs";
57
56
  import "./utils/cacheDevice.utils.mjs";
58
57
  import "./utils/involves-permit2-op.mjs";
59
58
  import "./utils/convertEmporiumOpToCallInfo.mjs";
@@ -1 +1 @@
1
- const e=require(`../../API/simulate-transaction.cjs`),t=require(`../../error-handling/logger.cjs`);require(`../../error-handling/index.cjs`);const n=require(`../../data-structures/token-price-fetcher/TokenChecker.cjs`);var r=async(r,i,a,o)=>{try{let t=i.map((e,t)=>{let r=a[t];return e&&n.TokenChecker.isPotentiallyVolatile(e)?{tokenAddress:e.erc20TokenAddress,amount:r.toString(),...o===void 0?{}:{targetAddress:o},originalIndex:t}:null}).filter(e=>e!==null);if(t.length===0)return a;let s=await e.simulateVolatileTokenTransfer(r,t);return a.map((e,n)=>{let r=t.findIndex(e=>e.originalIndex===n);if(r!==-1&&s[r].success){let t=s[r].balanceDifference;return t?BigInt(t):e}return e})}catch(e){return t.Logger.error(`Volatile transfer simulation failed:`,e),a}};exports.modifyVolatileTokenAmountChanges=r;
1
+ const e=require(`../../error-handling/logger.cjs`),t=require(`../../API/simulate-transaction.cjs`);require(`../../error-handling/index.cjs`);const n=require(`../../data-structures/token-price-fetcher/TokenChecker.cjs`);var r=async(r,i,a,o)=>{try{let e=i.map((e,t)=>{let r=a[t];return e&&n.TokenChecker.isPotentiallyVolatile(e)?{tokenAddress:e.erc20TokenAddress,amount:r.toString(),...o===void 0?{}:{targetAddress:o},originalIndex:t}:null}).filter(e=>e!==null);if(e.length===0)return a;let s=await t.simulateVolatileTokenTransfer(r,e);return a.map((t,n)=>{let r=e.findIndex(e=>e.originalIndex===n);if(r!==-1&&s[r].success){let e=s[r].balanceDifference;return e?BigInt(e):t}return t})}catch(t){return e.Logger.error(`Volatile transfer simulation failed:`,t),a}};exports.modifyVolatileTokenAmountChanges=r;
@@ -1,11 +1,11 @@
1
- import { simulateVolatileTokenTransfer as e } from "../../API/simulate-transaction.mjs";
2
- import { Logger as t } from "../../error-handling/logger.mjs";
1
+ import { Logger as e } from "../../error-handling/logger.mjs";
2
+ import { simulateVolatileTokenTransfer as t } from "../../API/simulate-transaction.mjs";
3
3
  import "../../error-handling/index.mjs";
4
4
  import { TokenChecker as n } from "../../data-structures/token-price-fetcher/TokenChecker.mjs";
5
5
  //#region libs/shared/common/src/functions/pre-transaction/getVolatileTransferAmount.ts
6
6
  var r = async (r, i, a, o) => {
7
7
  try {
8
- let t = i.map((e, t) => {
8
+ let e = i.map((e, t) => {
9
9
  let r = a[t];
10
10
  return e && n.isPotentiallyVolatile(e) ? {
11
11
  tokenAddress: e.erc20TokenAddress,
@@ -14,18 +14,18 @@ var r = async (r, i, a, o) => {
14
14
  originalIndex: t
15
15
  } : null;
16
16
  }).filter((e) => e !== null);
17
- if (t.length === 0) return a;
18
- let s = await e(r, t);
19
- return a.map((e, n) => {
20
- let r = t.findIndex((e) => e.originalIndex === n);
17
+ if (e.length === 0) return a;
18
+ let s = await t(r, e);
19
+ return a.map((t, n) => {
20
+ let r = e.findIndex((e) => e.originalIndex === n);
21
21
  if (r !== -1 && s[r].success) {
22
- let t = s[r].balanceDifference;
23
- return t ? BigInt(t) : e;
22
+ let e = s[r].balanceDifference;
23
+ return e ? BigInt(e) : t;
24
24
  }
25
- return e;
25
+ return t;
26
26
  });
27
- } catch (e) {
28
- return t.error("Volatile transfer simulation failed:", e), a;
27
+ } catch (t) {
28
+ return e.error("Volatile transfer simulation failed:", t), a;
29
29
  }
30
30
  };
31
31
  //#endregion
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../utils/caseInsensitive.utils.cjs`),r=require(`../../types/ethereum-network.types.cjs`),i=require(`../../error-handling/logger.cjs`),a=require(`../utils/create-provider.cjs`),o=require(`../../data-structures/AccountActions/AccountActions.cjs`),s=require(`../web3/getContractMetadata.cjs`),c=require(`../utils/getContractAddress.cjs`);let l=require(`ethers`);var u=e=>{if(typeof e.target==`string`)return e.target;if(e.address)return e.address;throw Error(`Contract address not found`)},d=`tuple(address endpoint, bool invokeWallet, uint128 value, bytes callData)`,f=`tuple(uint8 v, bytes32 r, bytes32 s, address signerAddress, ${d}[] ops, uint256 maxFee, uint256 deadline)`,p=1200,m=e=>{let[t]=l.ethers.AbiCoder.defaultAbiCoder().decode([d],e);return{endpoint:t.endpoint,invokeWallet:t.invokeWallet,value:BigInt(t.value),callData:t.callData}},h=({contract:e,func:t,args:n,callDataString:r,invokeWallet:i,value:a})=>{let o,s=r??`0x`;if(typeof e==`object`){if(o=u(e),r?.length&&r?.length>0)throw Error(`If function and args are providedm no calldata is needed`);t&&n&&!r&&(s=e.interface.encodeFunctionData(t,n))}else o=e;return l.ethers.AbiCoder.defaultAbiCoder().encode([d],[{endpoint:o,invokeWallet:!!i,value:a??0n,callData:s}])},g=async(n,r,i,a,s,c,u)=>{let d=e.getOnchainChainId(n),h=a.map(m),g=0n,_=i&&c?await(async()=>{if(u===void 0)throw Error(`maxFee required if making tx from emporium`);return g=BigInt(Math.floor(Date.now()/1e3)+p),o.AccountActions.signTypedDataFromPrivateKey(d,i,{name:`Emporium`,version:`1.0.0`,chainId:d,verifyingContract:r},{EmporiumSignature:[{name:`message`,type:`uint256`},{name:`ops`,type:`EmporiumOperation[]`},{name:`maxFee`,type:`uint256`},{name:`deadline`,type:`uint256`}],EmporiumOperation:[{name:`endpoint`,type:`address`},{name:`invokeWallet`,type:`bool`},{name:`value`,type:`uint128`},{name:`callData`,type:`bytes`}]},{message:s,ops:h,maxFee:u,deadline:g})})():void 0,{v,r:y,s:b}=_?l.ethers.Signature.from(_):{v:0,r:l.ethers.ZeroHash,s:l.ethers.ZeroHash};return l.ethers.AbiCoder.defaultAbiCoder().encode([f],[{v,r:y,s:b,signerAddress:c??t.zeroAddress,ops:h,maxFee:u??0n,deadline:g}])},_=(e,t,n,r)=>h(e?{contract:e,func:`transfer`,args:[t,n],invokeWallet:r}:{contract:t,value:n,invokeWallet:r}),v=(e,i,a,o,s)=>{let l=e.getContractWithFetcherByChainId(i,r.ContractType.HinkalContract);return a.map((a,u)=>_(n.caseInsensitiveEqual(a,t.zeroAddress)?void 0:e.getContractWithFetcherByChainId(i,r.ContractType.ERC20Contract,a),s??c.getContractAddress(l),o[u],!0))},y=(e,t,n,r)=>h({contract:e,func:`approve`,args:[t,n],invokeWallet:r}),b=(e,i,a,o,c,l,u)=>{let d=[];for(let o=0;o<i.length;o+=1){let c=i[o],u=n.caseInsensitiveEqual(c,t.zeroAddress)?void 0:s.getContractWithFetcherByChainId(e,r.ContractType.ERC20Contract,c);d.push(_(u,l,a[o],!1))}if(u)for(let i=0;i<o.length;i+=1){let a=o[i];if(!n.caseInsensitiveEqual(a,t.zeroAddress)){let t=s.getContractWithFetcherByChainId(e,r.ContractType.ERC20Contract,a);d.push(y(t,u,c[i],!0))}}return d},x=(e,r,i,a,o,s,c,l)=>{let u=[],d=[o],f=[s];l.nativeFee>0n&&!n.caseInsensitiveEqual(o,t.zeroAddress)&&(d.push(t.zeroAddress),f.push(l.nativeFee));let p=b(r,d,f,[o],[c],i,a);u.push(...p);let m=l.nativeFee;return n.caseInsensitiveEqual(o,t.zeroAddress)&&(m+=c),u.push(h({contract:a,callDataString:l.calldata,value:m>0n?m:void 0,invokeWallet:!0})),u},S=`0xef0100`,C=async(e,t)=>{try{let n=a.createJsonRpcProvider(e),r=await n.getCode(t);if(r===`0x`||!r)return{delegated:!1,implementation:void 0,nonce:void 0};if(r.toLowerCase().startsWith(S)&&r.length===48){let e=`0x${r.slice(8)}`,i=await n.getTransactionCount(t);return{delegated:!0,implementation:l.ethers.getAddress(e),nonce:i}}else throw Error(`checkEOAWithDelegation: It is a contract`)}catch(e){throw i.Logger.error(`checkEOAWithDelegation error`,{error:e}),e}},w=r=>{let{hinkalWalletAddress:i}=e.networkRegistry[r].contractData;if(!i||n.caseInsensitiveEqual(i,t.zeroAddress))throw Error(`Hinkal Wallet Address is not set`);return i},T=async(t,r)=>{if(t===e.chainIds.localhost||!r)return;let i=e.getOnchainChainId(t),{delegated:a,implementation:s}=await C(t,o.AccountActions.getSignerAddressFromPrivateKey(t,r)),c=w(t);if(!a||!n.caseInsensitiveEqual(s,c)){let e=await o.AccountActions.authorizeDelegation(i,r,c);return{v:e.signature.v.toString(),r:e.signature.r,s:e.signature.s,nonce:e.nonce.toString(),address:c,chainId:String(i)}}};exports.checkEOAWithDelegation=C,exports.createApproveEmporiumOp=y,exports.createLifiBridgeOps=x,exports.createTransaferEmporiumOpsBatch=v,exports.createTransferToEmporiumOp=_,exports.emporiumOp=h,exports.encodeEmporiumMetadata=g,exports.generateFundAndApproveOps=b,exports.getAuthorizationDataIfNeeded=T;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../utils/caseInsensitive.utils.cjs`),r=require(`../../error-handling/logger.cjs`),i=require(`../../types/ethereum-network.types.cjs`),a=require(`../utils/create-provider.cjs`),o=require(`../../data-structures/AccountActions/AccountActions.cjs`),s=require(`../web3/getContractMetadata.cjs`),c=require(`../utils/getContractAddress.cjs`);let l=require(`ethers`);var u=e=>{if(typeof e.target==`string`)return e.target;if(e.address)return e.address;throw Error(`Contract address not found`)},d=`tuple(address endpoint, bool invokeWallet, uint128 value, bytes callData)`,f=`tuple(uint8 v, bytes32 r, bytes32 s, address signerAddress, ${d}[] ops, uint256 maxFee, uint256 deadline)`,p=1200,m=e=>{let[t]=l.ethers.AbiCoder.defaultAbiCoder().decode([d],e);return{endpoint:t.endpoint,invokeWallet:t.invokeWallet,value:BigInt(t.value),callData:t.callData}},h=({contract:e,func:t,args:n,callDataString:r,invokeWallet:i,value:a})=>{let o,s=r??`0x`;if(typeof e==`object`){if(o=u(e),r?.length&&r?.length>0)throw Error(`If function and args are providedm no calldata is needed`);t&&n&&!r&&(s=e.interface.encodeFunctionData(t,n))}else o=e;return l.ethers.AbiCoder.defaultAbiCoder().encode([d],[{endpoint:o,invokeWallet:!!i,value:a??0n,callData:s}])},g=async(n,r,i,a,s,c,u)=>{let d=e.getOnchainChainId(n),h=a.map(m),g=0n,_=i&&c?await(async()=>{if(u===void 0)throw Error(`maxFee required if making tx from emporium`);return g=BigInt(Math.floor(Date.now()/1e3)+p),o.AccountActions.signTypedDataFromPrivateKey(d,i,{name:`Emporium`,version:`1.0.0`,chainId:d,verifyingContract:r},{EmporiumSignature:[{name:`message`,type:`uint256`},{name:`ops`,type:`EmporiumOperation[]`},{name:`maxFee`,type:`uint256`},{name:`deadline`,type:`uint256`}],EmporiumOperation:[{name:`endpoint`,type:`address`},{name:`invokeWallet`,type:`bool`},{name:`value`,type:`uint128`},{name:`callData`,type:`bytes`}]},{message:s,ops:h,maxFee:u,deadline:g})})():void 0,{v,r:y,s:b}=_?l.ethers.Signature.from(_):{v:0,r:l.ethers.ZeroHash,s:l.ethers.ZeroHash};return l.ethers.AbiCoder.defaultAbiCoder().encode([f],[{v,r:y,s:b,signerAddress:c??t.zeroAddress,ops:h,maxFee:u??0n,deadline:g}])},_=(e,t,n,r)=>h(e?{contract:e,func:`transfer`,args:[t,n],invokeWallet:r}:{contract:t,value:n,invokeWallet:r}),v=(e,r,a,o,s)=>{let l=e.getContractWithFetcherByChainId(r,i.ContractType.HinkalContract);return a.map((a,u)=>_(n.caseInsensitiveEqual(a,t.zeroAddress)?void 0:e.getContractWithFetcherByChainId(r,i.ContractType.ERC20Contract,a),s??c.getContractAddress(l),o[u],!0))},y=(e,t,n,r)=>h({contract:e,func:`approve`,args:[t,n],invokeWallet:r}),b=(e,r,a,o,c,l,u)=>{let d=[];for(let o=0;o<r.length;o+=1){let c=r[o],u=n.caseInsensitiveEqual(c,t.zeroAddress)?void 0:s.getContractWithFetcherByChainId(e,i.ContractType.ERC20Contract,c);d.push(_(u,l,a[o],!1))}if(u)for(let r=0;r<o.length;r+=1){let a=o[r];if(!n.caseInsensitiveEqual(a,t.zeroAddress)){let t=s.getContractWithFetcherByChainId(e,i.ContractType.ERC20Contract,a);d.push(y(t,u,c[r],!0))}}return d},x=(e,r,i,a,o,s,c,l)=>{let u=[],d=[o],f=[s];l.nativeFee>0n&&!n.caseInsensitiveEqual(o,t.zeroAddress)&&(d.push(t.zeroAddress),f.push(l.nativeFee));let p=b(r,d,f,[o],[c],i,a);u.push(...p);let m=l.nativeFee;return n.caseInsensitiveEqual(o,t.zeroAddress)&&(m+=c),u.push(h({contract:a,callDataString:l.calldata,value:m>0n?m:void 0,invokeWallet:!0})),u},S=`0xef0100`,C=async(e,t)=>{try{let n=a.createJsonRpcProvider(e),r=await n.getCode(t);if(r===`0x`||!r)return{delegated:!1,implementation:void 0,nonce:void 0};if(r.toLowerCase().startsWith(S)&&r.length===48){let e=`0x${r.slice(8)}`,i=await n.getTransactionCount(t);return{delegated:!0,implementation:l.ethers.getAddress(e),nonce:i}}else throw Error(`checkEOAWithDelegation: It is a contract`)}catch(e){throw r.Logger.error(`checkEOAWithDelegation error`,{error:e}),e}},w=r=>{let{hinkalWalletAddress:i}=e.networkRegistry[r].contractData;if(!i||n.caseInsensitiveEqual(i,t.zeroAddress))throw Error(`Hinkal Wallet Address is not set`);return i},T=async(t,r)=>{if(t===e.chainIds.localhost||!r)return;let i=e.getOnchainChainId(t),{delegated:a,implementation:s}=await C(t,o.AccountActions.getSignerAddressFromPrivateKey(t,r)),c=w(t);if(!a||!n.caseInsensitiveEqual(s,c)){let e=await o.AccountActions.authorizeDelegation(i,r,c);return{v:e.signature.v.toString(),r:e.signature.r,s:e.signature.s,nonce:e.nonce.toString(),address:c,chainId:String(i)}}};exports.checkEOAWithDelegation=C,exports.createApproveEmporiumOp=y,exports.createLifiBridgeOps=x,exports.createTransaferEmporiumOpsBatch=v,exports.createTransferToEmporiumOp=_,exports.emporiumOp=h,exports.encodeEmporiumMetadata=g,exports.generateFundAndApproveOps=b,exports.getAuthorizationDataIfNeeded=T;
@@ -1,8 +1,8 @@
1
1
  import { chainIds as e, getOnchainChainId as t, networkRegistry as n } from "../../constants/chains.constants.mjs";
2
2
  import { zeroAddress as r } from "../../constants/protocol.constants.mjs";
3
3
  import { caseInsensitiveEqual as i } from "../utils/caseInsensitive.utils.mjs";
4
- import { ContractType as a } from "../../types/ethereum-network.types.mjs";
5
- import { Logger as o } from "../../error-handling/logger.mjs";
4
+ import { Logger as a } from "../../error-handling/logger.mjs";
5
+ import { ContractType as o } from "../../types/ethereum-network.types.mjs";
6
6
  import { createJsonRpcProvider as s } from "../utils/create-provider.mjs";
7
7
  import { AccountActions as c } from "../../data-structures/AccountActions/AccountActions.mjs";
8
8
  import { getContractWithFetcherByChainId as l } from "../web3/getContractMetadata.mjs";
@@ -107,24 +107,24 @@ var f = (e) => {
107
107
  contract: t,
108
108
  value: n,
109
109
  invokeWallet: r
110
- }), b = (e, t, n, o, s) => {
111
- let c = e.getContractWithFetcherByChainId(t, a.HinkalContract);
112
- return n.map((n, l) => y(i(n, r) ? void 0 : e.getContractWithFetcherByChainId(t, a.ERC20Contract, n), s ?? u(c), o[l], !0));
110
+ }), b = (e, t, n, a, s) => {
111
+ let c = e.getContractWithFetcherByChainId(t, o.HinkalContract);
112
+ return n.map((n, l) => y(i(n, r) ? void 0 : e.getContractWithFetcherByChainId(t, o.ERC20Contract, n), s ?? u(c), a[l], !0));
113
113
  }, x = (e, t, n, r) => _({
114
114
  contract: e,
115
115
  func: "approve",
116
116
  args: [t, n],
117
117
  invokeWallet: r
118
- }), S = (e, t, n, o, s, c, u) => {
118
+ }), S = (e, t, n, a, s, c, u) => {
119
119
  let d = [];
120
- for (let o = 0; o < t.length; o += 1) {
121
- let s = t[o], u = i(s, r) ? void 0 : l(e, a.ERC20Contract, s);
122
- d.push(y(u, c, n[o], !1));
120
+ for (let a = 0; a < t.length; a += 1) {
121
+ let s = t[a], u = i(s, r) ? void 0 : l(e, o.ERC20Contract, s);
122
+ d.push(y(u, c, n[a], !1));
123
123
  }
124
- if (u) for (let t = 0; t < o.length; t += 1) {
125
- let n = o[t];
124
+ if (u) for (let t = 0; t < a.length; t += 1) {
125
+ let n = a[t];
126
126
  if (!i(n, r)) {
127
- let r = l(e, a.ERC20Contract, n);
127
+ let r = l(e, o.ERC20Contract, n);
128
128
  d.push(x(r, u, s[t], !0));
129
129
  }
130
130
  }
@@ -158,7 +158,7 @@ var f = (e) => {
158
158
  };
159
159
  } else throw Error("checkEOAWithDelegation: It is a contract");
160
160
  } catch (e) {
161
- throw o.error("checkEOAWithDelegation error", { error: e }), e;
161
+ throw a.error("checkEOAWithDelegation error", { error: e }), e;
162
162
  }
163
163
  }, E = (e) => {
164
164
  let { hinkalWalletAddress: t } = n[e].contractData;
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`../utils/caseInsensitive.utils.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../error-handling/logger.cjs`),a=require(`../utils/string.utils.cjs`),o=require(`../utils/erc20tokenFunctions.cjs`),s=require(`../pre-transaction/getExternalSwapAddress.cjs`),c=require(`../utils/getContractAddress.cjs`),l=require(`./emporium.helpers.cjs`),u=require(`../../constants/addresses.constants.cjs`);let d=require(`ethers`);var f=(e,t,n,r,i,o,c=!1)=>l.emporiumOp({contract:n,callDataString:a.replaceAllInstances(r,s.getExternalSwapAddress(e,t).slice(2),i.slice(2)),value:o,invokeWallet:c}),p=async(e,n)=>{let r=(await o.getErc20TokensForChainAPI(n)).find(e=>e.symbol===`USDT`);return r?t.caseInsensitiveEqual(e,r.erc20TokenAddress):!1},m=async(e,t,n,r,a,o)=>{if(await p(c.getContractAddress(n),e))try{await n.allowance(r,a)>0n&&t.push(l.createApproveEmporiumOp(n,a,0n,o))}catch(e){i.Logger.error(`Error in nullifyUsdtApprovalIfNeeded`,e)}},h=async(t,r,i,a,o,s,c,f)=>{if(i!==e.zeroAddress){let f=u.SWAP_FEE_TAKER_ADDRESSES[r],p=t.getContractWithFetcher(r,n.ContractType.ERC20Contract,i),h=await p.balanceOf(a);await m(r,s,p,a,f,c),s.push(l.createApproveEmporiumOp(p,f,2n**256n-1n,c));let g=new d.ethers.Contract(f,[`function takeSwapFee(address token, uint256 beforeBalance, uint256 variableRate, address relay) external payable`]),_=o;s.push(l.emporiumOp({contract:g,func:`takeSwapFee`,args:[i,h,e.HINKAL_SWAP_VARIABLE_RATE,_],invokeWallet:c}))}else{let t=o;s.push(l.emporiumOp({contract:t,value:f*e.HINKAL_SWAP_VARIABLE_RATE/10000n,invokeWallet:c}))}},g=async(t,i,a,o,s,c,u,d,p,m,g,_,v=!1)=>{if(a!==r.ExternalActionId.Lifi)throw Error(`Unsupported swap external action for emporium ops: ${a}`);let y=u<0n?-1n*u:u,b=[];if(c!==e.zeroAddress){let e=t.getContractWithFetcher(i,n.ContractType.ERC20Contract,c);b.push(l.createApproveEmporiumOp(e,o,y,v))}let x=0n;c===e.zeroAddress&&(x+=y),d&&p===e.zeroAddress&&d<0n&&(x+=-1n*d);let S=x>0n?x:void 0;return b.push(f(i,a,o,s,g,S,v)),m&&p&&d!==void 0&&await h(t,i,p,g,_,b,v,d),b};exports.createSwapToEmporiumOps=g;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`../utils/caseInsensitive.utils.cjs`),n=require(`../../error-handling/logger.cjs`),r=require(`../../types/ethereum-network.types.cjs`),i=require(`../../types/external-action.types.cjs`),a=require(`../utils/string.utils.cjs`),o=require(`../utils/erc20tokenFunctions.cjs`),s=require(`../pre-transaction/getExternalSwapAddress.cjs`),c=require(`../utils/getContractAddress.cjs`),l=require(`./emporium.helpers.cjs`),u=require(`../../constants/addresses.constants.cjs`);let d=require(`ethers`);var f=(e,t,n,r,i,o,c=!1)=>l.emporiumOp({contract:n,callDataString:a.replaceAllInstances(r,s.getExternalSwapAddress(e,t).slice(2),i.slice(2)),value:o,invokeWallet:c}),p=async(e,n)=>{let r=(await o.getErc20TokensForChainAPI(n)).find(e=>e.symbol===`USDT`);return r?t.caseInsensitiveEqual(e,r.erc20TokenAddress):!1},m=async(e,t,r,i,a,o)=>{if(await p(c.getContractAddress(r),e))try{await r.allowance(i,a)>0n&&t.push(l.createApproveEmporiumOp(r,a,0n,o))}catch(e){n.Logger.error(`Error in nullifyUsdtApprovalIfNeeded`,e)}},h=async(t,n,i,a,o,s,c,f)=>{if(i!==e.zeroAddress){let f=u.SWAP_FEE_TAKER_ADDRESSES[n],p=t.getContractWithFetcher(n,r.ContractType.ERC20Contract,i),h=await p.balanceOf(a);await m(n,s,p,a,f,c),s.push(l.createApproveEmporiumOp(p,f,2n**256n-1n,c));let g=new d.ethers.Contract(f,[`function takeSwapFee(address token, uint256 beforeBalance, uint256 variableRate, address relay) external payable`]),_=o;s.push(l.emporiumOp({contract:g,func:`takeSwapFee`,args:[i,h,e.HINKAL_SWAP_VARIABLE_RATE,_],invokeWallet:c}))}else{let t=o;s.push(l.emporiumOp({contract:t,value:f*e.HINKAL_SWAP_VARIABLE_RATE/10000n,invokeWallet:c}))}},g=async(t,n,a,o,s,c,u,d,p,m,g,_,v=!1)=>{if(a!==i.ExternalActionId.Lifi)throw Error(`Unsupported swap external action for emporium ops: ${a}`);let y=u<0n?-1n*u:u,b=[];if(c!==e.zeroAddress){let e=t.getContractWithFetcher(n,r.ContractType.ERC20Contract,c);b.push(l.createApproveEmporiumOp(e,o,y,v))}let x=0n;c===e.zeroAddress&&(x+=y),d&&p===e.zeroAddress&&d<0n&&(x+=-1n*d);let S=x>0n?x:void 0;return b.push(f(n,a,o,s,g,S,v)),m&&p&&d!==void 0&&await h(t,n,p,g,_,b,v,d),b};exports.createSwapToEmporiumOps=g;
@@ -1,8 +1,8 @@
1
1
  import { HINKAL_SWAP_VARIABLE_RATE as e, zeroAddress as t } from "../../constants/protocol.constants.mjs";
2
2
  import { caseInsensitiveEqual as n } from "../utils/caseInsensitive.utils.mjs";
3
- import { ContractType as r } from "../../types/ethereum-network.types.mjs";
4
- import { ExternalActionId as i } from "../../types/external-action.types.mjs";
5
- import { Logger as a } from "../../error-handling/logger.mjs";
3
+ import { Logger as r } from "../../error-handling/logger.mjs";
4
+ import { ContractType as i } from "../../types/ethereum-network.types.mjs";
5
+ import { ExternalActionId as a } from "../../types/external-action.types.mjs";
6
6
  import { replaceAllInstances as o } from "../utils/string.utils.mjs";
7
7
  import { getErc20TokensForChainAPI as s } from "../utils/erc20tokenFunctions.mjs";
8
8
  import { getExternalSwapAddress as c } from "../pre-transaction/getExternalSwapAddress.mjs";
@@ -19,16 +19,16 @@ var m = (e, t, n, r, i, a, s = !1) => d({
19
19
  }), h = async (e, t) => {
20
20
  let r = (await s(t)).find((e) => e.symbol === "USDT");
21
21
  return r ? n(e, r.erc20TokenAddress) : !1;
22
- }, g = async (e, t, n, r, i, o) => {
22
+ }, g = async (e, t, n, i, a, o) => {
23
23
  if (await h(l(n), e)) try {
24
- await n.allowance(r, i) > 0n && t.push(u(n, i, 0n, o));
24
+ await n.allowance(i, a) > 0n && t.push(u(n, a, 0n, o));
25
25
  } catch (e) {
26
- a.error("Error in nullifyUsdtApprovalIfNeeded", e);
26
+ r.error("Error in nullifyUsdtApprovalIfNeeded", e);
27
27
  }
28
- }, _ = async (n, i, a, o, s, c, l, m) => {
28
+ }, _ = async (n, r, a, o, s, c, l, m) => {
29
29
  if (a !== t) {
30
- let t = f[i], m = n.getContractWithFetcher(i, r.ERC20Contract, a), h = await m.balanceOf(o);
31
- await g(i, c, m, o, t, l), c.push(u(m, t, 2n ** 256n - 1n, l));
30
+ let t = f[r], m = n.getContractWithFetcher(r, i.ERC20Contract, a), h = await m.balanceOf(o);
31
+ await g(r, c, m, o, t, l), c.push(u(m, t, 2n ** 256n - 1n, l));
32
32
  let _ = new p.Contract(t, ["function takeSwapFee(address token, uint256 beforeBalance, uint256 variableRate, address relay) external payable"]), v = s;
33
33
  c.push(d({
34
34
  contract: _,
@@ -49,17 +49,17 @@ var m = (e, t, n, r, i, a, s = !1) => d({
49
49
  invokeWallet: l
50
50
  }));
51
51
  }
52
- }, v = async (e, n, a, o, s, c, l, d, f, p, h, g, v = !1) => {
53
- if (a !== i.Lifi) throw Error(`Unsupported swap external action for emporium ops: ${a}`);
52
+ }, v = async (e, n, r, o, s, c, l, d, f, p, h, g, v = !1) => {
53
+ if (r !== a.Lifi) throw Error(`Unsupported swap external action for emporium ops: ${r}`);
54
54
  let y = l < 0n ? -1n * l : l, b = [];
55
55
  if (c !== t) {
56
- let t = e.getContractWithFetcher(n, r.ERC20Contract, c);
56
+ let t = e.getContractWithFetcher(n, i.ERC20Contract, c);
57
57
  b.push(u(t, o, y, v));
58
58
  }
59
59
  let x = 0n;
60
60
  c === t && (x += y), d && f === t && d < 0n && (x += -1n * d);
61
61
  let S = x > 0n ? x : void 0;
62
- return b.push(m(n, a, o, s, h, S, v)), p && f && d !== void 0 && await _(e, n, f, h, g, b, v, d), b;
62
+ return b.push(m(n, r, o, s, h, S, v)), p && f && d !== void 0 && await _(e, n, f, h, g, b, v, d), b;
63
63
  };
64
64
  //#endregion
65
65
  export { v as createSwapToEmporiumOps };
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../crypto/poseidon.cjs`),r=require(`../web3/etherFunctions.cjs`),i=require(`../../data-structures/crypto-keys/keys.cjs`),ee=require(`../utils/time.utils.cjs`);require(`../../types/circom-data.types.cjs`);const te=require(`../../types/external-action.types.cjs`),a=require(`../../error-handling/logger.cjs`),o=require(`./common.snarkjs.cjs`),s=require(`./signedMessageHash.cjs`),c=require(`./generateCircomData.cjs`),ne=require(`../../data-structures/AccountActions/AccountActions.cjs`),re=require(`./generateMainAndCommitmentZkProof.cjs`),ie=require(`./getMerkleTreeSiblingsAndRootHashes.cjs`),l=require(`../private-wallet/emporium.helpers.cjs`),u=require(`./fetchTronInsertionSiblings.cjs`);var d=async(d,f,p,m,h,g,_,v,y=t.zeroAddress,b=e.chainIds.localhost,x=f.map(()=>!1),S=void 0,C,w,T=`0x`,E=!1,ae=!1,oe)=>{let{hinkalAddress:D}=e.networkRegistry[b].contractData,O=e.isTronLike(b),k=o.getZkProofVerifierName(f,p,O),A=o.calcAmountChanges(f,p),j=f.map(e=>e[0].erc20TokenAddress),M=o.calcEncryptedOutputs(p),N=m.getShieldedPrivateKey(),{pubSpendingBJJPoint:se}=m.getSpendingKeyPair(),P=o.calcStealthAddressStructure(i.UserKeys.findCorrectRandomization(r.randomBigInt(31),N),N,m.getSpendingKeyPair().pubSpendingBJJPoint),F=o.calcOnchainEncryptedOutput(i.UserKeys.getEncryptionKeyPair(N).publicKey,P),{inCommitmentSiblings:ce,inCommitmentSiblingSides:le,rootHashHinkal:I,rootHashHinkalIndex:ue,inNullifiers:L}=await ie.getDataFromWorkers(b,d,f.map(e=>e.map(e=>e.getConstructableParams())),ae),R=o.buildOutCommitments(p),z=r.randomBigInt(31),B=n.poseidonFunction(z),V=BigInt(p.length>0?p[0][0].timeStamp:ee.getCurrentTimeInSeconds()),H={rootHashHinkal:I,spendingPublicKey:se,nullifyingPrivateKey:N,erc20TokenAddresses:j,amountChanges:A,inAmounts:f.map(e=>e.map(e=>e.amount.toString())),inH0Ax:f.map(e=>e.map(e=>o.getUtxoCircuitH0Coords(e)[0].toString())),inH0Ay:f.map(e=>e.map(e=>o.getUtxoCircuitH0Coords(e)[1].toString())),inTimeStamps:f.map(e=>e.map(e=>e.timeStamp)),inNullifiers:L,inCommitmentSiblings:ce,inCommitmentSiblingSides:le,outAmounts:p.map(e=>e.map(e=>e.amount.toString())),outTimeStamp:V,outPublicKeys:p.map(e=>e.map(e=>e.getStealthAddress())),outCommitments:R,calldataHash:0n,messageSeed:z},U;if(O){let e=await u.fetchTronInsertionSiblings(b,R);H.insertionSiblings=e.insertionSiblings,H.insertionSiblingSides=e.insertionSiblingSides,U=BigInt(e.insertedLeafIndex),H.insertedLeafIndex=e.insertedLeafIndex}else H.H0Ax=P.H0x,H.H0Ay=P.H0y;let W=o.calcPublicSignalCount(k,H.erc20TokenAddresses,H.amountChanges,H.inNullifiers,H.outCommitments),G=o.calcAmountChanges(f,p,!0),K=oe??o.getSlippageValues(G);a.Logger.log({publicSignalCount:W});let q=Array.isArray(_)?_:[_],J=e.getOnchainChainId(b),de=w?ne.AccountActions.getSignerAddressFromPrivateKey(J,w):void 0,Y;Y=h===te.ExternalActionId.Emporium?await l.encodeEmporiumMetadata(b,g??t.zeroAddress,w,q,B,de,v.flatFee):h===0n?`0x`:q[0]??`0x`,H.calldataHash=o.createCallDataHash(W,y,g,h,B,Y,M,F,S,K,x,v,C,T,b,E);let X=O?s.computeSignedMessageHashTron({rootHashHinkal:I,erc20TokenAddresses:j,amountChanges:A,outTimeStamp:V,inNullifiers:L,outCommitments:R,calldataHash:H.calldataHash,message:B,chainId:BigInt(J),verifyingContract:D}):s.computeSignedMessageHashEvm({rootHashHinkal:I,erc20TokenAddresses:j,amountChanges:A,outTimeStamp:V,inNullifiers:L,outCommitments:R,calldataHash:H.calldataHash,message:B,outH1Ax:P.H1x,outH1Ay:P.H1y,H0Ax:H.H0Ax,H0Ay:P.H0y,chainId:BigInt(J),verifyingContract:D}),{R8:Z,S:Q}=m.signEddsa(X);H.eddsaSignature=[Z[0],Z[1],Q],H.signedMessageHash=X;let $=k.startsWith(`mainEVMCircuitMin0`),fe={outTimeStamp:V,calldataHash:H.calldataHash,messageSeed:z},{zkCallData:pe,publicSignals:me,commitmentValidationData:he}=await re.generateMainAndCommitmentZkProof(b,m,j,f,k,$?fe:H);return{zkCallData:pe,circomData:c.generateCircomData(R,L,I,ue,G,j,p,M,F,W,h,g,B,Y,y,H.calldataHash,P,x,S,$?Number(V):void 0,K,v,C,O,me,T,U,E),dimData:{tokenNumber:f.length,nullifierAmount:f.length>0?f[0].length:0,outputAmount:p.length>0?p[0].length:0},encryptedOutputs:M,commitmentValidationData:he}};exports.constructZkProof=d;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../crypto/poseidon.cjs`),r=require(`../web3/etherFunctions.cjs`),i=require(`../../data-structures/crypto-keys/keys.cjs`),ee=require(`../utils/time.utils.cjs`),te=require(`../../error-handling/logger.cjs`);require(`../../types/circom-data.types.cjs`);const a=require(`../../types/external-action.types.cjs`),o=require(`./common.snarkjs.cjs`),s=require(`./signedMessageHash.cjs`),c=require(`./generateCircomData.cjs`),ne=require(`../../data-structures/AccountActions/AccountActions.cjs`),re=require(`./generateMainAndCommitmentZkProof.cjs`),ie=require(`./getMerkleTreeSiblingsAndRootHashes.cjs`),l=require(`../private-wallet/emporium.helpers.cjs`),u=require(`./fetchTronInsertionSiblings.cjs`);var d=async(d,f,p,m,h,g,_,v,y=t.zeroAddress,b=e.chainIds.localhost,x=f.map(()=>!1),S=void 0,C,w,T=`0x`,E=!1,ae=!1,oe)=>{let{hinkalAddress:D}=e.networkRegistry[b].contractData,O=e.isTronLike(b),k=o.getZkProofVerifierName(f,p,O),A=o.calcAmountChanges(f,p),j=f.map(e=>e[0].erc20TokenAddress),M=o.calcEncryptedOutputs(p),N=m.getShieldedPrivateKey(),{pubSpendingBJJPoint:se}=m.getSpendingKeyPair(),P=o.calcStealthAddressStructure(i.UserKeys.findCorrectRandomization(r.randomBigInt(31),N),N,m.getSpendingKeyPair().pubSpendingBJJPoint),F=o.calcOnchainEncryptedOutput(i.UserKeys.getEncryptionKeyPair(N).publicKey,P),{inCommitmentSiblings:ce,inCommitmentSiblingSides:le,rootHashHinkal:I,rootHashHinkalIndex:ue,inNullifiers:L}=await ie.getDataFromWorkers(b,d,f.map(e=>e.map(e=>e.getConstructableParams())),ae),R=o.buildOutCommitments(p),z=r.randomBigInt(31),B=n.poseidonFunction(z),V=BigInt(p.length>0?p[0][0].timeStamp:ee.getCurrentTimeInSeconds()),H={rootHashHinkal:I,spendingPublicKey:se,nullifyingPrivateKey:N,erc20TokenAddresses:j,amountChanges:A,inAmounts:f.map(e=>e.map(e=>e.amount.toString())),inH0Ax:f.map(e=>e.map(e=>o.getUtxoCircuitH0Coords(e)[0].toString())),inH0Ay:f.map(e=>e.map(e=>o.getUtxoCircuitH0Coords(e)[1].toString())),inTimeStamps:f.map(e=>e.map(e=>e.timeStamp)),inNullifiers:L,inCommitmentSiblings:ce,inCommitmentSiblingSides:le,outAmounts:p.map(e=>e.map(e=>e.amount.toString())),outTimeStamp:V,outPublicKeys:p.map(e=>e.map(e=>e.getStealthAddress())),outCommitments:R,calldataHash:0n,messageSeed:z},U;if(O){let e=await u.fetchTronInsertionSiblings(b,R);H.insertionSiblings=e.insertionSiblings,H.insertionSiblingSides=e.insertionSiblingSides,U=BigInt(e.insertedLeafIndex),H.insertedLeafIndex=e.insertedLeafIndex}else H.H0Ax=P.H0x,H.H0Ay=P.H0y;let W=o.calcPublicSignalCount(k,H.erc20TokenAddresses,H.amountChanges,H.inNullifiers,H.outCommitments),G=o.calcAmountChanges(f,p,!0),K=oe??o.getSlippageValues(G);te.Logger.log({publicSignalCount:W});let q=Array.isArray(_)?_:[_],J=e.getOnchainChainId(b),de=w?ne.AccountActions.getSignerAddressFromPrivateKey(J,w):void 0,Y;Y=h===a.ExternalActionId.Emporium?await l.encodeEmporiumMetadata(b,g??t.zeroAddress,w,q,B,de,v.flatFee):h===0n?`0x`:q[0]??`0x`,H.calldataHash=o.createCallDataHash(W,y,g,h,B,Y,M,F,S,K,x,v,C,T,b,E);let X=O?s.computeSignedMessageHashTron({rootHashHinkal:I,erc20TokenAddresses:j,amountChanges:A,outTimeStamp:V,inNullifiers:L,outCommitments:R,calldataHash:H.calldataHash,message:B,chainId:BigInt(J),verifyingContract:D}):s.computeSignedMessageHashEvm({rootHashHinkal:I,erc20TokenAddresses:j,amountChanges:A,outTimeStamp:V,inNullifiers:L,outCommitments:R,calldataHash:H.calldataHash,message:B,outH1Ax:P.H1x,outH1Ay:P.H1y,H0Ax:H.H0Ax,H0Ay:P.H0y,chainId:BigInt(J),verifyingContract:D}),{R8:Z,S:Q}=m.signEddsa(X);H.eddsaSignature=[Z[0],Z[1],Q],H.signedMessageHash=X;let $=k.startsWith(`mainEVMCircuitMin0`),fe={outTimeStamp:V,calldataHash:H.calldataHash,messageSeed:z},{zkCallData:pe,publicSignals:me,commitmentValidationData:he}=await re.generateMainAndCommitmentZkProof(b,m,j,f,k,$?fe:H);return{zkCallData:pe,circomData:c.generateCircomData(R,L,I,ue,G,j,p,M,F,W,h,g,B,Y,y,H.calldataHash,P,x,S,$?Number(V):void 0,K,v,C,O,me,T,U,E),dimData:{tokenNumber:f.length,nullifierAmount:f.length>0?f[0].length:0,outputAmount:p.length>0?p[0].length:0},encryptedOutputs:M,commitmentValidationData:he}};exports.constructZkProof=d;
@@ -4,9 +4,9 @@ import { poseidonFunction as ne } from "../../crypto/poseidon.mjs";
4
4
  import { randomBigInt as r } from "../web3/etherFunctions.mjs";
5
5
  import { UserKeys as i } from "../../data-structures/crypto-keys/keys.mjs";
6
6
  import { getCurrentTimeInSeconds as re } from "../utils/time.utils.mjs";
7
+ import { Logger as ie } from "../../error-handling/logger.mjs";
7
8
  import "../../types/circom-data.types.mjs";
8
- import { ExternalActionId as ie } from "../../types/external-action.types.mjs";
9
- import { Logger as ae } from "../../error-handling/logger.mjs";
9
+ import { ExternalActionId as ae } from "../../types/external-action.types.mjs";
10
10
  import { buildOutCommitments as oe, calcAmountChanges as a, calcEncryptedOutputs as se, calcOnchainEncryptedOutput as o, calcPublicSignalCount as s, calcStealthAddressStructure as c, createCallDataHash as l, getSlippageValues as ce, getUtxoCircuitH0Coords as u, getZkProofVerifierName as le } from "./common.snarkjs.mjs";
11
11
  import { computeSignedMessageHashEvm as ue, computeSignedMessageHashTron as de } from "./signedMessageHash.mjs";
12
12
  import { generateCircomData as fe } from "./generateCircomData.mjs";
@@ -42,9 +42,9 @@ var d = async (d, f, p, m, h, g, _, v, y = n, b = e.localhost, x = f.map(() => !
42
42
  U.insertionSiblings = e.insertionSiblings, U.insertionSiblingSides = e.insertionSiblingSides, W = BigInt(e.insertedLeafIndex), U.insertedLeafIndex = e.insertedLeafIndex;
43
43
  } else U.H0Ax = F.H0x, U.H0Ay = F.H0y;
44
44
  let G = s(k, U.erc20TokenAddresses, U.amountChanges, U.inNullifiers, U.outCommitments), K = a(f, p, !0), q = ye ?? ce(K);
45
- ae.log({ publicSignalCount: G });
45
+ ie.log({ publicSignalCount: G });
46
46
  let J = Array.isArray(_) ? _ : [_], Y = t(b), Ce = w ? pe.getSignerAddressFromPrivateKey(Y, w) : void 0, X;
47
- X = h === ie.Emporium ? await ge(b, g ?? n, w, J, V, Ce, v.flatFee) : h === 0n ? "0x" : J[0] ?? "0x", U.calldataHash = l(G, y, g, h, V, X, M, I, S, q, x, v, C, T, b, E);
47
+ X = h === ae.Emporium ? await ge(b, g ?? n, w, J, V, Ce, v.flatFee) : h === 0n ? "0x" : J[0] ?? "0x", U.calldataHash = l(G, y, g, h, V, X, M, I, S, q, x, v, C, T, b, E);
48
48
  let Z = O ? de({
49
49
  rootHashHinkal: L,
50
50
  erc20TokenAddresses: j,
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../crypto/poseidon.cjs`),n=require(`../web3/etherFunctions.cjs`),r=require(`../../data-structures/crypto-keys/keys.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`),l=require(`./getMerkleTreeSiblingsAndRootHashes.cjs`);require(`../web3/index.cjs`);const u=require(`../pre-transaction/getSolanaCalldataHash.cjs`);let d=require(`ethers`),f=require(`@solana/web3.js`);var p=async(p,m,h,g,_,v,y,b,x,S,C=[],w=e.chainIds.solanaLocalnet,T=[],E=[],D=0n,O=!1)=>{let k=new f.PublicKey(b),A=new f.PublicKey(x),j=m.getShieldedPrivateKey(),{pubSpendingBJJPoint:ee}=m.getSpendingKeyPair(),M=a.calcStealthAddressStructure(r.UserKeys.findCorrectRandomization(n.randomBigInt(31),j),j,m.getSpendingKeyPair().pubSpendingBJJPoint),N=C.some(Boolean)?a.calcOnchainEncryptedOutput(r.UserKeys.getEncryptionKeyPair(j).publicKey,M):`0x`,P=a.calcEncryptedOutputs(_).flatMap((e,t)=>C[t]?e.map(()=>[]):e.map(e=>[...d.ethers.getBytes(e)])),F=n.randomBigInt(31),I=t.poseidonFunction(F),L=t.poseidonFunction(D),R=h.map(e=>i.formatMintAddress(e)),z=R.map(e=>e.mintAccountPart1),B=R.map(e=>e.mintAccountPart2),V=u.getSolanaCalldataHash(S,k,A,P,N,v,y,T,E),H=`${S.tokenNumber}x${S.nullifierAmount}x${S.outputAmount}`,U=a.calcAmountChanges(g,_),{inCommitmentSiblings:W,inCommitmentSiblingSides:G,rootHashHinkal:K,rootHashHinkalIndex:q,inNullifiers:J}=await l.getDataFromWorkers(w,p,g.map(e=>e.map(e=>e.getConstructableParams())),O),Y=a.buildOutCommitments(_),X=M.H0x,Z=M.H0y,Q=s.computeSignedMessageHashSolana({rootHashHinkal:K,mintAccountPart1:z,mintAccountPart2:B,amountChanges:U,outTimeStamp:BigInt(_[0][0].timeStamp),inNullifiers:J,outCommitments:Y,calldataHash:V,message:I,swapperAccountAdditionalSeed:L,outH1Ay:M.H1y,H0Ax:X,H0Ay:Z}),{R8:$,S:te}=m.signEddsa(Q),ne={rootHashHinkal:K,spendingPublicKey:ee,eddsaSignature:[$[0],$[1],te],signedMessageHash:Q,nullifyingPrivateKey:j,mintAccountPart1:z,mintAccountPart2:B,amountChanges:U,inAmounts:g.map(e=>e.map(e=>e.amount.toString())),inH0Ax:g.map(e=>e.map(e=>a.getUtxoCircuitH0Coords(e)[0].toString())),inH0Ay:g.map(e=>e.map(e=>a.getUtxoCircuitH0Coords(e)[1].toString())),inTimeStamps:g.map(e=>e.map(e=>e.timeStamp)),inNullifiers:J,inCommitmentSiblings:W,inCommitmentSiblingSides:G,outAmounts:_.map(e=>e.map(e=>e.amount.toString())),outTimeStamp:BigInt(_[0][0].timeStamp),outPublicKeys:_.map(e=>e.map(e=>e.getStealthAddress())),outCommitments:Y,calldataHash:V,messageSeed:F,swapperAccountSalt:D,H0Ax:X,H0Ay:Z},{zkCallData:re,publicSignals:ie,commitmentValidationData:ae}=await c.generateMainAndCommitmentZkProof(w,m,h,g,`mainSolanaCircuit${H}`,ne),[oe,se,ce]=re;return{proofAArr:oe.map(BigInt).map(o.encodeToByte32Array).flat(),proofBArr:se.flat().map(BigInt).map(o.encodeToByte32Array).flat(),proofCArr:ce.map(BigInt).map(o.encodeToByte32Array).flat(),publicInputsArr:ie.map(BigInt).map(o.encodeToByte32Array),commitmentValidationData:ae,rootHashHinkalIndex:q,encryptedOutputs:P,onChainEncryptedOutput:N}};exports.constructSolanaZkProof=p;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../crypto/poseidon.cjs`),n=require(`../web3/etherFunctions.cjs`),r=require(`../../data-structures/crypto-keys/keys.cjs`),i=require(`../utils/solanaMint.utils.cjs`),a=require(`./common.snarkjs.cjs`),o=require(`../pre-transaction/solana.cjs`),s=require(`./signedMessageHash.cjs`),c=require(`../pre-transaction/getSolanaCalldataHash.cjs`);require(`../pre-transaction/index.cjs`);const l=require(`./generateMainAndCommitmentZkProof.cjs`),u=require(`./getMerkleTreeSiblingsAndRootHashes.cjs`);require(`../web3/index.cjs`);let d=require(`ethers`),f=require(`@solana/web3.js`);var p=async(p,m,h,g,_,v,y,b,x,S,C=[],w=e.chainIds.solanaLocalnet,T=[],E=[],D=0n,O=!1)=>{let k=new f.PublicKey(b),A=new f.PublicKey(x),j=m.getShieldedPrivateKey(),{pubSpendingBJJPoint:ee}=m.getSpendingKeyPair(),M=a.calcStealthAddressStructure(r.UserKeys.findCorrectRandomization(n.randomBigInt(31),j),j,m.getSpendingKeyPair().pubSpendingBJJPoint),N=C.some(Boolean)?a.calcOnchainEncryptedOutput(r.UserKeys.getEncryptionKeyPair(j).publicKey,M):`0x`,P=a.calcEncryptedOutputs(_).flatMap((e,t)=>C[t]?e.map(()=>[]):e.map(e=>[...d.ethers.getBytes(e)])),F=n.randomBigInt(31),I=t.poseidonFunction(F),L=t.poseidonFunction(D),R=h.map(e=>i.formatMintAddress(e)),z=R.map(e=>e.mintAccountPart1),B=R.map(e=>e.mintAccountPart2),V=c.getSolanaCalldataHash(S,k,A,P,N,v,y,T,E),H=`${S.tokenNumber}x${S.nullifierAmount}x${S.outputAmount}`,U=a.calcAmountChanges(g,_),{inCommitmentSiblings:W,inCommitmentSiblingSides:G,rootHashHinkal:K,rootHashHinkalIndex:q,inNullifiers:J}=await u.getDataFromWorkers(w,p,g.map(e=>e.map(e=>e.getConstructableParams())),O),Y=a.buildOutCommitments(_),X=M.H0x,Z=M.H0y,Q=s.computeSignedMessageHashSolana({rootHashHinkal:K,mintAccountPart1:z,mintAccountPart2:B,amountChanges:U,outTimeStamp:BigInt(_[0][0].timeStamp),inNullifiers:J,outCommitments:Y,calldataHash:V,message:I,swapperAccountAdditionalSeed:L,outH1Ay:M.H1y,H0Ax:X,H0Ay:Z}),{R8:$,S:te}=m.signEddsa(Q),ne={rootHashHinkal:K,spendingPublicKey:ee,eddsaSignature:[$[0],$[1],te],signedMessageHash:Q,nullifyingPrivateKey:j,mintAccountPart1:z,mintAccountPart2:B,amountChanges:U,inAmounts:g.map(e=>e.map(e=>e.amount.toString())),inH0Ax:g.map(e=>e.map(e=>a.getUtxoCircuitH0Coords(e)[0].toString())),inH0Ay:g.map(e=>e.map(e=>a.getUtxoCircuitH0Coords(e)[1].toString())),inTimeStamps:g.map(e=>e.map(e=>e.timeStamp)),inNullifiers:J,inCommitmentSiblings:W,inCommitmentSiblingSides:G,outAmounts:_.map(e=>e.map(e=>e.amount.toString())),outTimeStamp:BigInt(_[0][0].timeStamp),outPublicKeys:_.map(e=>e.map(e=>e.getStealthAddress())),outCommitments:Y,calldataHash:V,messageSeed:F,swapperAccountSalt:D,H0Ax:X,H0Ay:Z},{zkCallData:re,publicSignals:ie,commitmentValidationData:ae}=await l.generateMainAndCommitmentZkProof(w,m,h,g,`mainSolanaCircuit${H}`,ne),[oe,se,ce]=re;return{proofAArr:oe.map(BigInt).map(o.encodeToByte32Array).flat(),proofBArr:se.flat().map(BigInt).map(o.encodeToByte32Array).flat(),proofCArr:ce.map(BigInt).map(o.encodeToByte32Array).flat(),publicInputsArr:ie.map(BigInt).map(o.encodeToByte32Array),commitmentValidationData:ae,rootHashHinkalIndex:q,encryptedOutputs:P,onChainEncryptedOutput:N}};exports.constructSolanaZkProof=p;
@@ -6,16 +6,16 @@ import { formatMintAddress as i } from "../utils/solanaMint.utils.mjs";
6
6
  import { buildOutCommitments as a, calcAmountChanges as o, calcEncryptedOutputs as s, calcOnchainEncryptedOutput as c, calcStealthAddressStructure as l, getUtxoCircuitH0Coords as u } from "./common.snarkjs.mjs";
7
7
  import { encodeToByte32Array as d } from "../pre-transaction/solana.mjs";
8
8
  import { computeSignedMessageHashSolana as f } from "./signedMessageHash.mjs";
9
+ import { getSolanaCalldataHash as ee } from "../pre-transaction/getSolanaCalldataHash.mjs";
9
10
  import "../pre-transaction/index.mjs";
10
- import { generateMainAndCommitmentZkProof as ee } from "./generateMainAndCommitmentZkProof.mjs";
11
- import { getDataFromWorkers as te } from "./getMerkleTreeSiblingsAndRootHashes.mjs";
11
+ import { generateMainAndCommitmentZkProof as te } from "./generateMainAndCommitmentZkProof.mjs";
12
+ import { getDataFromWorkers as ne } from "./getMerkleTreeSiblingsAndRootHashes.mjs";
12
13
  import "../web3/index.mjs";
13
- import { getSolanaCalldataHash as ne } from "../pre-transaction/getSolanaCalldataHash.mjs";
14
14
  import { ethers as p } from "ethers";
15
15
  import { PublicKey as m } from "@solana/web3.js";
16
16
  //#region libs/shared/common/src/functions/snarkjs/constructSolanaZkProof.ts
17
17
  var h = async (h, g, _, v, y, b, x, S, C, w, T = [], E = e.solanaLocalnet, re = [], ie = [], D = 0n, ae = !1) => {
18
- let O = new m(S), k = new m(C), A = g.getShieldedPrivateKey(), { pubSpendingBJJPoint: j } = g.getSpendingKeyPair(), M = l(r.findCorrectRandomization(n(31), A), A, g.getSpendingKeyPair().pubSpendingBJJPoint), N = T.some(Boolean) ? c(r.getEncryptionKeyPair(A).publicKey, M) : "0x", P = s(y).flatMap((e, t) => T[t] ? e.map(() => []) : e.map((e) => [...p.getBytes(e)])), F = n(31), I = t(F), L = t(D), R = _.map((e) => i(e)), z = R.map((e) => e.mintAccountPart1), B = R.map((e) => e.mintAccountPart2), V = ne(w, O, k, P, N, b, x, re, ie), H = `${w.tokenNumber}x${w.nullifierAmount}x${w.outputAmount}`, U = o(v, y), { inCommitmentSiblings: oe, inCommitmentSiblingSides: W, rootHashHinkal: G, rootHashHinkalIndex: K, inNullifiers: q } = await te(E, h, v.map((e) => e.map((e) => e.getConstructableParams())), ae), J = a(y), Y = M.H0x, X = M.H0y, Z = f({
18
+ let O = new m(S), k = new m(C), A = g.getShieldedPrivateKey(), { pubSpendingBJJPoint: j } = g.getSpendingKeyPair(), M = l(r.findCorrectRandomization(n(31), A), A, g.getSpendingKeyPair().pubSpendingBJJPoint), N = T.some(Boolean) ? c(r.getEncryptionKeyPair(A).publicKey, M) : "0x", P = s(y).flatMap((e, t) => T[t] ? e.map(() => []) : e.map((e) => [...p.getBytes(e)])), F = n(31), I = t(F), L = t(D), R = _.map((e) => i(e)), z = R.map((e) => e.mintAccountPart1), B = R.map((e) => e.mintAccountPart2), V = ee(w, O, k, P, N, b, x, re, ie), H = `${w.tokenNumber}x${w.nullifierAmount}x${w.outputAmount}`, U = o(v, y), { inCommitmentSiblings: oe, inCommitmentSiblingSides: W, rootHashHinkal: G, rootHashHinkalIndex: K, inNullifiers: q } = await ne(E, h, v.map((e) => e.map((e) => e.getConstructableParams())), ae), J = a(y), Y = M.H0x, X = M.H0y, Z = f({
19
19
  rootHashHinkal: G,
20
20
  mintAccountPart1: z,
21
21
  mintAccountPart2: B,
@@ -58,7 +58,7 @@ var h = async (h, g, _, v, y, b, x, S, C, w, T = [], E = e.solanaLocalnet, re =
58
58
  swapperAccountSalt: D,
59
59
  H0Ax: Y,
60
60
  H0Ay: X
61
- }, { zkCallData: le, publicSignals: $, commitmentValidationData: ue } = await ee(E, g, _, v, `mainSolanaCircuit${H}`, ce), [de, fe, pe] = le;
61
+ }, { zkCallData: le, publicSignals: $, commitmentValidationData: ue } = await te(E, g, _, v, `mainSolanaCircuit${H}`, ce), [de, fe, pe] = le;
62
62
  return {
63
63
  proofAArr: de.map(BigInt).map(d).flat(),
64
64
  proofBArr: fe.flat().map(BigInt).map(d).flat(),
@@ -1 +1 @@
1
- const e=require(`./constant.cjs`),t=require(`../../data-structures/http/HttpClient.cjs`);require(`../../data-structures/http/index.cjs`);const n=require(`../utils/encryptInputForEnclave.cjs`),r=require(`./verifySignedEnclaveResponse.cjs`);var i=e=>e?.flat().filter(e=>e.amount>0n).map(e=>e.getCommitment()),a=async(i,a)=>{let{keyCiphertext:o,inputCiphertext:s}=await n.makeEnclaveHandshakeAndEncryptInput(a),c=await t.httpClient.post(`${e.ENCLAVE_URL}${i}`,{key:o,inputs:s});return r.verifySignedEnclaveResponse(c.data,c.signature)},o=e=>{if(Array.isArray(e))return`[${e.map(o).join(`,`)}]`;if(e&&typeof e==`object`){let t=e;return`{${Object.keys(t).filter(e=>t[e]!==void 0).sort().map(e=>`${JSON.stringify(e)}:${o(t[e])}`).join(`,`)}}`}return JSON.stringify(e)},s=(e,t)=>{if(o({chainId:String(e.chainId),hinkalAddress:e.hinkalAddress??``,erc20Addresses:e.erc20Addresses,amountChanges:e.amountChanges,externalAddress:e.externalAddress,...e.originalSender?{originalSender:e.originalSender}:{},relay:e.relay??``,feeStructure:e.feeStructure?{feeToken:e.feeStructure.feeToken,flatFee:e.feeStructure.flatFee.toString(),variableRate:e.feeStructure.variableRate.toString()}:null,externalActionId:e.externalActionId??``,externalActionMetadata:e.externalActionMetadata??``,onChainCreation:e.onChainCreation??null,recipientAddress:e.recipientAddress??null,recipientAmounts:e.recipientAmounts??null,selfOutputAmounts:e.selfOutputAmounts??null,inputCommitments:e.inputCommitments??null,useBlockedUtxos:e.useBlockedUtxos??!1,createBlockedUtxos:e.createBlockedUtxos??!1,...e.forceEmptyUtxos?{forceEmptyUtxos:!0}:{},messageSeed:e.messageSeed??``,skipLock:e.skipLock??!1,...e.speculative?{speculative:e.speculative}:{},slippageValues:e.slippageValues??null})!==o(t))throw Error(`Enclave prepare-tx response does not match the request sent - refusing to sign`)},c=(e,t)=>{let n={chainId:String(e.chainId),mintAddresses:e.mintAddresses,amountChanges:e.amountChanges,relayAddress:e.relayAddress,recipient:e.recipient,signer:e.signer??e.relayAddress,functionName:e.functionName??`transact`,accounts:e.accounts,onChainCreation:e.onChainCreation??null,relayerFee:e.relayerFee??`0`,variableRate:e.variableRate??`0`,hinkalInstructions:e.hinkalInstructions??null,remainingAccounts:e.remainingAccounts??null,swapperAccountSalt:e.swapperAccountSalt??`0`,recipientAddress:e.recipientAddress??``,recipientAmounts:e.recipientAmounts??null,inputCommitments:e.inputCommitments??null,useBlockedUtxos:e.useBlockedUtxos??!1,messageSeed:e.messageSeed??``};if(e.recipientAmount&&(n.recipientAmount=e.recipientAmount),e.displayRecipient&&(n.displayRecipient=e.displayRecipient),e.speculative&&(n.speculative=e.speculative),o(n)!==o(t))throw Error(`Enclave prepare-solana-tx response does not match the request sent - refusing to sign`)},l=e=>({R8:e.R8.map(String),S:e.S.toString()}),u=e=>({feeToken:e.feeToken,flatFee:e.flatFee.toString(),variableRate:e.variableRate.toString()}),d=(e,t)=>{if(o({chainId:String(e.chainId),hinkalAddress:e.hinkalAddress??``,erc20Address:e.erc20Address,externalAddress:e.externalAddress,relay:e.relay,feeStructure:{feeToken:e.feeStructure.feeToken,flatFee:e.feeStructure.flatFee.toString(),variableRate:e.feeStructure.variableRate.toString()},hashedEthereumAddress:e.hashedEthereumAddress})!==o(t))throw Error(`Enclave prepare-stuck-withdraw response does not match the request sent - refusing to sign`)},f=async(e,t,n=e.userKeys)=>{let r={...t,amountChanges:t.amountChanges.map(String),recipientAmounts:t.recipientAmounts?.map(e=>e.map(String)),selfOutputAmounts:t.selfOutputAmounts?.map(String),messageSeed:t.messageSeed?.toString(),nullifyingKey:n.getShieldedPrivateKey(),spendingPublicKey:n.getSpendingKeyPair().pubSpendingBJJPoint.map(String),slippageValues:t.slippageValues?.map(String)},i=await a(`/prepare-tx`,r);return s(r,i.request),i},p=async(e,t)=>{let{nullifierCount:n}=await a(`/estimate-nullifiers`,{...t,amountChanges:t.amountChanges.map(String),nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)});return n},m=async(e,t,n=e.userKeys)=>{let r={...t,amountChanges:t.amountChanges.map(String),relayerFee:t.relayerFee?.toString(),variableRate:t.variableRate?.toString(),swapperAccountSalt:t.swapperAccountSalt?.toString(),recipientAmounts:t.recipientAmounts?.map(String),messageSeed:t.messageSeed?.toString(),nullifyingKey:n.getShieldedPrivateKey(),spendingPublicKey:n.getSpendingKeyPair().pubSpendingBJJPoint.map(String)},i=await a(`/prepare-solana-tx`,r);return c(r,i.request),i},h=async(e,t)=>{let n={...t,nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)},{jobs:r,request:i}=await a(`/prepare-stuck-withdraw`,n);return d(n,i),r},g=async(e,t)=>{let n=Object.fromEntries(Object.entries(t.feeStructures).map(([e,t])=>[e,u(t)])),{jobs:r}=await a(`/prepare-solana-stuck-withdraw`,{...t,feeStructures:n,nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)});return r},_=async(e,t)=>a(`/finalize-tx`,{jobId:e,eddsaSignature:l(t)}),v=async(e,t)=>a(`/finalize-solana-tx`,{jobId:e,eddsaSignature:l(t)}),y=async(e,t,n,r)=>{let{txHash:i}=await a(`/finalize-tx-relay`,{jobId:e,eddsaSignature:l(t),chainId:n,adminData:r?.adminData,authorizationData:r?.authorizationData,withUniswapWorkAround:r?.withUniswapWorkAround});return i},b=async(e,t,n,r)=>{let{txHash:i}=await a(`/finalize-solana-tx-relay`,{jobId:e,eddsaSignature:l(t),chainId:n,adminData:r?.adminData});return i};exports.collectInputCommitments=i,exports.estimateNullifiersEnclaveCall=p,exports.finalizeSolanaTxEnclaveCall=v,exports.finalizeSolanaTxEnclaveCallRelay=b,exports.finalizeTxEnclaveCall=_,exports.finalizeTxEnclaveCallRelay=y,exports.prepareSolanaStuckWithdrawEnclaveCall=g,exports.prepareSolanaTxEnclaveCall=m,exports.prepareStuckWithdrawEnclaveCall=h,exports.prepareTxEnclaveCall=f;
1
+ const e=require(`./constant.cjs`),t=require(`../../data-structures/http/HttpClient.cjs`);require(`../../data-structures/http/index.cjs`);const n=require(`./verifySignedEnclaveResponse.cjs`),r=require(`../utils/encryptInputForEnclave.cjs`),i=require(`./constructTxEnclaveVerify.cjs`);var a=e=>e?.flat().filter(e=>e.amount>0n).map(e=>e.getCommitment()),o=async(i,a)=>{let{keyCiphertext:o,inputCiphertext:s}=await r.makeEnclaveHandshakeAndEncryptInput(a),c=await t.httpClient.post(`${e.ENCLAVE_URL}${i}`,{key:o,inputs:s});return n.verifySignedEnclaveResponse(c.data,c.signature)},s=e=>({R8:e.R8.map(String),S:e.S.toString()}),c=e=>({feeToken:e.feeToken,flatFee:e.flatFee.toString(),variableRate:e.variableRate.toString()}),l=async(t,n,a=t.userKeys)=>{let o={...n,amountChanges:n.amountChanges.map(String),recipientAmounts:n.recipientAmounts?.map(e=>e.map(String)),selfOutputAmounts:n.selfOutputAmounts?.map(String),messageSeed:n.messageSeed?.toString(),nullifyingKey:a.getShieldedPrivateKey(),spendingPublicKey:a.getSpendingKeyPair().pubSpendingBJJPoint.map(String),slippageValues:n.slippageValues?.map(String)},s=await r.enclavePostSealedSigned(`${e.ENCLAVE_URL}/prepare-tx`,o);return i.verifyPrepareTxResponse(o,s),s},u=async(e,t)=>{let{nullifierCount:n}=await o(`/estimate-nullifiers`,{...t,amountChanges:t.amountChanges.map(String),nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)});return n},d=async(t,n,a=t.userKeys)=>{let o={...n,amountChanges:n.amountChanges.map(String),relayerFee:n.relayerFee?.toString(),variableRate:n.variableRate?.toString(),swapperAccountSalt:n.swapperAccountSalt?.toString(),recipientAmounts:n.recipientAmounts?.map(String),messageSeed:n.messageSeed?.toString(),nullifyingKey:a.getShieldedPrivateKey(),spendingPublicKey:a.getSpendingKeyPair().pubSpendingBJJPoint.map(String)},s=await r.enclavePostSealedSigned(`${e.ENCLAVE_URL}/prepare-solana-tx`,o);return i.verifyPrepareSolanaTxResponse(o,s),s},f=async(t,n)=>{let a={...n,nullifyingKey:t.userKeys.getShieldedPrivateKey(),spendingPublicKey:t.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)},o=await r.enclavePostSealedSigned(`${e.ENCLAVE_URL}/prepare-stuck-withdraw`,a);return i.verifyPrepareStuckWithdrawResponse(a,o),o.jobs},p=async(t,n)=>{let a=Object.fromEntries(Object.entries(n.feeStructures).map(([e,t])=>[e,c(t)])),o={...n,feeStructures:a,nullifyingKey:t.userKeys.getShieldedPrivateKey(),spendingPublicKey:t.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)},s=await r.enclavePostSealedSigned(`${e.ENCLAVE_URL}/prepare-solana-stuck-withdraw`,o);return i.verifyPrepareSolanaStuckWithdrawResponse(o,s),s.jobs},m=async(e,t)=>o(`/finalize-tx`,{jobId:e,eddsaSignature:s(t)}),h=async(e,t)=>o(`/finalize-solana-tx`,{jobId:e,eddsaSignature:s(t)}),g=async(e,t,n,r)=>{let{txHash:i}=await o(`/finalize-tx-relay`,{jobId:e,eddsaSignature:s(t),chainId:n,adminData:r?.adminData,authorizationData:r?.authorizationData,withUniswapWorkAround:r?.withUniswapWorkAround});return i},_=async(e,t,n,r)=>{let{txHash:i}=await o(`/finalize-solana-tx-relay`,{jobId:e,eddsaSignature:s(t),chainId:n,adminData:r?.adminData});return i};exports.collectInputCommitments=a,exports.estimateNullifiersEnclaveCall=u,exports.finalizeSolanaTxEnclaveCall=h,exports.finalizeSolanaTxEnclaveCallRelay=_,exports.finalizeTxEnclaveCall=m,exports.finalizeTxEnclaveCallRelay=g,exports.prepareSolanaStuckWithdrawEnclaveCall=p,exports.prepareSolanaTxEnclaveCall=d,exports.prepareStuckWithdrawEnclaveCall=f,exports.prepareTxEnclaveCall=l;
@@ -1,9 +1,9 @@
1
1
  import { IHinkal } from '../../data-structures/Hinkal/IHinkal';
2
2
  import { UserKeys } from '../../data-structures/crypto-keys/keys';
3
3
  import { Utxo } from '../../data-structures/utxo/Utxo';
4
+ import { AuthorizationData } from '../../types/hinkal.types';
4
5
  import { EstimateNullifiersParams, FinalizeSolanaTxResponseType, FinalizeTxResponseType, PreparedJobType, PrepareSolanaStuckWithdrawParams, PrepareSolanaTxParams, PrepareSolanaTxResponseType, PrepareStuckWithdrawRequestType, PrepareTxParams, PrepareTxResponseType } from '../../types/remote-tx-build.types';
5
6
  import { AdminDataType } from '../../types/admin.types';
6
- import { AuthorizationData } from '../../types/hinkal.types';
7
7
  export declare const collectInputCommitments: (inputUtxos?: Utxo[][]) => string[] | undefined;
8
8
  export declare const prepareTxEnclaveCall: (hinkal: IHinkal, params: PrepareTxParams, userKeys?: UserKeys) => Promise<PrepareTxResponseType>;
9
9
  export declare const estimateNullifiersEnclaveCall: (hinkal: IHinkal, params: EstimateNullifiersParams) => Promise<number>;