@hinkal/common 0.3.9 → 0.3.11

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 (275) hide show
  1. package/README.md +26 -10
  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/callRelayer.d.ts +1 -0
  6. package/common/src/API/dashboardTransactionCalls.cjs +1 -1
  7. package/common/src/API/dashboardTransactionCalls.d.ts +4 -1
  8. package/common/src/API/dashboardTransactionCalls.mjs +2 -2
  9. package/common/src/API/enclaveRecipientInfoCalls.d.ts +0 -2
  10. package/common/src/API/enclaveSignatureCalls.cjs +1 -1
  11. package/common/src/API/enclaveSignatureCalls.d.ts +2 -1
  12. package/common/src/API/enclaveSignatureCalls.mjs +5 -8
  13. package/common/src/API/enclaveUtxoCalls.cjs +1 -1
  14. package/common/src/API/enclaveUtxoCalls.d.ts +12 -8
  15. package/common/src/API/enclaveUtxoCalls.mjs +17 -20
  16. package/common/src/API/privateSendRecipientInfoCalls.cjs +1 -1
  17. package/common/src/API/privateSendRecipientInfoCalls.d.ts +3 -6
  18. package/common/src/API/privateSendRecipientInfoCalls.mjs +12 -6
  19. package/common/src/API/scheduled-transactions-calls.cjs +1 -1
  20. package/common/src/API/scheduled-transactions-calls.d.ts +1 -5
  21. package/common/src/API/scheduled-transactions-calls.mjs +2 -6
  22. package/common/src/constants/bridging.constants.cjs +1 -1
  23. package/common/src/constants/bridging.constants.d.ts +1 -0
  24. package/common/src/constants/bridging.constants.mjs +1 -1
  25. package/common/src/constants/chains.constants.cjs +1 -1
  26. package/common/src/constants/chains.constants.d.ts +18 -17
  27. package/common/src/constants/chains.constants.mjs +108 -89
  28. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
  29. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +2 -1
  30. package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
  31. package/common/src/constants/deploy-data/deploy-data-base.json.mjs +2 -1
  32. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +1 -1
  33. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +2 -1
  34. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
  35. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +2 -1
  36. package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
  37. package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +2 -1
  38. package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
  39. package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +2 -1
  40. package/common/src/constants/events.constants.cjs +1 -1
  41. package/common/src/constants/events.constants.mjs +1 -16
  42. package/common/src/constants/protocol.constants.cjs +1 -1
  43. package/common/src/constants/protocol.constants.d.ts +11 -8
  44. package/common/src/constants/protocol.constants.mjs +1 -1
  45. package/common/src/constants/server.constants.cjs +1 -1
  46. package/common/src/constants/server.constants.d.ts +1 -4
  47. package/common/src/constants/server.constants.mjs +1 -4
  48. package/common/src/constants/tx-confirmation.constants.cjs +1 -1
  49. package/common/src/constants/tx-confirmation.constants.d.ts +1 -0
  50. package/common/src/constants/tx-confirmation.constants.mjs +2 -2
  51. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  52. package/common/src/data-structures/Hinkal/Hinkal.d.ts +8 -10
  53. package/common/src/data-structures/Hinkal/Hinkal.mjs +132 -160
  54. package/common/src/data-structures/Hinkal/IHinkal.d.ts +7 -10
  55. package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  56. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +23 -23
  57. package/common/src/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
  58. package/common/src/data-structures/Hinkal/hinkalActionReceive.mjs +1 -1
  59. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
  60. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +57 -57
  61. package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  62. package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +10 -10
  63. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  64. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +19 -19
  65. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.cjs +1 -1
  66. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +3 -2
  67. package/common/src/data-structures/Hinkal/hinkalProxySend.cjs +1 -0
  68. package/common/src/data-structures/Hinkal/hinkalProxySend.d.ts +6 -0
  69. package/common/src/data-structures/Hinkal/hinkalProxySend.mjs +16 -0
  70. package/common/src/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
  71. package/common/src/data-structures/Hinkal/hinkalProxySwap.d.ts +1 -1
  72. package/common/src/data-structures/Hinkal/hinkalProxySwap.mjs +13 -12
  73. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  74. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +1 -1
  75. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  76. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +1 -1
  77. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  78. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +1 -1
  79. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +9 -9
  80. package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredShield.cjs +1 -1
  81. package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredShield.d.ts +1 -1
  82. package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredShield.mjs +15 -14
  83. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  84. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +44 -47
  85. package/common/src/data-structures/Hinkal/hinkalSolanaTransact.cjs +1 -1
  86. package/common/src/data-structures/Hinkal/hinkalSolanaTransact.mjs +2 -2
  87. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  88. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +1 -1
  89. package/common/src/data-structures/Hinkal/hinkalTransact.cjs +1 -1
  90. package/common/src/data-structures/Hinkal/hinkalTransact.mjs +1 -1
  91. package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  92. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +4 -4
  93. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  94. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +101 -94
  95. package/common/src/data-structures/Hinkal/index.d.ts +0 -1
  96. package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
  97. package/common/src/data-structures/IndexedDB/activity-db.mjs +34 -34
  98. package/common/src/data-structures/IndexedDB/index.cjs +1 -1
  99. package/common/src/data-structures/IndexedDB/index.d.ts +1 -0
  100. package/common/src/data-structures/IndexedDB/index.mjs +1 -0
  101. package/common/src/data-structures/IndexedDB/scheduled-transactions-db.cjs +1 -0
  102. package/common/src/data-structures/IndexedDB/scheduled-transactions-db.d.ts +11 -0
  103. package/common/src/data-structures/IndexedDB/scheduled-transactions-db.mjs +34 -0
  104. package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
  105. package/common/src/data-structures/IndexedDB/signatures-db.mjs +11 -11
  106. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
  107. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.d.ts +1 -0
  108. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +6 -3
  109. package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
  110. package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +18 -19
  111. package/common/src/data-structures/crypto-keys/keys.cjs +1 -1
  112. package/common/src/data-structures/crypto-keys/keys.d.ts +1 -0
  113. package/common/src/data-structures/crypto-keys/keys.mjs +3 -0
  114. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  115. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +11 -11
  116. package/common/src/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -1
  117. package/common/src/data-structures/event-service/helpers/ClientEventHelper.mjs +6 -6
  118. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
  119. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.d.ts +1 -0
  120. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +79 -75
  121. package/common/src/data-structures/provider-adapter/IProviderAdapter.d.ts +1 -4
  122. package/common/src/data-structures/token-price-fetcher/TokenChecker.cjs +1 -1
  123. package/common/src/data-structures/token-price-fetcher/TokenChecker.d.ts +1 -0
  124. package/common/src/data-structures/token-price-fetcher/TokenChecker.mjs +1 -0
  125. package/common/src/error-handling/error-codes.constants.cjs +1 -1
  126. package/common/src/error-handling/error-codes.constants.d.ts +6 -0
  127. package/common/src/error-handling/error-codes.constants.mjs +10 -4
  128. package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.cjs +1 -1
  129. package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.mjs +7 -6
  130. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -1
  131. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +8 -8
  132. package/common/src/functions/index.cjs +1 -1
  133. package/common/src/functions/index.mjs +1 -2
  134. package/common/src/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
  135. package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +13 -13
  136. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  137. package/common/src/functions/private-wallet/emporium.helpers.mjs +13 -13
  138. package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  139. package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +13 -13
  140. package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  141. package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +4 -4
  142. package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  143. package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +5 -5
  144. package/common/src/functions/snarkjs/constructTxEnclave.cjs +1 -1
  145. package/common/src/functions/snarkjs/constructTxEnclave.d.ts +1 -1
  146. package/common/src/functions/snarkjs/constructTxEnclave.mjs +61 -133
  147. package/common/src/functions/snarkjs/constructTxEnclaveVerify.cjs +1 -0
  148. package/common/src/functions/snarkjs/constructTxEnclaveVerify.d.ts +5 -0
  149. package/common/src/functions/snarkjs/constructTxEnclaveVerify.mjs +295 -0
  150. package/common/src/functions/utils/addresses.cjs +1 -1
  151. package/common/src/functions/utils/addresses.d.ts +1 -0
  152. package/common/src/functions/utils/addresses.mjs +13 -12
  153. package/common/src/functions/utils/bridge-arrival.utils.cjs +1 -1
  154. package/common/src/functions/utils/bridge-arrival.utils.mjs +12 -11
  155. package/common/src/functions/utils/bridge-claimable-utxo.utils.cjs +1 -1
  156. package/common/src/functions/utils/bridge-claimable-utxo.utils.d.ts +1 -1
  157. package/common/src/functions/utils/bridge-claimable-utxo.utils.mjs +4 -4
  158. package/common/src/functions/utils/create-provider.cjs +1 -1
  159. package/common/src/functions/utils/create-provider.mjs +4 -1
  160. package/common/src/functions/utils/enclave-recipient-info-storage.cjs +1 -1
  161. package/common/src/functions/utils/enclave-recipient-info-storage.d.ts +4 -1
  162. package/common/src/functions/utils/enclave-recipient-info-storage.mjs +1 -0
  163. package/common/src/functions/utils/enclave-signature-storage.cjs +1 -1
  164. package/common/src/functions/utils/enclave-signature-storage.d.ts +1 -1
  165. package/common/src/functions/utils/enclave-signature-storage.mjs +3 -3
  166. package/common/src/functions/utils/enclave-utxo-storage.cjs +1 -1
  167. package/common/src/functions/utils/enclave-utxo-storage.d.ts +3 -3
  168. package/common/src/functions/utils/enclave-utxo-storage.mjs +8 -5
  169. package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
  170. package/common/src/functions/utils/encryptInputForEnclave.d.ts +8 -0
  171. package/common/src/functions/utils/encryptInputForEnclave.mjs +43 -23
  172. package/common/src/functions/utils/erc20tokenFunctions.cjs +1 -1
  173. package/common/src/functions/utils/erc20tokenFunctions.mjs +2 -15
  174. package/common/src/functions/utils/fees.utils.cjs +1 -1
  175. package/common/src/functions/utils/fees.utils.mjs +6 -6
  176. package/common/src/functions/utils/index.cjs +1 -1
  177. package/common/src/functions/utils/index.d.ts +1 -0
  178. package/common/src/functions/utils/index.mjs +3 -3
  179. package/common/src/functions/utils/ipfs.d.ts +2 -3
  180. package/common/src/functions/utils/lifi.utils.d.ts +2 -0
  181. package/common/src/functions/utils/nearIntents.utils.cjs +1 -1
  182. package/common/src/functions/utils/nearIntents.utils.mjs +7 -7
  183. package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
  184. package/common/src/functions/utils/publicBalance.utils.mjs +10 -10
  185. package/common/src/functions/utils/temporary-wallet-recovery.utils.cjs +1 -0
  186. package/common/src/functions/utils/temporary-wallet-recovery.utils.d.ts +7 -0
  187. package/common/src/functions/utils/temporary-wallet-recovery.utils.mjs +10 -0
  188. package/common/src/functions/utils/tron.utils.cjs +1 -1
  189. package/common/src/functions/utils/tron.utils.mjs +16 -29
  190. package/common/src/functions/utils/tx-confirmation.utils.cjs +1 -1
  191. package/common/src/functions/utils/tx-confirmation.utils.d.ts +1 -0
  192. package/common/src/functions/utils/tx-confirmation.utils.mjs +16 -13
  193. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  194. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +5 -5
  195. package/common/src/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
  196. package/common/src/functions/web3/events/getInputUtxosEnclave.d.ts +1 -1
  197. package/common/src/functions/web3/events/getInputUtxosEnclave.mjs +19 -11
  198. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  199. package/common/src/functions/web3/events/getShieldedBalance.d.ts +4 -4
  200. package/common/src/functions/web3/events/getShieldedBalance.mjs +113 -101
  201. package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
  202. package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +16 -16
  203. package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
  204. package/common/src/providers/SolanaProviderAdapter.d.ts +1 -4
  205. package/common/src/providers/SolanaProviderAdapter.mjs +3 -6
  206. package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
  207. package/common/src/providers/WagmiProviderAdapter.mjs +5 -5
  208. package/common/src/types/cache.types.cjs +1 -1
  209. package/common/src/types/cache.types.d.ts +2 -1
  210. package/common/src/types/cache.types.mjs +1 -1
  211. package/common/src/types/enclaveApi.types.d.ts +2 -3
  212. package/common/src/types/ethereum-network.types.d.ts +1 -0
  213. package/common/src/types/events.types.d.ts +1 -0
  214. package/common/src/types/near-intents.types.d.ts +1 -0
  215. package/common/src/types/remote-proof.types.d.ts +5 -0
  216. package/common/src/types/remote-tx-build.types.d.ts +37 -4
  217. package/common/src/types/scheduled-transactions.types.d.ts +18 -0
  218. package/common/src/types/solana.types.d.ts +0 -3
  219. package/common/src/webworker/{logError-RKYfeI6h.js → logError-cvFNxc-0.js} +1 -1
  220. package/common/src/webworker/package.json +1 -2
  221. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  222. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  223. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  224. package/common/src/webworker/utxoWorker/utxoWorker.types.d.ts +4 -2
  225. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  226. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  227. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  228. package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
  229. package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
  230. package/common/src/webworker/workerProxy-BHzCZ9HT.js +1 -0
  231. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  232. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  233. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  234. package/package.json +1 -2
  235. package/providers/prepareEthersHinkal.cjs +1 -1
  236. package/providers/prepareEthersHinkal.d.ts +1 -0
  237. package/providers/prepareEthersHinkal.mjs +2 -2
  238. package/providers/prepareSolanaHinkal.cjs +1 -1
  239. package/providers/prepareSolanaHinkal.d.ts +1 -0
  240. package/providers/prepareSolanaHinkal.mjs +2 -2
  241. package/providers/prepareTronHinkal.cjs +1 -1
  242. package/providers/prepareTronHinkal.d.ts +1 -0
  243. package/providers/prepareTronHinkal.mjs +2 -2
  244. package/providers/prepareWagmiHinkal.cjs +1 -1
  245. package/providers/prepareWagmiHinkal.d.ts +1 -0
  246. package/providers/prepareWagmiHinkal.mjs +2 -2
  247. package/services/Hinkal.cjs +1 -1
  248. package/services/Hinkal.d.ts +8 -2
  249. package/services/Hinkal.mjs +15 -4
  250. package/types/IHinkal.d.ts +8 -2
  251. package/common/src/API/evm-token-assets.cjs +0 -1
  252. package/common/src/API/evm-token-assets.mjs +0 -20
  253. package/common/src/API/getAnyRecipientInfo.d.ts +0 -1
  254. package/common/src/API/solana-nft-assets.cjs +0 -1
  255. package/common/src/API/solana-nft-assets.mjs +0 -11
  256. package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredProxySend.d.ts +0 -5
  257. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +0 -1
  258. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +0 -109
  259. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +0 -1
  260. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +0 -94
  261. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +0 -1
  262. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +0 -134
  263. package/common/src/data-structures/TokenDBs/PublicTokensDB.cjs +0 -1
  264. package/common/src/data-structures/TokenDBs/PublicTokensDB.mjs +0 -32
  265. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.cjs +0 -1
  266. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.mjs +0 -37
  267. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +0 -1
  268. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +0 -51
  269. package/common/src/data-structures/TokenDBs/index.cjs +0 -1
  270. package/common/src/data-structures/TokenDBs/index.mjs +0 -6
  271. package/common/src/functions/utils/ipfs.cjs +0 -1
  272. package/common/src/functions/utils/ipfs.mjs +0 -1
  273. package/common/src/functions/utils/reloadPage.cjs +0 -1
  274. package/common/src/functions/utils/reloadPage.mjs +0 -4
  275. package/common/src/webworker/workerProxy-COB7g4Qc.js +0 -1
@@ -1,15 +1,16 @@
1
- import { waitLittle as e } from "./time.utils.mjs";
2
- import { BRIDGE_ARRIVAL_POLL_INTERVAL_MS as t, BRIDGE_ARRIVAL_TIMEOUT_MS as n, SLIPPAGE_SCALING_FACTOR as r } from "../../constants/bridging.constants.mjs";
3
- import { getPublicBalanceByTokenAddress as i } from "./publicBalance.utils.mjs";
1
+ import { transactionErrorCodes as e } from "../../error-handling/error-codes.constants.mjs";
2
+ import { waitLittle as t } from "./time.utils.mjs";
3
+ import { BRIDGE_ARRIVAL_POLL_INTERVAL_MS as n, BRIDGE_ARRIVAL_TIMEOUT_MS as r, SLIPPAGE_SCALING_FACTOR as i } from "../../constants/bridging.constants.mjs";
4
+ import { getPublicBalanceByTokenAddress as a } from "./publicBalance.utils.mjs";
4
5
  //#region libs/shared/common/src/functions/utils/bridge-arrival.utils.ts
5
- var a = async (a, o, s, c, l) => {
6
- let u = c - c * BigInt(Math.round(l * r)) / BigInt(r), d = u > 0n ? u : 1n, f = Date.now() + n;
7
- for (; Date.now() < f;) {
8
- let n = await i(a, o, s);
9
- if (n !== null && n >= d) return n;
10
- await e(t);
6
+ var o = async (o, s, c, l, u) => {
7
+ let d = l - l * BigInt(Math.round(u * i)) / BigInt(i), f = d > 0n ? d : 1n, p = Date.now() + r;
8
+ for (; Date.now() < p;) {
9
+ let e = await a(o, s, c);
10
+ if (e !== null && e >= f) return e;
11
+ await t(n);
11
12
  }
12
- throw Error(`Bridge did not land on destination temp wallet ${o} on chain ${a} within timeout.`);
13
+ throw Error(`${e.BRIDGE_ARRIVAL_TIMEOUT} ${s} on chain ${o} within timeout.`);
13
14
  };
14
15
  //#endregion
15
- export { a as waitForBridgeArrival };
16
+ export { o as waitForBridgeArrival };
@@ -1 +1 @@
1
- const e=require(`../../data-structures/crypto-keys/keys.cjs`),t=require(`./getRecipientInfoFromUserKeys.cjs`),n=require(`../../data-structures/Hinkal/hinkalSolanaSponsoredShield.cjs`);var r=(n,r)=>{if(`recipientInfo`in r)return{recipientInfo:r.recipientInfo};let i=n.userKeys.getClaimableSignatureFromNonce(r.claimableNonce),a=new e.UserKeys(i);return{recipientInfo:t.getRecipientInfoFromUserKeys(a),claimable:{signature:i,keys:a,ethAddress:r.recipientEthAddress}}},i=async(e,t,r,i,a)=>{let{txHash:o,shieldedAmount:s}=await n.hinkalSolanaSponsoredShield(e,t,r,i,a);return{destTxHash:o,shieldedAmount:s}};exports.hinkalSolanaShieldBridged=i,exports.resolveBridgeRecipient=r;
1
+ const e=require(`../../data-structures/crypto-keys/keys.cjs`),t=require(`./getRecipientInfoFromUserKeys.cjs`),n=require(`../../data-structures/Hinkal/hinkalSolanaSponsoredShield.cjs`);var r=(n,r)=>{if(`recipientInfo`in r)return{recipientInfo:r.recipientInfo};let i=n.userKeys.getClaimableSignatureFromNonce(r.claimableNonce),a=new e.UserKeys(i);return{recipientInfo:t.getRecipientInfoFromUserKeys(a),claimable:{signature:i,keys:a,ethAddress:r.recipientEthAddress}}},i=async(e,t,r,i,a,o)=>{let{txHash:s,shieldedAmount:c}=await n.hinkalSolanaSponsoredShield(e,t,r,i,a,void 0,o);return{destTxHash:s,shieldedAmount:c}};exports.hinkalSolanaShieldBridged=i,exports.resolveBridgeRecipient=r;
@@ -13,7 +13,7 @@ export interface BridgeResolvedRecipient {
13
13
  claimable?: BridgeClaimableRecipient;
14
14
  }
15
15
  export declare const resolveBridgeRecipient: (hinkal: IHinkal, recipient: PrivateBridgeRecipient) => BridgeResolvedRecipient;
16
- export declare const hinkalSolanaShieldBridged: (hinkal: IHinkal, token: ERC20Token, tempSubAccount: SubAccount, landedAmount: bigint, recipientInfo: string) => Promise<{
16
+ export declare const hinkalSolanaShieldBridged: (hinkal: IHinkal, token: ERC20Token, tempSubAccount: SubAccount, landedAmount: bigint, recipientInfo: string, variableRate?: bigint) => Promise<{
17
17
  destTxHash: string;
18
18
  shieldedAmount: bigint;
19
19
  }>;
@@ -13,11 +13,11 @@ var r = (n, r) => {
13
13
  ethAddress: r.recipientEthAddress
14
14
  }
15
15
  };
16
- }, i = async (e, t, r, i, a) => {
17
- let { txHash: o, shieldedAmount: s } = await n(e, t, r, i, a);
16
+ }, i = async (e, t, r, i, a, o) => {
17
+ let { txHash: s, shieldedAmount: c } = await n(e, t, r, i, a, void 0, o);
18
18
  return {
19
- destTxHash: o,
20
- shieldedAmount: s
19
+ destTxHash: s,
20
+ shieldedAmount: c
21
21
  };
22
22
  };
23
23
  //#endregion
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../API/solana-rpc-fallback.cjs`),n=require(`../../API/evm-rpc-fallback.cjs`);let r=require(`ethers`),i=require(`@solana/web3.js`);var a=class extends r.JsonRpcProvider{isPaidRpc;constructor(e,t,n){super(t,n,{staticNetwork:!0}),this.chainId=e,this.isPaidRpc=t.includes(`.g.alchemy.com/`)}async _perform(t){if(this.isPaidRpc||e.isTempo(this.chainId))return super._perform(t);if(t.method===`getTransactionReceipt`)return n.getEvmRpcResultFromServer(this.chainId,`eth_getTransactionReceipt`,[t.hash]);if(t.method===`getLogs`)return n.getEvmRpcResultFromServer(this.chainId,`eth_getLogs`,[t.filter]);try{return await super._perform(t)}catch(e){let r=this.getRpcRequest(t);if(!r)throw e;return n.getEvmRpcResultFromServer(this.chainId,r.method,r.args)}}},o=t=>{let{rpcUrl:n}=e.networkRegistry[t];return new a(t,e.isTronLike(t)&&!n.includes(`.g.alchemy.com/`)?`${n}/jsonrpc`:n,e.getOnchainChainId(t))},s=(e,n=`confirmed`)=>{let r=new i.Connection(e,n),a=e.includes(`helius-rpc.com`),o=r._rpcRequest.bind(r),s=new Set([`getLatestBlockhash`,`getBlockHeight`,`getTokenAccountsByOwner`]);return r._rpcRequest=async(e,n)=>{if(a)return o(e,n);if(s.has(e))return t.getSolanaRpcResultFromServer(e,n);try{return await o(e,n)}catch{return t.getSolanaRpcResultFromServer(e,n)}},r};exports.createCustomSolanaConnection=s,exports.createJsonRpcProvider=o;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../API/solana-rpc-fallback.cjs`),n=require(`../../API/evm-rpc-fallback.cjs`);let r=require(`ethers`),i=require(`@solana/web3.js`);var a=class extends r.JsonRpcProvider{isPaidRpc;constructor(e,t,n){super(t,n,{staticNetwork:!0}),this.chainId=e,this.isPaidRpc=t.includes(`.g.alchemy.com/`)}async _perform(t){if(this.isPaidRpc||e.isTempo(this.chainId))return super._perform(t);if(t.method===`getTransactionReceipt`)return n.getEvmRpcResultFromServer(this.chainId,`eth_getTransactionReceipt`,[t.hash]);if(t.method===`getLogs`)return n.getEvmRpcResultFromServer(this.chainId,`eth_getLogs`,[t.filter]);try{return await super._perform(t)}catch(e){let r=this.getRpcRequest(t);if(!r)throw e;return n.getEvmRpcResultFromServer(this.chainId,r.method,r.args)}}},o=t=>{let{rpcUrl:n}=e.networkRegistry[t];return new a(t,e.isTronLike(t)&&!n.includes(`.g.alchemy.com/`)?`${n}/jsonrpc`:n,e.getOnchainChainId(t))},s=(e,n=`confirmed`)=>{let r=new i.Connection(e,n),a=e.includes(`helius-rpc.com`),o=r._rpcRequest.bind(r),s=new Set([`getLatestBlockhash`,`getBlockHeight`,`getTokenAccountsByOwner`,`getBalance`,`getAccountInfo`,`getTokenAccountBalance`]);return r._rpcRequest=async(e,n)=>{if(a)return o(e,n);if(s.has(e))return t.getSolanaRpcResultFromServer(e,n);try{return await o(e,n)}catch{return t.getSolanaRpcResultFromServer(e,n)}},r};exports.createCustomSolanaConnection=s,exports.createJsonRpcProvider=o;
@@ -28,7 +28,10 @@ var c = class extends o {
28
28
  let n = new s(e, t), r = e.includes("helius-rpc.com"), a = n._rpcRequest.bind(n), o = new Set([
29
29
  "getLatestBlockhash",
30
30
  "getBlockHeight",
31
- "getTokenAccountsByOwner"
31
+ "getTokenAccountsByOwner",
32
+ "getBalance",
33
+ "getAccountInfo",
34
+ "getTokenAccountBalance"
32
35
  ]);
33
36
  return n._rpcRequest = async (e, t) => {
34
37
  if (r) return a(e, t);
@@ -1 +1 @@
1
- require(`./encryptInputForEnclave.cjs`),require(`../../API/enclaveRecipientInfoCalls.cjs`);
1
+ require(`./encryptInputForEnclave.cjs`),require(`../../API/privateSendRecipientInfoCalls.cjs`),require(`../../API/enclaveRecipientInfoCalls.cjs`);
@@ -1,2 +1,5 @@
1
+ import { PrivateSendAllocation } from '../../API/privateSendRecipientInfoCalls';
1
2
  import { IHinkal } from '../../data-structures/Hinkal/IHinkal';
2
- export declare const ensureRecipientInfoPool: (hinkal: IHinkal, address: string, isSolanaLedger: boolean, txMessageForSolanaLedger: string | undefined) => Promise<void>;
3
+ export declare const ensureRecipientInfoPoolForSignature: (address: string, signature: string) => Promise<void>;
4
+ export declare const ensureRecipientInfoPool: (hinkal: IHinkal, address: string) => Promise<void>;
5
+ export declare const allocateRecipientInfos: (recipientAddresses: string[], allowStale: boolean) => Promise<PrivateSendAllocation[]>;
@@ -1,2 +1,3 @@
1
1
  import "./encryptInputForEnclave.mjs";
2
+ import "../../API/privateSendRecipientInfoCalls.mjs";
2
3
  import "../../API/enclaveRecipientInfoCalls.mjs";
@@ -1 +1 @@
1
- const e=require(`./encryptInputForEnclave.cjs`),t=require(`../../API/enclaveSignatureCalls.cjs`);var n=async(n,r,i=!1,a)=>{let{keyCiphertext:o,inputCiphertext:s}=await e.makeEnclaveHandshakeAndEncryptInput(r),{signature:c}=await t.storeAndGetSignatureEnclaveCall(n,s,o,i,a);return c};exports.storeAndGetSignatureFromEnclave=n;
1
+ const e=require(`./encryptInputForEnclave.cjs`),t=require(`../../API/enclaveSignatureCalls.cjs`);var n=async(n,r)=>{let{signature:i}=await t.storeAndGetSignatureEnclaveCall(n,await e.makeEnclaveHandshakeAndEncryptInput(r));return i};exports.storeAndGetSignatureFromEnclave=n;
@@ -1 +1 @@
1
- export declare const storeAndGetSignatureFromEnclave: (ethAddress: string, authSignature: string, isSolanaLedger?: boolean, txMessageForSolanaLedger?: string) => Promise<string>;
1
+ export declare const storeAndGetSignatureFromEnclave: (ethAddress: string, authSignature: string) => Promise<string>;
@@ -1,9 +1,9 @@
1
1
  import { makeEnclaveHandshakeAndEncryptInput as e } from "./encryptInputForEnclave.mjs";
2
2
  import { storeAndGetSignatureEnclaveCall as t } from "../../API/enclaveSignatureCalls.mjs";
3
3
  //#region libs/shared/common/src/functions/utils/enclave-signature-storage.ts
4
- var n = async (n, r, i = !1, a) => {
5
- let { keyCiphertext: o, inputCiphertext: s } = await e(r), { signature: c } = await t(n, s, o, i, a);
6
- return c;
4
+ var n = async (n, r) => {
5
+ let { signature: i } = await t(n, await e(r));
6
+ return i;
7
7
  };
8
8
  //#endregion
9
9
  export { n as storeAndGetSignatureFromEnclave };
@@ -1 +1 @@
1
- require(`../../data-structures/utxo/Utxo.cjs`);const e=require(`./encryptInputForEnclave.cjs`),t=require(`../../API/enclaveUtxoCalls.cjs`);require(`../../error-handling/logger.cjs`);var n=async(n,r,i,a,o)=>{let{keyCiphertext:s,inputCiphertext:c}=await e.makeEnclaveHandshakeAndEncryptInput({shieldedPrivateKey:i,senderAddress:n,claimableSignature:o});await t.storeClaimableKeyEnclaveCall(r,c,s,a)};exports.storeClaimableKeyInEnclave=n;
1
+ require(`../../data-structures/utxo/Utxo.cjs`);const e=require(`./encryptInputForEnclave.cjs`);require(`../../error-handling/logger.cjs`);const t=require(`../../API/enclaveUtxoCalls.cjs`);var n=async(n,r,i,a,o,s)=>{let{keyCiphertext:c,inputCiphertext:l}=await e.makeEnclaveHandshakeAndEncryptInput({shieldedPrivateKey:i,senderAddress:n,claimableSignature:o,recipientEthAddress:r,chainId:a,senderSignature:s});await t.storeClaimableKeyEnclaveCall(l,c)};exports.storeClaimableKeyInEnclave=n;
@@ -1,6 +1,6 @@
1
1
  import { EnclaveClaimableUtxo, Proof, RecoverUtxosResponse } from '../../API/enclaveUtxoCalls';
2
- export declare const storeClaimableKeyInEnclave: (senderAddress: string, recipientEthAddress: string, shieldedPrivateKey: string, chainId: number, claimableSignature: string) => Promise<void>;
3
- export declare const markClaimableKeyClaimedInEnclave: (ethAddress: string, signature: string, shieldedPrivateKey: string, claimableSignature: string, senderAddress: string, chainId: number, isSolanaLedger: boolean, txMessageForSolanaLedger?: string) => Promise<void>;
2
+ export declare const storeClaimableKeyInEnclave: (senderAddress: string, recipientEthAddress: string, shieldedPrivateKey: string, chainId: number, claimableSignature: string, senderSignature: string) => Promise<void>;
3
+ export declare const markClaimableKeyClaimedInEnclave: (ethAddress: string, signature: string, shieldedPrivateKey: string, claimableSignature: string, senderAddress: string, chainId: number) => Promise<void>;
4
4
  export declare const getFundRecoveryMessage: (withdrawalAddress: string) => string;
5
5
  export declare const recoverUtxosViaEnclave: (signature: string, requestSignature?: string, addressForLoginSignatureVerify?: string, addressForAuthorizationSignatureVerify?: string, ethereumWithdrawalAddress?: string, solanaWithdrawalAddress?: string, mnemonicProof?: Proof) => Promise<RecoverUtxosResponse>;
6
- export declare const getUtxosFromEnclave: (ethAddress: string, signature: string, chainId: number, isSolanaLedger: boolean, txMessageForSolanaLedger?: string) => Promise<EnclaveClaimableUtxo[]>;
6
+ export declare const getUtxosFromEnclave: (ethAddress: string, signature: string, chainId: number) => Promise<EnclaveClaimableUtxo[]>;
@@ -1,15 +1,18 @@
1
1
  import "../../data-structures/utxo/Utxo.mjs";
2
2
  import { makeEnclaveHandshakeAndEncryptInput as e } from "./encryptInputForEnclave.mjs";
3
- import { storeClaimableKeyEnclaveCall as t } from "../../API/enclaveUtxoCalls.mjs";
4
3
  import "../../error-handling/logger.mjs";
4
+ import { storeClaimableKeyEnclaveCall as t } from "../../API/enclaveUtxoCalls.mjs";
5
5
  //#region libs/shared/common/src/functions/utils/enclave-utxo-storage.ts
6
- var n = async (n, r, i, a, o) => {
7
- let { keyCiphertext: s, inputCiphertext: c } = await e({
6
+ var n = async (n, r, i, a, o, s) => {
7
+ let { keyCiphertext: c, inputCiphertext: l } = await e({
8
8
  shieldedPrivateKey: i,
9
9
  senderAddress: n,
10
- claimableSignature: o
10
+ claimableSignature: o,
11
+ recipientEthAddress: r,
12
+ chainId: a,
13
+ senderSignature: s
11
14
  });
12
- await t(r, c, s, a);
15
+ await t(l, c);
13
16
  };
14
17
  //#endregion
15
18
  export { n as storeClaimableKeyInEnclave };
@@ -1 +1 @@
1
- const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`./serialize.utils.cjs`),n=require(`./enclaveHandshakeService.cjs`);let r=require(`ethers`),i=require(`libsodium-wrappers`);i=e.__toESM(i);let a=require(`node-forge`);a=e.__toESM(a);var o=e=>typeof e==`bigint`||typeof e==`number`?e.toString():e,s=e=>a.util.hexToBytes(e.replace(`0x`,``)),c=e=>{let t=structuredClone(e);return Object.entries(t).forEach(([e,n])=>{t[e]=o(n),Array.isArray(n)&&(Array.isArray(n[0])?t[e]=n.map(e=>e.map(o)):t[e]=n.map(o))}),t},l=(e,t)=>{let n=a.util.decode64(e),r=a.asn1.fromDer(a.util.createBuffer(n)),i=a.pki.publicKeyFromAsn1(r),o=a.util.binary.raw.encode(t),s=i.encrypt(o,`RSA-OAEP`,{md:a.md.sha1.create(),mgf1:{md:a.md.sha1.create()}});return a.util.encode64(s)},u=(e,t)=>{let n=i.default.randombytes_buf(i.default.crypto_secretbox_NONCEBYTES),o=i.default.crypto_secretbox_easy(t,n,e),c=s(r.ethers.hexlify(n)+r.ethers.hexlify(o).slice(2));return a.util.encode64(c)},d=(e,t)=>{let n=i.default.randombytes_buf(i.default.crypto_secretbox_KEYBYTES);return{keyCiphertext:l(t,n),inputCiphertext:u(n,e)}},f=(e,n)=>{let r=typeof e==`string`?e:t.safeJsonStringify(c(e));return d(new TextEncoder().encode(r),n)},p=async e=>f(e,await n.enclaveHandshakeService.getPublicKey()),m=async e=>d(e,await n.enclaveHandshakeService.getPublicKey());exports.makeEnclaveHandshakeAndEncryptInput=p,exports.makeEnclaveHandshakeAndEncryptUint8Array=m;
1
+ const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`./serialize.utils.cjs`),n=require(`../../data-structures/http/HttpClient.cjs`);require(`../../data-structures/http/index.cjs`);const r=require(`./enclaveHandshakeService.cjs`),i=require(`../snarkjs/verifySignedEnclaveResponse.cjs`);let a=require(`ethers`),o=require(`libsodium-wrappers`);o=e.__toESM(o);let s=require(`node-forge`);s=e.__toESM(s);var c=e=>typeof e==`bigint`||typeof e==`number`?e.toString():e,l=e=>s.util.hexToBytes(e.replace(`0x`,``)),u=e=>{let t=structuredClone(e);return Object.entries(t).forEach(([e,n])=>{t[e]=c(n),Array.isArray(n)&&(Array.isArray(n[0])?t[e]=n.map(e=>e.map(c)):t[e]=n.map(c))}),t},d=(e,t)=>{let n=s.util.decode64(e),r=s.asn1.fromDer(s.util.createBuffer(n)),i=s.pki.publicKeyFromAsn1(r),a=s.util.binary.raw.encode(t),o=i.encrypt(a,`RSA-OAEP`,{md:s.md.sha1.create(),mgf1:{md:s.md.sha1.create()}});return s.util.encode64(o)},f=(e,t)=>{let n=o.default.randombytes_buf(o.default.crypto_secretbox_NONCEBYTES),r=o.default.crypto_secretbox_easy(t,n,e),i=l(a.ethers.hexlify(n)+a.ethers.hexlify(r).slice(2));return s.util.encode64(i)},p=(e,t)=>{let n=o.default.randombytes_buf(o.default.crypto_secretbox_KEYBYTES);return{keyCiphertext:d(t,n),inputCiphertext:f(n,e),key:n}},m=(e,n)=>{let r=typeof e==`string`?e:t.safeJsonStringify(u(e));return p(new TextEncoder().encode(r),n)},h=async e=>m(e,await r.enclaveHandshakeService.getPublicKey()),g=async e=>p(e,await r.enclaveHandshakeService.getPublicKey()),_=async()=>{let e=await r.enclaveHandshakeService.getPublicKey(),t=o.default.randombytes_buf(o.default.crypto_secretbox_KEYBYTES);return{keyCiphertext:d(e,t),key:t}},v=(e,t)=>{if(!e||typeof e!=`object`||!(`encrypted`in e))throw Error(`Enclave answered in plaintext - refusing an unencrypted response`);let n=o.default.from_base64(e.encrypted,o.default.base64_variants.ORIGINAL),r=n.slice(0,o.default.crypto_secretbox_NONCEBYTES),i=n.slice(o.default.crypto_secretbox_NONCEBYTES),a=o.default.crypto_secretbox_open_easy(i,r,t);return JSON.parse(new TextDecoder().decode(a))},y=async(e,t,r)=>v(await n.httpClient.post(e,t),r),b=async(e,t)=>{let{keyCiphertext:r,inputCiphertext:a,key:o}=await h(t),{data:s,signature:c}=v(await n.httpClient.post(e,{key:r,inputs:a}),o);return i.verifySignedEnclaveResponse(s,c)};exports.enclavePostSealed=y,exports.enclavePostSealedSigned=b,exports.makeEnclaveHandshakeAndEncryptInput=h,exports.makeEnclaveHandshakeAndEncryptUint8Array=g,exports.makeEnclaveKeyHandshake=_;
@@ -1,8 +1,16 @@
1
1
  export declare const makeEnclaveHandshakeAndEncryptInput: (input: any) => Promise<{
2
2
  keyCiphertext: string;
3
3
  inputCiphertext: string;
4
+ key: Uint8Array<ArrayBufferLike>;
4
5
  }>;
5
6
  export declare const makeEnclaveHandshakeAndEncryptUint8Array: (inputUint8Array: Uint8Array) => Promise<{
6
7
  keyCiphertext: string;
7
8
  inputCiphertext: string;
9
+ key: Uint8Array<ArrayBufferLike>;
8
10
  }>;
11
+ export declare const makeEnclaveKeyHandshake: () => Promise<{
12
+ keyCiphertext: string;
13
+ key: Uint8Array;
14
+ }>;
15
+ export declare const enclavePostSealed: <T>(url: string, body: Record<string, unknown>, key: Uint8Array) => Promise<T>;
16
+ export declare const enclavePostSealedSigned: <T>(url: string, payload: unknown) => Promise<T>;
@@ -1,32 +1,52 @@
1
1
  import { safeJsonStringify as e } from "./serialize.utils.mjs";
2
- import { enclaveHandshakeService as t } from "./enclaveHandshakeService.mjs";
3
- import { ethers as n } from "ethers";
4
- import r from "libsodium-wrappers";
5
- import * as i from "node-forge";
2
+ import { httpClient as t } from "../../data-structures/http/HttpClient.mjs";
3
+ import "../../data-structures/http/index.mjs";
4
+ import { enclaveHandshakeService as n } from "./enclaveHandshakeService.mjs";
5
+ import { verifySignedEnclaveResponse as r } from "../snarkjs/verifySignedEnclaveResponse.mjs";
6
+ import { ethers as i } from "ethers";
7
+ import a from "libsodium-wrappers";
8
+ import * as o from "node-forge";
6
9
  //#region libs/shared/common/src/functions/utils/encryptInputForEnclave.ts
7
- var a = (e) => typeof e == "bigint" || typeof e == "number" ? e.toString() : e, o = (e) => i.util.hexToBytes(e.replace("0x", "")), s = (e) => {
10
+ var s = (e) => typeof e == "bigint" || typeof e == "number" ? e.toString() : e, c = (e) => o.util.hexToBytes(e.replace("0x", "")), l = (e) => {
8
11
  let t = structuredClone(e);
9
12
  return Object.entries(t).forEach(([e, n]) => {
10
- t[e] = a(n), Array.isArray(n) && (Array.isArray(n[0]) ? t[e] = n.map((e) => e.map(a)) : t[e] = n.map(a));
13
+ t[e] = s(n), Array.isArray(n) && (Array.isArray(n[0]) ? t[e] = n.map((e) => e.map(s)) : t[e] = n.map(s));
11
14
  }), t;
12
- }, c = (e, t) => {
13
- let n = i.util.decode64(e), r = i.asn1.fromDer(i.util.createBuffer(n)), a = i.pki.publicKeyFromAsn1(r), o = i.util.binary.raw.encode(t), s = a.encrypt(o, "RSA-OAEP", {
14
- md: i.md.sha1.create(),
15
- mgf1: { md: i.md.sha1.create() }
16
- });
17
- return i.util.encode64(s);
18
- }, l = (e, t) => {
19
- let a = r.randombytes_buf(r.crypto_secretbox_NONCEBYTES), s = r.crypto_secretbox_easy(t, a, e), c = o(n.hexlify(a) + n.hexlify(s).slice(2));
20
- return i.util.encode64(c);
21
15
  }, u = (e, t) => {
22
- let n = r.randombytes_buf(r.crypto_secretbox_KEYBYTES);
16
+ let n = o.util.decode64(e), r = o.asn1.fromDer(o.util.createBuffer(n)), i = o.pki.publicKeyFromAsn1(r), a = o.util.binary.raw.encode(t), s = i.encrypt(a, "RSA-OAEP", {
17
+ md: o.md.sha1.create(),
18
+ mgf1: { md: o.md.sha1.create() }
19
+ });
20
+ return o.util.encode64(s);
21
+ }, d = (e, t) => {
22
+ let n = a.randombytes_buf(a.crypto_secretbox_NONCEBYTES), r = a.crypto_secretbox_easy(t, n, e), s = c(i.hexlify(n) + i.hexlify(r).slice(2));
23
+ return o.util.encode64(s);
24
+ }, f = (e, t) => {
25
+ let n = a.randombytes_buf(a.crypto_secretbox_KEYBYTES);
26
+ return {
27
+ keyCiphertext: u(t, n),
28
+ inputCiphertext: d(n, e),
29
+ key: n
30
+ };
31
+ }, p = (t, n) => {
32
+ let r = typeof t == "string" ? t : e(l(t));
33
+ return f(new TextEncoder().encode(r), n);
34
+ }, m = async (e) => p(e, await n.getPublicKey()), h = async (e) => f(e, await n.getPublicKey()), g = async () => {
35
+ let e = await n.getPublicKey(), t = a.randombytes_buf(a.crypto_secretbox_KEYBYTES);
23
36
  return {
24
- keyCiphertext: c(t, n),
25
- inputCiphertext: l(n, e)
37
+ keyCiphertext: u(e, t),
38
+ key: t
26
39
  };
27
- }, d = (t, n) => {
28
- let r = typeof t == "string" ? t : e(s(t));
29
- return u(new TextEncoder().encode(r), n);
30
- }, f = async (e) => d(e, await t.getPublicKey()), p = async (e) => u(e, await t.getPublicKey());
40
+ }, _ = (e, t) => {
41
+ if (!e || typeof e != "object" || !("encrypted" in e)) throw Error("Enclave answered in plaintext - refusing an unencrypted response");
42
+ let n = a.from_base64(e.encrypted, a.base64_variants.ORIGINAL), r = n.slice(0, a.crypto_secretbox_NONCEBYTES), i = n.slice(a.crypto_secretbox_NONCEBYTES), o = a.crypto_secretbox_open_easy(i, r, t);
43
+ return JSON.parse(new TextDecoder().decode(o));
44
+ }, v = async (e, n, r) => _(await t.post(e, n), r), y = async (e, n) => {
45
+ let { keyCiphertext: i, inputCiphertext: a, key: o } = await m(n), { data: s, signature: c } = _(await t.post(e, {
46
+ key: i,
47
+ inputs: a
48
+ }), o);
49
+ return r(s, c);
50
+ };
31
51
  //#endregion
32
- export { f as makeEnclaveHandshakeAndEncryptInput, p as makeEnclaveHandshakeAndEncryptUint8Array };
52
+ export { v as enclavePostSealed, y as enclavePostSealedSigned, m as makeEnclaveHandshakeAndEncryptInput, h as makeEnclaveHandshakeAndEncryptUint8Array, g as makeEnclaveKeyHandshake };
@@ -1 +1 @@
1
- require(`../../constants/chains.constants.cjs`);const e=require(`../../constants/protocol.constants.cjs`);require(`../web3/etherFunctions.cjs`);const t=require(`../../API/token-calls.cjs`);require(`../../constants/tokens.constants.cjs`);var n=async(e,n)=>{let[r]=await t.tokensInfoCall(e,[n]);return r},r=async(e,n)=>n.length===0?[]:t.tokensInfoCall(e,n),i=async(e,t)=>{let r=await n(e,t);if(!r)throw Error(`Token not found: ${t} on chain ${e}`);return r},a=async(e,t)=>{if(t.length===0)return[];let n=await r(e,t);return t.map((t,r)=>{let i=n[r];if(!i)throw Error(`Token not found: ${t} on chain ${e}`);return i})},o=async e=>await t.getTokensForChainCall(e),s=async(e,n)=>await t.getTokensBySymbolsCall(n,e),c=async(e,t)=>{if(e.length===0)return[];let n=await r(t,e.map(e=>e.erc20TokenAddress));return e.map((e,t)=>{let r=n[t];return r?{...e,name:r.name,symbol:r.symbol,logoURI:r.logoURI,decimals:r.decimals}:e})},l=t=>t.nftTokenType===e.TokenType.ERC721||t.nftTokenType===e.TokenType.ERC1155||t.nftTokenType===e.TokenType.MetaplexNFT||t.nftTokenType===e.TokenType.Token2022NFT||t.nftTokenType===e.TokenType.CompressedNFT;exports.getErc20TokenFromAPI=n,exports.getErc20TokensBySymbolsFromAPI=s,exports.getErc20TokensForChainAPI=o,exports.getErc20TokensFromAPI=r,exports.isNFTToken=l,exports.overlayTokensWithRegistryData=c,exports.resolveErc20Token=i,exports.resolveErc20Tokens=a;
1
+ require(`../../constants/chains.constants.cjs`);const e=require(`../../constants/protocol.constants.cjs`);require(`../web3/etherFunctions.cjs`);const t=require(`../../API/token-calls.cjs`);require(`../../constants/tokens.constants.cjs`);var n=async(e,n)=>{let[r]=await t.tokensInfoCall(e,[n]);return r},r=async(e,n)=>n.length===0?[]:t.tokensInfoCall(e,n),i=async(e,t)=>{let r=await n(e,t);if(!r)throw Error(`Token not found: ${t} on chain ${e}`);return r},a=async(e,t)=>{if(t.length===0)return[];let n=await r(e,t);return t.map((t,r)=>{let i=n[r];if(!i)throw Error(`Token not found: ${t} on chain ${e}`);return i})},o=async e=>await t.getTokensForChainCall(e),s=async(e,n)=>await t.getTokensBySymbolsCall(n,e),c=t=>t.nftTokenType===e.TokenType.ERC721||t.nftTokenType===e.TokenType.ERC1155||t.nftTokenType===e.TokenType.MetaplexNFT||t.nftTokenType===e.TokenType.Token2022NFT||t.nftTokenType===e.TokenType.CompressedNFT;exports.getErc20TokenFromAPI=n,exports.getErc20TokensBySymbolsFromAPI=s,exports.getErc20TokensForChainAPI=o,exports.getErc20TokensFromAPI=r,exports.isNFTToken=c,exports.resolveErc20Token=i,exports.resolveErc20Tokens=a;
@@ -19,19 +19,6 @@ var i = async (e, t) => {
19
19
  if (!i) throw Error(`Token not found: ${t} on chain ${e}`);
20
20
  return i;
21
21
  });
22
- }, c = async (e) => await n(e), l = async (e, n) => await t(n, e), u = async (e, t) => {
23
- if (e.length === 0) return [];
24
- let n = await a(t, e.map((e) => e.erc20TokenAddress));
25
- return e.map((e, t) => {
26
- let r = n[t];
27
- return r ? {
28
- ...e,
29
- name: r.name,
30
- symbol: r.symbol,
31
- logoURI: r.logoURI,
32
- decimals: r.decimals
33
- } : e;
34
- });
35
- }, d = (t) => t.nftTokenType === e.ERC721 || t.nftTokenType === e.ERC1155 || t.nftTokenType === e.MetaplexNFT || t.nftTokenType === e.Token2022NFT || t.nftTokenType === e.CompressedNFT;
22
+ }, c = async (e) => await n(e), l = async (e, n) => await t(n, e), u = (t) => t.nftTokenType === e.ERC721 || t.nftTokenType === e.ERC1155 || t.nftTokenType === e.MetaplexNFT || t.nftTokenType === e.Token2022NFT || t.nftTokenType === e.CompressedNFT;
36
23
  //#endregion
37
- export { i as getErc20TokenFromAPI, l as getErc20TokensBySymbolsFromAPI, c as getErc20TokensForChainAPI, a as getErc20TokensFromAPI, d as isNFTToken, u as overlayTokensWithRegistryData, o as resolveErc20Token, s as resolveErc20Tokens };
24
+ export { i as getErc20TokenFromAPI, l as getErc20TokensBySymbolsFromAPI, c as getErc20TokensForChainAPI, a as getErc20TokensFromAPI, u as isNFTToken, o as resolveErc20Token, s as resolveErc20Tokens };
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../constants/fees.constants.cjs`),r=require(`./caseInsensitive.utils.cjs`),i=require(`../web3/etherFunctions.cjs`),a=require(`../../API/getTokenPrice.cjs`),o=require(`../../error-handling/logger.cjs`),s=require(`./erc20tokenFunctions.cjs`);var c=async r=>{if(!r)return n.EXTENDED_NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS;let i=t.zeroAddress;e.isSolanaLike(r)&&(i=t.solanaNativeAddress),e.isTempo(r)&&(i=n.TEMPO_DEFAULT_GAS_TOKEN_ADDRESS);let a=(await s.getErc20TokenFromAPI(r,i))?.symbol;return e.isSolanaLike(r)&&a?[a]:a&&!n.NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS(r).includes(a)?[a,...n.NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS(r)]:n.NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS(r)},l=(e,t)=>{let r=e*t.variableRate/n.BPS_DENOMINATOR;return t.flatFee+r},u=async(e,t,c,u)=>{let d=await s.getErc20TokenFromAPI(e,u.feeToken),f;if(!d||r.caseInsensitiveEqual(u.feeToken,t.erc20TokenAddress)||u.variableRate===0n)f=l(c,u);else{let r=0n;try{let{prices:o}=await a.getTokenPrices(e,[t.erc20TokenAddress,d.erc20TokenAddress]),[s,l]=o;if(!s||!l)throw Error(`failed to get token prices`);r=i.getAmountInWei(d,(Number(i.getAmountInToken(t,c))*s*Number(u.variableRate)/Number(n.BPS_DENOMINATOR)/l).toFixed(d.decimals))}catch(e){o.Logger.error(`calculateModifiedFeeStructure: failed to price cross-token variable fee, charging gas fee only`,e)}f=u.flatFee+r}return{feeToken:u.feeToken,flatFee:f,variableRate:0n}},d=async(e,t,n,r)=>{let i={...r,flatFee:0n},a=await Promise.all(t.map((t,r)=>u(e,t,n[r]??0n,i)));return{feeToken:r.feeToken,flatFee:a.reduce((e,{flatFee:t})=>e+t,r.flatFee),variableRate:0n}},f=(e,t)=>{let n=e/t;return e%t===0n?n:n+1n},p=(e,t)=>e<=0n||t<=0n?0n:f(e*t,n.BPS_DENOMINATOR);exports.calculateModifiedFeeStructure=u,exports.calculateModifiedFeeStructureForTokens=d,exports.calculateTotalFee=l,exports.calculateVariableFee=p,exports.getGasTokenSymbols=c;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../constants/fees.constants.cjs`),r=require(`./caseInsensitive.utils.cjs`),i=require(`../web3/etherFunctions.cjs`),a=require(`../../error-handling/logger.cjs`),o=require(`../../API/getTokenPrice.cjs`),s=require(`./erc20tokenFunctions.cjs`);var c=async r=>{if(!r)return n.EXTENDED_NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS;let i=t.zeroAddress;e.isSolanaLike(r)&&(i=t.solanaNativeAddress),e.isTempo(r)&&(i=n.TEMPO_DEFAULT_GAS_TOKEN_ADDRESS);let a=(await s.getErc20TokenFromAPI(r,i))?.symbol;return e.isSolanaLike(r)&&a?[a]:a&&!n.NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS(r).includes(a)?[a,...n.NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS(r)]:n.NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS(r)},l=(e,t)=>{let r=e*t.variableRate/n.BPS_DENOMINATOR;return t.flatFee+r},u=async(e,t,c,u)=>{let d=await s.getErc20TokenFromAPI(e,u.feeToken),f;if(!d||r.caseInsensitiveEqual(u.feeToken,t.erc20TokenAddress)||u.variableRate===0n)f=l(c,u);else{let r=0n;try{let[a,s]=t.chainId===e?(await o.getTokenPrices(e,[t.erc20TokenAddress,d.erc20TokenAddress])).prices:await Promise.all([(await o.getTokenPrices(t.chainId,[t.erc20TokenAddress])).prices[0],(await o.getTokenPrices(e,[d.erc20TokenAddress])).prices[0]]);if(!a||!s)throw Error(`failed to get token prices`);r=i.getAmountInWei(d,(Number(i.getAmountInToken(t,c))*a*Number(u.variableRate)/Number(n.BPS_DENOMINATOR)/s).toFixed(d.decimals))}catch(e){a.Logger.error(`error calculating modified fee structure`,e)}f=u.flatFee+r}return{feeToken:u.feeToken,flatFee:f,variableRate:0n}},d=async(e,t,n,r)=>{let i={...r,flatFee:0n},a=await Promise.all(t.map((t,r)=>u(e,t,n[r]??0n,i)));return{feeToken:r.feeToken,flatFee:a.reduce((e,{flatFee:t})=>e+t,r.flatFee),variableRate:0n}},f=(e,t)=>{let n=e/t;return e%t===0n?n:n+1n},p=(e,t)=>e<=0n||t<=0n?0n:f(e*t,n.BPS_DENOMINATOR);exports.calculateModifiedFeeStructure=u,exports.calculateModifiedFeeStructureForTokens=d,exports.calculateTotalFee=l,exports.calculateVariableFee=p,exports.getGasTokenSymbols=c;
@@ -3,8 +3,8 @@ import { solanaNativeAddress as n, zeroAddress as r } from "../../constants/prot
3
3
  import { BPS_DENOMINATOR as i, EXTENDED_NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS as a, NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS as o, TEMPO_DEFAULT_GAS_TOKEN_ADDRESS as s } from "../../constants/fees.constants.mjs";
4
4
  import { caseInsensitiveEqual as c } from "./caseInsensitive.utils.mjs";
5
5
  import { getAmountInToken as l, getAmountInWei as u } from "../web3/etherFunctions.mjs";
6
- import { getTokenPrices as d } from "../../API/getTokenPrice.mjs";
7
- import { Logger as f } from "../../error-handling/logger.mjs";
6
+ import { Logger as d } from "../../error-handling/logger.mjs";
7
+ import { getTokenPrices as f } from "../../API/getTokenPrice.mjs";
8
8
  import { getErc20TokenFromAPI as p } from "./erc20tokenFunctions.mjs";
9
9
  //#region libs/shared/common/src/functions/utils/fees.utils.ts
10
10
  var m = async (i) => {
@@ -22,11 +22,11 @@ var m = async (i) => {
22
22
  else {
23
23
  let s = 0n;
24
24
  try {
25
- let { prices: o } = await d(e, [t.erc20TokenAddress, a.erc20TokenAddress]), [c, f] = o;
26
- if (!c || !f) throw Error("failed to get token prices");
27
- s = u(a, (Number(l(t, n)) * c * Number(r.variableRate) / Number(i) / f).toFixed(a.decimals));
25
+ let [o, c] = t.chainId === e ? (await f(e, [t.erc20TokenAddress, a.erc20TokenAddress])).prices : await Promise.all([(await f(t.chainId, [t.erc20TokenAddress])).prices[0], (await f(e, [a.erc20TokenAddress])).prices[0]]);
26
+ if (!o || !c) throw Error("failed to get token prices");
27
+ s = u(a, (Number(l(t, n)) * o * Number(r.variableRate) / Number(i) / c).toFixed(a.decimals));
28
28
  } catch (e) {
29
- f.error("calculateModifiedFeeStructure: failed to price cross-token variable fee, charging gas fee only", e);
29
+ d.error("error calculating modified fee structure", e);
30
30
  }
31
31
  o = r.flatFee + s;
32
32
  }
@@ -1 +1 @@
1
- require(`./abi.utils.cjs`),require(`./serialize.utils.cjs`),require(`./caseInsensitive.utils.cjs`),require(`./amounts.utils.cjs`),require(`./time.utils.cjs`),require(`./upToDateState.cjs`),require(`./cacheFunctions.cjs`),require(`./encodeTokenWithId.cjs`),require(`./enclaveHandshakeService.cjs`),require(`./encryptInputForEnclave.cjs`),require(`./solanaMint.utils.cjs`),require(`./serialize-utxos.utils.cjs`),require(`./customEnclaveFunctionsRegister.cjs`),require(`./addresses.cjs`),require(`./tron.utils.cjs`),require(`./legacyKeys.cjs`),require(`./auth.utils.cjs`),require(`./string.utils.cjs`),require(`./token-check.utils.cjs`),require(`./map.utils.cjs`),require(`./mutexes.utils.cjs`),require(`./erc20tokenFunctions.cjs`),require(`../pre-transaction/outputUtxoProcessing.cjs`),require(`./external-action.utils.cjs`),require(`../pre-transaction/solana.cjs`),require(`../pre-transaction/process-gas-estimates.cjs`),require(`../pre-transaction/getVolatileTransferAmount.cjs`),require(`../pre-transaction/constructAdminData.cjs`),require(`./create-provider.cjs`),require(`../pre-transaction/calculateSolanaNullifierCount.cjs`),require(`../pre-transaction/convert-okx-instructions.cjs`),require(`./process.utils.cjs`),require(`../pre-transaction/sendV0Transaction.cjs`),require(`./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(`./solana-program.utils.cjs`),require(`./getContractAddress.cjs`),require(`./getSignerFromContract.cjs`),require(`./tronSimulation.utils.cjs`),require(`./resolve-domain-address.cjs`),require(`./resolve-sync.utils.cjs`),require(`./convertIntegrationProviderToExternalActionId.cjs`),require(`./evmNetworkFunctions.cjs`),require(`./userAgent.cjs`),require(`./reloadPage.cjs`),require(`./cacheDevice.utils.cjs`),require(`./getBlockExplorerUrl.cjs`),require(`./involves-permit2-op.cjs`),require(`./convertEmporiumOpToCallInfo.cjs`),require(`./getRecipientInfoFromUserKeys.cjs`),require(`./publicBalance.utils.cjs`),require(`./rpc-int-encode.cjs`),require(`./walletBalances.utils.cjs`),require(`./nftTokenFunctions.cjs`),require(`./inLogicMetadata.cjs`),require(`./networks.utils.cjs`),require(`./postToOffscreen.cjs`),require(`./solanaSendPreflight.utils.cjs`),require(`./voidWallets.utils.cjs`),require(`./prepareHinkal.cjs`),require(`./getUtxosFromReceipt.utils.cjs`),require(`./getUtxosFromReceiptSolana.cjs`),require(`./fees.utils.cjs`),require(`./recovery-balance.utils.cjs`),require(`./proxyAvatar.utils.cjs`),require(`./enclave-utxo-storage.cjs`),require(`./enclave-signature-storage.cjs`),require(`./tx-confirmation.utils.cjs`),require(`./buildClaimableDepositPlan.cjs`),require(`./deposit-claimable.utils.cjs`),require(`./formatter.cjs`),require(`./transfer-claimable.utils.cjs`),require(`./bridge-arrival.utils.cjs`),require(`./bridge-flow.utils.cjs`),require(`./bridge-claimable.utils.cjs`),require(`./solana-sponsored.utils.cjs`),require(`./temp-wallet.utils.cjs`),require(`./dispatchBalanceRefreshes.cjs`),require(`./lifi.utils.cjs`),require(`./enclave-recipient-info-storage.cjs`),require(`./solana-memo.cjs`),require(`./mnemonics.cjs`),require(`./nearIntents.utils.cjs`),require(`./enclaveSessionSigning.cjs`),require(`./validateWalletAddress.cjs`),require(`./waasStamp.cjs`),require(`./sponsored-shield.utils.cjs`);
1
+ require(`./abi.utils.cjs`),require(`./serialize.utils.cjs`),require(`./caseInsensitive.utils.cjs`),require(`./amounts.utils.cjs`),require(`./time.utils.cjs`),require(`./upToDateState.cjs`),require(`./cacheFunctions.cjs`),require(`./encodeTokenWithId.cjs`),require(`./enclaveHandshakeService.cjs`),require(`./encryptInputForEnclave.cjs`),require(`./solanaMint.utils.cjs`),require(`./serialize-utxos.utils.cjs`),require(`./customEnclaveFunctionsRegister.cjs`),require(`./tron.utils.cjs`),require(`./addresses.cjs`),require(`./legacyKeys.cjs`),require(`./auth.utils.cjs`),require(`./string.utils.cjs`),require(`./token-check.utils.cjs`),require(`./map.utils.cjs`),require(`./mutexes.utils.cjs`),require(`./erc20tokenFunctions.cjs`),require(`../pre-transaction/outputUtxoProcessing.cjs`),require(`./external-action.utils.cjs`),require(`../pre-transaction/solana.cjs`),require(`../pre-transaction/process-gas-estimates.cjs`),require(`../pre-transaction/getVolatileTransferAmount.cjs`),require(`../pre-transaction/constructAdminData.cjs`),require(`./create-provider.cjs`),require(`../pre-transaction/calculateSolanaNullifierCount.cjs`),require(`../pre-transaction/convert-okx-instructions.cjs`),require(`./process.utils.cjs`),require(`../pre-transaction/sendV0Transaction.cjs`),require(`./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(`./solana-program.utils.cjs`),require(`./getContractAddress.cjs`),require(`./getSignerFromContract.cjs`),require(`./tronSimulation.utils.cjs`),require(`./resolve-domain-address.cjs`),require(`./resolve-sync.utils.cjs`),require(`./convertIntegrationProviderToExternalActionId.cjs`),require(`./evmNetworkFunctions.cjs`),require(`./userAgent.cjs`),require(`./cacheDevice.utils.cjs`),require(`./getBlockExplorerUrl.cjs`),require(`./involves-permit2-op.cjs`),require(`./convertEmporiumOpToCallInfo.cjs`),require(`./getRecipientInfoFromUserKeys.cjs`),require(`./publicBalance.utils.cjs`),require(`./rpc-int-encode.cjs`),require(`./walletBalances.utils.cjs`),require(`./nftTokenFunctions.cjs`),require(`./inLogicMetadata.cjs`),require(`./networks.utils.cjs`),require(`./postToOffscreen.cjs`),require(`./solanaSendPreflight.utils.cjs`),require(`./voidWallets.utils.cjs`),require(`./prepareHinkal.cjs`),require(`./getUtxosFromReceipt.utils.cjs`),require(`./getUtxosFromReceiptSolana.cjs`),require(`./fees.utils.cjs`),require(`./recovery-balance.utils.cjs`),require(`./proxyAvatar.utils.cjs`),require(`./enclave-utxo-storage.cjs`),require(`./enclave-signature-storage.cjs`),require(`./tx-confirmation.utils.cjs`),require(`./buildClaimableDepositPlan.cjs`),require(`./deposit-claimable.utils.cjs`),require(`./formatter.cjs`),require(`./transfer-claimable.utils.cjs`),require(`./bridge-arrival.utils.cjs`),require(`./bridge-flow.utils.cjs`),require(`./bridge-claimable.utils.cjs`),require(`./solana-sponsored.utils.cjs`),require(`./temp-wallet.utils.cjs`),require(`./enclave-recipient-info-storage.cjs`),require(`./temporary-wallet-recovery.utils.cjs`),require(`./dispatchBalanceRefreshes.cjs`),require(`./lifi.utils.cjs`),require(`./solana-memo.cjs`),require(`./mnemonics.cjs`),require(`./nearIntents.utils.cjs`),require(`./enclaveSessionSigning.cjs`),require(`./validateWalletAddress.cjs`),require(`./waasStamp.cjs`),require(`./sponsored-shield.utils.cjs`);
@@ -69,6 +69,7 @@ export * from './bridge-claimable.utils';
69
69
  export * from './bridge-flow.utils';
70
70
  export * from './solana-sponsored.utils';
71
71
  export * from './temp-wallet.utils';
72
+ export * from './temporary-wallet-recovery.utils';
72
73
  export * from './auth.utils';
73
74
  export * from './getWalletGroupKey.utils';
74
75
  export * from './encryptInputForEnclave';
@@ -11,8 +11,8 @@ import "./encryptInputForEnclave.mjs";
11
11
  import "./solanaMint.utils.mjs";
12
12
  import "./serialize-utxos.utils.mjs";
13
13
  import "./customEnclaveFunctionsRegister.mjs";
14
- import "./addresses.mjs";
15
14
  import "./tron.utils.mjs";
15
+ import "./addresses.mjs";
16
16
  import "./legacyKeys.mjs";
17
17
  import "./auth.utils.mjs";
18
18
  import "./string.utils.mjs";
@@ -46,7 +46,6 @@ import "./resolve-sync.utils.mjs";
46
46
  import "./convertIntegrationProviderToExternalActionId.mjs";
47
47
  import "./evmNetworkFunctions.mjs";
48
48
  import "./userAgent.mjs";
49
- import "./reloadPage.mjs";
50
49
  import "./cacheDevice.utils.mjs";
51
50
  import "./getBlockExplorerUrl.mjs";
52
51
  import "./involves-permit2-op.mjs";
@@ -79,9 +78,10 @@ import "./bridge-flow.utils.mjs";
79
78
  import "./bridge-claimable.utils.mjs";
80
79
  import "./solana-sponsored.utils.mjs";
81
80
  import "./temp-wallet.utils.mjs";
81
+ import "./enclave-recipient-info-storage.mjs";
82
+ import "./temporary-wallet-recovery.utils.mjs";
82
83
  import "./dispatchBalanceRefreshes.mjs";
83
84
  import "./lifi.utils.mjs";
84
- import "./enclave-recipient-info-storage.mjs";
85
85
  import "./solana-memo.mjs";
86
86
  import "./mnemonics.mjs";
87
87
  import "./nearIntents.utils.mjs";
@@ -2,7 +2,6 @@
2
2
  * Formats URL correctly for use retrieving assets hosted on IPFS.
3
3
  *
4
4
  * @param ipfsUrl - The IFPS URL pointed at the asset.
5
- * @param subdomainSupported - Boolean indicating whether the URL should be formatted with subdomains or not.
6
- * @returns A formatted URL, with the user's preferred IPFS gateway and format (subdomain or not), pointing to an asset hosted on IPFS.
5
+ * @returns A formatted URL, with the user's preferred IPFS gateway, pointing to an asset hosted on IPFS.
7
6
  */
8
- export declare const getFormattedIpfsUrl: (ipfsUrl: string, subdomainSupported: boolean) => string;
7
+ export declare const getFormattedIpfsUrl: (ipfsUrl: string) => string;
@@ -1,5 +1,7 @@
1
1
  import { ERC20Token } from '../../types/token.types';
2
2
  export declare const getLifiScanURL: (txHash: string) => string;
3
+ export declare const getLifiQuoteOutputRatio: (fromAmountUSD: string, toAmountUSD: string) => number | undefined;
4
+ export declare const isLifiQuotePlausible: (fromAmountUSD: string, toAmountUSD: string) => boolean;
3
5
  export declare const isLifiQuoteAcceptable: (fromAmountUSD: string, toAmountUSD: string, executionDurationSeconds: number | undefined) => boolean;
4
6
  export declare const getEquivalentBridgedTokenForTempo: (sourceToken: ERC20Token, destChainId: number, destTokenList: ERC20Token[]) => ERC20Token | undefined;
5
7
  export declare const getEquivalentNativeToken: (sourceChainId: number, destChainId: number, fullTokenList: ERC20Token[]) => ERC20Token | undefined;
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`./caseInsensitive.utils.cjs`),r=require(`./addresses.cjs`),i=require(`./tron.utils.cjs`),a=require(`../../types/external-action.types.cjs`);require(`./erc20tokenFunctions.cjs`);const o=require(`../pre-transaction/getFeeStructure.cjs`),s=require(`../../constants/bridging.constants.cjs`),c=require(`../../API/callNearIntentsAPI.cjs`);var l=(t,n)=>{if(!n||!e.isTronLike(t))return n;try{return i.addressToHexFormat(n)}catch{return n}},u=async(e,t)=>{let i=s.NEAR_INTENTS_BLOCKCHAIN_BY_CHAIN_ID[e];if(!i)throw Error(`NEAR Intents does not support chain ${e}`);let a=(await c.getNearIntentsTokens()).filter(e=>e.blockchain===i),o=r.isNativePlaceholderAddress(t)?a.find(e=>!e.contractAddress):a.find(r=>r.contractAddress&&n.caseInsensitiveEqual(l(e,r.contractAddress),t));if(!o)throw Error(`No NEAR Intents asset for token ${t} on chain ${e}`);return o.assetId},d=(e,n,r)=>o.getFeeStructure(e,n.erc20TokenAddress,[n.erc20TokenAddress],a.ExternalActionId.Transact,[],t.HINKAL_PRIVATE_SEND_VARIABLE_RATE,{mintTo:n.erc20TokenAddress,recipient:r,nullifierCount:n.erc20TokenAddress===`11111111111111111111111111111111`?0:1});exports.buildNearBridgeFeeStructure=d,exports.resolveNearAssetId=u;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`./caseInsensitive.utils.cjs`),r=require(`./tron.utils.cjs`),i=require(`./addresses.cjs`),a=require(`../../types/external-action.types.cjs`);require(`./erc20tokenFunctions.cjs`);const o=require(`../pre-transaction/getFeeStructure.cjs`),s=require(`../../constants/bridging.constants.cjs`),c=require(`../../API/callNearIntentsAPI.cjs`);var l=(t,n)=>{if(!n||!e.isTronLike(t))return n;try{return r.addressToHexFormat(n)}catch{return n}},u=async(e,t)=>{let r=s.NEAR_INTENTS_BLOCKCHAIN_BY_CHAIN_ID[e];if(!r)throw Error(`NEAR Intents does not support chain ${e}`);let a=(await c.getNearIntentsTokens()).filter(e=>e.blockchain===r),o=i.isNativePlaceholderAddress(t)?a.find(e=>!e.contractAddress):a.find(r=>r.contractAddress&&n.caseInsensitiveEqual(l(e,r.contractAddress),t));if(!o)throw Error(`No NEAR Intents asset for token ${t} on chain ${e}`);return o.assetId},d=(e,n,r)=>o.getFeeStructure(e,n.erc20TokenAddress,[n.erc20TokenAddress],a.ExternalActionId.Transact,[],t.PAY_SEND_VARIABLE_RATE,{mintTo:n.erc20TokenAddress,recipient:r,nullifierCount:n.erc20TokenAddress===`11111111111111111111111111111111`?0:1});exports.buildNearBridgeFeeStructure=d,exports.resolveNearAssetId=u;
@@ -1,8 +1,8 @@
1
1
  import { isTronLike as e } from "../../constants/chains.constants.mjs";
2
- import { HINKAL_PRIVATE_SEND_VARIABLE_RATE as t } from "../../constants/protocol.constants.mjs";
2
+ import { PAY_SEND_VARIABLE_RATE as t } from "../../constants/protocol.constants.mjs";
3
3
  import { caseInsensitiveEqual as n } from "./caseInsensitive.utils.mjs";
4
- import { isNativePlaceholderAddress as r } from "./addresses.mjs";
5
- import { addressToHexFormat as i } from "./tron.utils.mjs";
4
+ import { addressToHexFormat as r } from "./tron.utils.mjs";
5
+ import { isNativePlaceholderAddress as i } from "./addresses.mjs";
6
6
  import { ExternalActionId as a } from "../../types/external-action.types.mjs";
7
7
  import "./erc20tokenFunctions.mjs";
8
8
  import { getFeeStructure as o } from "../pre-transaction/getFeeStructure.mjs";
@@ -12,14 +12,14 @@ import { getNearIntentsTokens as c } from "../../API/callNearIntentsAPI.mjs";
12
12
  var l = (t, n) => {
13
13
  if (!n || !e(t)) return n;
14
14
  try {
15
- return i(n);
15
+ return r(n);
16
16
  } catch {
17
17
  return n;
18
18
  }
19
19
  }, u = async (e, t) => {
20
- let i = s[e];
21
- if (!i) throw Error(`NEAR Intents does not support chain ${e}`);
22
- let a = (await c()).filter((e) => e.blockchain === i), o = r(t) ? a.find((e) => !e.contractAddress) : a.find((r) => r.contractAddress && n(l(e, r.contractAddress), t));
20
+ let r = s[e];
21
+ if (!r) throw Error(`NEAR Intents does not support chain ${e}`);
22
+ let a = (await c()).filter((e) => e.blockchain === r), o = i(t) ? a.find((e) => !e.contractAddress) : a.find((r) => r.contractAddress && n(l(e, r.contractAddress), t));
23
23
  if (!o) throw Error(`No NEAR Intents asset for token ${t} on chain ${e}`);
24
24
  return o.assetId;
25
25
  }, d = (e, n, r) => o(e, n.erc20TokenAddress, [n.erc20TokenAddress], a.Transact, [], t, {
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`);require(`../../data-structures/http/index.cjs`);const n=require(`./solanaMint.utils.cjs`),r=require(`./addresses.cjs`),i=require(`../../error-handling/logger.cjs`),a=require(`./erc20tokenFunctions.cjs`),o=require(`./create-provider.cjs`);require(`../../externalABIs/index.cjs`);const s=require(`../../externalABIs/swapAbi.cjs`);require(`./ipfs.cjs`),require(`../../data-structures/IndexedDB/key-val-store.cjs`);let c=require(`ethers`),l=require(`@solana/web3.js`);var u=async(e,n,r)=>{try{let i=r.erc20TokenAddress,a,o=new c.ethers.Contract(r.erc20TokenAddress,s.ERC20ABI,e);a=i===t.zeroAddress?await e.getBalance(n):await o?.balanceOf(n);let l=a;return l<=0n?null:{token:r,balance:l}}catch{return null}},d=async(e,t,r)=>{if(r.erc20TokenAddress===`11111111111111111111111111111111`)return BigInt(await e.getBalance(t));let i=await n.getSolanaAtaAddress(r,t);if(!await e.getAccountInfo(i))return 0n;let a=await e.getTokenAccountBalance(i);return BigInt(a.value.amount)},f=async(n,u,f)=>{try{if(e.isSolanaLike(n)){if(!r.isValidSolanaPublicKey(u))return null;let{rpcUrl:t}=e.networkRegistry[n],i=o.createCustomSolanaConnection(t),s=new l.PublicKey(u);if(f===`11111111111111111111111111111111`)return BigInt(await i.getBalance(s));let c=await a.getErc20TokenFromAPI(n,f);return c?d(i,s,c):null}let i=o.createJsonRpcProvider(n),p=new c.ethers.Contract(f,s.ERC20ABI,i),m;return m=f===t.zeroAddress?await i.getBalance(u):await p?.balanceOf(u),m}catch{return i.Logger.error(`Failed to fetch public balance for address ${u}`),null}};exports.getPublicBalance=u,exports.getPublicBalanceByTokenAddress=f;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`);require(`../../data-structures/http/index.cjs`);const n=require(`./solanaMint.utils.cjs`),r=require(`../../error-handling/logger.cjs`),i=require(`./addresses.cjs`),a=require(`./erc20tokenFunctions.cjs`);require(`../../data-structures/token-price-fetcher/TokenChecker.cjs`);const o=require(`./create-provider.cjs`);require(`../../externalABIs/index.cjs`);const s=require(`../../externalABIs/swapAbi.cjs`);require(`../../data-structures/IndexedDB/key-val-store.cjs`);let c=require(`ethers`),l=require(`@solana/web3.js`);var u=async(e,n,r)=>{try{let i=r.erc20TokenAddress,a,o=new c.ethers.Contract(r.erc20TokenAddress,s.ERC20ABI,e);a=i===t.zeroAddress?await e.getBalance(n):await o?.balanceOf(n);let l=a;return l<=0n?null:{token:r,balance:l}}catch{return null}},d=async(e,t,r)=>{if(r.erc20TokenAddress===`11111111111111111111111111111111`)return BigInt(await e.getBalance(t));let i=await n.getSolanaAtaAddress(r,t);if(!await e.getAccountInfo(i))return 0n;let a=await e.getTokenAccountBalance(i);return BigInt(a.value.amount)},f=async(n,u,f)=>{try{if(e.isSolanaLike(n)){if(!i.isValidSolanaPublicKey(u))return null;let{rpcUrl:t}=e.networkRegistry[n],r=o.createCustomSolanaConnection(t),s=new l.PublicKey(u);if(f===`11111111111111111111111111111111`)return BigInt(await r.getBalance(s));let c=await a.getErc20TokenFromAPI(n,f);return c?d(r,s,c):null}let r=o.createJsonRpcProvider(n),p=new c.ethers.Contract(f,s.ERC20ABI,r),m;return m=f===t.zeroAddress?await r.getBalance(u):await p?.balanceOf(u),m}catch{return r.Logger.error(`Failed to fetch public balance for address ${u}`),null}};exports.getPublicBalance=u,exports.getPublicBalanceByTokenAddress=f;
@@ -2,13 +2,13 @@ import { isSolanaLike as e, networkRegistry as t } from "../../constants/chains.
2
2
  import { zeroAddress as n } from "../../constants/protocol.constants.mjs";
3
3
  import "../../data-structures/http/index.mjs";
4
4
  import { getSolanaAtaAddress as r } from "./solanaMint.utils.mjs";
5
- import { isValidSolanaPublicKey as i } from "./addresses.mjs";
6
- import { Logger as a } from "../../error-handling/logger.mjs";
5
+ import { Logger as i } from "../../error-handling/logger.mjs";
6
+ import { isValidSolanaPublicKey as a } from "./addresses.mjs";
7
7
  import { getErc20TokenFromAPI as o } from "./erc20tokenFunctions.mjs";
8
+ import "../../data-structures/token-price-fetcher/TokenChecker.mjs";
8
9
  import { createCustomSolanaConnection as s, createJsonRpcProvider as c } from "./create-provider.mjs";
9
10
  import "../../externalABIs/index.mjs";
10
11
  import { ERC20ABI as l } from "../../externalABIs/swapAbi.mjs";
11
- import "./ipfs.mjs";
12
12
  import "../../data-structures/IndexedDB/key-val-store.mjs";
13
13
  import { ethers as u } from "ethers";
14
14
  import { PublicKey as d } from "@solana/web3.js";
@@ -34,16 +34,16 @@ var f = async (e, t, r) => {
34
34
  }, m = async (r, f, m) => {
35
35
  try {
36
36
  if (e(r)) {
37
- if (!i(f)) return null;
38
- let { rpcUrl: e } = t[r], n = s(e), a = new d(f);
39
- if (m === "11111111111111111111111111111111") return BigInt(await n.getBalance(a));
37
+ if (!a(f)) return null;
38
+ let { rpcUrl: e } = t[r], n = s(e), i = new d(f);
39
+ if (m === "11111111111111111111111111111111") return BigInt(await n.getBalance(i));
40
40
  let c = await o(r, m);
41
- return c ? p(n, a, c) : null;
41
+ return c ? p(n, i, c) : null;
42
42
  }
43
- let a = c(r), h = new u.Contract(m, l, a), g;
44
- return g = m === n ? await a.getBalance(f) : await h?.balanceOf(f), g;
43
+ let i = c(r), h = new u.Contract(m, l, i), g;
44
+ return g = m === n ? await i.getBalance(f) : await h?.balanceOf(f), g;
45
45
  } catch {
46
- return a.error(`Failed to fetch public balance for address ${f}`), null;
46
+ return i.error(`Failed to fetch public balance for address ${f}`), null;
47
47
  }
48
48
  };
49
49
  //#endregion
@@ -0,0 +1 @@
1
+ require(`../../error-handling/error-codes.constants.cjs`),require(`../web3/etherFunctions.cjs`),require(`../../data-structures/crypto-keys/keys.cjs`),require(`./addresses.cjs`),require(`../pre-transaction/getFeeStructure.cjs`),require(`./getRecipientInfoFromUserKeys.cjs`),require(`./fees.utils.cjs`),require(`./enclave-utxo-storage.cjs`),require(`../../data-structures/Hinkal/hinkalSolanaSponsoredShield.cjs`),require(`./enclave-recipient-info-storage.cjs`);
@@ -0,0 +1,7 @@
1
+ import { IHinkal } from '../../data-structures/Hinkal/IHinkal';
2
+ import { CallInfo } from '../../types/API.types';
3
+ import { SubAccount } from '../../types/proxy.types';
4
+ import { ERC20Token } from '../../types/token.types';
5
+ export declare const resolveRecoveryRecipientInfo: (hinkal: IHinkal, chainId: number, shieldEligible: boolean, enteredAddress: string | undefined) => Promise<string | null>;
6
+ export declare const recoverSolanaBalance: (hinkal: IHinkal, chainId: number, token: ERC20Token, amount: bigint, subAccount: SubAccount, shieldEligible: boolean, enteredAddress: string | undefined) => Promise<void>;
7
+ export declare const recoverEvmBalance: (hinkal: IHinkal, chainId: number, token: ERC20Token, amount: bigint, subAccount: SubAccount, recipientAddress: string, shieldEligible: boolean, enteredAddress: string | undefined, withdrawCalls: CallInfo[]) => Promise<void>;
@@ -0,0 +1,10 @@
1
+ import "../../error-handling/error-codes.constants.mjs";
2
+ import "../web3/etherFunctions.mjs";
3
+ import "../../data-structures/crypto-keys/keys.mjs";
4
+ import "./addresses.mjs";
5
+ import "../pre-transaction/getFeeStructure.mjs";
6
+ import "./getRecipientInfoFromUserKeys.mjs";
7
+ import "./fees.utils.mjs";
8
+ import "./enclave-utxo-storage.mjs";
9
+ import "../../data-structures/Hinkal/hinkalSolanaSponsoredShield.mjs";
10
+ import "./enclave-recipient-info-storage.mjs";
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../snarkjs/constant.cjs`),r=require(`../../data-structures/http/HttpClient.cjs`);let i=require(`ethers`),a=require(`tronweb`);var o=2000n,s=e=>{let t=e.trim(),n=t.startsWith(`0x`)?t.slice(2):t;if(!/^[0-9a-fA-F]{64}$/.test(n))throw Error(`Tron private key must be 32 bytes (64 hex characters), with or without 0x prefix`);return n},c=(t,n)=>{let{rpcUrl:r}=e.networkRegistry[t],i=n?s(n):void 0,o=i?new a.TronWeb({fullHost:r,privateKey:i}):new a.TronWeb({fullHost:r});return n||o.setAddress(`T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb`),o},l=e=>e?.startsWith(`T`)?e:a.TronWeb.address.fromHex(e),u=e=>e.startsWith(`0x`)?l(e):e,d=e=>{if(e.startsWith(`0x`))return e;if(e.startsWith(`41`))return e.replace(`41`,`0x`);if(e.startsWith(`T`))return d(a.TronWeb.address.toHex(e));throw Error(`Failed to convert address to hex format`)},f=t=>{if(t===e.chainIds.tronNile)return`https://nile.trongrid.io`;if(t===e.chainIds.tronMainnet)return`https://api.trongrid.io`;throw Error(`Unsupported Tron chain for wallet RPC: ${t}`)},p=(e,t)=>e.map(e=>Array.isArray(e)?p(e,t):t(e)),m=(e,t,n)=>{let r=new i.ethers.Interface(e);if(!r.getFunction(t))throw Error(`${t} ABI is missing for Tron call data creation`);let a=p(n,e=>typeof e==`string`&&e.startsWith(`T`)?d(e):e);return r.encodeFunctionData(t,a)},h=(e,t,n)=>e?BigInt(Math.max((e[t]??0)-(e[n]??0),0)):0n,g=(e,t)=>{let n=e.find(e=>e.key===t);if(!n||typeof n.value!=`number`)throw Error(`Missing Tron chain parameter: ${t}`);return BigInt(n.value)},_=async e=>{let t=`${f(e)}/wallet/getchainparameters`,n=await r.httpClient.post(t,{});if(!n?.chainParameter?.length)throw Error(`Failed to fetch Tron chain parameters from wallet RPC`);return n.chainParameter},v=async(e,t)=>{let n=`${f(e)}/wallet/getaccountresource`,i=d(t),a=i.startsWith(`0x`)?`41${i.slice(2)}`:i;return await r.httpClient.post(n,{address:a,visible:!1})},y=async(e,n,r,i,a,s)=>{let c={input:a,callValue:Number(s),feeLimit:t.TRON_DEFAULT_FEE_LIMIT_SUN},[l,u]=await Promise.all([e.transactionBuilder.estimateEnergy(r,``,c,[],i),e.transactionBuilder.triggerConstantContract(r,``,c,[],i)]),d=await _(n),f=g(d,`getEnergyFee`),p=g(d,`getTransactionFee`),m=await v(n,i),y=BigInt(l?.energy_required??u?.energy_used??0),b=h(m,`EnergyLimit`,`EnergyUsed`),x=(y>b?y-b:0n)*f,S=BigInt(Math.ceil((u?.transaction?.raw_data_hex?.length??0)/2)),C=h(m,`freeNetLimit`,`freeNetUsed`)+h(m,`NetLimit`,`NetUsed`),w=x+(S>C?S-C:0n)*p,T=w+w*o/10000n;return T>BigInt(1e9)?BigInt(t.TRON_DEFAULT_FEE_LIMIT_SUN):T},b=e=>{let t=e[0].map(BigInt),n=e[1][0].map(BigInt),r=e[1][1].map(BigInt),i=e[2].map(BigInt),a=e[3].map(BigInt);return{a:t,b:[[n[1],n[0]],[r[1],r[0]]],c:i,publicSignals:a}},x=(e,t)=>{let n=i.ethers.AbiCoder.defaultAbiCoder().encode([`uint16`,`uint16`,`uint16`,`uint256`],[e.tokenNumber,e.nullifierAmount,e.outputAmount,t]);return BigInt(i.ethers.keccak256(n))},S=async(e,t,a,o,s,c,l,u=!1)=>{let d=x(s,c),f=e.map(String),p=a.map(String),m=o.map(String),h={chainId:l,a:f,b:[t[0].map(String),t[1].map(String)],c:p,inputs:m,verifier_id:String(d),tokenNumber:s.tokenNumber,nullifierAmount:s.nullifierAmount,outputAmount:s.outputAmount,skipLock:u},g=await r.httpClient.post(`${n.ENCLAVE_URL}/sign-proof`,h),{v:_,r:v,s:y}=i.ethers.Signature.from(g.signature.trim());return{v:_,r:v,s:y}},C=e=>{if(e.newRootHash===void 0)throw Error(`circomData.newRootHash is required for Tron transactions`);if(e.insertedLeafIndex===void 0)throw Error(`circomData.insertedLeafIndex is required for Tron transactions`);return[e.rootHashHinkal,e.rootHashHinkalIndex,e.erc20TokenAddresses,e.amountChanges,e.newRootHash,e.inputNullifiers,e.outCommitments,e.encryptedOutputs,e.slippageValues,[e.feeStructure.feeToken,e.feeStructure.flatFee,e.feeStructure.variableRate],e.timeStamp,e.calldataHash,e.emporiumMessage,e.publicSignalCount,e.relay,[e.externalActionData.externalAddress,e.externalActionData.externalActionId,e.externalActionData.externalActionMetadata],[e.hookData.preHookContract,e.hookData.postHookContract,e.hookData.preHookMetadata,e.hookData.postHookMetadata],e.originalSender,e.extraData,e.insertedLeafIndex,e.createBlockedUtxos??!1]},w=e=>{e[1]=[[e[1][0][1],e[1][0][0]],[e[1][1][1],e[1][1][0]]]},T=async(e,t,n,r,i,a=!0,o=!1)=>{if(e){let{a:e,b:s,c,publicSignals:l}=b(t),u=await S(e,s,c,l,n,BigInt(r.externalActionData.externalActionId),i,o),d={v:u.v,r:u.r,s:u.s};return a&&w(t),d}};exports.addressToHexFormat=d,exports.circomDataToArray=C,exports.createTronCallData=m,exports.createTronWeb=c,exports.estimateTronFeeSunWithPadding=y,exports.evmHexToTronBase58Address=l,exports.fetchTronAccountResources=v,exports.fetchTronChainParameters=_,exports.generateProofSignatureRemotely=S,exports.getAvailableResource=h,exports.getChainParameterValue=g,exports.getTronWalletRpcUrl=f,exports.getVerifierId=x,exports.normalizeTronPrivateKey=s,exports.parseZkCalldata=b,exports.reorderZkCallData=T,exports.swapTronBCoordinate=w,exports.toTronBase58IfHex=u;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../snarkjs/constant.cjs`),r=require(`../../data-structures/http/HttpClient.cjs`);let i=require(`ethers`),a=require(`tronweb`);var o=2000n,s=e=>{let t=e.trim(),n=t.startsWith(`0x`)?t.slice(2):t;if(!/^[0-9a-fA-F]{64}$/.test(n))throw Error(`Tron private key must be 32 bytes (64 hex characters), with or without 0x prefix`);return n},c=(t,n)=>{let{rpcUrl:r}=e.networkRegistry[t],i=n?s(n):void 0,o=i?new a.TronWeb({fullHost:r,privateKey:i}):new a.TronWeb({fullHost:r});return n||o.setAddress(`T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb`),o},l=e=>e?.startsWith(`T`)?e:a.TronWeb.address.fromHex(e),u=e=>e.startsWith(`0x`)?l(e):e,d=e=>{if(e.startsWith(`0x`))return e;if(e.startsWith(`41`))return e.replace(`41`,`0x`);if(e.startsWith(`T`))return d(a.TronWeb.address.toHex(e));throw Error(`Failed to convert address to hex format`)},f=t=>{if(t===e.chainIds.tronNile)return`https://nile.trongrid.io`;if(t===e.chainIds.tronMainnet)return`https://api.trongrid.io`;throw Error(`Unsupported Tron chain for wallet RPC: ${t}`)},p=(e,t)=>e.map(e=>Array.isArray(e)?p(e,t):t(e)),m=(e,t,n)=>{let r=new i.ethers.Interface(e);if(!r.getFunction(t))throw Error(`${t} ABI is missing for Tron call data creation`);let a=p(n,e=>typeof e==`string`&&e.startsWith(`T`)?d(e):e);return r.encodeFunctionData(t,a)},h=(e,t,n)=>e?BigInt(Math.max((e[t]??0)-(e[n]??0),0)):0n,g=(e,t)=>{let n=e.find(e=>e.key===t);if(!n||typeof n.value!=`number`)throw Error(`Missing Tron chain parameter: ${t}`);return BigInt(n.value)},_=async e=>{let t=`${f(e)}/wallet/getchainparameters`,n=await r.httpClient.post(t,{});if(!n?.chainParameter?.length)throw Error(`Failed to fetch Tron chain parameters from wallet RPC`);return n.chainParameter},v=async(e,t)=>{let n=`${f(e)}/wallet/getaccountresource`,i=d(t),a=i.startsWith(`0x`)?`41${i.slice(2)}`:i;return await r.httpClient.post(n,{address:a,visible:!1})},y=async(e,n,r,i,a,s)=>{let c={input:a,callValue:Number(s),feeLimit:t.TRON_DEFAULT_FEE_LIMIT_SUN},[l,u]=await Promise.all([e.transactionBuilder.estimateEnergy(r,``,c,[],i),e.transactionBuilder.triggerConstantContract(r,``,c,[],i)]),d=await _(n),f=g(d,`getEnergyFee`),p=g(d,`getTransactionFee`),m=await v(n,i),y=BigInt(l?.energy_required??u?.energy_used??0),b=h(m,`EnergyLimit`,`EnergyUsed`),x=(y>b?y-b:0n)*f,S=BigInt(Math.ceil((u?.transaction?.raw_data_hex?.length??0)/2)),C=h(m,`freeNetLimit`,`freeNetUsed`)+h(m,`NetLimit`,`NetUsed`),w=x+(S>C?S-C:0n)*p,T=w+w*o/10000n;return T>BigInt(1e9)?BigInt(t.TRON_DEFAULT_FEE_LIMIT_SUN):T},b=e=>{let t=e[0].map(BigInt),n=e[1][0].map(BigInt),r=e[1][1].map(BigInt),i=e[2].map(BigInt),a=e[3].map(BigInt);return{a:t,b:[[n[1],n[0]],[r[1],r[0]]],c:i,publicSignals:a}},x=async(e,t,a,o,s,c,l,u=!1)=>{let d=e.map(String),f=a.map(String),p=o.map(String),m={chainId:l,a:d,b:[t[0].map(String),t[1].map(String)],c:f,inputs:p,externalActionId:String(c),tokenNumber:s.tokenNumber,nullifierAmount:s.nullifierAmount,outputAmount:s.outputAmount,skipLock:u},h=await r.httpClient.post(`${n.ENCLAVE_URL}/sign-proof`,m),{v:g,r:_,s:v}=i.ethers.Signature.from(h.signature.trim());return{v:g,r:_,s:v}},S=e=>{if(e.newRootHash===void 0)throw Error(`circomData.newRootHash is required for Tron transactions`);if(e.insertedLeafIndex===void 0)throw Error(`circomData.insertedLeafIndex is required for Tron transactions`);return[e.rootHashHinkal,e.rootHashHinkalIndex,e.erc20TokenAddresses,e.amountChanges,e.newRootHash,e.inputNullifiers,e.outCommitments,e.encryptedOutputs,e.slippageValues,[e.feeStructure.feeToken,e.feeStructure.flatFee,e.feeStructure.variableRate],e.timeStamp,e.calldataHash,e.emporiumMessage,e.publicSignalCount,e.relay,[e.externalActionData.externalAddress,e.externalActionData.externalActionId,e.externalActionData.externalActionMetadata],[e.hookData.preHookContract,e.hookData.postHookContract,e.hookData.preHookMetadata,e.hookData.postHookMetadata],e.originalSender,e.extraData,e.insertedLeafIndex,e.createBlockedUtxos??!1]},C=e=>{e[1]=[[e[1][0][1],e[1][0][0]],[e[1][1][1],e[1][1][0]]]},w=async(e,t,n,r,i,a=!0,o=!1)=>{if(e){let{a:e,b:s,c,publicSignals:l}=b(t),u=await x(e,s,c,l,n,BigInt(r.externalActionData.externalActionId),i,o),d={v:u.v,r:u.r,s:u.s};return a&&C(t),d}};exports.addressToHexFormat=d,exports.circomDataToArray=S,exports.createTronCallData=m,exports.createTronWeb=c,exports.estimateTronFeeSunWithPadding=y,exports.evmHexToTronBase58Address=l,exports.fetchTronAccountResources=v,exports.fetchTronChainParameters=_,exports.generateProofSignatureRemotely=x,exports.getAvailableResource=h,exports.getChainParameterValue=g,exports.getTronWalletRpcUrl=f,exports.normalizeTronPrivateKey=s,exports.parseZkCalldata=b,exports.reorderZkCallData=w,exports.swapTronBCoordinate=C,exports.toTronBase58IfHex=u;