@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
@@ -2,8 +2,8 @@ import { networkRegistry as e } from "../../../constants/chains.constants.mjs";
2
2
  import { TRON_DEFAULT_FEE_LIMIT_SUN as t, zeroAddress as n } from "../../../constants/protocol.constants.mjs";
3
3
  import { caseInsensitiveEqual as r } from "../../utils/caseInsensitive.utils.mjs";
4
4
  import { insufficientResourcesErrorCodes as i } from "../../../error-handling/error-codes.constants.mjs";
5
- import { circomDataToArray as a, createTronCallData as o, estimateTronFeeSunWithPadding as s, evmHexToTronBase58Address as c, parseZkCalldata as l, reorderZkCallData as u } from "../../utils/tron.utils.mjs";
6
- import { Logger as d } from "../../../error-handling/logger.mjs";
5
+ import { Logger as a } from "../../../error-handling/logger.mjs";
6
+ import { circomDataToArray as o, createTronCallData as s, estimateTronFeeSunWithPadding as c, evmHexToTronBase58Address as l, parseZkCalldata as u, reorderZkCallData as d } from "../../utils/tron.utils.mjs";
7
7
  import { ERC20ABI as f } from "../../../externalABIs/index.mjs";
8
8
  import { waitForTronErc20Approvals as p } from "./waitForErc20Approvals.mjs";
9
9
  import { simulateTronTransaction as m } from "../../utils/tronSimulation.utils.mjs";
@@ -11,7 +11,7 @@ import { simulateTronTransaction as m } from "../../utils/tronSimulation.utils.m
11
11
  var h = async (h, g, _, v, y, b, x, S, C, w = !0, T) => {
12
12
  let E = Array.isArray(_) ? _ : [_], D = Array.isArray(v) ? v : [v];
13
13
  if (E.length !== D.length) throw Error("token and amount length mismatch");
14
- let O = h.getTronWeb(), k = await h.getEthereumAddressByChain(g), { hinkalAddress: A, hinkalABI: j } = e[g].contractData, M = O.contract(j, c(A)), N = S ?? M, P = C ?? M;
14
+ let O = h.getTronWeb(), k = await h.getEthereumAddressByChain(g), { hinkalAddress: A, hinkalABI: j } = e[g].contractData, M = O.contract(j, l(A)), N = S ?? M, P = C ?? M;
15
15
  if (!N.address) throw Error("contractForApproval address not set");
16
16
  if (!P.address) throw Error("contractForTransaction address not set");
17
17
  let F = D.findIndex(({ erc20TokenAddress: e }) => r(e, n)), I = F === -1 ? 0n : E[F], L = I > 0n ? I : 0n;
@@ -22,7 +22,7 @@ var h = async (h, g, _, v, y, b, x, S, C, w = !0, T) => {
22
22
  for (let a = 0; a < D.length; a += 1) {
23
23
  let o = D[a], s = E[a];
24
24
  if (s > 0n && !r(o.erc20TokenAddress, n)) {
25
- let n = c(o.erc20TokenAddress), r = await O.contract(f, n).allowance(k, e).call({ from: k });
25
+ let n = l(o.erc20TokenAddress), r = await O.contract(f, n).allowance(k, e).call({ from: k });
26
26
  if (BigInt(String(r)) < s) {
27
27
  let { transaction: r } = await O.transactionBuilder.triggerSmartContract(n, "approve(address,uint256)", { feeLimit: t }, [{
28
28
  type: "address",
@@ -44,7 +44,7 @@ var h = async (h, g, _, v, y, b, x, S, C, w = !0, T) => {
44
44
  }
45
45
  i.length > 0 && await p(O, k, e, i);
46
46
  }
47
- let { a: R, b: z, c: B } = l(y), V = T ?? await u(!0, y, x, b, g, !1);
47
+ let { a: R, b: z, c: B } = u(y), V = T ?? await d(!0, y, x, b, g, !1);
48
48
  if (!V) throw Error("Tron proof signature not found");
49
49
  let H = [
50
50
  V.v,
@@ -54,7 +54,7 @@ var h = async (h, g, _, v, y, b, x, S, C, w = !0, T) => {
54
54
  x.tokenNumber,
55
55
  x.nullifierAmount,
56
56
  x.outputAmount
57
- ], W = a(b);
57
+ ], W = o(b);
58
58
  if (w) {
59
59
  await m(g, P.address, "transact", P.abi, [
60
60
  H,
@@ -66,7 +66,7 @@ var h = async (h, g, _, v, y, b, x, S, C, w = !0, T) => {
66
66
  ], k, L);
67
67
  let e = BigInt(await O.trx.getBalance(k)), n = BigInt(t);
68
68
  try {
69
- let e = o(P.abi, "transact", [
69
+ let e = s(P.abi, "transact", [
70
70
  H,
71
71
  R,
72
72
  z,
@@ -74,9 +74,9 @@ var h = async (h, g, _, v, y, b, x, S, C, w = !0, T) => {
74
74
  U,
75
75
  W
76
76
  ]);
77
- n = await s(O, g, P.address, k, e, L);
77
+ n = await c(O, g, P.address, k, e, L);
78
78
  } catch (e) {
79
- d.error("Error estimating Tron transact fee", e);
79
+ a.error("Error estimating Tron transact fee", e);
80
80
  }
81
81
  if (e < L + n) throw Error(i.INSUFFICIENT_TRON_BALANCE_FOR_FEE);
82
82
  }
@@ -86,14 +86,14 @@ var h = async (h, g, _, v, y, b, x, S, C, w = !0, T) => {
86
86
  }), K = typeof G == "string" ? G : G?.txid ?? G?.transaction?.txID ?? G?.transaction?.txid;
87
87
  if (!K) throw Error("Tron transact failed (missing txid)");
88
88
  return K;
89
- }, g = async (i, s, d, f, p, m, h, g) => {
90
- let _ = Array.isArray(d) ? d : [d], v = Array.isArray(f) ? f : [f];
89
+ }, g = async (i, a, c, f, p, m, h, g) => {
90
+ let _ = Array.isArray(c) ? c : [c], v = Array.isArray(f) ? f : [f];
91
91
  if (_.length !== v.length) throw Error("token and amount length mismatch");
92
- let { hinkalAddress: y, hinkalABI: b } = e[s].contractData;
92
+ let { hinkalAddress: y, hinkalABI: b } = e[a].contractData;
93
93
  if (!y || !b) throw Error("Missing Tron contract data (hinkalAddress/hinkalABI)");
94
- let x = i.getTronWeb(), S = await i.getEthereumAddressByChain(s), C = v.findIndex(({ erc20TokenAddress: e }) => r(e, n)), w = C === -1 ? 0n : _[C], T = w > 0n ? w : 0n, { a: E, b: D, c: O } = l(p), k = g ?? await u(!0, p, h, m, s, !1);
94
+ let x = i.getTronWeb(), S = await i.getEthereumAddressByChain(a), C = v.findIndex(({ erc20TokenAddress: e }) => r(e, n)), w = C === -1 ? 0n : _[C], T = w > 0n ? w : 0n, { a: E, b: D, c: O } = u(p), k = g ?? await d(!0, p, h, m, a, !1);
95
95
  if (!k) throw Error("Tron proof signature not found");
96
- let A = o(b, "transact", [
96
+ let A = s(b, "transact", [
97
97
  [
98
98
  k.v,
99
99
  k.r,
@@ -107,8 +107,8 @@ var h = async (h, g, _, v, y, b, x, S, C, w = !0, T) => {
107
107
  h.nullifierAmount,
108
108
  h.outputAmount
109
109
  ],
110
- a(m)
111
- ]), { transaction: j } = await x.transactionBuilder.triggerSmartContract(c(y), "", {
110
+ o(m)
111
+ ]), { transaction: j } = await x.transactionBuilder.triggerSmartContract(l(y), "", {
112
112
  feeLimit: t,
113
113
  callValue: Number(T),
114
114
  input: A
@@ -1 +1 @@
1
- require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../constants/chains.constants.cjs`),t=require(`../error-handling/error-codes.constants.cjs`),n=require(`../functions/utils/create-provider.cjs`);let r=require(`@coral-xyz/anchor`);var i=class{chainId;connection;wallet;ethereumAddress;connectHandler;disconnectHandler;chainEventListener;anchorProvider;constructor(t,r){let{rpcUrl:i}=e.networkRegistry[t];this.connection=n.createCustomSolanaConnection(i),this.chainId=t,this.ethereumAddress=r}initConnector(e){this.wallet=e,this.initializeAnchorProvider()}async init(e){e&&(this.chainId=e)}async connectToConnector(){return this.chainId??0}async disconnectFromConnector(){}async connectAndPatchProvider(){if(!this.chainId)throw Error(`No Chain Id In Provider Adapter`);return this.chainId}getChainId(){return this.chainId}async waitForTransaction(e,n,r){try{return(await this.connection.confirmTransaction(n,`confirmed`)).value.err===null}catch{throw Error(t.transactionErrorCodes.TRANSACTION_NOT_CONFIRMED)}}async signMessage(e){if(!this.wallet?.signMessage)throw Error(t.transactionErrorCodes.SIGNING_FAILED);let n=typeof e==`string`?new TextEncoder().encode(e):e,{signature:r}=await this.wallet.signMessage(n,`utf8`);if(!r)throw Error(t.transactionErrorCodes.SIGNING_FAILED);return`0x${Buffer.from(r).toString(`hex`)}`}async signTransactionWithoutBroadcast(e){if(!this.wallet)throw Error(t.transactionErrorCodes.SIGNING_FAILED);let n=await this.wallet.signTransaction(e),r=Buffer.from(n.serializeMessage()).toString(`base64`),i=n.signatures.find(({publicKey:e})=>e.equals(this.wallet.publicKey))?.signature;if(!i)throw Error(t.transactionErrorCodes.SIGNING_FAILED);return{signature:`0x${Buffer.from(i).toString(`hex`)}`,transactionMessageB64:r}}async getAddress(){let e=this.ethereumAddress??this.wallet?.publicKey.toString();if(!e)throw Error(`IllegalState`);return e}setChainEventListener(e){this.chainEventListener=e,this.setupWalletListeners()}async switchNetwork(e){this.chainEventListener?.onChainChanged(e.chainId)}async signTypedData(e,t,n){throw Error(`Typed data signing not supported on Solana`)}async onAccountChanged(){return this.init()}async onChainChanged(e){return this.init(e)}release(){this.removeWalletListeners(),this.chainEventListener=void 0}getContract(e,t,n,r){throw Error(`Not implemented from SolanaProviderAdapter`)}getContractWithSigner(e,t,n){throw Error(`Not implemented from SolanaProviderAdapter`)}getContractWithFetcher(e,t,n){throw Error(`Not implemented from SolanaProviderAdapter`)}async sendTransaction(e){throw Error(`Not implemented from SolanaProviderAdapter`)}async getGasPrice(e){throw Error(`Not implemented from SolanaProviderAdapter`)}getConnection(){return this.connection}initializeAnchorProvider(){if(!this.wallet)throw Error(`No wallet provided`);return this.anchorProvider=new r.AnchorProvider(this.connection,this.wallet,{preflightCommitment:`confirmed`,commitment:`confirmed`}),this.anchorProvider}getAnchorProvider(){return this.anchorProvider??this.initializeAnchorProvider()}getSolanaProgram(e){return new r.Program(e,this.getAnchorProvider())}getSolanaPublicKey(){if(!this.wallet)throw Error(`No wallet provided`);return this.wallet.publicKey}setupWalletListeners(){!this.wallet?.adapter||!this.chainEventListener||(this.connectHandler=e=>{if(!e){this.chainEventListener?.onChainChanged();return}if(!this.wallet)throw Error(`No wallet provided`);this.wallet={...this.wallet,publicKey:e},this.anchorProvider=new r.AnchorProvider(this.connection,this.wallet,{preflightCommitment:`confirmed`,commitment:`confirmed`}),this.chainEventListener?.onAccountChanged()},this.disconnectHandler=()=>{this.chainEventListener?.onChainChanged()},this.wallet.adapter.on(`connect`,this.connectHandler),this.wallet.adapter.on(`disconnect`,this.disconnectHandler))}removeWalletListeners(){this.wallet?.adapter&&this.connectHandler&&this.wallet.adapter.off(`connect`,this.connectHandler),this.wallet?.adapter&&this.disconnectHandler&&this.wallet.adapter.off(`disconnect`,this.disconnectHandler),this.connectHandler=void 0,this.disconnectHandler=void 0}isSolanaLedger(){if(!this.wallet)throw Error(`No wallet provided`);return this.wallet.isLedger??!1}},a=(e,t)=>new i(e,t);exports.SolanaProviderAdapter=i,exports.default=a;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../constants/chains.constants.cjs`),t=require(`../error-handling/error-codes.constants.cjs`),n=require(`../functions/utils/create-provider.cjs`);let r=require(`@coral-xyz/anchor`);var i=class{chainId;connection;wallet;ethereumAddress;connectHandler;disconnectHandler;chainEventListener;anchorProvider;constructor(t,r){let{rpcUrl:i}=e.networkRegistry[t];this.connection=n.createCustomSolanaConnection(i),this.chainId=t,this.ethereumAddress=r}initConnector(e){this.wallet=e,this.initializeAnchorProvider()}async init(e){e&&(this.chainId=e)}async connectToConnector(){return this.chainId??0}async disconnectFromConnector(){}async connectAndPatchProvider(){if(!this.chainId)throw Error(`No Chain Id In Provider Adapter`);return this.chainId}getChainId(){return this.chainId}async waitForTransaction(e,n,r){try{return(await this.connection.confirmTransaction(n,`confirmed`)).value.err===null}catch{throw Error(t.transactionErrorCodes.TRANSACTION_NOT_CONFIRMED)}}async signMessage(e){if(!this.wallet?.signMessage)throw Error(t.transactionErrorCodes.SIGNING_FAILED);let n=typeof e==`string`?new TextEncoder().encode(e):e,{signature:r}=await this.wallet.signMessage(n,`utf8`);if(!r)throw Error(t.transactionErrorCodes.SIGNING_FAILED);return`0x${Buffer.from(r).toString(`hex`)}`}async signTransactionWithoutBroadcast(e){if(!this.wallet)throw Error(t.transactionErrorCodes.SIGNING_FAILED);let n=(await this.wallet.signTransaction(e)).signatures.find(({publicKey:e})=>e.equals(this.wallet.publicKey))?.signature;if(!n)throw Error(t.transactionErrorCodes.SIGNING_FAILED);return`0x${Buffer.from(n).toString(`hex`)}`}async getAddress(){let e=this.ethereumAddress??this.wallet?.publicKey.toString();if(!e)throw Error(`IllegalState`);return e}setChainEventListener(e){this.chainEventListener=e,this.setupWalletListeners()}async switchNetwork(e){this.chainEventListener?.onChainChanged(e.chainId)}async signTypedData(e,t,n){throw Error(`Typed data signing not supported on Solana`)}async onAccountChanged(){return this.init()}async onChainChanged(e){return this.init(e)}release(){this.removeWalletListeners(),this.chainEventListener=void 0}getContract(e,t,n,r){throw Error(`Not implemented from SolanaProviderAdapter`)}getContractWithSigner(e,t,n){throw Error(`Not implemented from SolanaProviderAdapter`)}getContractWithFetcher(e,t,n){throw Error(`Not implemented from SolanaProviderAdapter`)}async sendTransaction(e){throw Error(`Not implemented from SolanaProviderAdapter`)}async getGasPrice(e){throw Error(`Not implemented from SolanaProviderAdapter`)}getConnection(){return this.connection}initializeAnchorProvider(){if(!this.wallet)throw Error(`No wallet provided`);return this.anchorProvider=new r.AnchorProvider(this.connection,this.wallet,{preflightCommitment:`confirmed`,commitment:`confirmed`}),this.anchorProvider}getAnchorProvider(){return this.anchorProvider??this.initializeAnchorProvider()}getSolanaProgram(e){return new r.Program(e,this.getAnchorProvider())}getSolanaPublicKey(){if(!this.wallet)throw Error(`No wallet provided`);return this.wallet.publicKey}setupWalletListeners(){!this.wallet?.adapter||!this.chainEventListener||(this.connectHandler=e=>{if(!e){this.chainEventListener?.onChainChanged();return}if(!this.wallet)throw Error(`No wallet provided`);this.wallet={...this.wallet,publicKey:e},this.anchorProvider=new r.AnchorProvider(this.connection,this.wallet,{preflightCommitment:`confirmed`,commitment:`confirmed`}),this.chainEventListener?.onAccountChanged()},this.disconnectHandler=()=>{this.chainEventListener?.onChainChanged()},this.wallet.adapter.on(`connect`,this.connectHandler),this.wallet.adapter.on(`disconnect`,this.disconnectHandler))}removeWalletListeners(){this.wallet?.adapter&&this.connectHandler&&this.wallet.adapter.off(`connect`,this.connectHandler),this.wallet?.adapter&&this.disconnectHandler&&this.wallet.adapter.off(`disconnect`,this.disconnectHandler),this.connectHandler=void 0,this.disconnectHandler=void 0}isSolanaLedger(){if(!this.wallet)throw Error(`No wallet provided`);return this.wallet.isLedger??!1}},a=(e,t)=>new i(e,t);exports.SolanaProviderAdapter=i,exports.default=a;
@@ -22,10 +22,7 @@ export declare class SolanaProviderAdapter implements IProviderAdapter<SolanaWal
22
22
  getChainId(): number | undefined;
23
23
  waitForTransaction(_chainId: number, transactionHash: string, _confirmations: number): Promise<boolean>;
24
24
  signMessage(message: string | Uint8Array): Promise<string>;
25
- signTransactionWithoutBroadcast(tx: Transaction): Promise<{
26
- signature: string;
27
- transactionMessageB64: string;
28
- }>;
25
+ signTransactionWithoutBroadcast(tx: Transaction): Promise<string>;
29
26
  getAddress(): Promise<string>;
30
27
  setChainEventListener(chainEventListener: ChainEventListener): void;
31
28
  switchNetwork(network: EthereumNetwork): Promise<void>;
@@ -48,12 +48,9 @@ var a = class {
48
48
  }
49
49
  async signTransactionWithoutBroadcast(e) {
50
50
  if (!this.wallet) throw Error(t.SIGNING_FAILED);
51
- let n = await this.wallet.signTransaction(e), r = Buffer.from(n.serializeMessage()).toString("base64"), i = n.signatures.find(({ publicKey: e }) => e.equals(this.wallet.publicKey))?.signature;
52
- if (!i) throw Error(t.SIGNING_FAILED);
53
- return {
54
- signature: `0x${Buffer.from(i).toString("hex")}`,
55
- transactionMessageB64: r
56
- };
51
+ let n = (await this.wallet.signTransaction(e)).signatures.find(({ publicKey: e }) => e.equals(this.wallet.publicKey))?.signature;
52
+ if (!n) throw Error(t.SIGNING_FAILED);
53
+ return `0x${Buffer.from(n).toString("hex")}`;
57
54
  }
58
55
  async getAddress() {
59
56
  let e = this.ethereumAddress ?? this.wallet?.publicKey.toString();
@@ -1 +1 @@
1
- require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../constants/chains.constants.cjs`),t=require(`../error-handling/error-codes.constants.cjs`),n=require(`../types/eip5792.types.cjs`),r=require(`../error-handling/logger.cjs`),i=require(`../functions/utils/create-provider.cjs`),a=require(`../functions/web3/getContractMetadata.cjs`);let o=require(`ethers`),s=require(`wagmi`),c=require(`wagmi/actions`);var l=class l{connector;chainId;originalProvider;fetchProviders={};signer;chainEventListener;config;unsubscribeFns=[];constructor(){e.HINKAL_SUPPORTED_CHAINS.forEach(t=>{e.isSolanaLike(t)||(this.fetchProviders[t]=i.createJsonRpcProvider(t))})}initConnector(e){this.connector=e}initConfig(e){this.config=e}async init(e){if(!this.connector)throw Error(`No Connector In Provider Adapter`);if(e&&(this.chainId=e),!this.chainId)throw Error(`No Chain Id In Provider Adapter`);let t=await this.connector.getProvider();this.originalProvider=new o.ethers.BrowserProvider(t);let n=(await this.connector.getAccounts())?.[0];if(!n){this.chainEventListener&&this.chainEventListener.onChainChanged();return}this.signer=await this.walletClientToSigner({transport:t,account:n},this.chainId)}async disconnectFromConnector(){if(!this.config)throw Error(`No Config In Provider Adapter`);this.release(),await(0,c.disconnect)(this.config)}async connectToConnector(e){if(!this.config)throw Error(`No Config In Provider Adapter`);if(e.id===`walletConnect`)try{await(0,c.reconnect)(this.config,{connectors:[e]}),await(0,c.disconnect)(this.config)}catch{}try{return(await(0,c.connect)(this.config,{connector:e})).chainId}catch(n){if(n instanceof s.ConnectorAlreadyConnectedError)return e.getChainId();let r=t.transactionErrorCodes.CONNECTION_FAILED;throw n?.code===4001&&(r=t.UserFriendlyErrorCodes.YOU_CANCELED_REQUEST),Error(r)}}getChainId(){return this.chainId}async waitForTransaction(e,n,r){if((await this.fetchProviders[e]?.waitForTransaction(n,r))?.status)return!0;throw Error(t.transactionErrorCodes.TRANSACTION_NOT_CONFIRMED)}async signMessage(e){if(!this.config)throw Error(`No Config In Provider Adapter`);let n=await(0,c.signMessage)(this.config,{message:e});if(!n)throw Error(t.transactionErrorCodes.SIGNING_FAILED);if(n.includes(`error`))throw Error(t.transactionErrorCodes.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);return n}async signTypedData(e,t,n){return this.signer.signTypedData(e,t,n)}async switchNetwork(t){if(!this.config)throw Error(`No Config In Provider Adapter`);let n=e.getOnchainChainId(t.chainId);return(0,c.switchChain)(this.config,{chainId:n})}async getAddress(){if(!this.config)throw Error(`No Config In Provider Adapter`);let{address:e}=(0,c.getAccount)(this.config);if(!e)throw Error(`IllegalState`);return o.ethers.getAddress(e)}setChainEventListener(e){if(!this.config)throw Error(`No Config In Provider Adapter`);this.chainEventListener=e,this.chainEventListener&&(this.unsubscribeFns.push((0,c.watchAccount)(this.config,{onChange:({address:e},{address:t})=>{this.chainEventListener&&e!==t&&this.chainEventListener.onAccountChanged()}})),this.unsubscribeFns.push((0,c.watchChainId)(this.config,{onChange:e=>{this.chainEventListener&&this.chainEventListener.onChainChanged(e)}})))}onAccountChanged(){return this.init()}onChainChanged(e){return this.init(e)}release(){this.removeListeners()}removeListeners(){this.unsubscribeFns.forEach(e=>e()),this.unsubscribeFns=[]}getContract(e,t,n=void 0,r){return a.getContract(t,e,n,r)}getContractWithSigner(e,t,n=void 0){if(!this.signer)throw Error(`IllegalState: no signer`);return this.getContract(e,t,n,this.signer)}getContractWithFetcher(e,t,n=void 0){let r=this.fetchProviders[e];if(!r)throw Error(`fetchProvider not initialized`);return this.getContract(e,t,n,r)}async sendTransaction(e){if(!this.signer)throw Error(`IllegalState: no signer`);return await this.signer.sendTransaction(e)}async connectAndPatchProvider(e){return await this.connectToConnector(e)}async getGasPrice(e){let t=(await this.fetchProviders[e]?.getFeeData())?.gasPrice;if(!t)throw Error(`Could not fetch gas price in getGasPrice`);return t}static FALLBACK_METHODS=new Set([`eth_blockNumber`,`eth_call`]);wrapTransportWithRpcFallback(e,t){let n=this.fetchProviders[t];return n?{request:async t=>{let r=await e.request(t);return r==null&&l.FALLBACK_METHODS.has(t.method)?n.send(t.method,Array.isArray(t.params)?t.params:[]):r}}:e}async walletClientToSigner(e,t){let{account:n,transport:r}=e;return new o.ethers.BrowserProvider(this.wrapTransportWithRpcFallback(r,t)).getSigner(n)}async supportsBatchCall(t){if(!this.originalProvider)return!1;try{let n=await this.getAddress(),r=`0x${e.getOnchainChainId(t).toString(16)}`,i=await this.originalProvider.send(`wallet_getCapabilities`,[n,[r]]),a=i?.[r]||i?.[`0x0`];if(!a?.atomic)return!1;let o=typeof a.atomic==`string`?a.atomic:a.atomic?.status;return o===`supported`||o===`ready`}catch{return!1}}async waitForBatchTransactionStatus(e){if(!this.originalProvider)throw Error(`WagmiProviderAdapter: Provider not initialized`);for(let t=0;t<60;t+=1){await new Promise(e=>{setTimeout(()=>e(),1e3)});try{let t=await this.originalProvider.send(`wallet_getCallsStatus`,[e]);if(t.status===n.CallsStatus.Confirmed&&t.receipts?.[0]?.transactionHash)return t.receipts[0].transactionHash;if(t.status===n.CallsStatus.OffchainFailure||t.status===n.CallsStatus.ChainFailure||t.status===n.CallsStatus.PartialFailure)break}catch(e){r.Logger.log(`waitForBatchTransactionStatus:`,e)}}throw Error(`Batch transaction timed out or failed`)}async sendBatchCallsTransaction(t,n){if(!this.fetchProviders[t])throw Error(`WagmiProviderAdapter: fetchProvider not initialized`);if(!this.originalProvider)throw Error(`WagmiProviderAdapter: Provider not initialized`);let r=await this.getAddress(),i={version:`2.0.0`,chainId:`0x${e.getOnchainChainId(t).toString(16)}`,from:r,atomicRequired:!0,calls:n},a=await this.originalProvider.send(`wallet_sendCalls`,[i]),o=a?.id||a;if(!o||typeof o!=`string`)throw Error(`Invalid batch ID received from wallet_sendCalls`);let s=await this.waitForBatchTransactionStatus(o),c=await this.fetchProviders[t].getTransaction(s);if(!c)throw Error(`Transaction not found`);return c}},u=new l,d=()=>new l;exports.default=d,exports.wagmiProviderAdapter=u;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../constants/chains.constants.cjs`),t=require(`../error-handling/error-codes.constants.cjs`),n=require(`../error-handling/logger.cjs`),r=require(`../types/eip5792.types.cjs`),i=require(`../functions/utils/create-provider.cjs`),a=require(`../functions/web3/getContractMetadata.cjs`);let o=require(`ethers`),s=require(`wagmi`),c=require(`wagmi/actions`);var l=class l{connector;chainId;originalProvider;fetchProviders={};signer;chainEventListener;config;unsubscribeFns=[];constructor(){e.HINKAL_SUPPORTED_CHAINS.forEach(t=>{e.isSolanaLike(t)||(this.fetchProviders[t]=i.createJsonRpcProvider(t))})}initConnector(e){this.connector=e}initConfig(e){this.config=e}async init(e){if(!this.connector)throw Error(`No Connector In Provider Adapter`);if(e&&(this.chainId=e),!this.chainId)throw Error(`No Chain Id In Provider Adapter`);let t=await this.connector.getProvider();this.originalProvider=new o.ethers.BrowserProvider(t);let n=(await this.connector.getAccounts())?.[0];if(!n){this.chainEventListener&&this.chainEventListener.onChainChanged();return}this.signer=await this.walletClientToSigner({transport:t,account:n},this.chainId)}async disconnectFromConnector(){if(!this.config)throw Error(`No Config In Provider Adapter`);this.release(),await(0,c.disconnect)(this.config)}async connectToConnector(e){if(!this.config)throw Error(`No Config In Provider Adapter`);if(e.id===`walletConnect`)try{await(0,c.reconnect)(this.config,{connectors:[e]}),await(0,c.disconnect)(this.config)}catch{}try{return(await(0,c.connect)(this.config,{connector:e})).chainId}catch(n){if(n instanceof s.ConnectorAlreadyConnectedError)return e.getChainId();let r=t.transactionErrorCodes.CONNECTION_FAILED;throw n?.code===4001&&(r=t.UserFriendlyErrorCodes.YOU_CANCELED_REQUEST),Error(r)}}getChainId(){return this.chainId}async waitForTransaction(e,n,r){if((await this.fetchProviders[e]?.waitForTransaction(n,r))?.status)return!0;throw Error(t.transactionErrorCodes.TRANSACTION_NOT_CONFIRMED)}async signMessage(e){if(!this.config)throw Error(`No Config In Provider Adapter`);let n=await(0,c.signMessage)(this.config,{message:e});if(!n)throw Error(t.transactionErrorCodes.SIGNING_FAILED);if(n.includes(`error`))throw Error(t.transactionErrorCodes.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);return n}async signTypedData(e,t,n){return this.signer.signTypedData(e,t,n)}async switchNetwork(t){if(!this.config)throw Error(`No Config In Provider Adapter`);let n=e.getOnchainChainId(t.chainId);return(0,c.switchChain)(this.config,{chainId:n})}async getAddress(){if(!this.config)throw Error(`No Config In Provider Adapter`);let{address:e}=(0,c.getAccount)(this.config);if(!e)throw Error(`IllegalState`);return o.ethers.getAddress(e)}setChainEventListener(e){if(!this.config)throw Error(`No Config In Provider Adapter`);this.chainEventListener=e,this.chainEventListener&&(this.unsubscribeFns.push((0,c.watchAccount)(this.config,{onChange:({address:e},{address:t})=>{this.chainEventListener&&e!==t&&this.chainEventListener.onAccountChanged()}})),this.unsubscribeFns.push((0,c.watchChainId)(this.config,{onChange:e=>{this.chainEventListener&&this.chainEventListener.onChainChanged(e)}})))}onAccountChanged(){return this.init()}onChainChanged(e){return this.init(e)}release(){this.removeListeners()}removeListeners(){this.unsubscribeFns.forEach(e=>e()),this.unsubscribeFns=[]}getContract(e,t,n=void 0,r){return a.getContract(t,e,n,r)}getContractWithSigner(e,t,n=void 0){if(!this.signer)throw Error(`IllegalState: no signer`);return this.getContract(e,t,n,this.signer)}getContractWithFetcher(e,t,n=void 0){let r=this.fetchProviders[e];if(!r)throw Error(`fetchProvider not initialized`);return this.getContract(e,t,n,r)}async sendTransaction(e){if(!this.signer)throw Error(`IllegalState: no signer`);return await this.signer.sendTransaction(e)}async connectAndPatchProvider(e){return await this.connectToConnector(e)}async getGasPrice(e){let t=(await this.fetchProviders[e]?.getFeeData())?.gasPrice;if(!t)throw Error(`Could not fetch gas price in getGasPrice`);return t}static FALLBACK_METHODS=new Set([`eth_blockNumber`,`eth_call`]);wrapTransportWithRpcFallback(e,t){let n=this.fetchProviders[t];return n?{request:async t=>{let r=await e.request(t);return r==null&&l.FALLBACK_METHODS.has(t.method)?n.send(t.method,Array.isArray(t.params)?t.params:[]):r}}:e}async walletClientToSigner(e,t){let{account:n,transport:r}=e;return new o.ethers.BrowserProvider(this.wrapTransportWithRpcFallback(r,t)).getSigner(n)}async supportsBatchCall(t){if(!this.originalProvider)return!1;try{let n=await this.getAddress(),r=`0x${e.getOnchainChainId(t).toString(16)}`,i=await this.originalProvider.send(`wallet_getCapabilities`,[n,[r]]),a=i?.[r]||i?.[`0x0`];if(!a?.atomic)return!1;let o=typeof a.atomic==`string`?a.atomic:a.atomic?.status;return o===`supported`||o===`ready`}catch{return!1}}async waitForBatchTransactionStatus(e){if(!this.originalProvider)throw Error(`WagmiProviderAdapter: Provider not initialized`);for(let t=0;t<60;t+=1){await new Promise(e=>{setTimeout(()=>e(),1e3)});try{let t=await this.originalProvider.send(`wallet_getCallsStatus`,[e]);if(t.status===r.CallsStatus.Confirmed&&t.receipts?.[0]?.transactionHash)return t.receipts[0].transactionHash;if(t.status===r.CallsStatus.OffchainFailure||t.status===r.CallsStatus.ChainFailure||t.status===r.CallsStatus.PartialFailure)break}catch(e){n.Logger.log(`waitForBatchTransactionStatus:`,e)}}throw Error(`Batch transaction timed out or failed`)}async sendBatchCallsTransaction(t,n){if(!this.fetchProviders[t])throw Error(`WagmiProviderAdapter: fetchProvider not initialized`);if(!this.originalProvider)throw Error(`WagmiProviderAdapter: Provider not initialized`);let r=await this.getAddress(),i={version:`2.0.0`,chainId:`0x${e.getOnchainChainId(t).toString(16)}`,from:r,atomicRequired:!0,calls:n},a=await this.originalProvider.send(`wallet_sendCalls`,[i]),o=a?.id||a;if(!o||typeof o!=`string`)throw Error(`Invalid batch ID received from wallet_sendCalls`);let s=await this.waitForBatchTransactionStatus(o),c=await this.fetchProviders[t].getTransaction(s);if(!c)throw Error(`Transaction not found`);return c}},u=new l,d=()=>new l;exports.default=d,exports.wagmiProviderAdapter=u;
@@ -1,7 +1,7 @@
1
1
  import { HINKAL_SUPPORTED_CHAINS as e, getOnchainChainId as t, isSolanaLike as n } from "../constants/chains.constants.mjs";
2
2
  import { UserFriendlyErrorCodes as r, transactionErrorCodes as i } from "../error-handling/error-codes.constants.mjs";
3
- import { CallsStatus as a } from "../types/eip5792.types.mjs";
4
- import { Logger as o } from "../error-handling/logger.mjs";
3
+ import { Logger as a } from "../error-handling/logger.mjs";
4
+ import { CallsStatus as o } from "../types/eip5792.types.mjs";
5
5
  import { createJsonRpcProvider as s } from "../functions/utils/create-provider.mjs";
6
6
  import { getContract as c } from "../functions/web3/getContractMetadata.mjs";
7
7
  import { ethers as l } from "ethers";
@@ -163,10 +163,10 @@ var y = class y {
163
163
  });
164
164
  try {
165
165
  let t = await this.originalProvider.send("wallet_getCallsStatus", [e]);
166
- if (t.status === a.Confirmed && t.receipts?.[0]?.transactionHash) return t.receipts[0].transactionHash;
167
- if (t.status === a.OffchainFailure || t.status === a.ChainFailure || t.status === a.PartialFailure) break;
166
+ if (t.status === o.Confirmed && t.receipts?.[0]?.transactionHash) return t.receipts[0].transactionHash;
167
+ if (t.status === o.OffchainFailure || t.status === o.ChainFailure || t.status === o.PartialFailure) break;
168
168
  } catch (e) {
169
- o.log("waitForBatchTransactionStatus:", e);
169
+ a.log("waitForBatchTransactionStatus:", e);
170
170
  }
171
171
  }
172
172
  throw Error("Batch transaction timed out or failed");
@@ -1 +1 @@
1
- var e=function(e){return e.LAST_IGNORED_DEPOSIT_BALANCE_1K=`lastIgnoredDepositBalance1K`,e.LAST_IGNORED_DEPOSIT_BALANCE_10K=`lastIgnoredDepositBalance10K`,e.LAST_IGNORED_DEPOSIT_SCAM_TOKENS=`lastIgnoredDepositScamTokens`,e.LAST_IGNORED_DEPOSIT_TRANSACTIONS=`lastIgnoredDepositTransactions`,e.LOCAL_STORAGE_KEY_USER_ANALYTICS_CONSENT=`userAnalyticsConsentPref`,e.PASSWORD_HASH=`passwordHash`,e.LAST_ADDRESS=`lastAddress`,e.AUTO_LOCK_TIME=`autoLockTime`,e.TOKEN_REGISTRY=`tokenRegistry`,e.IS_BALANCE_HIDDEN=`isBalanceHidden`,e.TRANSACTION_STATUS=`transactionStatus`,e.SELECTED_SUB_ACCOUNT_ADDRESS=`selectedSubAccountAddress`,e.GENERATE_PROOF_REMOTELY=`generateProofRemotely`,e.IS_RELAYER_OFF=`isRelayerOff`,e.ONBOARDING_SHOWN=`onboardingShown`,e.GAS_COST_TOKEN=`gasCostToken`,e.PRIVATE_TOKENS=`privateTokens`,e.ALCHEMY_PUBLIC_TOKENS=`alchemyPublicTokens`,e.EVENTS_PUBLIC_TOKENS=`eventsPublicTokens`,e.ARC_PUBLIC_TOKENS=`arcPublicTokens`,e.TRON_PUBLIC_TOKENS=`tronPublicTokens`,e.TEMPO_PUBLIC_TOKENS=`tempoPublicTokens`,e.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS=`publicTokensLastProcessedBlocks`,e.ACCEPTED_TERMS_OF_SERVICES=`acceptedTermsOfServices`,e.SLIPPAGE_PERCENTAGE=`slippagePercentage`,e.IS_SLIPPAGE_PERCENTAGE_CUSTOM=`isSlippagePercentageCustom`,e.MNEMONIC_PHRASE=`mnemonicPhrase`,e.SOURCE_MNEMONIC_PHRASE=`sourceMnemonicPhrase`,e.SELECTED_WALLET_ENVIRONMENT=`selectedWalletEnvironment`,e.IS_TOOLTIPS_ON=`isTooltipsOn`,e.CONNECTED_ADDRESS=`connectedAddress`,e.CONNECTED_SOLANA_ADDRESS=`connectedSolanaAddress`,e.CONNECTED_SESSIONS=`connectedSessions`,e.TX_ACTIVITY=`tx-activity`,e.EVENTS_PUBLIC_APPROVALS=`eventsPublicApprovals`,e.PUBLIC_APPROVALS_LAST_PROCESSED_BLOCKS=`publicApprovalsLastProcessedBlocks`,e.ACTIVE_SUB_ACCOUNT=`activeSubAccount`,e.SIGNED_MESSAGES=`signedMessages`,e.AUTO_SHIELD_IS_ON=`autoShieldIsOn`,e.MAX_GAS_IN_DOLLAR=`maxGasInDollar`,e.PENDING_SOLANA_SIGNATURES=`pendingSolanaSignatures`,e.STORAGE_KEY_LAST_SEEN_VERSION=`hinkalLastSeenVersion`,e.HINKAL_GOOGLE_SESSION=`hinkalGoogleSession`,e.IS_CREATE_NEW_PUBLIC_WALLET_ON=`isCreateNewPublicWalletOn`,e.DISGUISED_AS_METAMASK_HOSTS=`disguisedAsMetamaskHosts`,e.CHAIN_ID_FILTER=`chainIdFilter`,e.SIGNATURE=`signature`,e.PUBLIC_ACCOUNT_DETAILS=`publicAccountDetails`,e.IS_NEW_ACCOUNT_MANAGEMENT_SYSTEM=`isNewAccountManagementSystem`,e.SUB_ACCOUNTS_REFRESH_TOKEN=`subAccountsRefreshToken`,e.PRIVATE_SEND_NONCE=`privateSendNonce`,e.SHOULD_SHOW_ANNOUNCEMENT_BANNER=`shouldShowAnnouncementBanner`,e.LAST_SHIELD_TIME=`lastShieldTime`,e.IS_TOUR_COMPLETED=`isTourCompleted`,e.TOUR_CURRENT_STEP=`tourCurrentStep`,e.REVOKE_APPROVALS_IN_PROGRESS=`revokeApprovalsInProgress`,e.IS_DEPRECATED_CACHE_CLEARED=`isDeprecatedCacheCleared`,e.NFT_METADATA=`nftMetadata`,e}({});exports.StorageKeys=e;
1
+ var e=function(e){return e.LAST_IGNORED_DEPOSIT_BALANCE_1K=`lastIgnoredDepositBalance1K`,e.LAST_IGNORED_DEPOSIT_BALANCE_10K=`lastIgnoredDepositBalance10K`,e.LAST_IGNORED_DEPOSIT_SCAM_TOKENS=`lastIgnoredDepositScamTokens`,e.LAST_IGNORED_DEPOSIT_TRANSACTIONS=`lastIgnoredDepositTransactions`,e.LOCAL_STORAGE_KEY_USER_ANALYTICS_CONSENT=`userAnalyticsConsentPref`,e.PASSWORD_HASH=`passwordHash`,e.LAST_ADDRESS=`lastAddress`,e.AUTO_LOCK_TIME=`autoLockTime`,e.TOKEN_REGISTRY=`tokenRegistry`,e.IS_BALANCE_HIDDEN=`isBalanceHidden`,e.TRANSACTION_STATUS=`transactionStatus`,e.SELECTED_SUB_ACCOUNT_ADDRESS=`selectedSubAccountAddress`,e.GENERATE_PROOF_REMOTELY=`generateProofRemotely`,e.IS_RELAYER_OFF=`isRelayerOff`,e.ONBOARDING_SHOWN=`onboardingShown`,e.GAS_COST_TOKEN=`gasCostToken`,e.PRIVATE_TOKENS=`privateTokens`,e.ALCHEMY_PUBLIC_TOKENS=`alchemyPublicTokens`,e.EVENTS_PUBLIC_TOKENS=`eventsPublicTokens`,e.ARC_PUBLIC_TOKENS=`arcPublicTokens`,e.TRON_PUBLIC_TOKENS=`tronPublicTokens`,e.TEMPO_PUBLIC_TOKENS=`tempoPublicTokens`,e.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS=`publicTokensLastProcessedBlocks`,e.ACCEPTED_TERMS_OF_SERVICES=`acceptedTermsOfServices`,e.SLIPPAGE_PERCENTAGE=`slippagePercentage`,e.IS_SLIPPAGE_PERCENTAGE_CUSTOM=`isSlippagePercentageCustom`,e.MNEMONIC_PHRASE=`mnemonicPhrase`,e.SOURCE_MNEMONIC_PHRASE=`sourceMnemonicPhrase`,e.SELECTED_WALLET_ENVIRONMENT=`selectedWalletEnvironment`,e.IS_TOOLTIPS_ON=`isTooltipsOn`,e.CONNECTED_ADDRESS=`connectedAddress`,e.CONNECTED_SOLANA_ADDRESS=`connectedSolanaAddress`,e.CONNECTED_SESSIONS=`connectedSessions`,e.TX_ACTIVITY=`tx-activity`,e.EVENTS_PUBLIC_APPROVALS=`eventsPublicApprovals`,e.PUBLIC_APPROVALS_LAST_PROCESSED_BLOCKS=`publicApprovalsLastProcessedBlocks`,e.ACTIVE_SUB_ACCOUNT=`activeSubAccount`,e.SIGNED_MESSAGES=`signedMessages`,e.AUTO_SHIELD_IS_ON=`autoShieldIsOn`,e.MAX_GAS_IN_DOLLAR=`maxGasInDollar`,e.PENDING_SOLANA_SIGNATURES=`pendingSolanaSignatures`,e.STORAGE_KEY_LAST_SEEN_VERSION=`hinkalLastSeenVersion`,e.HINKAL_GOOGLE_SESSION=`hinkalGoogleSession`,e.IS_CREATE_NEW_PUBLIC_WALLET_ON=`isCreateNewPublicWalletOn`,e.DISGUISED_AS_METAMASK_HOSTS=`disguisedAsMetamaskHosts`,e.CHAIN_ID_FILTER=`chainIdFilter`,e.SIGNATURE=`signature`,e.PUBLIC_ACCOUNT_DETAILS=`publicAccountDetails`,e.IS_NEW_ACCOUNT_MANAGEMENT_SYSTEM=`isNewAccountManagementSystem`,e.SUB_ACCOUNTS_REFRESH_TOKEN=`subAccountsRefreshToken`,e.PRIVATE_SEND_NONCE=`privateSendNonce`,e.SHOULD_SHOW_ANNOUNCEMENT_BANNER=`shouldShowAnnouncementBanner`,e.LAST_SHIELD_TIME=`lastShieldTime`,e.IS_TOUR_COMPLETED=`isTourCompleted`,e.TOUR_CURRENT_STEP=`tourCurrentStep`,e.REVOKE_APPROVALS_IN_PROGRESS=`revokeApprovalsInProgress`,e.IS_DEPRECATED_CACHE_CLEARED=`isDeprecatedCacheCleared`,e.NFT_METADATA=`nftMetadata`,e.SCHEDULED_TRANSACTIONS=`scheduledTransactions`,e}({});exports.StorageKeys=e;
@@ -56,5 +56,6 @@ export declare enum StorageKeys {
56
56
  TOUR_CURRENT_STEP = "tourCurrentStep",
57
57
  REVOKE_APPROVALS_IN_PROGRESS = "revokeApprovalsInProgress",
58
58
  IS_DEPRECATED_CACHE_CLEARED = "isDeprecatedCacheCleared",
59
- NFT_METADATA = "nftMetadata"
59
+ NFT_METADATA = "nftMetadata",
60
+ SCHEDULED_TRANSACTIONS = "scheduledTransactions"
60
61
  }
@@ -1,6 +1,6 @@
1
1
  //#region libs/shared/common/src/types/cache.types.ts
2
2
  var e = /* @__PURE__ */ function(e) {
3
- return e.LAST_IGNORED_DEPOSIT_BALANCE_1K = "lastIgnoredDepositBalance1K", e.LAST_IGNORED_DEPOSIT_BALANCE_10K = "lastIgnoredDepositBalance10K", e.LAST_IGNORED_DEPOSIT_SCAM_TOKENS = "lastIgnoredDepositScamTokens", e.LAST_IGNORED_DEPOSIT_TRANSACTIONS = "lastIgnoredDepositTransactions", e.LOCAL_STORAGE_KEY_USER_ANALYTICS_CONSENT = "userAnalyticsConsentPref", e.PASSWORD_HASH = "passwordHash", e.LAST_ADDRESS = "lastAddress", e.AUTO_LOCK_TIME = "autoLockTime", e.TOKEN_REGISTRY = "tokenRegistry", e.IS_BALANCE_HIDDEN = "isBalanceHidden", e.TRANSACTION_STATUS = "transactionStatus", e.SELECTED_SUB_ACCOUNT_ADDRESS = "selectedSubAccountAddress", e.GENERATE_PROOF_REMOTELY = "generateProofRemotely", e.IS_RELAYER_OFF = "isRelayerOff", e.ONBOARDING_SHOWN = "onboardingShown", e.GAS_COST_TOKEN = "gasCostToken", e.PRIVATE_TOKENS = "privateTokens", e.ALCHEMY_PUBLIC_TOKENS = "alchemyPublicTokens", e.EVENTS_PUBLIC_TOKENS = "eventsPublicTokens", e.ARC_PUBLIC_TOKENS = "arcPublicTokens", e.TRON_PUBLIC_TOKENS = "tronPublicTokens", e.TEMPO_PUBLIC_TOKENS = "tempoPublicTokens", e.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS = "publicTokensLastProcessedBlocks", e.ACCEPTED_TERMS_OF_SERVICES = "acceptedTermsOfServices", e.SLIPPAGE_PERCENTAGE = "slippagePercentage", e.IS_SLIPPAGE_PERCENTAGE_CUSTOM = "isSlippagePercentageCustom", e.MNEMONIC_PHRASE = "mnemonicPhrase", e.SOURCE_MNEMONIC_PHRASE = "sourceMnemonicPhrase", e.SELECTED_WALLET_ENVIRONMENT = "selectedWalletEnvironment", e.IS_TOOLTIPS_ON = "isTooltipsOn", e.CONNECTED_ADDRESS = "connectedAddress", e.CONNECTED_SOLANA_ADDRESS = "connectedSolanaAddress", e.CONNECTED_SESSIONS = "connectedSessions", e.TX_ACTIVITY = "tx-activity", e.EVENTS_PUBLIC_APPROVALS = "eventsPublicApprovals", e.PUBLIC_APPROVALS_LAST_PROCESSED_BLOCKS = "publicApprovalsLastProcessedBlocks", e.ACTIVE_SUB_ACCOUNT = "activeSubAccount", e.SIGNED_MESSAGES = "signedMessages", e.AUTO_SHIELD_IS_ON = "autoShieldIsOn", e.MAX_GAS_IN_DOLLAR = "maxGasInDollar", e.PENDING_SOLANA_SIGNATURES = "pendingSolanaSignatures", e.STORAGE_KEY_LAST_SEEN_VERSION = "hinkalLastSeenVersion", e.HINKAL_GOOGLE_SESSION = "hinkalGoogleSession", e.IS_CREATE_NEW_PUBLIC_WALLET_ON = "isCreateNewPublicWalletOn", e.DISGUISED_AS_METAMASK_HOSTS = "disguisedAsMetamaskHosts", e.CHAIN_ID_FILTER = "chainIdFilter", e.SIGNATURE = "signature", e.PUBLIC_ACCOUNT_DETAILS = "publicAccountDetails", e.IS_NEW_ACCOUNT_MANAGEMENT_SYSTEM = "isNewAccountManagementSystem", e.SUB_ACCOUNTS_REFRESH_TOKEN = "subAccountsRefreshToken", e.PRIVATE_SEND_NONCE = "privateSendNonce", e.SHOULD_SHOW_ANNOUNCEMENT_BANNER = "shouldShowAnnouncementBanner", e.LAST_SHIELD_TIME = "lastShieldTime", e.IS_TOUR_COMPLETED = "isTourCompleted", e.TOUR_CURRENT_STEP = "tourCurrentStep", e.REVOKE_APPROVALS_IN_PROGRESS = "revokeApprovalsInProgress", e.IS_DEPRECATED_CACHE_CLEARED = "isDeprecatedCacheCleared", e.NFT_METADATA = "nftMetadata", e;
3
+ return e.LAST_IGNORED_DEPOSIT_BALANCE_1K = "lastIgnoredDepositBalance1K", e.LAST_IGNORED_DEPOSIT_BALANCE_10K = "lastIgnoredDepositBalance10K", e.LAST_IGNORED_DEPOSIT_SCAM_TOKENS = "lastIgnoredDepositScamTokens", e.LAST_IGNORED_DEPOSIT_TRANSACTIONS = "lastIgnoredDepositTransactions", e.LOCAL_STORAGE_KEY_USER_ANALYTICS_CONSENT = "userAnalyticsConsentPref", e.PASSWORD_HASH = "passwordHash", e.LAST_ADDRESS = "lastAddress", e.AUTO_LOCK_TIME = "autoLockTime", e.TOKEN_REGISTRY = "tokenRegistry", e.IS_BALANCE_HIDDEN = "isBalanceHidden", e.TRANSACTION_STATUS = "transactionStatus", e.SELECTED_SUB_ACCOUNT_ADDRESS = "selectedSubAccountAddress", e.GENERATE_PROOF_REMOTELY = "generateProofRemotely", e.IS_RELAYER_OFF = "isRelayerOff", e.ONBOARDING_SHOWN = "onboardingShown", e.GAS_COST_TOKEN = "gasCostToken", e.PRIVATE_TOKENS = "privateTokens", e.ALCHEMY_PUBLIC_TOKENS = "alchemyPublicTokens", e.EVENTS_PUBLIC_TOKENS = "eventsPublicTokens", e.ARC_PUBLIC_TOKENS = "arcPublicTokens", e.TRON_PUBLIC_TOKENS = "tronPublicTokens", e.TEMPO_PUBLIC_TOKENS = "tempoPublicTokens", e.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS = "publicTokensLastProcessedBlocks", e.ACCEPTED_TERMS_OF_SERVICES = "acceptedTermsOfServices", e.SLIPPAGE_PERCENTAGE = "slippagePercentage", e.IS_SLIPPAGE_PERCENTAGE_CUSTOM = "isSlippagePercentageCustom", e.MNEMONIC_PHRASE = "mnemonicPhrase", e.SOURCE_MNEMONIC_PHRASE = "sourceMnemonicPhrase", e.SELECTED_WALLET_ENVIRONMENT = "selectedWalletEnvironment", e.IS_TOOLTIPS_ON = "isTooltipsOn", e.CONNECTED_ADDRESS = "connectedAddress", e.CONNECTED_SOLANA_ADDRESS = "connectedSolanaAddress", e.CONNECTED_SESSIONS = "connectedSessions", e.TX_ACTIVITY = "tx-activity", e.EVENTS_PUBLIC_APPROVALS = "eventsPublicApprovals", e.PUBLIC_APPROVALS_LAST_PROCESSED_BLOCKS = "publicApprovalsLastProcessedBlocks", e.ACTIVE_SUB_ACCOUNT = "activeSubAccount", e.SIGNED_MESSAGES = "signedMessages", e.AUTO_SHIELD_IS_ON = "autoShieldIsOn", e.MAX_GAS_IN_DOLLAR = "maxGasInDollar", e.PENDING_SOLANA_SIGNATURES = "pendingSolanaSignatures", e.STORAGE_KEY_LAST_SEEN_VERSION = "hinkalLastSeenVersion", e.HINKAL_GOOGLE_SESSION = "hinkalGoogleSession", e.IS_CREATE_NEW_PUBLIC_WALLET_ON = "isCreateNewPublicWalletOn", e.DISGUISED_AS_METAMASK_HOSTS = "disguisedAsMetamaskHosts", e.CHAIN_ID_FILTER = "chainIdFilter", e.SIGNATURE = "signature", e.PUBLIC_ACCOUNT_DETAILS = "publicAccountDetails", e.IS_NEW_ACCOUNT_MANAGEMENT_SYSTEM = "isNewAccountManagementSystem", e.SUB_ACCOUNTS_REFRESH_TOKEN = "subAccountsRefreshToken", e.PRIVATE_SEND_NONCE = "privateSendNonce", e.SHOULD_SHOW_ANNOUNCEMENT_BANNER = "shouldShowAnnouncementBanner", e.LAST_SHIELD_TIME = "lastShieldTime", e.IS_TOUR_COMPLETED = "isTourCompleted", e.TOUR_CURRENT_STEP = "tourCurrentStep", e.REVOKE_APPROVALS_IN_PROGRESS = "revokeApprovalsInProgress", e.IS_DEPRECATED_CACHE_CLEARED = "isDeprecatedCacheCleared", e.NFT_METADATA = "nftMetadata", e.SCHEDULED_TRANSACTIONS = "scheduledTransactions", e;
4
4
  }({});
5
5
  //#endregion
6
6
  export { e as StorageKeys };
@@ -2,7 +2,6 @@ import { ethers } from 'ethers';
2
2
  import { Types as TronWebTypes } from 'tronweb';
3
3
  import { ERC20Token } from './token.types';
4
4
  import { ExternalActionId } from './external-action.types';
5
- import { FeeStructure } from './hinkal.types';
6
5
  export type FailedResponse = {
7
6
  success: false;
8
7
  error: string;
@@ -52,9 +51,9 @@ export type DepositResponse = {
52
51
  success: true;
53
52
  txData: DepositTxData;
54
53
  } | FailedResponse;
55
- export type FeeStructureResponse = {
54
+ export type FeeResponse = {
56
55
  success: true;
57
- feeStructure: FeeStructure<string>;
56
+ feeAmount: string;
58
57
  } | FailedResponse;
59
58
  export type GetSwapDataResponse = {
60
59
  success: true;
@@ -30,6 +30,7 @@ export interface ContractData {
30
30
  emporiumAddress?: string;
31
31
  hinkalWalletAddress?: string;
32
32
  originalDeployer?: string;
33
+ timelockAddress?: string;
33
34
  }
34
35
  export interface EthereumNetwork {
35
36
  name: string;
@@ -3,3 +3,4 @@ export type EventProcessorFunction = (events: BlockchainEvent[], scannedToBlock?
3
3
  export declare enum EventCategory {
4
4
  MainContractEvents = "MainContractEvents"
5
5
  }
6
+ export type AccountChangedListener = () => void;
@@ -50,6 +50,7 @@ export interface NearBridgeLeg {
50
50
  }
51
51
  export interface NearBridgeResult {
52
52
  depositTxHash: string;
53
+ scheduleId: string;
53
54
  legs: NearBridgeLeg[];
54
55
  }
55
56
  export interface NearBridgeQuoteResult {
@@ -1,6 +1,11 @@
1
1
  export type HandshakeResponseType = {
2
2
  public_key: string;
3
3
  };
4
+ export type EnclaveHandshake = {
5
+ keyCiphertext: string;
6
+ inputCiphertext: string;
7
+ key: Uint8Array;
8
+ };
4
9
  export type RemoteProofType = {
5
10
  pi_a: string[];
6
11
  pi_b: string[][];
@@ -167,11 +167,30 @@ export interface PreparedJobType {
167
167
  jobId: string;
168
168
  signedMessageHash: string;
169
169
  }
170
- export interface PrepareTxResponseType extends PreparedJobType {
170
+ export interface EnclaveWitnessPreimage {
171
+ rootHashHinkal: string;
172
+ outTimeStamp: string;
173
+ outH1Ax: string;
174
+ outH1Ay: string;
175
+ h0Ax: string;
176
+ h0Ay: string;
177
+ outAmounts: string[][];
178
+ outNoteH0Ax: string[][];
179
+ outNoteH0Ay: string[][];
180
+ messageSeed: string;
181
+ encryptedOutputs: string[][];
182
+ onChainEncryptedOutput: string;
183
+ inAmounts: string[][];
184
+ inH0Ax: string[][];
185
+ inH0Ay: string[][];
186
+ inTimeStamps: string[][];
187
+ }
188
+ export interface PrepareTxResponseType extends PreparedJobType, EnclaveWitnessPreimage {
171
189
  request: EchoedPrepareTxRequestType;
172
190
  }
173
- export interface PrepareSolanaTxResponseType extends PreparedJobType {
191
+ export interface PrepareSolanaTxResponseType extends PreparedJobType, EnclaveWitnessPreimage {
174
192
  request: EchoedPrepareSolanaTxRequestType;
193
+ dimensions: DimDataType;
175
194
  }
176
195
  export interface PrepareStuckWithdrawRequestType {
177
196
  chainId: number;
@@ -197,8 +216,11 @@ export interface EchoedPrepareStuckWithdrawRequestType {
197
216
  };
198
217
  hashedEthereumAddress: string;
199
218
  }
219
+ export interface PreparedStuckWithdrawJobType extends PreparedJobType, EnclaveWitnessPreimage {
220
+ dimensions: DimDataType;
221
+ }
200
222
  export interface PrepareStuckWithdrawResponseType {
201
- jobs: PreparedJobType[];
223
+ jobs: PreparedStuckWithdrawJobType[];
202
224
  request: EchoedPrepareStuckWithdrawRequestType;
203
225
  }
204
226
  export interface PrepareSolanaStuckWithdrawParams {
@@ -215,8 +237,19 @@ export interface PrepareSolanaStuckWithdrawRequestType extends Omit<PrepareSolan
215
237
  nullifyingKey: string;
216
238
  spendingPublicKey: [string, string];
217
239
  }
240
+ export interface EchoedPrepareSolanaStuckWithdrawRequestType {
241
+ chainId: string;
242
+ mintAddress: string;
243
+ recipient: string;
244
+ relayAddress: string;
245
+ signer: string;
246
+ accounts: SolanaTransactAccounts;
247
+ feeStructures: Record<string, RemoteFeeStructureRequest>;
248
+ hashedEthereumAddress: string;
249
+ }
218
250
  export interface PrepareSolanaStuckWithdrawResponseType {
219
- jobs: PreparedJobType[];
251
+ jobs: PreparedStuckWithdrawJobType[];
252
+ request: EchoedPrepareSolanaStuckWithdrawRequestType;
220
253
  }
221
254
  export interface FinalizeTxRequestType {
222
255
  jobId: string;
@@ -30,6 +30,24 @@ export interface ScheduledTransactionResponseItem {
30
30
  destinationTokenAddress?: string;
31
31
  destinationTokenAmount?: string;
32
32
  }
33
+ export interface ScheduledTransactionCacheLeg {
34
+ scheduledTime: string;
35
+ status: ScheduledTransactionStatus;
36
+ txHash: string | null;
37
+ externalAddress: string;
38
+ amount: string;
39
+ destinationChainId?: number;
40
+ destinationTokenAddress?: string;
41
+ destinationTokenAmount?: string;
42
+ }
43
+ export interface ScheduledTransactionCacheEntry {
44
+ scheduleId: string;
45
+ depositTxHash: string;
46
+ chainId: number;
47
+ erc20TokenAddress: string;
48
+ createdAt: string;
49
+ legs: ScheduledTransactionCacheLeg[];
50
+ }
33
51
  export interface RecipientUtxo {
34
52
  recipientAddress: string;
35
53
  utxo: Utxo;
@@ -50,9 +50,6 @@ export interface SolanaTransactAccounts extends SolanaAccounts {
50
50
  mint?: string;
51
51
  }
52
52
  export interface SolanaSwapAccounts extends SolanaAccounts {
53
- storageAccount: string;
54
- storageVault: string;
55
- swapperAccount: string;
56
53
  mintFrom: string | null;
57
54
  mintTo: string | null;
58
55
  remainingAccounts: OKXAccount[];
@@ -1,2 +1,2 @@
1
- const e=require(`./workerProxy-COB7g4Qc.js`);let t=require(`buffer`),n=require(`process`);n=e.c(n);let r=require(`circomlibjs-hinkal-fork`),i=require(`ethers`),a=require(`libsodium-wrappers`);a=e.c(a);let o=require(`@solana/web3.js`),s=require(`bs58`);s=e.c(s);let c=require(`tweetnacl`);c=e.c(c);let l=require(`tronweb`);var u=e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?`bigint:${t.toString()}`:t),d=e=>JSON.parse(e,(e,t)=>typeof t==`string`&&t.startsWith(`bigint:`)?BigInt(t.slice(7)):t),f=new class{babyjub=void 0;async init(){this.babyjub||=e.o?(0,r.buildBabyJubRN)():await(0,r.buildBabyjub)()}getJub(){return this.babyjub}},p=()=>f.getJub(),m=new class{eddsa=void 0;async init(){this.eddsa||=e.o?await(0,r.buildEddsaRN)():await(0,r.buildEddsa)()}getEddsa(){return this.eddsa}},h=()=>m.getEddsa();function g(e){return typeof e==`object`&&`toBigInt`in e?e.toBigInt():BigInt(e)}var _=new class{poseidon=void 0;async init(){this.poseidon||=e.o?(0,r.buildPoseidonRN)():await(0,r.buildPoseidon)()}getPoseidon(){return this.poseidon}};function v(...e){let t=_.getPoseidon();return g(t.F.toString(t(e)))}var y=(...e)=>{let t=_.getPoseidon();return i.ethers.toBeHex(t.F.toString(t([...e])))},b=async(e=!1)=>{(typeof window<`u`||typeof self<`u`)&&(typeof window<`u`&&(window.global=window),globalThis.Buffer=t.Buffer,globalThis.process=n.default),await Promise.all([a.default.ready,_.init(),f.init(),...e?[]:[m.init()]])};`${`00`.repeat(20)}`;var x=21888242871839275222246405745257275088548364400416034343698204186575808495617n,S=x/2n,C=2n**250n,w=200n,T=class{inMemoryCache=new Map;constructor(e){e&&this.mergeWithSerialized(e)}getInMemory(e){return this.inMemoryCache.get(e)??void 0}setInMemory(e,t){this.inMemoryCache.set(e,t)}deleteInMemory(e){this.inMemoryCache.delete(e)}mergeWithSerialized(e){Object.entries(e).forEach(([e,t])=>{this.set(e,d(t))})}},E=class extends T{isAttached=!1;get(e){return this.getInMemory(e)}set(e,t){this.setInMemory(e,t)}serialize(){return Object.fromEntries([...this.inMemoryCache].map(([e,t])=>[e,u(t)]))}attach(e){if(this.isAttached)throw Error(`can't reattach cache device`);return this.isAttached=!0,(...t)=>{let n=u(t),r=this.get(n);if(r!==void 0)return r;let i=e(...t);return this.set(n,i),i}}},D=e=>{if(e<0n||e>=21888242871839275222246405745257275088548364400416034343698204186575808495617n)throw RangeError();return e>S},O=e=>D(e)?1n:0n,k=new E,A=class{signature;nullifyingKey;PREFIX_FOR_SPENDING_PAIR=`1`;constructor(e,t){this.signature=e,this.nullifyingKey=t}getSignature(){return this.requireSignature(),this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error(`No signature provided`)}requireKeyMaterial(){if(!this.signature&&!this.nullifyingKey)throw Error(`No signature or private key provided`)}verifyTronMessage(e,t){return this.requireSignature(),t===l.Trx.verifyMessageV2(e,this.signature)}getShieldedPrivateKey=()=>{if(this.requireKeyMaterial(),!this.nullifyingKey){let e=BigInt(y(this.signature));this.nullifyingKey=i.ethers.toBeHex(e%C)}return this.nullifyingKey};getShieldedPrivateKeySeed=()=>i.ethers.keccak256(this.getShieldedPrivateKey());getShieldedPublicKey=()=>(this.requireKeyMaterial(),y(this.getShieldedPrivateKey()));getSpendingKeyPair=()=>{this.requireSignature();let e=h(),t=p(),n=y(this.PREFIX_FOR_SPENDING_PAIR,this.getSignature()),r=Buffer.from(i.ethers.getBytes(n)),a=e.prv2pub(r);return{privSpendingKey:n,pubSpendingBJJPoint:[BigInt(t.F.toString(a[0])),BigInt(t.F.toString(a[1]))]}};signEddsa=e=>{this.requireSignature();let t=p(),n=h(),r=Buffer.from(i.ethers.getBytes(this.getSpendingKeyPair().privSpendingKey)),a=t.F.e(e),o=n.signPoseidon(r,a);return{R8:[BigInt(t.F.toString(o.R8[0])),BigInt(t.F.toString(o.R8[1]))],S:BigInt(o.S)}};getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`))};getClaimableSignatureFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-claimable-utxo-signature:${t}`))};getNearIntentsAccountId=()=>{this.requireKeyMaterial();let e=o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKeySeed()));return i.ethers.hexlify(e.publicKey.toBytes()).slice(2)};getNearIntentsKeyPairString=()=>{this.requireKeyMaterial();let e=o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKeySeed()));return`ed25519:${s.default.encode(e.secretKey)}`};getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{let t=this.getSignerPrivateKeyFromNonce(e),n=i.ethers.getBytes(t),r=o.Keypair.fromSeed(n);return s.default.encode(r.secretKey)};verifyMessage(e){return this.requireSignature(),i.ethers.verifyMessage(e,this.signature)}verifySolanaMessage(e,t){this.requireSignature();let n=new TextEncoder().encode(e),r=i.ethers.getBytes(this.signature),a=new o.PublicKey(t).toBytes();return c.default.sign.detached.verify(n,r,a)}static getRandomizedStealthPair=k.attach((e,t)=>{let n=p(),r=n.mulPointEscalar(n.Base8,e),i=n.mulPointEscalar(r,BigInt(t));return{H0:[BigInt(n.F.toString(r[0])),BigInt(n.F.toString(r[1]))],H1:[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))]}});static getH1FromH0=(e,t)=>{let n=p(),r=[n.F.e(e[0]),n.F.e(e[1])],i=n.mulPointEscalar(r,BigInt(t));return[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))]};static verifyStealthPair=(e,t,n,r=!0)=>{let i=this.getH1FromH0(e,n);return r?i[1]===t[1]:i===t};static getStealthAddress=(e,t,n)=>{if(n?.length!==2)throw Error(`Spending public key must be an array of 2 elements`);let r=this.getH1FromH0(e,t);return y(2n*O(e[0])+O(r[0]),e[1],r[1],n[0],n[1],t)};static findCorrectRandomization(e,t){if(!t)throw Error(`No Private Shielded Key Provided`);let n=BigInt(t),r,i,a=0n;do r=e*10n**a%x,i=r*n%x,a+=1n;while(i>=2n**250n||r>=2n**250n);return r}static getH0FromRandomization=e=>{let t=p(),n=t.mulPointEscalar(t.Base8,e);return[BigInt(t.F.toString(n[0])),BigInt(t.F.toString(n[1]))]};static findH0(e,t){if(!t)return;let{H0:n}=this.getRandomizedStealthPair(e,t);return n}static getEncryptionKeyPair=e=>{let t=a.default.crypto_box_seed_keypair(i.ethers.getBytes(i.ethers.keccak256(e)));return{privateKey:i.ethers.hexlify(t.privateKey),publicKey:i.ethers.hexlify(t.publicKey)}};getAccessKey=()=>(this.requireKeyMaterial(),y(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getBackendToken=()=>(this.requireKeyMaterial(),y(this.getAccessKey(),this.getShieldedPublicKey()))},j={WC_NO_MATCHING_KEY:`creating the transaction failed
1
+ const e=require(`./workerProxy-BHzCZ9HT.js`);let t=require(`buffer`),n=require(`process`);n=e.c(n);let r=require(`circomlibjs-hinkal-fork`),i=require(`ethers`),a=require(`libsodium-wrappers`);a=e.c(a);let o=require(`@solana/web3.js`),s=require(`bs58`);s=e.c(s);let c=require(`tweetnacl`);c=e.c(c);let l=require(`tronweb`);var u=e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?`bigint:${t.toString()}`:t),d=e=>JSON.parse(e,(e,t)=>typeof t==`string`&&t.startsWith(`bigint:`)?BigInt(t.slice(7)):t),f=new class{babyjub=void 0;async init(){this.babyjub||=e.o?(0,r.buildBabyJubRN)():await(0,r.buildBabyjub)()}getJub(){return this.babyjub}},p=()=>f.getJub(),m=new class{eddsa=void 0;async init(){this.eddsa||=e.o?await(0,r.buildEddsaRN)():await(0,r.buildEddsa)()}getEddsa(){return this.eddsa}},h=()=>m.getEddsa();function g(e){return typeof e==`object`&&`toBigInt`in e?e.toBigInt():BigInt(e)}var _=new class{poseidon=void 0;async init(){this.poseidon||=e.o?(0,r.buildPoseidonRN)():await(0,r.buildPoseidon)()}getPoseidon(){return this.poseidon}};function v(...e){let t=_.getPoseidon();return g(t.F.toString(t(e)))}var y=(...e)=>{let t=_.getPoseidon();return i.ethers.toBeHex(t.F.toString(t([...e])))},b=async(e=!1)=>{(typeof window<`u`||typeof self<`u`)&&(typeof window<`u`&&(window.global=window),globalThis.Buffer=t.Buffer,globalThis.process=n.default),await Promise.all([a.default.ready,_.init(),f.init(),...e?[]:[m.init()]])};`${`00`.repeat(20)}`;var x=21888242871839275222246405745257275088548364400416034343698204186575808495617n,S=x/2n,C=2n**250n,w=200n,T=class{inMemoryCache=new Map;constructor(e){e&&this.mergeWithSerialized(e)}getInMemory(e){return this.inMemoryCache.get(e)??void 0}setInMemory(e,t){this.inMemoryCache.set(e,t)}deleteInMemory(e){this.inMemoryCache.delete(e)}mergeWithSerialized(e){Object.entries(e).forEach(([e,t])=>{this.set(e,d(t))})}},E=class extends T{isAttached=!1;get(e){return this.getInMemory(e)}set(e,t){this.setInMemory(e,t)}serialize(){return Object.fromEntries([...this.inMemoryCache].map(([e,t])=>[e,u(t)]))}attach(e){if(this.isAttached)throw Error(`can't reattach cache device`);return this.isAttached=!0,(...t)=>{let n=u(t),r=this.get(n);if(r!==void 0)return r;let i=e(...t);return this.set(n,i),i}}},D=e=>{if(e<0n||e>=21888242871839275222246405745257275088548364400416034343698204186575808495617n)throw RangeError();return e>S},O=e=>D(e)?1n:0n,k=new E,A=class{signature;nullifyingKey;PREFIX_FOR_SPENDING_PAIR=`1`;constructor(e,t){this.signature=e,this.nullifyingKey=t}getSignature(){return this.requireSignature(),this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error(`No signature provided`)}requireKeyMaterial(){if(!this.signature&&!this.nullifyingKey)throw Error(`No signature or private key provided`)}verifyTronMessage(e,t){return this.requireSignature(),t===l.Trx.verifyMessageV2(e,this.signature)}getShieldedPrivateKey=()=>{if(this.requireKeyMaterial(),!this.nullifyingKey){let e=BigInt(y(this.signature));this.nullifyingKey=i.ethers.toBeHex(e%C)}return this.nullifyingKey};getShieldedPrivateKeySeed=()=>i.ethers.keccak256(this.getShieldedPrivateKey());getShieldedPublicKey=()=>(this.requireKeyMaterial(),y(this.getShieldedPrivateKey()));getSpendingKeyPair=()=>{this.requireSignature();let e=h(),t=p(),n=y(this.PREFIX_FOR_SPENDING_PAIR,this.getSignature()),r=Buffer.from(i.ethers.getBytes(n)),a=e.prv2pub(r);return{privSpendingKey:n,pubSpendingBJJPoint:[BigInt(t.F.toString(a[0])),BigInt(t.F.toString(a[1]))]}};signEddsa=e=>{this.requireSignature();let t=p(),n=h(),r=Buffer.from(i.ethers.getBytes(this.getSpendingKeyPair().privSpendingKey)),a=t.F.e(e),o=n.signPoseidon(r,a);return{R8:[BigInt(t.F.toString(o.R8[0])),BigInt(t.F.toString(o.R8[1]))],S:BigInt(o.S)}};getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`))};getClaimableSignatureFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-claimable-utxo-signature:${t}`))};getNearIntentsAccountId=()=>{this.requireKeyMaterial();let e=o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKeySeed()));return i.ethers.hexlify(e.publicKey.toBytes()).slice(2)};getNearIntentsKeyPairString=()=>{this.requireKeyMaterial();let e=o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKeySeed()));return`ed25519:${s.default.encode(e.secretKey)}`};getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{let t=this.getSignerPrivateKeyFromNonce(e),n=i.ethers.getBytes(t),r=o.Keypair.fromSeed(n);return s.default.encode(r.secretKey)};verifyMessage(e){return this.requireSignature(),i.ethers.verifyMessage(e,this.signature)}verifySolanaMessage(e,t){this.requireSignature();let n=new TextEncoder().encode(e),r=i.ethers.getBytes(this.signature),a=new o.PublicKey(t).toBytes();return c.default.sign.detached.verify(n,r,a)}static getRandomizedStealthPair=k.attach((e,t)=>{let n=p(),r=n.mulPointEscalar(n.Base8,e),i=n.mulPointEscalar(r,BigInt(t));return{H0:[BigInt(n.F.toString(r[0])),BigInt(n.F.toString(r[1]))],H1:[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))]}});static getH1FromH0=(e,t)=>{let n=p(),r=[n.F.e(e[0]),n.F.e(e[1])],i=n.mulPointEscalar(r,BigInt(t));return[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))]};static verifyStealthPair=(e,t,n,r=!0)=>{let i=this.getH1FromH0(e,n);return r?i[1]===t[1]:i===t};static getStealthAddress=(e,t,n)=>{if(n?.length!==2)throw Error(`Spending public key must be an array of 2 elements`);let r=this.getH1FromH0(e,t);return y(2n*O(e[0])+O(r[0]),e[1],r[1],n[0],n[1],t)};static findCorrectRandomization(e,t){if(!t)throw Error(`No Private Shielded Key Provided`);let n=BigInt(t),r,i,a=0n;do r=e*10n**a%x,i=r*n%x,a+=1n;while(i>=2n**250n||r>=2n**250n);return r}static getH0FromRandomization=e=>{let t=p(),n=t.mulPointEscalar(t.Base8,e);return[BigInt(t.F.toString(n[0])),BigInt(t.F.toString(n[1]))]};static findH0(e,t){if(!t)return;let{H0:n}=this.getRandomizedStealthPair(e,t);return n}static getEncryptionKeyPair=e=>{let t=a.default.crypto_box_seed_keypair(i.ethers.getBytes(i.ethers.keccak256(e)));return{privateKey:i.ethers.hexlify(t.privateKey),publicKey:i.ethers.hexlify(t.publicKey)}};getAccessKey=()=>(this.requireKeyMaterial(),y(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getBackendToken=()=>(this.requireKeyMaterial(),y(this.getAccessKey(),this.getShieldedPublicKey()))},j={WC_NO_MATCHING_KEY:`creating the transaction failed
2
2
  version`,CONNECTION_PROBLEM:`Failed to connect wallet. Please try again.`,REQUEST_PENDING:`request of type 'wallet_requestpermissions' already pending for origin`},M={INSUFFICIENT_FUNDS:`Insufficient funds`,INSUFFICIENT_FUNDS_WITHDRAW:`Not enough funds to withdraw`,INSUFFICIENT_FUNDS_TRANSFER:`Not enough funds to transfer`,INSUFFICIENT_FUNDS_TO_TRANSACT:`Not enough funds to transact`,INSUFFICIENT_FUNDS_GAS:`Insufficient funds for gas * price`,INSUFFICIENT_TRON_BALANCE_FOR_FEE:`Insufficient TRX balance to cover transfer amount and transaction fee reserve`,INSUFFICIENT_SOL_BALANCE:`Insufficient SOL balance`},N={GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT:`Skipped shielding due to gas fee exceeding your limit.`,AUTO_SHIELD_INSUFFICIENT_GAS:`Auto-Shield skipped due to insufficient gas.`};({...j,...M,...N});var P=e=>BigInt(i.ethers.hexlify(i.ethers.randomBytes(e))),F=()=>Math.floor(Date.now()/1e3),I=class t{amount;erc20TokenAddress;mintAddress;timeStamp;nullifyingKey;spendingPublicKey;H0;stealthAddress;encryptionKey;commitment;nullifier;isBlocked;constructor({amount:e,erc20TokenAddress:t,mintAddress:n,timeStamp:r,nullifyingKey:i,spendingPublicKey:a,randomization:o,H0:s,stealthAddress:c,encryptionKey:l,commitment:u=void 0,nullifier:d=void 0,isBlocked:f=!1}){if(this.amount=e,this.erc20TokenAddress=t,this.mintAddress=n,this.timeStamp=r??F().toString(),this.nullifyingKey=i,this.spendingPublicKey=a,this.stealthAddress=c,this.encryptionKey=l,this.commitment=u,this.nullifier=d,this.isBlocked=f,s!==void 0)this.H0=s;else{let e=o??(i?A.findCorrectRandomization(P(31),i):void 0);if(this.H0=e?A.findH0(e,i):void 0,!this.H0)throw Error(`UTXO requires H0 or nullifyingKey`)}}static createFrom(e,n){return new t({...e.getConstructableParams(),nullifier:void 0,commitment:void 0,...n})}getConstructableParams(){return{amount:this.amount,erc20TokenAddress:this.erc20TokenAddress,mintAddress:this.mintAddress,timeStamp:this.timeStamp,nullifyingKey:this.nullifyingKey,spendingPublicKey:this.spendingPublicKey,stealthAddress:this.stealthAddress,encryptionKey:this.encryptionKey,commitment:this.commitment,nullifier:this.nullifier,isBlocked:this.isBlocked,H0:this.H0}}getBasicUtxoParams(){return{amount:this.amount,erc20TokenAddress:this.erc20TokenAddress,mintAddress:this.mintAddress,timeStamp:this.timeStamp,stealthAddress:this.stealthAddress,commitment:this.commitment,nullifier:this.nullifier,isBlocked:this.isBlocked,H0:this.H0}}getCommitment(){if(!this.commitment){let e=[this.amount,this.erc20TokenAddress,BigInt(this.getStealthAddress()),this.timeStamp];this.commitment=y(...e)}return this.commitment}getNullifier(){if(!this.nullifier){if(!this.nullifyingKey)throw Error(`No Nullifiers if private key is not provided`);let e=this.getCommitment(),t=y(this.nullifyingKey,e);this.nullifier=y(e,t)}return this.nullifier}getStealthAddress(){if(!this.stealthAddress){if(!this.nullifyingKey)throw Error(`No stealth address in UTXO if private key is not provided`);if(!this.H0)throw Error(`No H0 point provided`);this.stealthAddress=A.getStealthAddress(this.H0,this.nullifyingKey,this.spendingPublicKey)}return this.stealthAddress}getTokenAddress(t){let n=e.r(t)?this.mintAddress:this.erc20TokenAddress;if(!n)throw Error(`No token address provided`);return n}getEncryptionKey(){if(!this.nullifyingKey){if(!this.encryptionKey)throw Error(`No encryption key provided in UTXO`);return this.encryptionKey}return A.getEncryptionKeyPair(this.nullifyingKey).publicKey}},L=()=>a.default.crypto_box_SEALBYTES+a.default.crypto_secretbox_KEYBYTES,R=e=>{let t=a.default.crypto_secretbox_NONCEBYTES,n=L(),r=0,i=e[r];r+=1;let o=e.slice(r,r+t);r+=t;let s=[];for(let t=0;t<i;t+=1)s.push(e.slice(r,r+n)),r+=n;return{nonce:o,sealedKeys:s,ciphertext:e.slice(r)}},z=(e,t,n,r)=>{let{nonce:o,sealedKeys:s,ciphertext:c}=R(e),l=a.default.crypto_box_seal_open(s[r],i.ethers.getBytes(n),i.ethers.getBytes(t)),u=a.default.crypto_secretbox_open_easy(c,o,l);return Buffer.from(u)},B=(e,t)=>{let{privateKey:n,publicKey:r}=A.getEncryptionKeyPair(t.getShieldedPrivateKey()),i=z(e,n,r,0),a=Buffer.from(i).toString(`utf-8`).split(`0x`).filter(e=>e.length!==0),s=e=>BigInt(`0x${e}`),c=e=>`0x${e}`,l=a[7]?c(a[7]):void 0,u=l?new o.PublicKey(Buffer.from(l.slice(2),`hex`)).toString():void 0;return{amount:s(a[0]),erc20TokenAddress:c(a[1]),stealthAddress:c(a[2]),nullifyingKey:t.getShieldedPrivateKey(),timeStamp:s(a[3]).toString(),H0:[s(a[4]),s(a[5])],mintAddress:u}},V=(e,t)=>new I(B(e,t)),H=(...t)=>{e.a&&console.log(...t)};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return y}});
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hinkal/common",
3
- "version": "0.3.9",
3
+ "version": "0.3.10",
4
4
  "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
@@ -94,7 +94,6 @@
94
94
  "dotenv": "16.4.5",
95
95
  "ethers": "6.17.0",
96
96
  "idb-keyval": "6.3.0",
97
- "multiformats": "9.4.2",
98
97
  "snarkjs": "0.7.6",
99
98
  "libsodium-wrappers": "0.8.4",
100
99
  "lodash": "4.18.1",
@@ -1 +1 @@
1
- var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/snarkjsWorkerLauncher-BaHmr7vX.js`).href:new URL(`../../../../assets/snarkjsWorkerLauncher-BaHmr7vX.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
1
+ var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/snarkjsWorkerLauncher-47LZCNfa.js`).href:new URL(`../../../../assets/snarkjsWorkerLauncher-47LZCNfa.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
@@ -1,4 +1,4 @@
1
1
  //#region libs/shared/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url
2
- var e = "" + new URL("../../../../assets/snarkjsWorkerLauncher-BaHmr7vX.js", import.meta.url).href;
2
+ var e = "" + new URL("../../../../assets/snarkjsWorkerLauncher-47LZCNfa.js", import.meta.url).href;
3
3
  //#endregion
4
4
  export { e as default };
@@ -1 +1 @@
1
- const e=require(`./workerProxy-COB7g4Qc.js`);let t=require(`buffer`),n=require(`process`);n=e.c(n);let r=require(`worker_threads`),i=require(`snarkjs`);i=e.c(i);let a=require(`axios`);a=e.c(a);var o=new class{axiosInstance;constructor(){this.axiosInstance=a.default.create()}async get(e,t){return(await this.axiosInstance.get(e,t)).data}async post(e,t,n){return(await this.axiosInstance.post(e,t,n)).data}async put(e,t,n){return(await this.axiosInstance.put(e,t,n)).data}async patch(e,t,n){return(await this.axiosInstance.patch(e,t,n)).data}async delete(e,t){return(await this.axiosInstance.delete(e,t)).data}},s={setHttpClient:e=>{o=e},get:(e,t)=>o.get(e,t),post:(e,t,n)=>o.post(e,t,n),put:(e,t,n)=>o.put(e,t,n),patch:(e,t,n)=>o.patch(e,t,n),delete:(e,t)=>o.delete(e,t)},c=new e.t,l=async e=>new Uint8Array(await s.get(e,{responseType:`arraybuffer`})),u=async t=>{try{let{input:n,wasmFilePath:r,zKeyFilePath:a,chainId:o}=t.payload.data,{hostLocation:{origin:s},constants:{isDevelopment:u,chains:{chainIds:d}}}=t.metadata,f=r,p=a,m,h,g=f.startsWith(`https://`);if(e.i&&!g){e.s?(f=`libs/hardhat/test/circuits/${r}`,p=`libs/hardhat/test/circuits/${a}`):!e.s&&u&&(o===e.n.solanaLocalnet?(f=`tests/circuits/${r}`,p=`tests/circuits/${a}`):(f=`test/circuits/${r}`,p=`test/circuits/${a}`));let t=require(`path`);f=t.resolve(f),p=t.resolve(p);let n=require(`fs`);m=await n.promises.readFile(f),h=await n.promises.readFile(p)}e.i&&g?(m=await l(f),h=await l(p)):(o===d.localhost||o===e.n.solanaLocalnet||o===d.tronLocalnet)&&!e.i&&(f=`${s}/${r}`,p=`${s}/${a}`);let{proof:_,publicSignals:v}=await i.groth16.fullProve(n,m??f,h??p,void 0,void 0,e.i?{singleThread:!0}:void 0),y=await i.groth16.exportSolidityCallData(_,v),b=JSON.parse(`[${y}]`);c.postMessageToMainThread({zkCallData:b,proof:_,publicSignals:v})}catch(e){console.error(e),c.postErrorToMainThread(e)}};globalThis.process=n.default,globalThis.Buffer=t.Buffer,r.parentPort.on(`message`,async e=>{await u(e)});
1
+ const e=require(`./workerProxy-BHzCZ9HT.js`);let t=require(`buffer`),n=require(`process`);n=e.c(n);let r=require(`worker_threads`),i=require(`snarkjs`);i=e.c(i);let a=require(`axios`);a=e.c(a);var o=new class{axiosInstance;constructor(){this.axiosInstance=a.default.create()}async get(e,t){return(await this.axiosInstance.get(e,t)).data}async post(e,t,n){return(await this.axiosInstance.post(e,t,n)).data}async put(e,t,n){return(await this.axiosInstance.put(e,t,n)).data}async patch(e,t,n){return(await this.axiosInstance.patch(e,t,n)).data}async delete(e,t){return(await this.axiosInstance.delete(e,t)).data}},s={setHttpClient:e=>{o=e},get:(e,t)=>o.get(e,t),post:(e,t,n)=>o.post(e,t,n),put:(e,t,n)=>o.put(e,t,n),patch:(e,t,n)=>o.patch(e,t,n),delete:(e,t)=>o.delete(e,t)},c=new e.t,l=async e=>new Uint8Array(await s.get(e,{responseType:`arraybuffer`})),u=async t=>{try{let{input:n,wasmFilePath:r,zKeyFilePath:a,chainId:o}=t.payload.data,{hostLocation:{origin:s},constants:{isDevelopment:u,chains:{chainIds:d}}}=t.metadata,f=r,p=a,m,h,g=f.startsWith(`https://`);if(e.i&&!g){e.s?(f=`libs/hardhat/test/circuits/${r}`,p=`libs/hardhat/test/circuits/${a}`):!e.s&&u&&(o===e.n.solanaLocalnet?(f=`tests/circuits/${r}`,p=`tests/circuits/${a}`):(f=`test/circuits/${r}`,p=`test/circuits/${a}`));let t=require(`path`);f=t.resolve(f),p=t.resolve(p);let n=require(`fs`);m=await n.promises.readFile(f),h=await n.promises.readFile(p)}e.i&&g?(m=await l(f),h=await l(p)):(o===d.localhost||o===e.n.solanaLocalnet||o===d.tronLocalnet)&&!e.i&&(f=`${s}/${r}`,p=`${s}/${a}`);let{proof:_,publicSignals:v}=await i.groth16.fullProve(n,m??f,h??p,void 0,void 0,e.i?{singleThread:!0}:void 0),y=await i.groth16.exportSolidityCallData(_,v),b=JSON.parse(`[${y}]`);c.postMessageToMainThread({zkCallData:b,proof:_,publicSignals:v})}catch(e){console.error(e),c.postErrorToMainThread(e)}};globalThis.process=n.default,globalThis.Buffer=t.Buffer,r.parentPort.on(`message`,async e=>{await u(e)});
@@ -1 +1 @@
1
- var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/utxoWorkerLauncher-CxkzdfJX.js`).href:new URL(`../../../../assets/utxoWorkerLauncher-CxkzdfJX.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
1
+ var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/utxoWorkerLauncher-BUIa39gN.js`).href:new URL(`../../../../assets/utxoWorkerLauncher-BUIa39gN.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
@@ -1,4 +1,4 @@
1
1
  //#region libs/shared/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url
2
- var e = "" + new URL("../../../../assets/utxoWorkerLauncher-CxkzdfJX.js", import.meta.url).href;
2
+ var e = "" + new URL("../../../../assets/utxoWorkerLauncher-BUIa39gN.js", import.meta.url).href;
3
3
  //#endregion
4
4
  export { e as default };
@@ -1 +1 @@
1
- const e=require(`./workerProxy-COB7g4Qc.js`),t=require(`./logError-RKYfeI6h.js`);let n=require(`buffer`),r=require(`process`);r=e.c(r);let i=require(`worker_threads`),a=require(`ethers`),o=require(`@solana/web3.js`);var s=`solana-on-chain-utxo:`,c=9,l=e=>e.startsWith(s),u=e=>{if(!l(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=a.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[${c}]`],e.slice(21)),r=n;if(!Array.isArray(r)||r.length!==c)throw Error(`Malformed encoded Solana UTXO payload`);let[i,s,u,d,f,p,m,h,g]=r,_=BigInt(i),v=BigInt(d),y=BigInt(f),b=BigInt(p),x=BigInt(m),S=a.ethers.toBeHex(BigInt(h)),C=BigInt(g).toString(),w=Array.from(a.ethers.getBytes(s)),T=Array.from(a.ethers.getBytes(u)),E=new o.PublicKey(Uint8Array.from([...w.slice(16),...T.slice(16)])).toBase58();return{amount:_,erc20TokenAddress:t.u(BigInt(s),BigInt(u)),mintAddress:E,h0x:v,h0y:y,h1x:b,h1y:x,stealthAddress:S,timeStamp:C}},d=e=>{let[t]=a.ethers.AbiCoder.defaultAbiCoder().decode([`tuple(uint256, address, tuple(uint256, uint256, uint256, uint256, uint256), uint256)`,`bytes`],e);return{amount:BigInt(t[0]),erc20TokenAddress:t[1],h0x:BigInt(t[2][0]),h0y:BigInt(t[2][1]),h1x:BigInt(t[2][2]),h1y:BigInt(t[2][3]),stealthAddress:a.ethers.toBeHex(BigInt(t[2][4])),timeStamp:BigInt(t[3]).toString()}},f=(n,r,i)=>{let{h0x:a,h0y:o,h1x:s,h1y:c}=e.r(i)?u(n):d(n),l=t.a.verifyStealthPair([a,o],[s,c],r);if(!l)throw Error(`UTXO doesn't belong to user`);return l},p=(t,n,r)=>{if(e.r(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,h0x:a,h0y:o,stealthAddress:s,timeStamp:c}=u(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:c,nullifyingKey:n,stealthAddress:s,H0:[a,o]}}let{amount:i,erc20TokenAddress:a,timeStamp:o,h0x:s,h0y:c,stealthAddress:l}=d(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,nullifyingKey:n,stealthAddress:l,H0:[s,c]}},m=class{static log(...t){e.a&&console.log(...t)}static logObject(t){e.a&&console.dir(t,{depth:null,colors:!0})}static error(...e){t.t(e)}},h=function(e){return e[e.BATCH_FILTER_UTXOS_WITH_NULLIFIER=0]=`BATCH_FILTER_UTXOS_WITH_NULLIFIER`,e[e.BUILD_UTXOS=1]=`BUILD_UTXOS`,e[e.DECIPHER_OUTPUTS=2]=`DECIPHER_OUTPUTS`,e}({}),g=new e.t,_=async({data:e})=>{let{utxos:n,nullifiers:r}=e,i=n.filter(e=>{let n=new t.i(e);return!r.has(n.getNullifier())});g.postMessageToMainThread({utxoConstructors:i,stealthPairCache:t.o.serialize()})},v=async({data:e})=>{let n=new t.a(e.signature),r=n.getShieldedPrivateKey(),i=e.encryptedOutputs.map(i=>{try{let a=i.isPositive?t.r(Buffer.from(i.value.slice(2),`hex`),n):p(i.value,r,e.chainId);return a.isBlocked=i.isBlocked,a}catch{return}}).filter(e=>e!==void 0&&e.amount!==0n);g.postMessageToMainThread(i)},y=async({data:e})=>{let n=new t.a(e.signature),r=[],{encryptedOutputs:i}=e,{lastOutput:a}=e,o=n.getShieldedPrivateKey();for(let s=0;s<i.length;s+=1){let c=i[s];if(a=c.value,c.isPositive)try{let e=t.n(Buffer.from(a.slice(2),`hex`),n);if(e.isBlocked=c.isBlocked,!e.erc20TokenAddress||!e.amount||!e.stealthAddress)throw Error(`bruh`);r.push(c)}catch{}else try{f(a,o,e.chainId)&&r.push(c)}catch{}}g.postMessageToMainThread({additionalEncryptedOutputs:r,lastOutput:a})},b=async e=>{try{await t.c(!0);let{type:n}=e.payload;switch(n){case h.BATCH_FILTER_UTXOS_WITH_NULLIFIER:await _(e.payload);return;case h.BUILD_UTXOS:await v(e.payload);return;case h.DECIPHER_OUTPUTS:await y(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){m.error(`utxo worker message failed`,e),g.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,i.parentPort.on(`message`,async e=>{await b(e)});
1
+ const e=require(`./workerProxy-BHzCZ9HT.js`),t=require(`./logError-CIIt1CO3.js`);let n=require(`buffer`),r=require(`process`);r=e.c(r);let i=require(`worker_threads`),a=require(`ethers`),o=require(`@solana/web3.js`);var s=`solana-on-chain-utxo:`,c=9,l=e=>e.startsWith(s),u=e=>{if(!l(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=a.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[${c}]`],e.slice(21)),r=n;if(!Array.isArray(r)||r.length!==c)throw Error(`Malformed encoded Solana UTXO payload`);let[i,s,u,d,f,p,m,h,g]=r,_=BigInt(i),v=BigInt(d),y=BigInt(f),b=BigInt(p),x=BigInt(m),S=a.ethers.toBeHex(BigInt(h)),C=BigInt(g).toString(),w=Array.from(a.ethers.getBytes(s)),T=Array.from(a.ethers.getBytes(u)),E=new o.PublicKey(Uint8Array.from([...w.slice(16),...T.slice(16)])).toBase58();return{amount:_,erc20TokenAddress:t.u(BigInt(s),BigInt(u)),mintAddress:E,h0x:v,h0y:y,h1x:b,h1y:x,stealthAddress:S,timeStamp:C}},d=e=>{let[t]=a.ethers.AbiCoder.defaultAbiCoder().decode([`tuple(uint256, address, tuple(uint256, uint256, uint256, uint256, uint256), uint256)`,`bytes`],e);return{amount:BigInt(t[0]),erc20TokenAddress:t[1],h0x:BigInt(t[2][0]),h0y:BigInt(t[2][1]),h1x:BigInt(t[2][2]),h1y:BigInt(t[2][3]),stealthAddress:a.ethers.toBeHex(BigInt(t[2][4])),timeStamp:BigInt(t[3]).toString()}},f=(n,r,i)=>{let{h0x:a,h0y:o,h1x:s,h1y:c}=e.r(i)?u(n):d(n),l=t.a.verifyStealthPair([a,o],[s,c],r);if(!l)throw Error(`UTXO doesn't belong to user`);return l},p=(t,n,r)=>{if(e.r(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,h0x:a,h0y:o,stealthAddress:s,timeStamp:c}=u(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:c,nullifyingKey:n,stealthAddress:s,H0:[a,o]}}let{amount:i,erc20TokenAddress:a,timeStamp:o,h0x:s,h0y:c,stealthAddress:l}=d(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,nullifyingKey:n,stealthAddress:l,H0:[s,c]}},m=class{static log(...t){e.a&&console.log(...t)}static logObject(t){e.a&&console.dir(t,{depth:null,colors:!0})}static error(...e){t.t(e)}},h=function(e){return e[e.BATCH_FILTER_UTXOS_WITH_NULLIFIER=0]=`BATCH_FILTER_UTXOS_WITH_NULLIFIER`,e[e.BUILD_UTXOS=1]=`BUILD_UTXOS`,e[e.DECIPHER_OUTPUTS=2]=`DECIPHER_OUTPUTS`,e}({}),g=new e.t,_=async({data:e})=>{let{utxos:n,nullifiers:r}=e,i=n.filter(e=>{let n=new t.i(e);return!r.has(n.getNullifier())});g.postMessageToMainThread({utxoConstructors:i,stealthPairCache:t.o.serialize()})},v=async({data:e})=>{let n=new t.a(e.signature),r=n.getShieldedPrivateKey(),i=e.encryptedOutputs.map(i=>{try{let a=i.isPositive?t.r(Buffer.from(i.value.slice(2),`hex`),n):p(i.value,r,e.chainId);return a.isBlocked=i.isBlocked,a}catch{return}}).filter(e=>e!==void 0&&e.amount!==0n);g.postMessageToMainThread(i)},y=async({data:e})=>{let n=new t.a(e.signature),r=[],{encryptedOutputs:i}=e,{lastOutput:a}=e,o=n.getShieldedPrivateKey();for(let s=0;s<i.length;s+=1){let c=i[s];if(a=c.value,c.isPositive)try{let e=t.n(Buffer.from(a.slice(2),`hex`),n);if(e.isBlocked=c.isBlocked,!e.erc20TokenAddress||!e.amount||!e.stealthAddress)throw Error(`bruh`);r.push(c)}catch{}else try{f(a,o,e.chainId)&&r.push(c)}catch{}}g.postMessageToMainThread({additionalEncryptedOutputs:r,lastOutput:a})},b=async e=>{try{await t.c(!0);let{type:n}=e.payload;switch(n){case h.BATCH_FILTER_UTXOS_WITH_NULLIFIER:await _(e.payload);return;case h.BUILD_UTXOS:await v(e.payload);return;case h.DECIPHER_OUTPUTS:await y(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){m.error(`utxo worker message failed`,e),g.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,i.parentPort.on(`message`,async e=>{await b(e)});
@@ -2,9 +2,9 @@
2
2
  const domain = 'https://wallet-prodv12.hinkal.io/workers';
3
3
 
4
4
  const WORKER_CDN_URLS = {
5
- ZKProof: domain + '/0.3.9/' + 'zkProofWorkerLauncher.js',
6
- SnarkJS: domain + '/0.3.9/' + 'snarkjsWorkerLauncher.js',
7
- UTXO: domain + '/0.3.9/' + 'utxoWorkerLauncher.js',
5
+ ZKProof: domain + '/0.3.10/' + 'zkProofWorkerLauncher.js',
6
+ SnarkJS: domain + '/0.3.10/' + 'snarkjsWorkerLauncher.js',
7
+ UTXO: domain + '/0.3.10/' + 'utxoWorkerLauncher.js',
8
8
  };
9
9
 
10
10
  // Returns a blob:// URL which points
@@ -2,9 +2,9 @@
2
2
  const domain = 'https://wallet-prodv12.hinkal.io/workers';
3
3
 
4
4
  const WORKER_CDN_URLS = {
5
- ZKProof: domain + '/0.3.9/' + 'zkProofWorkerLauncher.js',
6
- SnarkJS: domain + '/0.3.9/' + 'snarkjsWorkerLauncher.js',
7
- UTXO: domain + '/0.3.9/' + 'utxoWorkerLauncher.js',
5
+ ZKProof: domain + '/0.3.10/' + 'zkProofWorkerLauncher.js',
6
+ SnarkJS: domain + '/0.3.10/' + 'snarkjsWorkerLauncher.js',
7
+ UTXO: domain + '/0.3.10/' + 'utxoWorkerLauncher.js',
8
8
  };
9
9
 
10
10
  // Returns a blob:// URL which points