@hinkal/common 0.2.20 → 0.2.22

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 (516) hide show
  1. package/API/API.cjs +1 -1
  2. package/API/API.d.ts +14 -14
  3. package/API/API.mjs +88 -87
  4. package/API/admin-calls.cjs +1 -1
  5. package/API/admin-calls.d.ts +1 -1
  6. package/API/admin-calls.mjs +4 -4
  7. package/API/ai-calls.cjs +1 -0
  8. package/API/ai-calls.d.ts +17 -0
  9. package/API/ai-calls.mjs +21 -0
  10. package/API/callLifiAPI.cjs +1 -1
  11. package/API/callLifiAPI.d.ts +1 -1
  12. package/API/callLifiAPI.mjs +5 -5
  13. package/API/callMonitor.cjs +1 -1
  14. package/API/callMonitor.d.ts +1 -1
  15. package/API/callMonitor.mjs +7 -7
  16. package/API/callOdosAPI.cjs +1 -1
  17. package/API/callOdosAPI.mjs +11 -11
  18. package/API/callOkxAPI.cjs +1 -1
  19. package/API/callOkxAPI.d.ts +1 -1
  20. package/API/callOkxAPI.mjs +5 -5
  21. package/API/callOneInchAPI.cjs +1 -1
  22. package/API/callOneInchAPI.mjs +11 -10
  23. package/API/callRelayer.cjs +1 -1
  24. package/API/callRelayer.d.ts +5 -6
  25. package/API/callRelayer.mjs +11 -11
  26. package/API/checkRisk.cjs +1 -1
  27. package/API/checkRisk.d.ts +1 -1
  28. package/API/checkRisk.mjs +4 -4
  29. package/API/deposit-and-withdraw-status-calls.cjs +1 -0
  30. package/API/deposit-and-withdraw-status-calls.d.ts +20 -0
  31. package/API/deposit-and-withdraw-status-calls.mjs +18 -0
  32. package/API/duneAPI.cjs +1 -0
  33. package/API/duneAPI.d.ts +11 -0
  34. package/API/duneAPI.mjs +25 -0
  35. package/API/enclaveCalls.cjs +1 -1
  36. package/API/enclaveCalls.mjs +4 -5
  37. package/API/fetchCommitmentsCache.cjs +1 -1
  38. package/API/fetchCommitmentsCache.mjs +9 -9
  39. package/API/get-token-data.cjs +1 -1
  40. package/API/get-token-data.d.ts +1 -1
  41. package/API/get-token-data.mjs +5 -5
  42. package/API/getBridgeProtocols.cjs +1 -0
  43. package/API/getBridgeProtocols.d.ts +7 -0
  44. package/API/getBridgeProtocols.mjs +8 -0
  45. package/API/getGasEstimates.cjs +1 -1
  46. package/API/getGasEstimates.mjs +9 -9
  47. package/API/getLifiStatus.cjs +1 -0
  48. package/API/getLifiStatus.d.ts +24 -0
  49. package/API/getLifiStatus.mjs +15 -0
  50. package/API/getRelayerURL.cjs +1 -0
  51. package/API/getRelayerURL.d.ts +1 -0
  52. package/API/getRelayerURL.mjs +10 -0
  53. package/API/getServerURL.cjs +1 -1
  54. package/API/getServerURL.d.ts +3 -3
  55. package/API/getServerURL.mjs +67 -51
  56. package/API/getTokenPrice.cjs +1 -1
  57. package/API/getTokenPrice.d.ts +0 -5
  58. package/API/getTokenPrice.mjs +7 -14
  59. package/API/index.d.ts +3 -1
  60. package/API/is-tx-stateless.cjs +1 -1
  61. package/API/is-tx-stateless.d.ts +1 -1
  62. package/API/is-tx-stateless.mjs +12 -10
  63. package/API/kycCalls.cjs +1 -1
  64. package/API/kycCalls.d.ts +8 -4
  65. package/API/kycCalls.mjs +26 -23
  66. package/API/passwordCalls.cjs +1 -0
  67. package/API/passwordCalls.d.ts +9 -0
  68. package/API/passwordCalls.mjs +13 -0
  69. package/API/proxyAccountsCalls.cjs +1 -1
  70. package/API/proxyAccountsCalls.d.ts +2 -7
  71. package/API/proxyAccountsCalls.mjs +21 -27
  72. package/API/relayCalls.cjs +1 -1
  73. package/API/relayCalls.mjs +4 -4
  74. package/API/restoreSnapshots.cjs +1 -0
  75. package/API/restoreSnapshots.d.ts +1 -0
  76. package/API/restoreSnapshots.mjs +10 -0
  77. package/API/scheduled-transactions-calls.cjs +1 -1
  78. package/API/scheduled-transactions-calls.d.ts +9 -1
  79. package/API/scheduled-transactions-calls.mjs +9 -5
  80. package/API/simulate-batch-tx.cjs +1 -1
  81. package/API/simulate-batch-tx.d.ts +2 -2
  82. package/API/simulate-batch-tx.mjs +6 -7
  83. package/API/solana-calls.cjs +1 -1
  84. package/API/solana-calls.d.ts +3 -6
  85. package/API/solana-calls.mjs +15 -15
  86. package/API/temporaryWalletCalls.cjs +1 -1
  87. package/API/temporaryWalletCalls.mjs +19 -13
  88. package/API/token-calls.cjs +1 -1
  89. package/API/token-calls.mjs +5 -6
  90. package/README.md +61 -32
  91. package/constants/chains.constants.cjs +1 -1
  92. package/constants/chains.constants.d.ts +6 -0
  93. package/constants/chains.constants.mjs +52 -58
  94. package/constants/coingecko.constants.cjs +1 -1
  95. package/constants/coingecko.constants.d.ts +0 -1
  96. package/constants/coingecko.constants.mjs +10 -11
  97. package/constants/deploy-data/deploy-data-solana.json.cjs +1 -1
  98. package/constants/deploy-data/deploy-data-solana.json.mjs +2 -28
  99. package/constants/function-signatures.constants.cjs +1 -1
  100. package/constants/function-signatures.constants.d.ts +1 -0
  101. package/constants/function-signatures.constants.mjs +4 -3
  102. package/constants/kyc.constants.cjs +1 -1
  103. package/constants/kyc.constants.mjs +40 -39
  104. package/constants/mediaUrls.constants.cjs +1 -1
  105. package/constants/mediaUrls.constants.d.ts +0 -1
  106. package/constants/mediaUrls.constants.mjs +1 -2
  107. package/constants/permit2.constants.cjs +1 -1
  108. package/constants/permit2.constants.d.ts +1 -0
  109. package/constants/permit2.constants.mjs +11 -10
  110. package/constants/server.constants.cjs +1 -1
  111. package/constants/server.constants.d.ts +123 -19
  112. package/constants/server.constants.mjs +142 -38
  113. package/constants/vite.constants.cjs +1 -1
  114. package/constants/vite.constants.mjs +13 -36
  115. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +1 -1
  116. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +71 -68
  117. package/data-structures/Hinkal/Hinkal.cjs +1 -1
  118. package/data-structures/Hinkal/Hinkal.d.ts +56 -45
  119. package/data-structures/Hinkal/Hinkal.mjs +348 -314
  120. package/data-structures/Hinkal/IHinkal.d.ts +54 -40
  121. package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  122. package/data-structures/Hinkal/handleAutoDepositBack.d.ts +1 -1
  123. package/data-structures/Hinkal/handleAutoDepositBack.mjs +49 -48
  124. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.cjs +1 -0
  125. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.d.ts +7 -0
  126. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.mjs +42 -0
  127. package/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
  128. package/data-structures/Hinkal/hinkalActionReceive.mjs +24 -29
  129. package/data-structures/Hinkal/hinkalApprove.cjs +1 -0
  130. package/data-structures/Hinkal/hinkalApprove.d.ts +3 -0
  131. package/data-structures/Hinkal/hinkalApprove.mjs +114 -0
  132. package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -1
  133. package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +20 -20
  134. package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  135. package/data-structures/Hinkal/hinkalDeposit.mjs +84 -88
  136. package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  137. package/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +1 -1
  138. package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +96 -77
  139. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
  140. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +4 -1
  141. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +80 -75
  142. package/data-structures/Hinkal/hinkalDepostAndBridge.cjs +1 -1
  143. package/data-structures/Hinkal/hinkalDepostAndBridge.d.ts +1 -1
  144. package/data-structures/Hinkal/hinkalDepostAndBridge.mjs +150 -138
  145. package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +1 -1
  146. package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +5 -4
  147. package/data-structures/Hinkal/hinkalInsideTransact.cjs +1 -0
  148. package/data-structures/Hinkal/hinkalInsideTransact.d.ts +4 -0
  149. package/data-structures/Hinkal/hinkalInsideTransact.mjs +119 -0
  150. package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  151. package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +2 -2
  152. package/data-structures/Hinkal/hinkalPrivateWallet.mjs +118 -114
  153. package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  154. package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +34 -36
  155. package/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
  156. package/data-structures/Hinkal/hinkalProxySwap.mjs +36 -40
  157. package/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  158. package/data-structures/Hinkal/hinkalProxyToPrivate.mjs +32 -37
  159. package/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -1
  160. package/data-structures/Hinkal/hinkalSignSubAccount.d.ts +2 -1
  161. package/data-structures/Hinkal/hinkalSignSubAccount.mjs +15 -17
  162. package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  163. package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +3 -4
  164. package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +95 -84
  165. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  166. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +1 -2
  167. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +182 -155
  168. package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
  169. package/data-structures/Hinkal/hinkalSolanaProxySend.d.ts +3 -2
  170. package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +40 -43
  171. package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  172. package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +67 -71
  173. package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  174. package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +1 -1
  175. package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +59 -63
  176. package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  177. package/data-structures/Hinkal/hinkalSolanaSwap.mjs +45 -48
  178. package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  179. package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +48 -49
  180. package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  181. package/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +1 -2
  182. package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +68 -71
  183. package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  184. package/data-structures/Hinkal/hinkalSwap.mjs +78 -71
  185. package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  186. package/data-structures/Hinkal/hinkalTransfer.mjs +70 -71
  187. package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  188. package/data-structures/Hinkal/hinkalWithdraw.mjs +79 -81
  189. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  190. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +103 -105
  191. package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  192. package/data-structures/Hinkal/resetMerkleTrees.d.ts +1 -1
  193. package/data-structures/Hinkal/resetMerkleTrees.mjs +53 -107
  194. package/data-structures/IndexedDB/activity-db.cjs +1 -1
  195. package/data-structures/IndexedDB/activity-db.d.ts +0 -1
  196. package/data-structures/IndexedDB/activity-db.mjs +75 -91
  197. package/data-structures/IndexedDB/balances-db.cjs +1 -1
  198. package/data-structures/IndexedDB/balances-db.mjs +37 -40
  199. package/data-structures/IndexedDB/contact-db.cjs +1 -1
  200. package/data-structures/IndexedDB/contact-db.mjs +13 -16
  201. package/data-structures/IndexedDB/signatures-db.cjs +1 -1
  202. package/data-structures/IndexedDB/signatures-db.mjs +40 -25
  203. package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  204. package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +84 -82
  205. package/data-structures/TokenDBs/token-visibility-db.cjs +1 -1
  206. package/data-structures/TokenDBs/token-visibility-db.mjs +36 -22
  207. package/data-structures/crypto-keys/keys.cjs +1 -1
  208. package/data-structures/crypto-keys/keys.d.ts +11 -0
  209. package/data-structures/crypto-keys/keys.mjs +107 -47
  210. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.cjs +1 -1
  211. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.d.ts +2 -3
  212. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.mjs +9 -9
  213. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.cjs +1 -1
  214. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.d.ts +2 -3
  215. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.mjs +5 -5
  216. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.cjs +1 -1
  217. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.d.ts +2 -3
  218. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.mjs +6 -6
  219. package/data-structures/event-service/evm/AbstractEventService.cjs +1 -1
  220. package/data-structures/event-service/evm/AbstractEventService.d.ts +2 -4
  221. package/data-structures/event-service/evm/AbstractEventService.mjs +19 -19
  222. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.cjs +1 -1
  223. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.d.ts +3 -3
  224. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.mjs +5 -6
  225. package/data-structures/event-service/evm/AbstractSnapshotService.cjs +1 -1
  226. package/data-structures/event-service/evm/AbstractSnapshotService.d.ts +2 -1
  227. package/data-structures/event-service/evm/AbstractSnapshotService.mjs +4 -3
  228. package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  229. package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +5 -10
  230. package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +35 -39
  231. package/data-structures/event-service/index.d.ts +0 -4
  232. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.cjs +1 -1
  233. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.d.ts +2 -3
  234. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs +6 -6
  235. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +1 -1
  236. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.d.ts +3 -4
  237. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +8 -8
  238. package/data-structures/event-service/solana/AbstractSolanaEventService.cjs +1 -1
  239. package/data-structures/event-service/solana/AbstractSolanaEventService.d.ts +10 -4
  240. package/data-structures/event-service/solana/AbstractSolanaEventService.mjs +7 -10
  241. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.cjs +1 -1
  242. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.d.ts +2 -3
  243. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.mjs +1 -1
  244. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.cjs +1 -1
  245. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.d.ts +2 -1
  246. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +2 -1
  247. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
  248. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +16 -11
  249. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +66 -64
  250. package/data-structures/index.d.ts +0 -3
  251. package/data-structures/provider-adapter/IProviderAdapter.d.ts +13 -8
  252. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -1
  253. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +4 -6
  254. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +1 -1
  255. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +4 -6
  256. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -1
  257. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +4 -6
  258. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -1
  259. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +4 -6
  260. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +1 -1
  261. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +4 -6
  262. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -1
  263. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +4 -5
  264. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -1
  265. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +4 -6
  266. package/error-handling/error-codes.constants.cjs +1 -1
  267. package/error-handling/error-codes.constants.d.ts +0 -1
  268. package/error-handling/error-codes.constants.mjs +3 -4
  269. package/error-handling/get-error.message.cjs +1 -1
  270. package/error-handling/get-error.message.mjs +27 -21
  271. package/error-handling/handleErrorRestore.cjs +1 -0
  272. package/error-handling/handleErrorRestore.d.ts +2 -0
  273. package/error-handling/handleErrorRestore.mjs +11 -0
  274. package/error-handling/index.d.ts +1 -0
  275. package/functions/kyc/authentoHelper.cjs +1 -0
  276. package/functions/kyc/authentoHelper.d.ts +12 -0
  277. package/functions/kyc/authentoHelper.mjs +30 -0
  278. package/functions/kyc/zkMeHelper.cjs +1 -1
  279. package/functions/kyc/zkMeHelper.mjs +17 -18
  280. package/functions/pre-transaction/constructAdminData.cjs +1 -1
  281. package/functions/pre-transaction/constructAdminData.d.ts +2 -2
  282. package/functions/pre-transaction/constructAdminData.mjs +18 -12
  283. package/functions/pre-transaction/getExternalSwapAddress.cjs +1 -1
  284. package/functions/pre-transaction/getExternalSwapAddress.d.ts +2 -1
  285. package/functions/pre-transaction/getExternalSwapAddress.mjs +8 -8
  286. package/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
  287. package/functions/pre-transaction/getVolatileTransferAmount.mjs +36 -21
  288. package/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -1
  289. package/functions/pre-transaction/merge-with-fee-structure-emporium.d.ts +1 -1
  290. package/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +17 -17
  291. package/functions/pre-transaction/outputApprovalDataProcessing.cjs +1 -1
  292. package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +9 -1
  293. package/functions/pre-transaction/outputApprovalDataProcessing.mjs +34 -19
  294. package/functions/pre-transaction/sendV0Transaction.cjs +1 -1
  295. package/functions/pre-transaction/sendV0Transaction.mjs +50 -53
  296. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +1 -1
  297. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +1 -1
  298. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +4 -4
  299. package/functions/private-wallet/emporium.helpers.cjs +1 -1
  300. package/functions/private-wallet/emporium.helpers.d.ts +6 -3
  301. package/functions/private-wallet/emporium.helpers.mjs +127 -89
  302. package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  303. package/functions/private-wallet/emporium.swap.helpers.d.ts +4 -1
  304. package/functions/private-wallet/emporium.swap.helpers.mjs +102 -100
  305. package/functions/snarkjs/constructEmporiumProof.cjs +1 -1
  306. package/functions/snarkjs/constructEmporiumProof.mjs +49 -49
  307. package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  308. package/functions/snarkjs/constructSolanaZkProof.mjs +20 -18
  309. package/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -1
  310. package/functions/snarkjs/fetchMerkleTreeSiblings.mjs +10 -11
  311. package/functions/utils/addresses.cjs +1 -1
  312. package/functions/utils/addresses.d.ts +0 -1
  313. package/functions/utils/addresses.mjs +12 -13
  314. package/functions/utils/cacheFunctions.cjs +1 -1
  315. package/functions/utils/cacheFunctions.mjs +2 -2
  316. package/functions/utils/create-provider.cjs +1 -1
  317. package/functions/utils/create-provider.d.ts +1 -1
  318. package/functions/utils/create-provider.mjs +9 -13
  319. package/functions/utils/get-hinkal-approvals.cjs +1 -0
  320. package/functions/utils/get-hinkal-approvals.d.ts +3 -0
  321. package/functions/utils/get-hinkal-approvals.mjs +38 -0
  322. package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  323. package/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -1
  324. package/functions/utils/getUtxosFromReceipt.utils.mjs +11 -11
  325. package/functions/utils/index.d.ts +1 -0
  326. package/functions/utils/involves-permit2-op.cjs +1 -1
  327. package/functions/utils/involves-permit2-op.d.ts +1 -0
  328. package/functions/utils/involves-permit2-op.mjs +6 -4
  329. package/functions/utils/mutexes.utils.cjs +1 -1
  330. package/functions/utils/mutexes.utils.d.ts +1 -1
  331. package/functions/utils/mutexes.utils.mjs +3 -3
  332. package/functions/utils/nftTokenFunctions.cjs +1 -1
  333. package/functions/utils/nftTokenFunctions.mjs +23 -8
  334. package/functions/utils/prepareHinkal.cjs +1 -1
  335. package/functions/utils/prepareHinkal.d.ts +13 -6
  336. package/functions/utils/prepareHinkal.mjs +72 -45
  337. package/functions/utils/publicBalance.utils.cjs +1 -1
  338. package/functions/utils/publicBalance.utils.mjs +54 -49
  339. package/functions/utils/replaceAddressInCalldata.cjs +1 -0
  340. package/functions/utils/replaceAddressInCalldata.d.ts +1 -0
  341. package/functions/utils/replaceAddressInCalldata.mjs +7 -0
  342. package/functions/utils/string.utils.cjs +1 -1
  343. package/functions/utils/string.utils.d.ts +0 -1
  344. package/functions/utils/string.utils.mjs +14 -18
  345. package/functions/utils/token-check.utils.cjs +1 -1
  346. package/functions/utils/token-check.utils.d.ts +0 -3
  347. package/functions/utils/token-check.utils.mjs +7 -18
  348. package/functions/utils/upToDateState.cjs +1 -1
  349. package/functions/utils/upToDateState.d.ts +1 -1
  350. package/functions/utils/upToDateState.mjs +4 -4
  351. package/functions/utils/walletBalances.utils.cjs +1 -1
  352. package/functions/utils/walletBalances.utils.d.ts +17 -2
  353. package/functions/utils/walletBalances.utils.mjs +36 -5
  354. package/functions/web3/events/getApprovedBalance.cjs +1 -1
  355. package/functions/web3/events/getApprovedBalance.d.ts +4 -3
  356. package/functions/web3/events/getApprovedBalance.mjs +44 -39
  357. package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  358. package/functions/web3/events/getInputUtxoAndBalance.d.ts +3 -3
  359. package/functions/web3/events/getInputUtxoAndBalance.mjs +150 -129
  360. package/functions/web3/events/getShieldedBalance.cjs +2 -2
  361. package/functions/web3/events/getShieldedBalance.d.ts +1 -1
  362. package/functions/web3/events/getShieldedBalance.mjs +75 -73
  363. package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
  364. package/functions/web3/events/getTransactionLogEvents.mjs +38 -38
  365. package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
  366. package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +10 -13
  367. package/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
  368. package/functions/web3/functionCalls/accessTokenCalls.d.ts +6 -1
  369. package/functions/web3/functionCalls/accessTokenCalls.mjs +21 -12
  370. package/functions/web3/functionCalls/approveToken.cjs +1 -1
  371. package/functions/web3/functionCalls/approveToken.d.ts +1 -1
  372. package/functions/web3/functionCalls/approveToken.mjs +46 -50
  373. package/functions/web3/functionCalls/approveTokensToHinkal.cjs +1 -1
  374. package/functions/web3/functionCalls/approveTokensToHinkal.d.ts +1 -1
  375. package/functions/web3/functionCalls/approveTokensToHinkal.mjs +6 -6
  376. package/functions/web3/functionCalls/estimateGasRelayer.cjs +1 -1
  377. package/functions/web3/functionCalls/estimateGasRelayer.d.ts +2 -1
  378. package/functions/web3/functionCalls/estimateGasRelayer.mjs +10 -10
  379. package/functions/web3/functionCalls/inHinkalApprovalCalls.cjs +1 -0
  380. package/functions/web3/functionCalls/inHinkalApprovalCalls.d.ts +5 -0
  381. package/functions/web3/functionCalls/inHinkalApprovalCalls.mjs +32 -0
  382. package/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
  383. package/functions/web3/functionCalls/transactCallDirect.d.ts +1 -1
  384. package/functions/web3/functionCalls/transactCallDirect.mjs +40 -36
  385. package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  386. package/functions/web3/functionCalls/transactCallRelayer.d.ts +3 -3
  387. package/functions/web3/functionCalls/transactCallRelayer.mjs +54 -54
  388. package/functions/web3/getContractMetadata.cjs +1 -1
  389. package/functions/web3/getContractMetadata.mjs +22 -17
  390. package/functions/web3/getPublicAddressBalance.cjs +1 -1
  391. package/functions/web3/getPublicAddressBalance.d.ts +1 -1
  392. package/functions/web3/getPublicAddressBalance.mjs +6 -6
  393. package/functions/web3/getTokenHolder.cjs +1 -1
  394. package/functions/web3/getTokenHolder.mjs +27 -27
  395. package/functions/web3/index.d.ts +0 -1
  396. package/functions/web3/lifiAPI.cjs +1 -1
  397. package/functions/web3/lifiAPI.d.ts +1 -1
  398. package/functions/web3/lifiAPI.mjs +12 -12
  399. package/functions/web3/odosAPI.cjs +1 -1
  400. package/functions/web3/odosAPI.mjs +19 -6
  401. package/functions/web3/okxAPI.cjs +1 -1
  402. package/functions/web3/okxAPI.mjs +13 -13
  403. package/functions/web3/oneInchAPI.cjs +1 -1
  404. package/functions/web3/oneInchAPI.mjs +20 -7
  405. package/functions/web3/runContractFunction.cjs +1 -1
  406. package/functions/web3/runContractFunction.mjs +56 -38
  407. package/functions/web3/uniswapAPI.cjs +1 -1
  408. package/functions/web3/uniswapAPI.mjs +34 -22
  409. package/index.cjs +1 -1
  410. package/index.mjs +922 -920
  411. package/package.json +2 -3
  412. package/providers/EthersProviderAdapter.cjs +1 -1
  413. package/providers/EthersProviderAdapter.d.ts +17 -10
  414. package/providers/EthersProviderAdapter.mjs +76 -45
  415. package/providers/SolanaProviderAdapter.cjs +1 -1
  416. package/providers/SolanaProviderAdapter.d.ts +11 -7
  417. package/providers/SolanaProviderAdapter.mjs +31 -16
  418. package/providers/WagmiProviderAdapter.cjs +1 -1
  419. package/providers/WagmiProviderAdapter.d.ts +17 -11
  420. package/providers/WagmiProviderAdapter.mjs +117 -86
  421. package/providers/prepareEthersHinkal.cjs +1 -1
  422. package/providers/prepareEthersHinkal.mjs +9 -14
  423. package/providers/prepareWagmiHinkal.cjs +1 -1
  424. package/providers/prepareWagmiHinkal.mjs +9 -15
  425. package/types/TransactionSimulator.types.d.ts +9 -2
  426. package/types/activities.types.d.ts +0 -2
  427. package/types/admin.types.cjs +1 -1
  428. package/types/admin.types.d.ts +6 -0
  429. package/types/admin.types.mjs +2 -2
  430. package/types/balances.types.d.ts +1 -0
  431. package/types/bridging.types.d.ts +29 -0
  432. package/types/cache.types.cjs +1 -1
  433. package/types/cache.types.d.ts +3 -6
  434. package/types/cache.types.mjs +1 -1
  435. package/types/coingecko.types.d.ts +0 -5
  436. package/types/duneAPI.types.d.ts +9 -0
  437. package/types/ethereum-network.types.d.ts +0 -1
  438. package/types/hinkal.types.cjs +1 -1
  439. package/types/hinkal.types.d.ts +1 -1
  440. package/types/hinkal.types.mjs +18 -18
  441. package/types/index.d.ts +2 -2
  442. package/types/proxy.types.d.ts +3 -6
  443. package/types/sandbox.types.cjs +1 -1
  444. package/types/sandbox.types.d.ts +39 -10
  445. package/types/sandbox.types.mjs +2 -2
  446. package/types/scheduled-transactions.types.cjs +1 -1
  447. package/types/scheduled-transactions.types.d.ts +6 -0
  448. package/types/scheduled-transactions.types.mjs +3 -2
  449. package/types/session.types.d.ts +0 -2
  450. package/types/solana.types.d.ts +0 -9
  451. package/types/token-prices.types.cjs +1 -1
  452. package/types/token-prices.types.d.ts +0 -7
  453. package/types/token-prices.types.mjs +2 -4
  454. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +1 -1
  455. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +1 -1
  456. package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
  457. package/webworker/utxoWorker/utxoWorkerLauncher.mjs +1 -1
  458. package/webworker/viteWorkerURL.constant.cjs +3 -3
  459. package/webworker/viteWorkerURL.constant.mjs +3 -3
  460. package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
  461. package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +1 -1
  462. package/API/get-token-price-chart-data.cjs +0 -1
  463. package/API/get-token-price-chart-data.d.ts +0 -16
  464. package/API/get-token-price-chart-data.mjs +0 -13
  465. package/API/onrampCalls.cjs +0 -1
  466. package/API/onrampCalls.d.ts +0 -20
  467. package/API/onrampCalls.mjs +0 -15
  468. package/API/unspent-utxos-calls.cjs +0 -1
  469. package/API/unspent-utxos-calls.d.ts +0 -26
  470. package/API/unspent-utxos-calls.mjs +0 -26
  471. package/data-structures/AccountActions/AccountActions.cjs +0 -1
  472. package/data-structures/AccountActions/AccountActions.d.ts +0 -18
  473. package/data-structures/AccountActions/AccountActions.mjs +0 -78
  474. package/data-structures/AccountActions/index.d.ts +0 -1
  475. package/data-structures/BlockchainEvent/BlockchainEvent.cjs +0 -1
  476. package/data-structures/BlockchainEvent/BlockchainEvent.d.ts +0 -14
  477. package/data-structures/BlockchainEvent/BlockchainEvent.mjs +0 -41
  478. package/data-structures/PublicBalance/PublicBalanceWatcher.cjs +0 -1
  479. package/data-structures/PublicBalance/PublicBalanceWatcher.d.ts +0 -20
  480. package/data-structures/PublicBalance/PublicBalanceWatcher.mjs +0 -124
  481. package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.cjs +0 -1
  482. package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.d.ts +0 -15
  483. package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.mjs +0 -64
  484. package/data-structures/PublicBalance/index.d.ts +0 -2
  485. package/data-structures/event-service/evm/ClientBlockchainEventEmitter.cjs +0 -1
  486. package/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +0 -11
  487. package/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +0 -21
  488. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.cjs +0 -1
  489. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.d.ts +0 -6
  490. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.mjs +0 -16
  491. package/data-structures/event-service/helpers/ClientEventHelper.cjs +0 -1
  492. package/data-structures/event-service/helpers/ClientEventHelper.d.ts +0 -11
  493. package/data-structures/event-service/helpers/ClientEventHelper.mjs +0 -26
  494. package/data-structures/event-service/helpers/PollingEventHelper.cjs +0 -1
  495. package/data-structures/event-service/helpers/PollingEventHelper.d.ts +0 -5
  496. package/data-structures/event-service/helpers/PollingEventHelper.mjs +0 -14
  497. package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.cjs +0 -1
  498. package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.d.ts +0 -11
  499. package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.mjs +0 -22
  500. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.cjs +0 -1
  501. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.d.ts +0 -6
  502. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.mjs +0 -16
  503. package/functions/utils/enum.utils.cjs +0 -1
  504. package/functions/utils/enum.utils.mjs +0 -14
  505. package/functions/utils/socket.utils.cjs +0 -1
  506. package/functions/utils/socket.utils.d.ts +0 -1
  507. package/functions/utils/socket.utils.mjs +0 -12
  508. package/functions/web3/crypto.cjs +0 -1
  509. package/functions/web3/crypto.d.ts +0 -1
  510. package/functions/web3/crypto.mjs +0 -7
  511. package/types/events.types.cjs +0 -1
  512. package/types/events.types.d.ts +0 -9
  513. package/types/events.types.mjs +0 -5
  514. package/types/onramp.types.cjs +0 -1
  515. package/types/onramp.types.d.ts +0 -58
  516. package/types/onramp.types.mjs +0 -4
@@ -1,9 +1,10 @@
1
- import { ApprovedUtxo, ApprovedUtxoWithInteractionAddress, FeeStructure } from '../../types/hinkal.types';
2
- import { ContractType, EthereumNetwork } from '../../types/ethereum-network.types';
1
+ import { ApprovedUtxo, ApprovedUtxoWithInteractionAddress, FeeStructure, type ParsedInLogicMetadata } from '../../types/hinkal.types';
2
+ import { ContractMetadata, ContractType, EthereumNetwork } from '../../types/ethereum-network.types';
3
3
  import { EncryptedOutputWithSign } from '../../types/commitments.types';
4
4
  import { ExternalActionId } from '../../types/external-action.types';
5
5
  import { type IMultiThreadedUtxoUtils } from '../../types/IMultiThreadedUtxoUtils';
6
6
  import { RelayerTransaction } from '../../types/relayer.types';
7
+ import { SignatureData } from '../../types/crypto.types';
7
8
  import { ERC20Token, PrivateRecipientInfo, TokenBalance, TokenChanges } from '../../types/token.types';
8
9
  import { Bytes, ethers } from 'ethers';
9
10
  import { type UserKeys } from '../crypto-keys/keys';
@@ -22,74 +23,87 @@ export interface IHinkal<ConnectorType = unknown> {
22
23
  userKeys: UserKeys;
23
24
  readonly signingMessage: string;
24
25
  readonly privateTransferSigningMessage: string;
25
- merkleTreeHinkalByChain: Record<number, MerkleTree<bigint>>;
26
- merkleTreeAccessTokenByChain: Record<number, MerkleTree<bigint>>;
27
- nullifiersByChain: Record<number, Set<string>>;
28
- encryptedOutputsByChain: Record<number, EncryptedOutputWithSign[]>;
29
- approvalsByChain: Record<number, Map<string, ApprovedUtxo[]>>;
30
- commitmentsSnapshotServiceByChain: Record<number, ClientCommitmentsSnapshotService | ClientSolanaCommitmentsSnapshotService | undefined>;
31
- nullifierSnapshotServiceByChain: Record<number, ClientNullifierSnapshotService | ClientSolanaNullifierSnapshotService | undefined>;
32
- accessTokenSnapshotServiceByChain: Record<number, ClientAccessTokenSnapshotService | ClientSolanaAccessTokenSnapshotService | undefined>;
33
- approvalsSnapshotServiceByChain: Record<number, ClientApprovalsSnapshotService | undefined>;
26
+ merkleTreeHinkal: MerkleTree<bigint>;
27
+ merkleTreeAccessToken: MerkleTree<bigint>;
28
+ nullifiers: Set<string>;
29
+ encryptedOutputs: EncryptedOutputWithSign[];
30
+ approvals: Map<string, ApprovedUtxo[]>;
31
+ commitmentsSnapshotService?: ClientCommitmentsSnapshotService | ClientSolanaCommitmentsSnapshotService;
32
+ nullifierSnapshotService?: ClientNullifierSnapshotService | ClientSolanaNullifierSnapshotService;
33
+ accessTokenSnapshotService?: ClientAccessTokenSnapshotService | ClientSolanaAccessTokenSnapshotService;
34
+ approvalsSnapshotService?: ClientApprovalsSnapshotService;
34
35
  generateProofRemotely: boolean;
35
36
  utxoUtils: IMultiThreadedUtxoUtils;
36
37
  cacheDevice: ICacheDevice;
37
38
  getBalances(chainId: number, passedShieldedPrivateKey: string, passedShieldedPublicKey: string, ethAddress: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<Map<string, TokenBalance>>;
38
- getApprovedBalances(chainId: number, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<Map<string, TokenBalance>>;
39
- getTotalBalance(chainId: number, userKeys?: UserKeys, ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<TokenBalance[]>;
40
- getStuckShieldedBalances(chainId: number, ethAddress?: string): Promise<TokenBalance[]>;
39
+ getApprovedBalances(resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<Map<string, TokenBalance>>;
40
+ getTotalBalance(chainId?: number, userKeys?: UserKeys, ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<TokenBalance[]>;
41
+ getStuckShieldedBalances(chainId?: number, userKeys?: UserKeys, ethAddress?: string): Promise<TokenBalance[]>;
41
42
  getSupportedPassportLinks(): string[];
42
- checkAccessToken(chainId: number): Promise<boolean>;
43
- getSupportedChains(): number[];
43
+ checkAccessToken(): Promise<boolean>;
44
44
  getEthereumAddress(): Promise<string>;
45
- getEthereumAddressByChain(chainId: number): Promise<string>;
46
- getHinkalTreeRootHash(chainId: number): Promise<bigint>;
47
- getAccessTokenTreeRootHash(chainId: number): Promise<bigint>;
45
+ getHinkalTreeRootHash(): Promise<bigint>;
46
+ getAccessTokenTreeRootHash(): Promise<bigint>;
48
47
  resetMerkleTreesIfNecessary(): Promise<void>;
49
- resetMerkle(chainIds?: number[]): Promise<void>;
48
+ resetMerkle(): Promise<void>;
50
49
  getEventsFromHinkal(): Promise<void>;
51
- getRandomRelay(chainId: number, markAsPending?: boolean): Promise<string | undefined>;
52
- getGasPrice(chainId: number): Promise<bigint>;
50
+ mintHinkalAccessToken(signatureData: SignatureData, fromWallet?: boolean): Promise<ethers.ContractTransaction>;
51
+ getRandomRelay(markAsPending?: boolean): Promise<string | undefined>;
52
+ getGasPrice(): Promise<bigint>;
53
53
  getAPI(): IAPI;
54
+ resetCache(): void;
54
55
  snapshotsClearInterval(): void;
55
- checkTokenRegistry(chainId: number, erc20Addresses: string[], amountChanges: bigint[]): Promise<boolean>;
56
+ checkTokenRegistry(erc20Addresses: string[], amountChanges: bigint[]): Promise<boolean>;
56
57
  getRecipientInfo(): string;
57
- getApprovedUtxos(chainId: number, resetCacheBefore?: boolean): ApprovedUtxoWithInteractionAddress[];
58
- getApprovedUtxosForToken(erc20Address: string, chainId: number, resetCacheBefore?: boolean): ApprovedUtxoWithInteractionAddress[];
58
+ getInteractionApprovals(interactionAddress: string): Promise<ApprovedUtxo[]>;
59
+ getApprovedUtxos(resetCacheBefore?: boolean): ApprovedUtxoWithInteractionAddress[];
60
+ getApprovedUtxosForToken(erc20Address: string, resetCacheBefore?: boolean): ApprovedUtxoWithInteractionAddress[];
61
+ getMyApprovalAmountForInteraction(interactionAddress: string, tokenAddress: string): bigint;
62
+ checkExistingApprovalFromHinkal(erc20Address: string, interactionAddress: string): Promise<bigint>;
63
+ getBufferEntry(approveTo: string, tokenAddress: string, inHinkalAddress: bigint): Promise<bigint>;
59
64
  deposit(erc20Tokens: ERC20Token[], amountChanges: bigint[]): Promise<ethers.ContractTransaction>;
60
65
  depositForOther(erc20Tokens: ERC20Token[], amountChanges: bigint[], recepinetInfo: string): Promise<ethers.ContractTransaction>;
61
- depositAndWithdraw(erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], txCompletionTime?: number, feeStructureOverride?: FeeStructure): Promise<string>;
62
- depositAndBridge(erc20Token: ERC20Token, recipientBridges: BridgeRecipient[], txCompletionTime?: number, feeStructureOverride?: FeeStructure): Promise<string>;
66
+ depositAndWithdraw(erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string): Promise<string>;
67
+ depositAndBridge(erc20Token: ERC20Token, recipientBridges: BridgeRecipient[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string): Promise<string>;
63
68
  prooflessDeposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], stealthAddressStructures?: StealthAddressStructure[]): Promise<ethers.ContractTransaction>;
64
69
  getSolanaProgram(idl: Idl): Program;
65
70
  getSolanaPublicKey(): PublicKey;
66
- depositSolana(amount: bigint, token: ERC20Token): Promise<string>;
67
- depositSolanaForOther(amount: bigint, token: ERC20Token, recipientInfo: string): Promise<string>;
71
+ depositSolana(amount: bigint, mintAddress: string): Promise<string>;
72
+ depositSolanaForOther(amount: bigint, mintAddress: string, recipientInfo: string): Promise<string>;
68
73
  transfer(erc20Tokens: ERC20Token[], amountChanges: bigint[], recipientAddress: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
69
74
  withdraw(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], recipientAddress: string, isRelayerOff: boolean, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType, onlyGasEstimate?: boolean): Promise<ethers.ContractTransaction | RelayerTransaction | bigint>;
70
75
  withdrawStuckUtxos(erc20Token: ERC20Token, recipientAddress: string): Promise<RelayerTransaction[]>;
71
76
  swap(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], externalActionId: ExternalActionId, swapData: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType, onlyGasEstimate?: boolean, withPrivateMempool?: boolean): Promise<RelayerTransaction | bigint>;
72
- getProviderAdapter(chainId: number): IProviderAdapter;
77
+ getProviderAdapter(): IProviderAdapter;
73
78
  initUserKeys(isPrivateTransfer?: boolean): Promise<void>;
74
79
  initUserKeysWithPassword(password: string): Promise<void>;
75
- initUserKeysFromSeedPhrases(seedPhrases: string[]): Promise<void>;
76
80
  initProviderAdapter(connector: ConnectorType, providerAdapter: IProviderAdapter<ConnectorType>): Promise<void>;
81
+ connectAndPatchProvider(connector: ConnectorType): Promise<number>;
77
82
  disconnectFromConnector(): Promise<void>;
83
+ updateProviderAdapter(providerAdapter: IProviderAdapter): Promise<void>;
78
84
  setListeners(providerAdapter: IProviderAdapter): Promise<void>;
79
- waitForTransaction(chainId: number, transactionHash: string, confirmations?: number): Promise<boolean>;
80
- getContract(chainId: number, contractType: ContractType, contractAddress?: string): ethers.Contract;
81
- getContractWithSigner(chainId: number, contractType: ContractType, contractAddress?: string): ethers.Contract;
82
- getContractWithFetcher(chainId: number, contractType: ContractType, contractAddress?: string): ethers.Contract;
85
+ waitForTransaction(transactionHash: string, confirmations?: number): Promise<boolean>;
86
+ getContractMetadata(contractType: ContractType, chainId?: number): ContractMetadata;
87
+ getContract(contract: ContractType, contractAddress?: string, chainId?: number): ethers.Contract;
88
+ getContractWithSigner(contract: ContractType, contractAddress?: string): ethers.Contract;
89
+ getContractWithFetcher(contract: ContractType, contractAddress?: string): ethers.Contract;
83
90
  getContractWithFetcherByChainId(chainId: number, contractType: ContractType, contractAddress?: string): ethers.Contract;
84
- isSelectedNetworkSupported(chainId: number): boolean;
91
+ getContractWithFetcherForEthereum(contract: ContractType, contractAddress?: string): ethers.Contract;
92
+ isSelectedNetworkSupported(): boolean;
85
93
  switchNetwork(network: EthereumNetwork): Promise<unknown>;
86
- monitorConnectedAddress(chainId: number): Promise<void>;
87
- isPermitterAvailable(chainId: number): boolean;
94
+ switchAccount(signer: ethers.Signer): Promise<unknown>;
95
+ getCurrentChainId(): number;
96
+ monitorConnectedAddress(): Promise<void>;
97
+ getSelectedNetwork(): EthereumNetwork | undefined;
98
+ isPermitterAvailable(): boolean;
88
99
  signMessage(message: Bytes | string): Promise<string>;
89
100
  signTypedData(domain: ethers.TypedDataDomain, types: Record<string, ethers.TypedDataField[]>, value: Record<string, unknown>): Promise<string>;
90
- signWithSubAccount(chainId: number, messageToSign: string | undefined, typedData: TypedData | undefined, subAccount: SubAccount): Promise<string>;
91
- actionPrivateWallet(chainId: number, erc20Tokens: ERC20Token[], deltaAmounts: bigint[], onChainCreation: boolean[], ops: string[], emporiumTokenChanges: TokenChanges<bigint>[], subAccount: SubAccount, feeToken?: string, feeStructureOverride?: FeeStructure, relayOverride?: string, autoDepositBack?: boolean, maxGasInDollar?: string, action?: AdminTransactionType, privateRecipientInfo?: PrivateRecipientInfo, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
101
+ signWithSubAccount(messageToSign: string | undefined, typedData: TypedData | undefined, subAccount: SubAccount): Promise<string>;
102
+ actionFundApproveAndTransact(tokenChanges: TokenChanges<bigint>[], subAccount: SubAccount, spenderAddress?: string, to?: string, callDataString?: string, value?: bigint, feeToken?: string, feeStructureOverride?: FeeStructure, autoDepositBack?: boolean, maxGasInDollar?: string, action?: AdminTransactionType, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
103
+ actionPrivateWallet(erc20Addresses: string[], deltaAmounts: bigint[], onChainCreation: boolean[], ops: string[], emporiumTokenChanges: TokenChanges<bigint>[], subAccount: SubAccount, feeToken?: string, feeStructureOverride?: FeeStructure, relayOverride?: string, autoDepositBack?: boolean, maxGasInDollar?: string, action?: AdminTransactionType, privateRecipientInfo?: PrivateRecipientInfo, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
92
104
  actionReceive(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], feeTokens?: string, feeStructureOverride?: FeeStructure, subAccount?: SubAccount, action?: AdminTransactionType, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
105
+ approve(erc20Addresses: string[], amount: bigint, approvedTo: string, feeToken?: string, feeStructureOverride?: FeeStructure, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
106
+ hinkalInsideTransact(erc20Addresses: string[], deltaChanges: bigint[], approvalChanges: bigint[], externalAddress: string, externalActionMetadata: string, parsedInLogicMetadata: ParsedInLogicMetadata, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
93
107
  proxySwap(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], externalActionId: ExternalActionId, swapData: string, isTheSameChainSwap: boolean, subAccount: SubAccount, feeToken?: string, feeStructureOverride?: FeeStructure, autoDepositBack?: boolean, maxGasInDollar?: string, action?: AdminTransactionType, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
94
108
  proxyToPrivate(erc20Tokens: ERC20Token[], deltaAmountsBase: bigint[], subAccount: SubAccount, recipientInfo: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
95
109
  proxySend(erc20Tokens: ERC20Token[], amounts: bigint[], subAccount: SubAccount, recipientAddress: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("../../API/API.cjs"),h=require("../../error-handling/get-error.message.cjs"),P=require("../../types/external-action.types.cjs"),p=require("../../types/transactions.types.cjs"),M=require("../../types/sandbox.types.cjs"),R=require("../../functions/private-wallet/emporium.helpers.cjs");require("ethers");require("../../constants/addresses.constants.cjs");require("../../constants/chains.constants.cjs");require("../../constants/token-data/index.cjs");const H=require("../../functions/utils/caseInsensitive.utils.cjs"),I=require("../../error-handling/logger.cjs");require("idb-keyval");const L=require("../../functions/utils/create-provider.cjs"),S=require("../../functions/utils/erc20tokenFunctions.cjs");require("../../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("../../types/circom-data.types.cjs");require("../../types/activities.types.cjs");const n=require("../../types/offscreen.types.cjs");require("circomlibjs-hinkal-fork");const w=require("../../functions/web3/etherFunctions.cjs");require("../crypto-keys/keys.cjs");const D=require("../../error-handling/error-codes.constants.cjs");require("../../constants/server.constants.cjs");require("../../API/getServerURL.cjs");require("../http/HttpClient.cjs");require("axios");require("../../constants/vite.constants.cjs");const N=require("../../functions/pre-transaction/getVolatileTransferAmount.cjs");require("@solana/web3.js");require("@coral-xyz/anchor");require("@solana/spl-token");require("ethers-v6h");require("tweetnacl");require("bs58");require("buffer");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");require("../../functions/utils/userAgent.cjs");const U=require("../../functions/utils/convertEmporiumOpToCallInfo.cjs");require("libsodium-wrappers");const V=require("../../functions/utils/publicBalance.utils.cjs");require("async-mutex");const u=require("../../functions/utils/postToOffscreen.cjs");require("process");require("../../providers/EthersProviderAdapter.cjs");require("../../functions/web3/events/getInputUtxoAndBalance.cjs");require("../../functions/web3/events/getApprovedBalance.cjs");require("../../functions/web3/getTokenHolder.cjs");const j=require("../../functions/pre-transaction/getFeeStructure.cjs"),J=async(t,r,o,k,g,T,A,i)=>{if(o)try{const s=A.filter(e=>!H.caseInsensitiveEqual(e.token.erc20TokenAddress,g)&&!S.isNFTToken(e.token)).map(e=>e.token);if(!s.length)return;const E=L.createCustomRpcProvider(r),m=await Promise.all(s.map(async e=>{const _=await V.getPublicBalance(E,o,e);return BigInt(_?.balance||0)})),d=s.map(({erc20TokenAddress:e})=>e),C=await N.modifyVolatileTokenAmountChanges(r,s,m,o),y=R.createTransaferEmporiumOpsBatch(t,r,d,C),a=await j.getFeeStructure(r,g,d,P.ExternalActionId.Emporium,y.map(e=>U.convertEmporiumOpToCallInfo(e,o,r))),c=S.getERC20Token(a.feeToken,r);if(!c)return;const O=w.getAmountInToken(c,a.flatFee),{prices:B}=await b.API.getTokenPrices(r,[c.erc20TokenAddress]),F=B[0]*Number(O);if(T&&+T<F){u.postToOffscreen(n.MessagesFromOffscreen.AutoShieldTxStatus,{message:D.gasErrorCodes.GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT});return}u.postToOffscreen(n.MessagesFromOffscreen.AutoShieldTxStatus,{status:p.TransactionStatus.Loading});const q=i.outCommitments?.flat(),f=i.encryptedOutputs?.flat(),l=i.inputNullifiers?.flat(),v=t.merkleTreeHinkalByChain[r].getStartIndex(),x=BigInt(t.merkleTreeHinkalByChain[r].toJSON().count);(q.length!==0||f.length!==0||l.length!==0)&&(q.length!==0&&q.forEach(e=>{e==="0"||e==="0x"||t.merkleTreeHinkalByChain[r].insert(BigInt(e),v+x)}),f.length!==0&&f.forEach(e=>{e==="0"||e==="0x"||t.encryptedOutputsByChain[r].push({value:e,isPositive:!0,isBlocked:!1})}),l.length!==0&&l.forEach(e=>{e==="0"||e==="0x"||t.nullifiersByChain[r].add(e)}),t.updateMerkleTreeUpdates(!1)),await t.actionReceive(s,m,a?.feeToken,void 0,k),u.postToOffscreen(n.MessagesFromOffscreen.AutoShieldTxStatus,{status:p.TransactionStatus.Confirmed})}catch(s){u.postToOffscreen(n.MessagesFromOffscreen.AutoShieldTxStatus,{status:p.TransactionStatus.Failed,error:h.getErrorMessageFromSandboxRequest(s,M.SandboxRequestType.ReceiveFromShieldedAccount)}),I.Logger.error("Error in auto deposit back:",s)}};exports.handleAutoDepositBack=J;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("../../API/API.cjs"),P=require("../../constants/chains.constants.cjs"),R=require("../../error-handling/get-error.message.cjs"),B=require("../../types/external-action.types.cjs"),p=require("../../types/transactions.types.cjs"),M=require("../../types/sandbox.types.cjs"),w=require("../../functions/private-wallet/emporium.helpers.cjs");require("ethers");require("../../constants/addresses.constants.cjs");require("../../constants/token-data/index.cjs");const H=require("../../functions/utils/caseInsensitive.utils.cjs"),L=require("../../error-handling/logger.cjs");require("idb-keyval");const N=require("../../functions/utils/create-provider.cjs"),k=require("../../functions/utils/erc20tokenFunctions.cjs");require("../../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("../../types/circom-data.types.cjs");require("../../types/activities.types.cjs");const n=require("../../types/offscreen.types.cjs");require("circomlibjs-hinkal-fork");const U=require("../../functions/web3/etherFunctions.cjs");require("../crypto-keys/keys.cjs");const D=require("../../error-handling/error-codes.constants.cjs");require("../../constants/server.constants.cjs");require("../../constants/vite.constants.cjs");require("../http/HttpClient.cjs");require("axios");const V=require("../../functions/pre-transaction/getVolatileTransferAmount.cjs");require("@solana/web3.js");require("@coral-xyz/anchor");require("@solana/spl-token");require("buffer");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");require("../../functions/utils/userAgent.cjs");const j=require("../../functions/utils/convertEmporiumOpToCallInfo.cjs");require("libsodium-wrappers");const J=require("../../functions/utils/publicBalance.utils.cjs");require("../../functions/utils/mutexes.utils.cjs");require("../../API/getServerURL.cjs");require("process");require("../../constants/save-depths.cjs");require("../../API/tenderly.api.cjs");const i=require("../../functions/utils/postToOffscreen.cjs");require("node-forge");require("../../functions/web3/events/getApprovedBalance.cjs");require("../../functions/web3/getTokenHolder.cjs");const X=require("../../functions/pre-transaction/getFeeStructure.cjs"),$=async(t,o,h,g,d,E,u)=>{if(o)try{const r=t.getCurrentChainId(),s=E.filter(e=>!H.caseInsensitiveEqual(e.token.erc20TokenAddress,g)&&!k.isNFTToken(e.token)).map(e=>e.token);if(!s.length)return;const{fetchRpcUrl:T}=P.networkRegistry[r];if(!T)throw new Error(`No RPC URL configured for chain ${r}`);const A=N.createCustomRpcProvider(T),m=await Promise.all(s.map(async e=>{const y=await J.getPublicBalance(A,o,e);return BigInt(y?.balance||0)})),S=s.map(({erc20TokenAddress:e})=>e),I=await V.modifyVolatileTokenAmountChanges(r,s,m,o),O=w.createTransaferEmporiumOpsBatch(t,S,I),c=await X.getFeeStructure(r,g,S,B.ExternalActionId.Emporium,O.map(e=>j.convertEmporiumOpToCallInfo(e,o,r))),a=k.getERC20Token(c.feeToken,r);if(!a)return;const C=U.getAmountInToken(a,c.flatFee),{prices:F}=await b.API.getTokenPrices(r,[a.erc20TokenAddress]),_=F[0]*Number(C);if(d&&+d<_){i.postToOffscreen(n.MessagesFromOffscreen.AutoShieldTxStatus,{message:D.gasErrorCodes.GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT});return}i.postToOffscreen(n.MessagesFromOffscreen.AutoShieldTxStatus,{status:p.TransactionStatus.Loading});const q=u.outCommitments?.flat(),f=u.encryptedOutputs?.flat(),l=u.inputNullifiers?.flat(),v=t.merkleTreeHinkal.getStartIndex(),x=BigInt(t.merkleTreeHinkal.toJSON().count);(q.length!==0||f.length!==0||l.length!==0)&&(q.length!==0&&q.forEach(e=>{e==="0"||e==="0x"||t.merkleTreeHinkal.insert(BigInt(e),v+x)}),f.length!==0&&f.forEach(e=>{e==="0"||e==="0x"||t.encryptedOutputs.push({value:e,isPositive:!0,isBlocked:!1})}),l.length!==0&&l.forEach(e=>{e==="0"||e==="0x"||t.nullifiers.add(e)}),t.updateMerkleTreeUpdates(!1)),await t.actionReceive(s,m,c?.feeToken,void 0,h),i.postToOffscreen(n.MessagesFromOffscreen.AutoShieldTxStatus,{status:p.TransactionStatus.Confirmed})}catch(r){i.postToOffscreen(n.MessagesFromOffscreen.AutoShieldTxStatus,{status:p.TransactionStatus.Failed,error:R.getErrorMessageFromSandboxRequest(r,M.SandboxRequestType.ReceiveFromShieldedAccount)}),L.Logger.error("Error in auto deposit back:",r)}};exports.handleAutoDepositBack=$;
@@ -2,4 +2,4 @@ import { TokenChanges } from '../../types/token.types';
2
2
  import { IHinkal } from './IHinkal';
3
3
  import { SubAccount } from '../../types/proxy.types';
4
4
  import { CircomDataV1x1 } from '../../types';
5
- export declare const handleAutoDepositBack: (hinkal: IHinkal, chainId: number, walletAddress: string | undefined, subAccount: SubAccount, feeToken: string | undefined, maxGasInDollar: string | undefined, emporiumTokenChanges: TokenChanges<bigint>[], circomData: CircomDataV1x1) => Promise<void>;
5
+ export declare const handleAutoDepositBack: (hinkal: IHinkal, walletAddress: string | undefined, subAccount: SubAccount, feeToken: string | undefined, maxGasInDollar: string | undefined, emporiumTokenChanges: TokenChanges<bigint>[], circomData: CircomDataV1x1) => Promise<void>;
@@ -1,38 +1,34 @@
1
- import { API as h } from "../../API/API.mjs";
2
- import { getErrorMessageFromSandboxRequest as P } from "../../error-handling/get-error.message.mjs";
3
- import { ExternalActionId as R } from "../../types/external-action.types.mjs";
1
+ import { API as P } from "../../API/API.mjs";
2
+ import { networkRegistry as b } from "../../constants/chains.constants.mjs";
3
+ import { getErrorMessageFromSandboxRequest as y } from "../../error-handling/get-error.message.mjs";
4
+ import { ExternalActionId as w } from "../../types/external-action.types.mjs";
4
5
  import { TransactionStatus as l } from "../../types/transactions.types.mjs";
5
6
  import { SandboxRequestType as H } from "../../types/sandbox.types.mjs";
6
7
  import { createTransaferEmporiumOpsBatch as L } from "../../functions/private-wallet/emporium.helpers.mjs";
7
8
  import "ethers";
8
9
  import "../../constants/addresses.constants.mjs";
9
- import "../../constants/chains.constants.mjs";
10
10
  import "../../constants/token-data/index.mjs";
11
11
  import { caseInsensitiveEqual as M } from "../../functions/utils/caseInsensitive.utils.mjs";
12
- import { Logger as _ } from "../../error-handling/logger.mjs";
12
+ import { Logger as N } from "../../error-handling/logger.mjs";
13
13
  import "idb-keyval";
14
- import { createCustomRpcProvider as q } from "../../functions/utils/create-provider.mjs";
15
- import { isNFTToken as w, getERC20Token as I } from "../../functions/utils/erc20tokenFunctions.mjs";
14
+ import { createCustomRpcProvider as U } from "../../functions/utils/create-provider.mjs";
15
+ import { isNFTToken as _, getERC20Token as q } from "../../functions/utils/erc20tokenFunctions.mjs";
16
16
  import "../../functions/utils/convertIntegrationProviderToExternalActionId.mjs";
17
17
  import "../../types/circom-data.types.mjs";
18
18
  import "../../types/activities.types.mjs";
19
19
  import { MessagesFromOffscreen as m } from "../../types/offscreen.types.mjs";
20
20
  import "circomlibjs-hinkal-fork";
21
- import { getAmountInToken as N } from "../../functions/web3/etherFunctions.mjs";
21
+ import { getAmountInToken as D } from "../../functions/web3/etherFunctions.mjs";
22
22
  import "../crypto-keys/keys.mjs";
23
- import { gasErrorCodes as D } from "../../error-handling/error-codes.constants.mjs";
23
+ import { gasErrorCodes as J } from "../../error-handling/error-codes.constants.mjs";
24
24
  import "../../constants/server.constants.mjs";
25
- import "../../API/getServerURL.mjs";
25
+ import "../../constants/vite.constants.mjs";
26
26
  import "../http/HttpClient.mjs";
27
27
  import "axios";
28
- import "../../constants/vite.constants.mjs";
29
- import { modifyVolatileTokenAmountChanges as U } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
28
+ import { modifyVolatileTokenAmountChanges as V } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
30
29
  import "@solana/web3.js";
31
30
  import "@coral-xyz/anchor";
32
31
  import "@solana/spl-token";
33
- import "ethers-v6h";
34
- import "tweetnacl";
35
- import "bs58";
36
32
  import "buffer";
37
33
  import "../../constants/contracts.constants.mjs";
38
34
  import "../../constants/kyc.constants.mjs";
@@ -44,64 +40,69 @@ import "../../constants/activity.constants.mjs";
44
40
  import "../../constants/tasks.constants.mjs";
45
41
  import "../../constants/events.constants.mjs";
46
42
  import "../../functions/utils/userAgent.mjs";
47
- import { convertEmporiumOpToCallInfo as J } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
43
+ import { convertEmporiumOpToCallInfo as X } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
48
44
  import "libsodium-wrappers";
49
- import { getPublicBalance as V } from "../../functions/utils/publicBalance.utils.mjs";
50
- import "async-mutex";
51
- import { postToOffscreen as p } from "../../functions/utils/postToOffscreen.mjs";
45
+ import { getPublicBalance as $ } from "../../functions/utils/publicBalance.utils.mjs";
46
+ import "../../functions/utils/mutexes.utils.mjs";
47
+ import "../../API/getServerURL.mjs";
52
48
  import "process";
53
- import "../../providers/EthersProviderAdapter.mjs";
54
- import "../../functions/web3/events/getInputUtxoAndBalance.mjs";
49
+ import "../../constants/save-depths.mjs";
50
+ import "../../API/tenderly.api.mjs";
51
+ import { postToOffscreen as n } from "../../functions/utils/postToOffscreen.mjs";
52
+ import "node-forge";
55
53
  import "../../functions/web3/events/getApprovedBalance.mjs";
56
54
  import "../../functions/web3/getTokenHolder.mjs";
57
- import { getFeeStructure as X } from "../../functions/pre-transaction/getFeeStructure.mjs";
58
- const Qt = async (o, r, i, S, T, g, E, s) => {
55
+ import { getFeeStructure as j } from "../../functions/pre-transaction/getFeeStructure.mjs";
56
+ const Kt = async (o, i, E, d, g, h, s) => {
59
57
  if (i)
60
58
  try {
61
- const e = E.filter((t) => !M(t.token.erc20TokenAddress, T) && !w(t.token)).map((t) => t.token);
59
+ const r = o.getCurrentChainId(), e = h.filter((t) => !M(t.token.erc20TokenAddress, d) && !_(t.token)).map((t) => t.token);
62
60
  if (!e.length)
63
61
  return;
64
- const C = q(r), k = await Promise.all(
62
+ const { fetchRpcUrl: T } = b[r];
63
+ if (!T)
64
+ throw new Error(`No RPC URL configured for chain ${r}`);
65
+ const I = U(T), k = await Promise.all(
65
66
  e.map(async (t) => {
66
- const b = await V(C, i, t);
67
- return BigInt(b?.balance || 0);
67
+ const O = await $(I, i, t);
68
+ return BigInt(O?.balance || 0);
68
69
  })
69
- ), d = e.map(({ erc20TokenAddress: t }) => t), A = await U(r, e, k, i), B = L(o, r, d, A), n = await X(
70
+ ), S = e.map(({ erc20TokenAddress: t }) => t), A = await V(r, e, k, i), C = L(o, S, A), p = await j(
70
71
  r,
71
- T,
72
72
  d,
73
- R.Emporium,
74
- B.map((t) => J(t, i, r))
75
- ), a = I(n.feeToken, r);
73
+ S,
74
+ w.Emporium,
75
+ C.map((t) => X(t, i, r))
76
+ ), a = q(p.feeToken, r);
76
77
  if (!a)
77
78
  return;
78
- const x = N(a, n.flatFee), { prices: y } = await h.getTokenPrices(r, [a.erc20TokenAddress]), v = y[0] * Number(x);
79
+ const x = D(a, p.flatFee), { prices: R } = await P.getTokenPrices(r, [a.erc20TokenAddress]), v = R[0] * Number(x);
79
80
  if (g && +g < v) {
80
- p(m.AutoShieldTxStatus, {
81
- message: D.GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT
81
+ n(m.AutoShieldTxStatus, {
82
+ message: J.GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT
82
83
  });
83
84
  return;
84
85
  }
85
- p(m.AutoShieldTxStatus, { status: l.Loading });
86
- const u = s.outCommitments?.flat(), f = s.encryptedOutputs?.flat(), c = s.inputNullifiers?.flat(), F = o.merkleTreeHinkalByChain[r].getStartIndex(), O = BigInt(o.merkleTreeHinkalByChain[r].toJSON().count);
87
- (u.length !== 0 || f.length !== 0 || c.length !== 0) && (u.length !== 0 && u.forEach((t) => {
88
- t === "0" || t === "0x" || o.merkleTreeHinkalByChain[r].insert(BigInt(t), F + O);
86
+ n(m.AutoShieldTxStatus, { status: l.Loading });
87
+ const c = s.outCommitments?.flat(), f = s.encryptedOutputs?.flat(), u = s.inputNullifiers?.flat(), F = o.merkleTreeHinkal.getStartIndex(), B = BigInt(o.merkleTreeHinkal.toJSON().count);
88
+ (c.length !== 0 || f.length !== 0 || u.length !== 0) && (c.length !== 0 && c.forEach((t) => {
89
+ t === "0" || t === "0x" || o.merkleTreeHinkal.insert(BigInt(t), F + B);
89
90
  }), f.length !== 0 && f.forEach((t) => {
90
- t === "0" || t === "0x" || o.encryptedOutputsByChain[r].push({
91
+ t === "0" || t === "0x" || o.encryptedOutputs.push({
91
92
  value: t,
92
93
  isPositive: !0,
93
94
  isBlocked: !1
94
95
  });
95
- }), c.length !== 0 && c.forEach((t) => {
96
- t === "0" || t === "0x" || o.nullifiersByChain[r].add(t);
97
- }), o.updateMerkleTreeUpdates(!1)), await o.actionReceive(e, k, n?.feeToken, void 0, S), p(m.AutoShieldTxStatus, { status: l.Confirmed });
98
- } catch (e) {
99
- p(m.AutoShieldTxStatus, {
96
+ }), u.length !== 0 && u.forEach((t) => {
97
+ t === "0" || t === "0x" || o.nullifiers.add(t);
98
+ }), o.updateMerkleTreeUpdates(!1)), await o.actionReceive(e, k, p?.feeToken, void 0, E), n(m.AutoShieldTxStatus, { status: l.Confirmed });
99
+ } catch (r) {
100
+ n(m.AutoShieldTxStatus, {
100
101
  status: l.Failed,
101
- error: P(e, H.ReceiveFromShieldedAccount)
102
- }), _.error("Error in auto deposit back:", e);
102
+ error: y(r, H.ReceiveFromShieldedAccount)
103
+ }), N.error("Error in auto deposit back:", r);
103
104
  }
104
105
  };
105
106
  export {
106
- Qt as handleAutoDepositBack
107
+ Kt as handleAutoDepositBack
107
108
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("../../functions/utils/walletBalances.utils.cjs"),w=require("../../functions/private-wallet/emporium.helpers.cjs"),K=require("../crypto-keys/keys.cjs"),O=async(e,t,r,a,d,i,p,c,u,A,l,m,v)=>{const T=e.getCurrentChainId(),y=K.UserKeys.getSignerAddressFromPrivateKey(T,r.privateKey),{fundAmounts:o,tokensToFund:F,approveTokenAddresses:g,approvedTokenAmounts:f}=await q.getNecessaryAssetsForFunding(e,r,t),s=F.map(n=>n.erc20TokenAddress),k=w.generateFundApproveAndTransactOps(e,s,o,g,f,y,a,d,i,p);return e.actionPrivateWallet(s,o.map(n=>-1n*n),s.map(()=>!1),k,t,r,c,u,void 0,A,l,m,void 0,v)};exports.hinkalActionFundApproveAndTransact=O;
@@ -0,0 +1,7 @@
1
+ import { FeeStructure } from '../../types/hinkal.types';
2
+ import { RelayerTransaction } from '../../types/relayer.types';
3
+ import { IHinkal } from './IHinkal';
4
+ import { TokenChanges } from '../../types/token.types';
5
+ import { SubAccount } from '../../types/proxy.types';
6
+ import { AdminTransactionType } from '../../types/admin.types';
7
+ export declare const hinkalActionFundApproveAndTransact: (hinkal: IHinkal, tokenChanges: TokenChanges<bigint>[], subAccount: SubAccount, spenderAddress?: string, to?: string, callDataString?: string, value?: bigint, feeToken?: string, feeStructureOverride?: FeeStructure, autoDepositBack?: boolean, maxGasInDollar?: string, action?: AdminTransactionType, onlyGasEstimate?: boolean) => Promise<RelayerTransaction | bigint>;
@@ -0,0 +1,42 @@
1
+ import { getNecessaryAssetsForFunding as w } from "../../functions/utils/walletBalances.utils.mjs";
2
+ import { generateFundApproveAndTransactOps as I } from "../../functions/private-wallet/emporium.helpers.mjs";
3
+ import { UserKeys as O } from "../crypto-keys/keys.mjs";
4
+ const C = async (e, n, r, d, a, p, i, m, c, A, v, u, F) => {
5
+ const T = e.getCurrentChainId(), f = O.getSignerAddressFromPrivateKey(T, r.privateKey), { fundAmounts: t, tokensToFund: g, approveTokenAddresses: y, approvedTokenAmounts: l } = await w(
6
+ e,
7
+ r,
8
+ n
9
+ ), s = g.map((o) => o.erc20TokenAddress), K = I(
10
+ e,
11
+ s,
12
+ t,
13
+ y,
14
+ l,
15
+ f,
16
+ d,
17
+ a,
18
+ p,
19
+ i
20
+ );
21
+ return e.actionPrivateWallet(
22
+ s,
23
+ t.map((o) => -1n * o),
24
+ // deltaAmounts
25
+ s.map(() => !1),
26
+ // onChainCreation
27
+ K,
28
+ n,
29
+ r,
30
+ m,
31
+ c,
32
+ void 0,
33
+ A,
34
+ v,
35
+ u,
36
+ void 0,
37
+ F
38
+ );
39
+ };
40
+ export {
41
+ C as hinkalActionFundApproveAndTransact
42
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../../functions/private-wallet/emporium.helpers.cjs"),g=require("../../functions/pre-transaction/getFeeStructure.cjs"),q=require("../../functions/utils/convertEmporiumOpToCallInfo.cjs"),E=require("../../types/external-action.types.cjs"),w=require("../../functions/pre-transaction/getVolatileTransferAmount.cjs"),C=require("../../functions/utils/token-check.utils.cjs"),S=require("../AccountActions/AccountActions.cjs"),b=async(c,t,l,i,d,n,m,p=!1)=>{if(!n)throw Error("hinkalActionReceive: subAccount should be provided");if(!i)throw new Error("Fee token is required in hinkalActionReceive");const e=C.validateAndGetChainId(t),a=S.AccountActions.getAddressFromSubAccount(e,n);if(!a)throw Error("Public account address is not available");const s=t.map(r=>r.erc20TokenAddress),o=await w.modifyVolatileTokenAmountChanges(e,t,l,a),u=f.createTransaferEmporiumOpsBatch(c,e,s,o),A=d??await g.getFeeStructure(e,i,s,E.ExternalActionId.Emporium,u.map(r=>q.convertEmporiumOpToCallInfo(r,a,e))),v=t.map((r,h)=>({token:r,amount:-1n*o[h]}));return c.actionPrivateWallet(e,t,o,o.map(()=>!1),u,v,n,i,A,void 0,void 0,void 0,m,void 0,p)};exports.hinkalActionReceive=b;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../../functions/private-wallet/emporium.helpers.cjs"),g=require("../../functions/pre-transaction/getFeeStructure.cjs"),y=require("../../functions/utils/convertEmporiumOpToCallInfo.cjs"),q=require("../../types/external-action.types.cjs"),E=require("../../functions/pre-transaction/getVolatileTransferAmount.cjs"),w=require("../crypto-keys/keys.cjs"),C=async(o,i,l,n,d,s,m,p=!1)=>{if(!s)throw Error("hinkalActionReceive: subAccount should be provided");if(!n)throw new Error("Fee token is required in hinkalActionReceive");const r=o.getCurrentChainId(),c=w.UserKeys.getSignerAddressFromPrivateKey(r,s.privateKey),a=i.map(e=>e.erc20TokenAddress),t=await E.modifyVolatileTokenAmountChanges(r,i,l,c),u=f.createTransaferEmporiumOpsBatch(o,a,t),v=d??await g.getFeeStructure(r,n,a,q.ExternalActionId.Emporium,u.map(e=>y.convertEmporiumOpToCallInfo(e,c,r))),A=i.map((e,h)=>({token:e,amount:-1n*t[h]}));return o.actionPrivateWallet(a,t,t.map(()=>!1),u,A,s,n,v,void 0,void 0,void 0,m,void 0,p)};exports.hinkalActionReceive=C;
@@ -1,46 +1,41 @@
1
- import { createTransaferEmporiumOpsBatch as h } from "../../functions/private-wallet/emporium.helpers.mjs";
2
- import { getFeeStructure as w } from "../../functions/pre-transaction/getFeeStructure.mjs";
3
- import { convertEmporiumOpToCallInfo as E } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
4
- import { ExternalActionId as g } from "../../types/external-action.types.mjs";
5
- import { modifyVolatileTokenAmountChanges as C } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
6
- import { validateAndGetChainId as I } from "../../functions/utils/token-check.utils.mjs";
7
- import { AccountActions as b } from "../AccountActions/AccountActions.mjs";
8
- const q = async (m, t, d, e, p, a, l, u = !1) => {
9
- if (!a)
1
+ import { createTransaferEmporiumOpsBatch as A } from "../../functions/private-wallet/emporium.helpers.mjs";
2
+ import { getFeeStructure as g } from "../../functions/pre-transaction/getFeeStructure.mjs";
3
+ import { convertEmporiumOpToCallInfo as w } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
4
+ import { ExternalActionId as E } from "../../types/external-action.types.mjs";
5
+ import { modifyVolatileTokenAmountChanges as y } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
6
+ import { UserKeys as C } from "../crypto-keys/keys.mjs";
7
+ const x = async (t, i, d, a, p, n, l, f = !1) => {
8
+ if (!n)
10
9
  throw Error("hinkalActionReceive: subAccount should be provided");
11
- if (!e)
10
+ if (!a)
12
11
  throw new Error("Fee token is required in hinkalActionReceive");
13
- const o = I(t), n = b.getAddressFromSubAccount(o, a);
14
- if (!n)
15
- throw Error("Public account address is not available");
16
- const s = t.map((r) => r.erc20TokenAddress), i = await C(o, t, d, n), c = h(m, o, s, i), f = p ?? await w(
17
- o,
12
+ const e = t.getCurrentChainId(), s = C.getSignerAddressFromPrivateKey(e, n.privateKey), m = i.map((r) => r.erc20TokenAddress), o = await y(e, i, d, s), c = A(t, m, o), u = p ?? await g(
18
13
  e,
19
- s,
20
- g.Emporium,
21
- c.map((r) => E(r, n, o))
22
- ), A = t.map((r, v) => ({
14
+ a,
15
+ m,
16
+ E.Emporium,
17
+ c.map((r) => w(r, s, e))
18
+ ), v = i.map((r, h) => ({
23
19
  token: r,
24
- amount: -1n * i[v]
20
+ amount: -1n * o[h]
25
21
  }));
26
- return m.actionPrivateWallet(
22
+ return t.actionPrivateWallet(
23
+ m,
27
24
  o,
28
- t,
29
- i,
30
- i.map(() => !1),
25
+ o.map(() => !1),
31
26
  c,
32
- A,
27
+ v,
28
+ n,
33
29
  a,
34
- e,
35
- f,
30
+ u,
36
31
  void 0,
37
32
  void 0,
38
33
  void 0,
39
34
  l,
40
35
  void 0,
41
- u
36
+ f
42
37
  );
43
38
  };
44
39
  export {
45
- q as hinkalActionReceive
40
+ x as hinkalActionReceive
46
41
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("../../error-handling/error-codes.constants.cjs"),L=require("../../functions/snarkjs/constructGeneralZkProof.cjs"),N=require("../../functions/web3/events/getShieldedBalance.cjs"),W=require("../../functions/web3/functionCalls/estimateGasRelayer.cjs"),K=require("../../functions/web3/functionCalls/transactCallRelayer.cjs"),y=require("../../types/external-action.types.cjs"),V=require("../../externalABIs/index.cjs"),D=require("ethers"),T=require("../../types/hinkal.types.cjs"),B=require("../../functions/pre-transaction/outputUtxoProcessing.cjs"),q=require("../../functions/pre-transaction/outputApprovalDataProcessing.cjs"),b=require("../../functions/pre-transaction/getFeeStructure.cjs"),z=require("../../functions/pre-transaction/merge-with-fee-structure.cjs"),f=require("../../types/ethereum-network.types.cjs"),G=require("../../constants/conversion.constants.cjs"),X=require("../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs"),Z=require("../../functions/pre-transaction/getSignatureDataForTransact.cjs"),$=require("../../functions/utils/time.utils.cjs"),j=async(t,o,u,n,h,P,l=!1)=>{const p=D.ethers.utils.getAddress(n),g=new D.ethers.Contract(o[0],V.ERC20ABI),E=t.userKeys.getInHinkalAddress(p),r=[t.getMyApprovalAmountForInteraction(n,o[0])-u],I=t.getContractWithFetcher(f.ContractType.HinkalContract),A=P??await b.getFeeStructure(t.getCurrentChainId(),h,o,y.ExternalActionId.Wallet,[0n,1n].map(e=>({to:g.address,from:I.address,value:0n,calldata:g.interface.encodeFunctionData("approve",[n,e])})));z.mergeWithFeeStructure(t.getCurrentChainId(),o,r,A);const a=[...await N.addPaddingToUtxos(t,o,r)],R=`swapperMHA${r.length.toString()}x${a[0].length}x1`,S=r.map(()=>!1),d=[],s={doPreTxApproval:!0,hinkalLogicAction:T.HinkalLogicAction.APPROVE,executeApprovalChanges:o.map(()=>0n),inHinkalAddress:E,useApprovalUtxoData:[]},{patchAccessTokenMerkleTree:U,kycRequired:w,hasAccessToken:F}=await X.shouldPatchAccessTokenMerkleTree(t,o,r),_=await Z.getSignatureDataForTransact(t.getCurrentChainId(),await t.getEthereumAddress(),t.userKeys,w,F),O=$.getCurrentTimeInSeconds().toString();for(let e=0;e<o.length;e+=1){if(e===0){const{useApprovalUtxoData:i,deltaAmountOverride:M}=q.outputApprovalDataProcessingForHinkalApprove(t,a[e],n,u,r[e]);r[e]=M,s.useApprovalUtxoData.push(i)}else{const{useApprovalUtxoData:i}=q.outputApprovalDataProcessing(t,a[e],r[e]);s.useApprovalUtxoData.push(i??T.defaultUseApprovalUTXOData(G.APPROVED_UTXO_CONVERSION_COUNT,0n))}const{outputUtxos:H}=B.outputUtxoProcessing(t.userKeys,a[e],r[e],O,void 0,!1);d.push(H)}const x=await t.getRandomRelay(!l);if(!x)throw Error(k.transactionErrorCodes.RELAYER_NOT_AVAILABLE);const c={externalActionId:y.ExternalActionId.Wallet,externalAddress:p,externalActionMetadata:"0x"},{zkCallData:C,circomData:m,dimData:v}=await L.constructZkProof("v1x1",t.merkleTreeHinkal,t.merkleTreeAccessToken,a,d,t.userKeys,R,c.externalActionId,c.externalAddress,c.externalActionMetadata,t.generateProofRemotely,x,t.getCurrentChainId(),S,void 0,void 0,U,s,void 0,A,t.getContractWithFetcher(f.ContractType.HinkalHelperContract),_);return l?await W.estimateGasRelayer(t,C,v,m):await K.transactCallRelayer(t.getCurrentChainId(),C,v,m)};exports.hinkalApprove=j;
@@ -0,0 +1,3 @@
1
+ import { IHinkal } from './IHinkal';
2
+ import { FeeStructure } from '../../types/hinkal.types';
3
+ export declare const hinkalApprove: (hinkal: IHinkal, erc20Addresses: string[], approvalAmount: bigint, approvedTo: string, feeToken?: string, feeStructureOverride?: FeeStructure, onlyGasEstimate?: boolean) => Promise<bigint | import('../../index.ts').RelayerTransaction>;
@@ -0,0 +1,114 @@
1
+ import { transactionErrorCodes as M } from "../../error-handling/error-codes.constants.mjs";
2
+ import { constructZkProof as N } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
3
+ import { addPaddingToUtxos as W } from "../../functions/web3/events/getShieldedBalance.mjs";
4
+ import { estimateGasRelayer as _ } from "../../functions/web3/functionCalls/estimateGasRelayer.mjs";
5
+ import { transactCallRelayer as K } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
6
+ import { ExternalActionId as v } from "../../types/external-action.types.mjs";
7
+ import { ERC20ABI as V } from "../../externalABIs/index.mjs";
8
+ import { ethers as D } from "ethers";
9
+ import { HinkalLogicAction as z, defaultUseApprovalUTXOData as B } from "../../types/hinkal.types.mjs";
10
+ import { outputUtxoProcessing as X } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
11
+ import { outputApprovalDataProcessingForHinkalApprove as $, outputApprovalDataProcessing as k } from "../../functions/pre-transaction/outputApprovalDataProcessing.mjs";
12
+ import { getFeeStructure as q } from "../../functions/pre-transaction/getFeeStructure.mjs";
13
+ import { mergeWithFeeStructure as Y } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
14
+ import { ContractType as E } from "../../types/ethereum-network.types.mjs";
15
+ import { APPROVED_UTXO_CONVERSION_COUNT as Z } from "../../constants/conversion.constants.mjs";
16
+ import { shouldPatchAccessTokenMerkleTree as b } from "../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs";
17
+ import { getSignatureDataForTransact as j } from "../../functions/pre-transaction/getSignatureDataForTransact.mjs";
18
+ import { getCurrentTimeInSeconds as G } from "../../functions/utils/time.utils.mjs";
19
+ const vt = async (t, r, p, n, T, y, m = !1) => {
20
+ const u = D.utils.getAddress(n), l = new D.Contract(r[0], V), I = t.userKeys.getInHinkalAddress(u), e = [t.getMyApprovalAmountForInteraction(n, r[0]) - p], U = t.getContractWithFetcher(E.HinkalContract), A = y ?? await q(
21
+ t.getCurrentChainId(),
22
+ T,
23
+ r,
24
+ v.Wallet,
25
+ // we don't need exact amounts, just need to result in the same amount of gas
26
+ [0n, 1n].map((o) => ({
27
+ to: l.address,
28
+ from: U.address,
29
+ value: 0n,
30
+ calldata: l.interface.encodeFunctionData("approve", [n, o])
31
+ }))
32
+ );
33
+ Y(t.getCurrentChainId(), r, e, A);
34
+ const a = [...await W(t, r, e)], R = `swapperMHA${e.length.toString()}x${a[0].length}x1`, w = e.map(() => !1), g = [], s = {
35
+ doPreTxApproval: !0,
36
+ hinkalLogicAction: z.APPROVE,
37
+ executeApprovalChanges: r.map(() => 0n),
38
+ // this should not matter
39
+ inHinkalAddress: I,
40
+ // as well
41
+ useApprovalUtxoData: []
42
+ }, { patchAccessTokenMerkleTree: P, kycRequired: H, hasAccessToken: O } = await b(
43
+ t,
44
+ r,
45
+ e
46
+ ), S = await j(
47
+ t.getCurrentChainId(),
48
+ await t.getEthereumAddress(),
49
+ t.userKeys,
50
+ H,
51
+ O
52
+ ), h = G().toString();
53
+ for (let o = 0; o < r.length; o += 1) {
54
+ if (o === 0) {
55
+ const { useApprovalUtxoData: c, deltaAmountOverride: L } = $(
56
+ t,
57
+ a[o],
58
+ n,
59
+ p,
60
+ e[o]
61
+ );
62
+ e[o] = L, s.useApprovalUtxoData.push(c);
63
+ } else {
64
+ const { useApprovalUtxoData: c } = k(t, a[o], e[o]);
65
+ s.useApprovalUtxoData.push(
66
+ c ?? B(Z, 0n)
67
+ );
68
+ }
69
+ const { outputUtxos: F } = X(
70
+ t.userKeys,
71
+ a[o],
72
+ e[o],
73
+ h,
74
+ void 0,
75
+ !1
76
+ );
77
+ g.push(F);
78
+ }
79
+ const f = await t.getRandomRelay(!m);
80
+ if (!f)
81
+ throw Error(M.RELAYER_NOT_AVAILABLE);
82
+ const i = {
83
+ externalActionId: v.Wallet,
84
+ externalAddress: u,
85
+ externalActionMetadata: "0x"
86
+ }, { zkCallData: d, circomData: x, dimData: C } = await N(
87
+ "v1x1",
88
+ t.merkleTreeHinkal,
89
+ t.merkleTreeAccessToken,
90
+ a,
91
+ g,
92
+ t.userKeys,
93
+ R,
94
+ i.externalActionId,
95
+ i.externalAddress,
96
+ i.externalActionMetadata,
97
+ t.generateProofRemotely,
98
+ f,
99
+ t.getCurrentChainId(),
100
+ w,
101
+ void 0,
102
+ void 0,
103
+ P,
104
+ s,
105
+ void 0,
106
+ A,
107
+ t.getContractWithFetcher(E.HinkalHelperContract),
108
+ S
109
+ );
110
+ return m ? await _(t, d, C, x) : await K(t.getCurrentChainId(), d, C, x);
111
+ };
112
+ export {
113
+ vt as hinkalApprove
114
+ };