@hinkal/common 0.2.31 → 0.2.33

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 (776) hide show
  1. package/API/API.cjs +1 -1
  2. package/API/API.d.ts +26 -11
  3. package/API/API.mjs +103 -88
  4. package/API/callMonitor.cjs +1 -1
  5. package/API/callMonitor.d.ts +8 -0
  6. package/API/callMonitor.mjs +2 -2
  7. package/API/callRelayer.d.ts +4 -1
  8. package/API/dashboardAccountCalls.cjs +1 -0
  9. package/API/dashboardAccountCalls.d.ts +24 -0
  10. package/API/dashboardAccountCalls.mjs +10 -0
  11. package/API/dashboardAccountMemberCalls.cjs +1 -0
  12. package/API/dashboardAccountMemberCalls.d.ts +34 -0
  13. package/API/dashboardAccountMemberCalls.mjs +16 -0
  14. package/API/dashboardBalanceCalls.cjs +1 -0
  15. package/API/dashboardBalanceCalls.d.ts +12 -0
  16. package/API/dashboardBalanceCalls.mjs +13 -0
  17. package/API/dashboardContactCalls.cjs +1 -0
  18. package/API/dashboardContactCalls.d.ts +9 -0
  19. package/API/dashboardContactCalls.mjs +13 -0
  20. package/API/dashboardPayoutCalls.cjs +1 -0
  21. package/API/dashboardPayoutCalls.d.ts +14 -0
  22. package/API/dashboardPayoutCalls.mjs +13 -0
  23. package/API/dashboardTransactionCalls.cjs +1 -0
  24. package/API/dashboardTransactionCalls.d.ts +3 -0
  25. package/API/dashboardTransactionCalls.mjs +10 -0
  26. package/API/enclaveRecipientInfoCalls.cjs +1 -0
  27. package/API/enclaveRecipientInfoCalls.d.ts +14 -0
  28. package/API/enclaveRecipientInfoCalls.mjs +7 -0
  29. package/API/enclaveSignatureCalls.cjs +1 -1
  30. package/API/enclaveSignatureCalls.d.ts +3 -8
  31. package/API/enclaveSignatureCalls.mjs +6 -8
  32. package/API/enclaveUtxoCalls.cjs +1 -1
  33. package/API/enclaveUtxoCalls.d.ts +8 -2
  34. package/API/enclaveUtxoCalls.mjs +5 -3
  35. package/API/fetchCommitmentsCache.cjs +1 -1
  36. package/API/fetchCommitmentsCache.d.ts +1 -19
  37. package/API/fetchCommitmentsCache.mjs +9 -22
  38. package/API/getAnyRecipientInfo.d.ts +1 -0
  39. package/API/getServerURL.cjs +1 -1
  40. package/API/getServerURL.d.ts +3 -0
  41. package/API/getServerURL.mjs +15 -32
  42. package/API/getWebsiteURL.cjs +1 -1
  43. package/API/getWebsiteURL.d.ts +3 -2
  44. package/API/getWebsiteURL.mjs +12 -5
  45. package/API/index.cjs +1 -1
  46. package/API/index.d.ts +2 -0
  47. package/API/index.mjs +2 -0
  48. package/API/kycCalls.cjs +1 -1
  49. package/API/kycCalls.d.ts +0 -5
  50. package/API/kycCalls.mjs +3 -10
  51. package/API/privateSendRecipientInfoCalls.cjs +1 -1
  52. package/API/privateSendRecipientInfoCalls.d.ts +0 -10
  53. package/API/privateSendRecipientInfoCalls.mjs +2 -2
  54. package/API/scheduled-transactions-calls.cjs +1 -1
  55. package/API/scheduled-transactions-calls.d.ts +8 -2
  56. package/API/scheduled-transactions-calls.mjs +5 -4
  57. package/API/tenderly.api.cjs +1 -1
  58. package/API/tenderly.api.d.ts +1 -1
  59. package/API/tenderly.api.mjs +1 -1
  60. package/constants/addresses.constants.cjs +1 -1
  61. package/constants/addresses.constants.d.ts +10 -7
  62. package/constants/addresses.constants.mjs +11 -8
  63. package/constants/assets.constants.cjs +1 -1
  64. package/constants/assets.constants.mjs +1 -1
  65. package/constants/auth.constants.cjs +1 -0
  66. package/constants/auth.constants.d.ts +2 -0
  67. package/constants/auth.constants.mjs +4 -0
  68. package/constants/backend.constants.cjs +1 -1
  69. package/constants/backend.constants.d.ts +0 -1
  70. package/constants/backend.constants.mjs +0 -1
  71. package/constants/bridging.constants.cjs +1 -1
  72. package/constants/bridging.constants.d.ts +2 -0
  73. package/constants/bridging.constants.mjs +7 -3
  74. package/constants/chains.constants.cjs +1 -1
  75. package/constants/chains.constants.d.ts +25 -8
  76. package/constants/chains.constants.mjs +168 -127
  77. package/constants/coingecko.constants.cjs +1 -1
  78. package/constants/coingecko.constants.d.ts +5 -3
  79. package/constants/coingecko.constants.mjs +8 -5
  80. package/constants/contracts.constants.cjs +1 -1
  81. package/constants/contracts.constants.mjs +0 -4
  82. package/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
  83. package/constants/deploy-data/deploy-data-arbMainnet.json.mjs +125 -850
  84. package/constants/deploy-data/deploy-data-arcTestnet.json.cjs +1 -1
  85. package/constants/deploy-data/deploy-data-arcTestnet.json.mjs +97 -1013
  86. package/constants/deploy-data/deploy-data-base.json.cjs +1 -1
  87. package/constants/deploy-data/deploy-data-base.json.mjs +132 -869
  88. package/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
  89. package/constants/deploy-data/deploy-data-ethMainnet.json.mjs +132 -871
  90. package/constants/deploy-data/deploy-data-localhost.json.cjs +1 -1
  91. package/constants/deploy-data/deploy-data-localhost.json.mjs +6 -808
  92. package/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
  93. package/constants/deploy-data/deploy-data-optimism.json.mjs +132 -869
  94. package/constants/deploy-data/deploy-data-optimismTest.json.cjs +1 -0
  95. package/constants/deploy-data/deploy-data-optimismTest.json.mjs +3565 -0
  96. package/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
  97. package/constants/deploy-data/deploy-data-polygon.json.mjs +132 -869
  98. package/constants/deploy-data/deploy-data-sepoliaTestnet.json.cjs +1 -0
  99. package/constants/deploy-data/deploy-data-sepoliaTestnet.json.mjs +3561 -0
  100. package/constants/deploy-data/deploy-data-solana.json.cjs +1 -1
  101. package/constants/deploy-data/deploy-data-solana.json.mjs +1 -1
  102. package/constants/deploy-data/deploy-data-tempo.json.cjs +1 -0
  103. package/constants/deploy-data/deploy-data-tempo.json.mjs +3563 -0
  104. package/constants/deploy-data/deploy-data-tronMainnet.json.cjs +1 -1
  105. package/constants/deploy-data/deploy-data-tronMainnet.json.mjs +133 -870
  106. package/constants/deploy-data/deploy-data-tronNile.json.cjs +1 -1
  107. package/constants/deploy-data/deploy-data-tronNile.json.mjs +133 -870
  108. package/constants/deploy-data/index.d.ts +4 -1
  109. package/constants/events.constants.cjs +1 -1
  110. package/constants/events.constants.mjs +4 -1
  111. package/constants/fees.constants.cjs +1 -1
  112. package/constants/fees.constants.d.ts +5 -1
  113. package/constants/fees.constants.mjs +9 -5
  114. package/constants/index.cjs +1 -1
  115. package/constants/index.d.ts +2 -1
  116. package/constants/index.mjs +6 -2
  117. package/constants/kyc.constants.cjs +1 -1
  118. package/constants/kyc.constants.d.ts +1 -1
  119. package/constants/kyc.constants.mjs +38 -37
  120. package/constants/lifi.constants.cjs +1 -1
  121. package/constants/lifi.constants.d.ts +2 -0
  122. package/constants/lifi.constants.mjs +7 -2
  123. package/constants/mediaUrls.constants.cjs +1 -1
  124. package/constants/mediaUrls.constants.d.ts +7 -1
  125. package/constants/mediaUrls.constants.mjs +9 -3
  126. package/constants/price-impact.constants.cjs +1 -0
  127. package/constants/price-impact.constants.d.ts +2 -0
  128. package/constants/price-impact.constants.mjs +4 -0
  129. package/constants/protocol.constants.cjs +1 -1
  130. package/constants/protocol.constants.d.ts +4 -1
  131. package/constants/protocol.constants.mjs +2 -2
  132. package/constants/reorg-depths.constants.cjs +1 -1
  133. package/constants/reorg-depths.constants.d.ts +3 -1
  134. package/constants/reorg-depths.constants.mjs +3 -1
  135. package/constants/save-depths.cjs +1 -1
  136. package/constants/save-depths.d.ts +3 -1
  137. package/constants/save-depths.mjs +3 -1
  138. package/constants/server.constants.cjs +1 -1
  139. package/constants/server.constants.d.ts +33 -8
  140. package/constants/server.constants.mjs +44 -24
  141. package/constants/token-data/ERC20Registry.cjs +1 -1
  142. package/constants/token-data/ERC20Registry.mjs +20 -9
  143. package/constants/token-data/arbMainnetRegistry.json.cjs +1 -1
  144. package/constants/token-data/arbMainnetRegistry.json.mjs +24 -24
  145. package/constants/token-data/arbMainnetRegistryFixed.json.cjs +1 -1
  146. package/constants/token-data/arbMainnetRegistryFixed.json.mjs +24 -24
  147. package/constants/token-data/arcTestnetRegistry.json.cjs +1 -1
  148. package/constants/token-data/arcTestnetRegistry.json.mjs +3 -3
  149. package/constants/token-data/baseRegistry.json.cjs +1 -1
  150. package/constants/token-data/baseRegistry.json.mjs +20 -12
  151. package/constants/token-data/baseRegistryFixed.json.cjs +1 -1
  152. package/constants/token-data/baseRegistryFixed.json.mjs +18 -10
  153. package/constants/token-data/ethMainnetRegistry.json.cjs +1 -1
  154. package/constants/token-data/ethMainnetRegistry.json.mjs +38 -38
  155. package/constants/token-data/ethMainnetRegistryFixed.json.cjs +1 -1
  156. package/constants/token-data/ethMainnetRegistryFixed.json.mjs +38 -38
  157. package/constants/token-data/localhostRegistry.json.cjs +1 -1
  158. package/constants/token-data/localhostRegistry.json.mjs +211 -211
  159. package/constants/token-data/optimismRegistry.json.cjs +1 -1
  160. package/constants/token-data/optimismRegistry.json.mjs +36 -28
  161. package/constants/token-data/optimismRegistryFixed.json.cjs +1 -1
  162. package/constants/token-data/optimismRegistryFixed.json.mjs +36 -28
  163. package/constants/token-data/polygonRegistry.json.cjs +1 -1
  164. package/constants/token-data/polygonRegistry.json.mjs +34 -26
  165. package/constants/token-data/polygonRegistryFixed.json.cjs +1 -1
  166. package/constants/token-data/polygonRegistryFixed.json.mjs +34 -26
  167. package/constants/token-data/sepoliaTestnetRegistry.json.cjs +1 -0
  168. package/constants/token-data/sepoliaTestnetRegistry.json.mjs +21 -0
  169. package/constants/token-data/solanaMainnetRegistry.json.cjs +1 -1
  170. package/constants/token-data/solanaMainnetRegistry.json.mjs +1 -1
  171. package/constants/token-data/tempoRegistry.json.cjs +1 -0
  172. package/constants/token-data/tempoRegistry.json.mjs +37 -0
  173. package/constants/token-data/tronMainnetRegistry.json.cjs +1 -1
  174. package/constants/token-data/tronMainnetRegistry.json.mjs +26 -15
  175. package/constants/token-data/tronNileRegistry.json.cjs +1 -1
  176. package/constants/token-data/tronNileRegistry.json.mjs +2 -2
  177. package/constants/tokens.constants.cjs +1 -1
  178. package/constants/tokens.constants.d.ts +1 -0
  179. package/constants/tokens.constants.mjs +10 -3
  180. package/constants/vite.constants.cjs +1 -1
  181. package/constants/vite.constants.mjs +23 -5
  182. package/constants/wallet.constants.cjs +1 -1
  183. package/constants/wallet.constants.d.ts +1 -1
  184. package/constants/wallet.constants.mjs +2 -18
  185. package/crypto/babyJub.d.ts +1 -1
  186. package/crypto/ecdh-dual-path.cjs +1 -0
  187. package/crypto/ecdh-dual-path.d.ts +13 -0
  188. package/crypto/ecdh-dual-path.mjs +39 -0
  189. package/crypto/ecdh-sealed-keys.cjs +1 -0
  190. package/crypto/ecdh-sealed-keys.d.ts +22 -0
  191. package/crypto/ecdh-sealed-keys.mjs +33 -0
  192. package/crypto/ecdh.cjs +1 -0
  193. package/crypto/ecdh.d.ts +2 -0
  194. package/crypto/ecdh.mjs +9 -0
  195. package/crypto/eddsa.cjs +1 -0
  196. package/crypto/eddsa.d.ts +8 -0
  197. package/crypto/eddsa.mjs +12 -0
  198. package/crypto/index.cjs +1 -1
  199. package/crypto/index.d.ts +4 -0
  200. package/crypto/index.mjs +4 -0
  201. package/crypto/preProcessing.cjs +1 -1
  202. package/crypto/preProcessing.d.ts +1 -1
  203. package/crypto/preProcessing.mjs +10 -8
  204. package/data-structures/AccountActions/AccountActions.cjs +1 -1
  205. package/data-structures/AccountActions/AccountActions.mjs +3 -2
  206. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +1 -1
  207. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +2 -3
  208. package/data-structures/Hinkal/Hinkal.cjs +1 -1
  209. package/data-structures/Hinkal/Hinkal.d.ts +16 -21
  210. package/data-structures/Hinkal/Hinkal.mjs +144 -160
  211. package/data-structures/Hinkal/IHinkal.d.ts +13 -19
  212. package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  213. package/data-structures/Hinkal/handleAutoDepositBack.mjs +15 -15
  214. package/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
  215. package/data-structures/Hinkal/hinkalClaimUtxo.d.ts +1 -2
  216. package/data-structures/Hinkal/hinkalClaimUtxo.mjs +49 -47
  217. package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  218. package/data-structures/Hinkal/hinkalDeposit.d.ts +5 -3
  219. package/data-structures/Hinkal/hinkalDeposit.mjs +106 -50
  220. package/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
  221. package/data-structures/Hinkal/hinkalDepositAndBridge.d.ts +1 -1
  222. package/data-structures/Hinkal/hinkalDepositAndBridge.mjs +94 -87
  223. package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  224. package/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +3 -2
  225. package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +48 -48
  226. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
  227. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +41 -63
  228. package/data-structures/Hinkal/hinkalPalEvmDeposit.cjs +1 -0
  229. package/data-structures/Hinkal/hinkalPalEvmDeposit.d.ts +9 -0
  230. package/data-structures/Hinkal/hinkalPalEvmDeposit.mjs +19 -0
  231. package/data-structures/Hinkal/hinkalPalSolanaDepositPrepare.cjs +1 -0
  232. package/data-structures/Hinkal/hinkalPalSolanaDepositPrepare.d.ts +9 -0
  233. package/data-structures/Hinkal/hinkalPalSolanaDepositPrepare.mjs +18 -0
  234. package/data-structures/Hinkal/hinkalPalTronDepositPrepare.cjs +1 -0
  235. package/data-structures/Hinkal/hinkalPalTronDepositPrepare.d.ts +9 -0
  236. package/data-structures/Hinkal/hinkalPalTronDepositPrepare.mjs +17 -0
  237. package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  238. package/data-structures/Hinkal/hinkalPrivateWallet.mjs +46 -50
  239. package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  240. package/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +4 -1
  241. package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +84 -128
  242. package/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -0
  243. package/data-structures/Hinkal/hinkalProoflessDeposit.utils.d.ts +7 -0
  244. package/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +51 -0
  245. package/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.cjs +1 -0
  246. package/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.d.ts +6 -0
  247. package/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.mjs +128 -0
  248. package/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
  249. package/data-structures/Hinkal/hinkalSolanaClaimUtxo.d.ts +2 -2
  250. package/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +68 -69
  251. package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  252. package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +4 -3
  253. package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +96 -57
  254. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  255. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +20 -2
  256. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +114 -122
  257. package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.cjs +1 -1
  258. package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.d.ts +1 -1
  259. package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.mjs +12 -17
  260. package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  261. package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +38 -40
  262. package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  263. package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +4 -3
  264. package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +68 -52
  265. package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  266. package/data-structures/Hinkal/hinkalSolanaSwap.d.ts +2 -2
  267. package/data-structures/Hinkal/hinkalSolanaSwap.mjs +67 -72
  268. package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  269. package/data-structures/Hinkal/hinkalSolanaTransfer.d.ts +2 -1
  270. package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +56 -61
  271. package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  272. package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +38 -48
  273. package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  274. package/data-structures/Hinkal/hinkalSwap.mjs +32 -42
  275. package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  276. package/data-structures/Hinkal/hinkalTransfer.mjs +41 -54
  277. package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  278. package/data-structures/Hinkal/hinkalWithdraw.mjs +43 -56
  279. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  280. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +87 -108
  281. package/data-structures/Hinkal/index.cjs +1 -1
  282. package/data-structures/Hinkal/index.d.ts +5 -0
  283. package/data-structures/Hinkal/index.mjs +5 -0
  284. package/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +1 -0
  285. package/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.d.ts +22 -0
  286. package/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +34 -0
  287. package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  288. package/data-structures/Hinkal/resetMerkleTrees.mjs +33 -40
  289. package/data-structures/IndexedDB/activity-db.cjs +1 -1
  290. package/data-structures/IndexedDB/activity-db.mjs +25 -24
  291. package/data-structures/IndexedDB/contact-db.cjs +1 -1
  292. package/data-structures/IndexedDB/contact-db.d.ts +1 -0
  293. package/data-structures/IndexedDB/contact-db.mjs +30 -16
  294. package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
  295. package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.d.ts +1 -1
  296. package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +4 -4
  297. package/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
  298. package/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +37 -34
  299. package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  300. package/data-structures/TokenDBs/EventsPublicTokensDB.d.ts +2 -0
  301. package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +65 -50
  302. package/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
  303. package/data-structures/TokenDBs/PrivateTokensDB.mjs +2 -1
  304. package/data-structures/WalletManager/WalletManager.cjs +1 -0
  305. package/data-structures/WalletManager/WalletManager.d.ts +51 -0
  306. package/data-structures/WalletManager/WalletManager.mjs +99 -0
  307. package/data-structures/WalletManager/index.cjs +1 -0
  308. package/data-structures/WalletManager/index.d.ts +1 -0
  309. package/data-structures/WalletManager/index.mjs +1 -0
  310. package/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
  311. package/data-structures/crypto-keys/decodeUTXO.d.ts +5 -3
  312. package/data-structures/crypto-keys/decodeUTXO.mjs +49 -46
  313. package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  314. package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +32 -40
  315. package/data-structures/crypto-keys/keys.cjs +1 -1
  316. package/data-structures/crypto-keys/keys.d.ts +51 -24
  317. package/data-structures/crypto-keys/keys.mjs +104 -43
  318. package/data-structures/custom-token-registry/CustomTokenRegistry.cjs +1 -1
  319. package/data-structures/custom-token-registry/CustomTokenRegistry.mjs +2 -2
  320. package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  321. package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +2 -2
  322. package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +4 -4
  323. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.cjs +1 -1
  324. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.mjs +1 -1
  325. package/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -1
  326. package/data-structures/event-service/helpers/ClientEventHelper.mjs +3 -3
  327. package/data-structures/event-service/helpers/PollingEventHelper.cjs +1 -1
  328. package/data-structures/event-service/helpers/PollingEventHelper.d.ts +2 -0
  329. package/data-structures/event-service/helpers/PollingEventHelper.mjs +7 -3
  330. package/data-structures/event-service/index.cjs +1 -1
  331. package/data-structures/event-service/index.d.ts +0 -3
  332. package/data-structures/event-service/index.mjs +0 -3
  333. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.cjs +1 -1
  334. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.mjs +1 -1
  335. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
  336. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +2 -2
  337. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +5 -5
  338. package/data-structures/index.cjs +1 -1
  339. package/data-structures/index.d.ts +1 -0
  340. package/data-structures/index.mjs +10 -10
  341. package/data-structures/merkle-tree/index.cjs +1 -1
  342. package/data-structures/merkle-tree/index.d.ts +0 -1
  343. package/data-structures/merkle-tree/index.mjs +0 -1
  344. package/data-structures/provider-adapter/IProviderAdapter.d.ts +6 -0
  345. package/data-structures/snapshot/SnapshotFetcherService.cjs +1 -1
  346. package/data-structures/snapshot/SnapshotFetcherService.d.ts +0 -2
  347. package/data-structures/snapshot/SnapshotFetcherService.mjs +0 -6
  348. package/data-structures/snapshot/index.cjs +1 -1
  349. package/data-structures/snapshot/index.d.ts +0 -3
  350. package/data-structures/snapshot/index.mjs +0 -3
  351. package/data-structures/utxo/Utxo.cjs +1 -1
  352. package/data-structures/utxo/Utxo.d.ts +16 -10
  353. package/data-structures/utxo/Utxo.mjs +40 -38
  354. package/error-handling/customErrors/HttpError.cjs +1 -0
  355. package/error-handling/customErrors/HttpError.d.ts +4 -0
  356. package/error-handling/customErrors/HttpError.mjs +8 -0
  357. package/error-handling/customErrors/index.cjs +1 -1
  358. package/error-handling/customErrors/index.d.ts +1 -0
  359. package/error-handling/customErrors/index.mjs +1 -0
  360. package/error-handling/error-codes.constants.cjs +1 -1
  361. package/error-handling/error-codes.constants.d.ts +11 -0
  362. package/error-handling/error-codes.constants.mjs +13 -2
  363. package/error-handling/index.cjs +1 -1
  364. package/error-handling/index.mjs +1 -0
  365. package/error-handling/retrySolanaError.cjs +1 -0
  366. package/error-handling/retrySolanaError.d.ts +1 -0
  367. package/error-handling/retrySolanaError.mjs +4 -0
  368. package/externalABIs/index.cjs +1 -1
  369. package/externalABIs/index.d.ts +1 -16
  370. package/externalABIs/index.mjs +4 -5
  371. package/functions/auto-deposit-back-helpers/get-gas-token-records.d.ts +1 -1
  372. package/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.d.ts +1 -1
  373. package/functions/index.cjs +1 -1
  374. package/functions/index.mjs +28 -19
  375. package/functions/kyc/checkTokenLimitsUSD.cjs +1 -1
  376. package/functions/kyc/checkTokenLimitsUSD.mjs +15 -15
  377. package/functions/kyc/index.cjs +1 -1
  378. package/functions/kyc/index.d.ts +0 -1
  379. package/functions/kyc/index.mjs +0 -1
  380. package/functions/pre-transaction/addressTableLookup.cjs +1 -1
  381. package/functions/pre-transaction/addressTableLookup.mjs +21 -18
  382. package/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -0
  383. package/functions/pre-transaction/buildCommitmentValidationData.d.ts +4 -0
  384. package/functions/pre-transaction/buildCommitmentValidationData.mjs +58 -0
  385. package/functions/pre-transaction/calculateSolanaNullifierCount.cjs +1 -0
  386. package/functions/pre-transaction/calculateSolanaNullifierCount.d.ts +2 -0
  387. package/functions/pre-transaction/calculateSolanaNullifierCount.mjs +23 -0
  388. package/functions/pre-transaction/constructAdminData.cjs +1 -1
  389. package/functions/pre-transaction/constructAdminData.mjs +4 -4
  390. package/functions/pre-transaction/index.cjs +1 -1
  391. package/functions/pre-transaction/index.d.ts +2 -3
  392. package/functions/pre-transaction/index.mjs +3 -4
  393. package/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
  394. package/functions/pre-transaction/outputUtxoProcessing.d.ts +1 -1
  395. package/functions/pre-transaction/outputUtxoProcessing.mjs +22 -19
  396. package/functions/pre-transaction/recipientUtxoProcessing.cjs +1 -1
  397. package/functions/pre-transaction/recipientUtxoProcessing.mjs +11 -9
  398. package/functions/pre-transaction/sendInitNullifiersTransaction.cjs +1 -1
  399. package/functions/pre-transaction/sendInitNullifiersTransaction.mjs +9 -9
  400. package/functions/pre-transaction/sendV0Transaction.cjs +1 -1
  401. package/functions/pre-transaction/sendV0Transaction.mjs +45 -43
  402. package/functions/pre-transaction/solana-public-signals.cjs +1 -1
  403. package/functions/pre-transaction/solana-public-signals.d.ts +7 -6
  404. package/functions/pre-transaction/solana-public-signals.mjs +22 -19
  405. package/functions/pre-transaction/solana.cjs +1 -1
  406. package/functions/pre-transaction/solana.d.ts +0 -4
  407. package/functions/pre-transaction/solana.mjs +7 -27
  408. package/functions/pre-transaction/store-proof.cjs +1 -1
  409. package/functions/pre-transaction/store-proof.mjs +3 -3
  410. package/functions/private-wallet/emporium.helpers.cjs +1 -1
  411. package/functions/private-wallet/emporium.helpers.d.ts +13 -3
  412. package/functions/private-wallet/emporium.helpers.mjs +84 -74
  413. package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  414. package/functions/private-wallet/emporium.swap.helpers.mjs +6 -6
  415. package/functions/snarkjs/common.snarkjs.cjs +1 -1
  416. package/functions/snarkjs/common.snarkjs.d.ts +8 -13
  417. package/functions/snarkjs/common.snarkjs.mjs +65 -74
  418. package/functions/snarkjs/constant.cjs +1 -1
  419. package/functions/snarkjs/constant.d.ts +146 -426
  420. package/functions/snarkjs/constant.mjs +149 -430
  421. package/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  422. package/functions/snarkjs/constructGeneralZkProof.d.ts +2 -3
  423. package/functions/snarkjs/constructGeneralZkProof.mjs +74 -57
  424. package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  425. package/functions/snarkjs/constructSolanaZkProof.d.ts +1 -2
  426. package/functions/snarkjs/constructSolanaZkProof.mjs +65 -37
  427. package/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -1
  428. package/functions/snarkjs/fetchMerkleTreeSiblings.d.ts +1 -1
  429. package/functions/snarkjs/fetchMerkleTreeSiblings.mjs +6 -10
  430. package/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -1
  431. package/functions/snarkjs/fetchOnChainRootHashes.d.ts +0 -1
  432. package/functions/snarkjs/fetchOnChainRootHashes.mjs +22 -7
  433. package/functions/snarkjs/generateCircomData.cjs +1 -1
  434. package/functions/snarkjs/generateCircomData.d.ts +2 -2
  435. package/functions/snarkjs/generateCircomData.mjs +29 -31
  436. package/functions/snarkjs/generateZkProof.cjs +1 -1
  437. package/functions/snarkjs/generateZkProof.mjs +20 -10
  438. package/functions/snarkjs/generateZkProofEnclave.cjs +1 -1
  439. package/functions/snarkjs/generateZkProofEnclave.mjs +15 -18
  440. package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
  441. package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +2 -9
  442. package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +40 -94
  443. package/functions/snarkjs/getZKFiles.cjs +1 -1
  444. package/functions/snarkjs/getZKFiles.d.ts +1 -0
  445. package/functions/snarkjs/getZKFiles.mjs +2 -2
  446. package/functions/snarkjs/index.cjs +1 -1
  447. package/functions/snarkjs/index.d.ts +2 -1
  448. package/functions/snarkjs/index.mjs +2 -1
  449. package/functions/snarkjs/signedMessageHash.cjs +1 -0
  450. package/functions/snarkjs/signedMessageHash.d.ts +31 -0
  451. package/functions/snarkjs/signedMessageHash.mjs +49 -0
  452. package/functions/snarkjs/verifyCommitmentValidationData.cjs +1 -0
  453. package/functions/snarkjs/verifyCommitmentValidationData.d.ts +4 -0
  454. package/functions/snarkjs/verifyCommitmentValidationData.mjs +43 -0
  455. package/functions/utils/addresses.cjs +1 -1
  456. package/functions/utils/addresses.d.ts +2 -0
  457. package/functions/utils/addresses.mjs +12 -8
  458. package/functions/utils/aggregateTokenAmounts.cjs +1 -0
  459. package/functions/utils/aggregateTokenAmounts.d.ts +2 -0
  460. package/functions/utils/aggregateTokenAmounts.mjs +26 -0
  461. package/functions/utils/amounts.utils.cjs +1 -1
  462. package/functions/utils/amounts.utils.d.ts +0 -1
  463. package/functions/utils/amounts.utils.mjs +18 -18
  464. package/functions/utils/auth.utils.cjs +1 -0
  465. package/functions/utils/auth.utils.d.ts +5 -0
  466. package/functions/utils/auth.utils.mjs +7 -0
  467. package/functions/utils/bit.operations.cjs +1 -0
  468. package/functions/utils/bit.operations.d.ts +3 -0
  469. package/functions/utils/bit.operations.mjs +4 -0
  470. package/functions/utils/buildClaimableDepositPlan.cjs +1 -1
  471. package/functions/utils/buildClaimableDepositPlan.d.ts +3 -2
  472. package/functions/utils/buildClaimableDepositPlan.mjs +32 -24
  473. package/functions/utils/cacheFunctions.cjs +1 -1
  474. package/functions/utils/cacheFunctions.d.ts +0 -4
  475. package/functions/utils/cacheFunctions.mjs +33 -47
  476. package/functions/utils/create-provider.cjs +1 -1
  477. package/functions/utils/create-provider.d.ts +2 -3
  478. package/functions/utils/create-provider.mjs +8 -10
  479. package/functions/utils/customEnclaveFunctionsRegister.cjs +1 -0
  480. package/functions/utils/customEnclaveFunctionsRegister.d.ts +18 -0
  481. package/functions/utils/customEnclaveFunctionsRegister.mjs +8 -0
  482. package/functions/utils/deposit-claimable.utils.cjs +1 -0
  483. package/functions/utils/deposit-claimable.utils.d.ts +6 -0
  484. package/functions/utils/deposit-claimable.utils.mjs +106 -0
  485. package/functions/utils/dispatchBalanceRefreshes.cjs +1 -0
  486. package/functions/utils/dispatchBalanceRefreshes.d.ts +4 -0
  487. package/functions/utils/dispatchBalanceRefreshes.mjs +44 -0
  488. package/functions/utils/enclave-recipient-info-storage.cjs +1 -0
  489. package/functions/utils/enclave-recipient-info-storage.d.ts +2 -0
  490. package/functions/utils/enclave-recipient-info-storage.mjs +17 -0
  491. package/functions/utils/enclave-signature-storage.cjs +1 -1
  492. package/functions/utils/enclave-signature-storage.d.ts +1 -2
  493. package/functions/utils/enclave-signature-storage.mjs +6 -9
  494. package/functions/utils/enclave-utxo-storage.cjs +1 -1
  495. package/functions/utils/enclave-utxo-storage.d.ts +3 -2
  496. package/functions/utils/enclave-utxo-storage.mjs +18 -21
  497. package/functions/utils/encodeTokenWithId.cjs +1 -1
  498. package/functions/utils/encodeTokenWithId.mjs +1 -1
  499. package/functions/utils/encryptInputForEnclave.cjs +1 -1
  500. package/functions/utils/encryptInputForEnclave.mjs +17 -23
  501. package/functions/utils/enum.utils.cjs +1 -0
  502. package/functions/utils/enum.utils.mjs +12 -0
  503. package/functions/utils/erc20tokenFunctions.cjs +1 -1
  504. package/functions/utils/erc20tokenFunctions.d.ts +2 -0
  505. package/functions/utils/erc20tokenFunctions.mjs +26 -16
  506. package/functions/utils/evmNetworkFunctions.d.ts +1 -2
  507. package/functions/utils/fees.utils.cjs +1 -1
  508. package/functions/utils/fees.utils.d.ts +2 -1
  509. package/functions/utils/fees.utils.mjs +30 -16
  510. package/functions/utils/formatter.cjs +1 -0
  511. package/functions/utils/formatter.d.ts +1 -0
  512. package/functions/utils/formatter.mjs +15 -0
  513. package/functions/utils/getBlockExplorerUrl.cjs +1 -1
  514. package/functions/utils/getBlockExplorerUrl.mjs +1 -1
  515. package/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
  516. package/functions/utils/getRecipientInfoFromUserKeys.d.ts +2 -0
  517. package/functions/utils/getRecipientInfoFromUserKeys.mjs +14 -9
  518. package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  519. package/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -0
  520. package/functions/utils/getUtxosFromReceipt.utils.mjs +43 -27
  521. package/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
  522. package/functions/utils/getUtxosFromReceiptSolana.d.ts +1 -0
  523. package/functions/utils/getUtxosFromReceiptSolana.mjs +36 -21
  524. package/functions/utils/getWalletGroupKey.utils.cjs +1 -1
  525. package/functions/utils/getWalletGroupKey.utils.mjs +4 -1
  526. package/functions/utils/index.cjs +1 -1
  527. package/functions/utils/index.d.ts +14 -1
  528. package/functions/utils/index.mjs +21 -9
  529. package/functions/utils/lifi.utils.cjs +1 -0
  530. package/functions/utils/lifi.utils.d.ts +3 -0
  531. package/functions/utils/lifi.utils.mjs +30 -0
  532. package/functions/utils/mnemonics.cjs +1 -0
  533. package/functions/utils/mnemonics.d.ts +1 -0
  534. package/functions/utils/mnemonics.mjs +8 -0
  535. package/functions/utils/pay-routing.utils.cjs +1 -0
  536. package/functions/utils/pay-routing.utils.d.ts +4 -0
  537. package/functions/utils/pay-routing.utils.mjs +17 -0
  538. package/functions/utils/prepareHinkal.cjs +1 -1
  539. package/functions/utils/prepareHinkal.mjs +29 -29
  540. package/functions/utils/publicBalance.utils.cjs +1 -1
  541. package/functions/utils/publicBalance.utils.mjs +5 -5
  542. package/functions/utils/serialize-utxos.utils.cjs +1 -1
  543. package/functions/utils/serialize-utxos.utils.mjs +6 -2
  544. package/functions/utils/solana-memo.cjs +1 -0
  545. package/functions/utils/solana-memo.d.ts +3 -0
  546. package/functions/utils/solana-memo.mjs +15 -0
  547. package/functions/utils/solanaSendPreflight.utils.cjs +1 -0
  548. package/functions/utils/solanaSendPreflight.utils.d.ts +6 -0
  549. package/functions/utils/solanaSendPreflight.utils.mjs +21 -0
  550. package/functions/utils/string.utils.cjs +1 -1
  551. package/functions/utils/string.utils.mjs +1 -1
  552. package/functions/utils/time.utils.cjs +1 -1
  553. package/functions/utils/time.utils.d.ts +6 -0
  554. package/functions/utils/time.utils.mjs +23 -16
  555. package/functions/utils/token-check.utils.cjs +1 -1
  556. package/functions/utils/token-check.utils.d.ts +1 -0
  557. package/functions/utils/token-check.utils.mjs +9 -8
  558. package/functions/utils/transfer-claimable.utils.cjs +1 -0
  559. package/functions/utils/transfer-claimable.utils.d.ts +9 -0
  560. package/functions/utils/transfer-claimable.utils.mjs +93 -0
  561. package/functions/utils/tron.utils.cjs +1 -1
  562. package/functions/utils/tron.utils.d.ts +11 -1
  563. package/functions/utils/tron.utils.mjs +85 -40
  564. package/functions/utils/tx-confirmation.utils.cjs +1 -1
  565. package/functions/utils/tx-confirmation.utils.mjs +5 -5
  566. package/functions/utils/userAgent.cjs +1 -1
  567. package/functions/utils/userAgent.d.ts +1 -0
  568. package/functions/utils/userAgent.mjs +4 -1
  569. package/functions/web3/connectors.utils.cjs +1 -1
  570. package/functions/web3/connectors.utils.d.ts +1 -0
  571. package/functions/web3/connectors.utils.mjs +5 -2
  572. package/functions/web3/events/balanceChangedHandler.cjs +1 -1
  573. package/functions/web3/events/balanceChangedHandler.d.ts +2 -1
  574. package/functions/web3/events/balanceChangedHandler.mjs +3 -3
  575. package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  576. package/functions/web3/events/getInputUtxoAndBalance.d.ts +1 -1
  577. package/functions/web3/events/getInputUtxoAndBalance.mjs +21 -20
  578. package/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
  579. package/functions/web3/events/getInputUtxosEnclave.d.ts +2 -1
  580. package/functions/web3/events/getInputUtxosEnclave.mjs +25 -18
  581. package/functions/web3/events/getShieldedBalance.cjs +1 -1
  582. package/functions/web3/events/getShieldedBalance.mjs +15 -17
  583. package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
  584. package/functions/web3/events/getTransactionLogEvents.mjs +1 -1
  585. package/functions/web3/events/index.cjs +1 -1
  586. package/functions/web3/events/index.d.ts +0 -2
  587. package/functions/web3/events/index.mjs +0 -2
  588. package/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
  589. package/functions/web3/functionCalls/constructBatchCall.d.ts +1 -0
  590. package/functions/web3/functionCalls/constructBatchCall.mjs +10 -2
  591. package/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
  592. package/functions/web3/functionCalls/transactCallDirectTron.d.ts +4 -1
  593. package/functions/web3/functionCalls/transactCallDirectTron.mjs +89 -55
  594. package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  595. package/functions/web3/functionCalls/transactCallRelayer.d.ts +5 -4
  596. package/functions/web3/functionCalls/transactCallRelayer.mjs +17 -13
  597. package/functions/web3/getContractMetadata.cjs +1 -1
  598. package/functions/web3/getContractMetadata.mjs +1 -1
  599. package/functions/web3/getTokenHolder.cjs +1 -1
  600. package/functions/web3/getTokenHolder.mjs +1 -1
  601. package/functions/web3/index.cjs +1 -1
  602. package/functions/web3/index.d.ts +0 -1
  603. package/functions/web3/index.mjs +0 -3
  604. package/functions/web3/lifiAPI.cjs +1 -1
  605. package/functions/web3/lifiAPI.mjs +28 -19
  606. package/functions/web3/oneInchAPI.cjs +1 -1
  607. package/functions/web3/oneInchAPI.mjs +1 -1
  608. package/index.cjs +1 -1
  609. package/index.mjs +331 -309
  610. package/package.json +5 -2
  611. package/providers/EthersProviderAdapter.cjs +1 -1
  612. package/providers/EthersProviderAdapter.mjs +1 -1
  613. package/providers/SolanaProviderAdapter.cjs +1 -1
  614. package/providers/SolanaProviderAdapter.d.ts +10 -1
  615. package/providers/SolanaProviderAdapter.mjs +38 -2
  616. package/providers/TronProviderAdapter.cjs +1 -1
  617. package/providers/TronProviderAdapter.mjs +2 -2
  618. package/providers/WagmiProviderAdapter.cjs +1 -1
  619. package/providers/WagmiProviderAdapter.d.ts +3 -1
  620. package/providers/WagmiProviderAdapter.mjs +62 -52
  621. package/providers/prepareSolanaHinkal.cjs +1 -1
  622. package/providers/prepareSolanaHinkal.mjs +3 -3
  623. package/types/admin.types.cjs +1 -1
  624. package/types/admin.types.d.ts +1 -8
  625. package/types/admin.types.mjs +1 -1
  626. package/types/cache.types.cjs +1 -1
  627. package/types/cache.types.d.ts +2 -1
  628. package/types/cache.types.mjs +1 -1
  629. package/types/chains.types.cjs +1 -0
  630. package/types/chains.types.d.ts +11 -0
  631. package/types/chains.types.mjs +8 -0
  632. package/types/circom-data.types.d.ts +13 -0
  633. package/types/commitments.types.d.ts +0 -6
  634. package/types/contacts.types.d.ts +1 -0
  635. package/types/dashboard-account.cjs +1 -0
  636. package/types/dashboard-account.d.ts +101 -0
  637. package/types/dashboard-account.mjs +8 -0
  638. package/types/dashboard-payout.types.cjs +1 -0
  639. package/types/dashboard-payout.types.d.ts +29 -0
  640. package/types/dashboard-payout.types.mjs +8 -0
  641. package/types/dashboard-transaction.types.d.ts +22 -0
  642. package/types/ethereum-network.types.cjs +1 -1
  643. package/types/ethereum-network.types.d.ts +15 -18
  644. package/types/ethereum-network.types.mjs +1 -1
  645. package/types/events.types.cjs +1 -1
  646. package/types/events.types.d.ts +2 -3
  647. package/types/events.types.mjs +1 -1
  648. package/types/external-action.types.cjs +1 -1
  649. package/types/external-action.types.d.ts +2 -1
  650. package/types/external-action.types.mjs +1 -1
  651. package/types/hinkal.types.cjs +1 -1
  652. package/types/hinkal.types.d.ts +6 -17
  653. package/types/hinkal.types.mjs +16 -18
  654. package/types/index.cjs +1 -1
  655. package/types/index.d.ts +6 -0
  656. package/types/index.mjs +3 -0
  657. package/types/pay-activities.types.d.ts +3 -0
  658. package/types/pay-routing.types.d.ts +9 -0
  659. package/types/scheduled-transactions.types.d.ts +7 -0
  660. package/types/solana.types.d.ts +5 -6
  661. package/types/token-prices.types.d.ts +4 -0
  662. package/types/transaction.types.d.ts +1 -3
  663. package/webworker/WorkerWrapper.cjs +1 -0
  664. package/webworker/WorkerWrapper.d.ts +9 -0
  665. package/webworker/WorkerWrapper.mjs +22 -0
  666. package/webworker/logError-fCJ4HXQz.js +22 -0
  667. package/webworker/package.json +112 -0
  668. package/webworker/performTaskWithWorker.cjs +1 -1
  669. package/webworker/performTaskWithWorker.mjs +4 -4
  670. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  671. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  672. package/webworker/snarkjsWorker/snarkjsWorkerLogic.d.ts +0 -3
  673. package/webworker/snarkjsWorker/snarkjsWorkerNode.d.ts +0 -0
  674. package/webworker/snarkjsWorkerNode.cjs +3 -0
  675. package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  676. package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  677. package/webworker/utxoWorker/utxoWorkerLogic.d.ts +0 -3
  678. package/webworker/utxoWorker/utxoWorkerNode.d.ts +0 -0
  679. package/webworker/utxoWorkerNode.cjs +1 -0
  680. package/webworker/viteWorkerURL.constant.cjs +4 -4
  681. package/webworker/viteWorkerURL.constant.mjs +4 -4
  682. package/webworker/worker.registry.cjs +1 -1
  683. package/webworker/worker.registry.mjs +6 -3
  684. package/webworker/workerFactory.cjs +1 -1
  685. package/webworker/workerFactory.d.ts +4 -1
  686. package/webworker/workerFactory.mjs +31 -17
  687. package/webworker/workerProxy-BNBqYien.js +130 -0
  688. package/webworker/workerProxy.d.ts +1 -1
  689. package/webworker/workerThreadsPatch.d.ts +1 -0
  690. package/webworker/zkProofWorker/zkProofWorker.types.cjs +1 -1
  691. package/webworker/zkProofWorker/zkProofWorker.types.d.ts +3 -13
  692. package/webworker/zkProofWorker/zkProofWorker.types.mjs +1 -1
  693. package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  694. package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  695. package/webworker/zkProofWorker/zkProofWorkerLogic.d.ts +1 -5
  696. package/webworker/zkProofWorker/zkProofWorkerNode.d.ts +0 -0
  697. package/webworker/zkProofWorkerNode.cjs +1 -0
  698. package/API/solana-calls.cjs +0 -1
  699. package/API/solana-calls.d.ts +0 -38
  700. package/API/solana-calls.mjs +0 -8
  701. package/constants/non-circular-tokens.constants.cjs +0 -1
  702. package/constants/non-circular-tokens.constants.d.ts +0 -1
  703. package/constants/non-circular-tokens.constants.mjs +0 -4
  704. package/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.cjs +0 -1
  705. package/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.d.ts +0 -3
  706. package/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.mjs +0 -15
  707. package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +0 -1
  708. package/data-structures/Hinkal/hinkalCheckTokenRegistry.d.ts +0 -4
  709. package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +0 -18
  710. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.cjs +0 -1
  711. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.d.ts +0 -35
  712. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.mjs +0 -75
  713. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.cjs +0 -1
  714. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.d.ts +0 -30
  715. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.mjs +0 -81
  716. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.cjs +0 -1
  717. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.d.ts +0 -35
  718. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs +0 -76
  719. package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.cjs +0 -1
  720. package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.d.ts +0 -2
  721. package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.mjs +0 -13
  722. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +0 -1
  723. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.d.ts +0 -8
  724. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +0 -29
  725. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +0 -1
  726. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.d.ts +0 -8
  727. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +0 -30
  728. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +0 -1
  729. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.d.ts +0 -8
  730. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +0 -26
  731. package/externalABIs/transactionsProver.json.cjs +0 -1
  732. package/externalABIs/transactionsProver.json.mjs +0 -43
  733. package/functions/pre-transaction/getKycAndSignatureData.cjs +0 -1
  734. package/functions/pre-transaction/getKycAndSignatureData.d.ts +0 -5
  735. package/functions/pre-transaction/getKycAndSignatureData.mjs +0 -12
  736. package/functions/pre-transaction/getSignatureDataForTransact.cjs +0 -1
  737. package/functions/pre-transaction/getSignatureDataForTransact.d.ts +0 -3
  738. package/functions/pre-transaction/getSignatureDataForTransact.mjs +0 -6
  739. package/functions/pre-transaction/initTokenLimitIfNeeded.cjs +0 -1
  740. package/functions/pre-transaction/initTokenLimitIfNeeded.d.ts +0 -3
  741. package/functions/pre-transaction/initTokenLimitIfNeeded.mjs +0 -17
  742. package/functions/pre-transaction/outputApprovalDataProcessing.cjs +0 -1
  743. package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +0 -10
  744. package/functions/pre-transaction/outputApprovalDataProcessing.mjs +0 -22
  745. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +0 -1
  746. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +0 -6
  747. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +0 -11
  748. package/functions/snarkjs/constructEmporiumProof.cjs +0 -1
  749. package/functions/snarkjs/constructEmporiumProof.d.ts +0 -13
  750. package/functions/snarkjs/constructEmporiumProof.mjs +0 -74
  751. package/functions/utils/processUseApprovalUtxoData.cjs +0 -1
  752. package/functions/utils/processUseApprovalUtxoData.d.ts +0 -3
  753. package/functions/utils/processUseApprovalUtxoData.mjs +0 -13
  754. package/functions/web3/events/balanceChangedCustomHandler.cjs +0 -1
  755. package/functions/web3/events/balanceChangedCustomHandler.d.ts +0 -2
  756. package/functions/web3/events/balanceChangedCustomHandler.mjs +0 -9
  757. package/functions/web3/events/getApprovedBalance.cjs +0 -1
  758. package/functions/web3/events/getApprovedBalance.d.ts +0 -6
  759. package/functions/web3/events/getApprovedBalance.mjs +0 -37
  760. package/functions/web3/functionCalls/accessTokenCalls.cjs +0 -1
  761. package/functions/web3/functionCalls/accessTokenCalls.d.ts +0 -2
  762. package/functions/web3/functionCalls/accessTokenCalls.mjs +0 -19
  763. package/functions/web3/tron-wagmi-adapter.cjs +0 -1
  764. package/functions/web3/tron-wagmi-adapter.d.ts +0 -8
  765. package/functions/web3/tron-wagmi-adapter.mjs +0 -27
  766. package/providers/CustomEthersProvider.cjs +0 -1
  767. package/providers/CustomEthersProvider.d.ts +0 -10
  768. package/providers/CustomEthersProvider.mjs +0 -28
  769. package/webworker/snarkjsWorker/snarkjsWorkerLogic.cjs +0 -1
  770. package/webworker/snarkjsWorker/snarkjsWorkerLogic.mjs +0 -30
  771. package/webworker/utxoWorker/utxoWorkerLogic.cjs +0 -1
  772. package/webworker/utxoWorker/utxoWorkerLogic.mjs +0 -69
  773. package/webworker/workerProxy.cjs +0 -1
  774. package/webworker/workerProxy.mjs +0 -33
  775. package/webworker/zkProofWorker/zkProofWorkerLogic.cjs +0 -1
  776. package/webworker/zkProofWorker/zkProofWorkerLogic.mjs +0 -45
@@ -0,0 +1,99 @@
1
+ import { evmHexToTronBase58Address as e } from "../../functions/utils/tron.utils.mjs";
2
+ import { hmacSha512 as t } from "../../functions/web3/crypto.mjs";
3
+ import { HDNodeWallet as n, Mnemonic as r, Wallet as i, ethers as a } from "ethers";
4
+ import { Keypair as o } from "@solana/web3.js";
5
+ import s from "bs58";
6
+ import { mnemonicToSeedSync as c } from "bip39";
7
+ //#region libs/shared/common/src/data-structures/WalletManager/WalletManager.ts
8
+ var l = class {
9
+ mainWallet = null;
10
+ tronMainWallet = null;
11
+ mnemonicPhrase = null;
12
+ ethDerivationBasePath = "m/44'/60'/0'";
13
+ tronDerivationBasePath = "m/44'/195'/0'";
14
+ generateMnemonic(e = 12) {
15
+ let t = e === 24 ? 32 : 16;
16
+ return r.fromEntropy(a.randomBytes(t)).phrase.split(" ");
17
+ }
18
+ isValidMnemonic(e) {
19
+ return r.isValidMnemonic(e);
20
+ }
21
+ isValidWord(e) {
22
+ return a.wordlists.en.getWordIndex(e.toLowerCase()) !== -1;
23
+ }
24
+ createEvmWallet(e) {
25
+ if (!this.mainWallet) throw Error("Main wallet not initialized. Call createMainWallet first.");
26
+ let t = new i(this.mainWallet.derivePath(`0/${e}`).privateKey);
27
+ return {
28
+ address: t.address,
29
+ privateKey: t.privateKey
30
+ };
31
+ }
32
+ createTronWallet(t) {
33
+ if (!this.tronMainWallet) throw Error("Main wallet not initialized. Call createMainWallet first.");
34
+ let n = new i(this.tronMainWallet.derivePath(`0/${t}`).privateKey);
35
+ return {
36
+ address: e(n.address),
37
+ privateKey: n.privateKey
38
+ };
39
+ }
40
+ async createSolanaAccount(e = 0) {
41
+ if (!this.mnemonicPhrase) throw Error("Main wallet not initialized. Call createMainWallet first.");
42
+ let t = c(this.mnemonicPhrase, ""), n = `m/44'/501'/${e}'/0'`, r = await this.deriveEd25519Path(n, new Uint8Array(t)), i = o.fromSeed(r);
43
+ return {
44
+ publicKey: i.publicKey.toBase58(),
45
+ secretKey: s.encode(i.secretKey)
46
+ };
47
+ }
48
+ async createChildWallet(e) {
49
+ let t = this.createEvmWallet(e), n = this.createTronWallet(e), r = await this.createSolanaAccount(e);
50
+ return {
51
+ ethereum: {
52
+ address: t.address,
53
+ privateKey: t.privateKey
54
+ },
55
+ tron: {
56
+ address: n.address,
57
+ privateKey: n.privateKey
58
+ },
59
+ solana: {
60
+ publicKey: r.publicKey,
61
+ secretKey: r.secretKey
62
+ }
63
+ };
64
+ }
65
+ async deriveEd25519Path(e, n) {
66
+ let r = e.split("/").slice(1).map((e) => {
67
+ let t = e.endsWith("'"), n = parseInt(e.replace("'", ""), 10);
68
+ return t ? n + 2147483648 : n;
69
+ }), i = await t("ed25519 seed", n), a = i.slice(0, 32), o = i.slice(32);
70
+ for (let e of r) {
71
+ let n = new Uint8Array(37);
72
+ n[0] = 0, n.set(a, 1), new DataView(n.buffer).setUint32(33, e, !1);
73
+ let r = await t(o, n);
74
+ a = r.slice(0, 32), o = r.slice(32);
75
+ }
76
+ return a;
77
+ }
78
+ async createMainWallet(e) {
79
+ if (!this.isValidMnemonic(e)) throw Error("Invalid mnemonic phrase");
80
+ this.mnemonicPhrase = e, this.mainWallet = n.fromPhrase(e, "", this.ethDerivationBasePath), this.tronMainWallet = n.fromPhrase(e, "", this.tronDerivationBasePath);
81
+ let { ethereum: t, tron: r, solana: i } = await this.createChildWallet(0);
82
+ return {
83
+ ethereum: {
84
+ address: t.address,
85
+ privateKey: t.privateKey
86
+ },
87
+ tron: {
88
+ address: r.address,
89
+ privateKey: r.privateKey
90
+ },
91
+ solana: {
92
+ publicKey: i.publicKey,
93
+ secretKey: i.secretKey
94
+ }
95
+ };
96
+ }
97
+ };
98
+ //#endregion
99
+ export { l as WalletManager };
@@ -0,0 +1 @@
1
+ require(`./WalletManager.cjs`);
@@ -0,0 +1 @@
1
+ export * from './WalletManager';
@@ -0,0 +1 @@
1
+ import "./WalletManager.mjs";
@@ -1 +1 @@
1
- require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../crypto/poseidon.cjs`),n=require(`./keys.cjs`),r=require(`../utxo/Utxo.cjs`);let i=require(`ethers`),a=require(`@solana/web3.js`);var o=`solana-on-chain-utxo:`,s=8,c=e=>{if(e.length!==s)throw Error(`Expected ${s} on-chain fields, received ${e.length}`);let t=e.map((e,t)=>{let n=e instanceof Uint8Array?e:Uint8Array.from(e);if(n.length!==32)throw Error(`Expected bytes32 length 32 at position ${t}, got ${n.length}`);return`0x${Buffer.from(n).toString(`hex`)}`});return`${o}${i.ethers.AbiCoder.defaultAbiCoder().encode([`bytes32[8]`],[t])}`},l=e=>e.startsWith(o),u=e=>{if(!l(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=i.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[8]`],e.slice(21)),r=n;if(!Array.isArray(r)||r.length!==s)throw Error(`Malformed encoded Solana UTXO payload`);let[o,c,u,d,f,p,m,h]=r,g=BigInt(o),_=BigInt(d),v=i.ethers.toBeHex(BigInt(f)),y=BigInt(p),b=BigInt(m),x=BigInt(h).toString(),S=Array.from(i.ethers.getBytes(c)),C=Array.from(i.ethers.getBytes(u)),w=new a.PublicKey(Uint8Array.from([...S.slice(16),...C.slice(16)])).toBase58();return{amount:g,erc20TokenAddress:t.poseidonHash(BigInt(c),BigInt(u)),mintAddress:w,randomization:_,stealthAddress:v,H0:y,H1:b,timeStamp:x}},d=e=>{let t=i.ethers.AbiCoder.defaultAbiCoder().decode([`uint256`,`address`,`tuple(uint256, uint256, uint256, uint256)`,`uint256`,`uint256`],e);return{amount:BigInt(t[0]),erc20TokenAddress:t[1],randomization:BigInt(t[2][0]),stealthAddress:i.ethers.toBeHex(BigInt(t[2][1])),H0:BigInt(t[2][2]),H1:BigInt(t[2][3]),timeStamp:BigInt(t[3]).toString(),tokenId:Number(t[4])}},f=(t,n,r)=>{if(e.isSolanaLike(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,randomization:a,stealthAddress:o,timeStamp:s}=u(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:s,tokenId:0,randomization:a,shieldedPrivateKey:n,stealthAddress:o}}let{amount:i,erc20TokenAddress:a,timeStamp:o,tokenId:s,randomization:c,stealthAddress:l}=d(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,tokenId:s,randomization:c,shieldedPrivateKey:n,stealthAddress:l}},p=(e,t,n)=>new r.Utxo(f(e,t,n)),m=(t,r,i)=>{let{randomization:a,H0:o,H1:s}=e.isSolanaLike(i)?u(t):d(t),c=n.UserKeys.checkSignature(a,o,s,r);if(!c)throw Error(`UTXO doesn't belong to user`);return c};exports.abiDecodeUtxo=d,exports.checkUtxoSignature=m,exports.decodeSolanaOnChainUtxo=u,exports.decodeUtxo=p,exports.decodeUtxoConstructorArgs=f,exports.encodeSolanaOnChainUtxo=c,exports.isSolanaOnChainUtxo=l;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../crypto/poseidon.cjs`),n=require(`./keys.cjs`),r=require(`../utxo/Utxo.cjs`),i=require(`../../functions/utils/bit.operations.cjs`);let a=require(`ethers`),o=require(`@solana/web3.js`);var s=`solana-on-chain-utxo:`,c=8,l=e=>{if(e.length!==c)throw Error(`Expected ${c} on-chain fields, received ${e.length}`);let t=e.map((e,t)=>{let n=e instanceof Uint8Array?e:Uint8Array.from(e);if(n.length!==32)throw Error(`Expected bytes32 length 32 at position ${t}, got ${n.length}`);return`0x${Buffer.from(n).toString(`hex`)}`});return`${s}${a.ethers.AbiCoder.defaultAbiCoder().encode([`bytes32[8]`],[t])}`},u=e=>e.startsWith(s),d=e=>{if(!u(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=a.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[8]`],e.slice(21)),r=n;if(!Array.isArray(r)||r.length!==c)throw Error(`Malformed encoded Solana UTXO payload`);let[s,l,d,f,p,m,h,g]=r,_=BigInt(s),v=BigInt(f),y=i.extractHighestBit(v)===1n,b=i.takeOffHighestBit(v),x=a.ethers.toBeHex(BigInt(p)),S=BigInt(m),C=BigInt(h),w=BigInt(g).toString(),T=Array.from(a.ethers.getBytes(l)),E=Array.from(a.ethers.getBytes(d)),D=new o.PublicKey(Uint8Array.from([...T.slice(16),...E.slice(16)])).toBase58();return{amount:_,erc20TokenAddress:t.poseidonHash(BigInt(l),BigInt(d)),mintAddress:D,randomization:b,stealthAddress:x,H0:S,H1:C,timeStamp:w,isNewStyle:y}},f=e=>{let t=a.ethers.AbiCoder.defaultAbiCoder().decode([`uint256`,`address`,`tuple(uint256, uint256, uint256, uint256)`,`uint256`,`uint256`],e),n=BigInt(t[0]),r=t[1],o=BigInt(t[2][0]),s=i.extractHighestBit(o),c=i.takeOffHighestBit(o),l=a.ethers.toBeHex(BigInt(t[2][1])),u=BigInt(t[2][2]),d=BigInt(t[2][3]),f=BigInt(t[3]).toString(),p=Number(t[4]);return{amount:n,erc20TokenAddress:r,randomization:c,isNewStyle:s===1n,stealthAddress:l,H0:u,H1:d,timeStamp:f,tokenId:p}},p=(t,r,i)=>{let{randomization:a,H0:o,H1:s,isNewStyle:c}=e.isSolanaLike(i)?d(t):f(t),l=c?n.UserKeys.verifyStealthPair([a,o],[0n,s],r):n.UserKeys.checkSignature(a,o,s,r);if(!l)throw Error(`UTXO doesn't belong to user`);return l},m=(t,n,r)=>{if(e.isSolanaLike(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,randomization:a,stealthAddress:o,timeStamp:s,isNewStyle:c,H0:l}=d(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:s,nullifyingKey:n,stealthAddress:o,isNewStyle:c,...c?{H0:[a,l]}:{randomization:a}}}let{amount:i,erc20TokenAddress:a,timeStamp:o,randomization:s,isNewStyle:c,stealthAddress:l,H0:u}=f(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,nullifyingKey:n,stealthAddress:l,isNewStyle:c,...c?{H0:[s,u]}:{randomization:s}}},h=(e,t,n)=>new r.Utxo(m(e,t,n));exports.checkUtxoSignature=p,exports.decodeEvmUtxo=f,exports.decodeSolanaUtxo=d,exports.decodeUtxo=h,exports.decodeUtxoConstructorArgs=m,exports.encodeSolanaOnChainUtxo=l,exports.isSolanaOnChainUtxo=u;
@@ -1,7 +1,7 @@
1
1
  import { IUtxoConstructor, Utxo } from '../utxo/Utxo';
2
2
  export declare const encodeSolanaOnChainUtxo: (onChainData: number[][]) => string;
3
3
  export declare const isSolanaOnChainUtxo: (encodedOutput: string) => boolean;
4
- export declare const decodeSolanaOnChainUtxo: (encodedOutput: string) => {
4
+ export declare const decodeSolanaUtxo: (encodedOutput: string) => {
5
5
  amount: bigint;
6
6
  erc20TokenAddress: string;
7
7
  mintAddress: string;
@@ -10,17 +10,19 @@ export declare const decodeSolanaOnChainUtxo: (encodedOutput: string) => {
10
10
  H0: bigint;
11
11
  H1: bigint;
12
12
  timeStamp: string;
13
+ isNewStyle: boolean;
13
14
  };
14
- export declare const abiDecodeUtxo: (encryptedOutput: string) => {
15
+ export declare const decodeEvmUtxo: (encryptedOutput: string) => {
15
16
  amount: bigint;
16
17
  erc20TokenAddress: string;
17
18
  randomization: bigint;
19
+ isNewStyle: boolean;
18
20
  stealthAddress: string;
19
21
  H0: bigint;
20
22
  H1: bigint;
21
23
  timeStamp: string;
22
24
  tokenId: number;
23
25
  };
26
+ export declare const checkUtxoSignature: (encryptedOutput: string, privateKey: string, chainId: number) => boolean;
24
27
  export declare const decodeUtxoConstructorArgs: (encryptedOutput: string, privateKey: string, chainId: number) => IUtxoConstructor;
25
28
  export declare const decodeUtxo: (encryptedOutput: string, privateKey: string, chainId: number) => Utxo;
26
- export declare const checkUtxoSignature: (encryptedOutput: string, privateKey: string, chainId: number) => boolean;
@@ -2,78 +2,81 @@ import { isSolanaLike as e } from "../../constants/chains.constants.mjs";
2
2
  import { poseidonHash as t } from "../../crypto/poseidon.mjs";
3
3
  import { UserKeys as n } from "./keys.mjs";
4
4
  import { Utxo as r } from "../utxo/Utxo.mjs";
5
- import { ethers as i } from "ethers";
6
- import { PublicKey as a } from "@solana/web3.js";
5
+ import { extractHighestBit as i, takeOffHighestBit as a } from "../../functions/utils/bit.operations.mjs";
6
+ import { ethers as o } from "ethers";
7
+ import { PublicKey as s } from "@solana/web3.js";
7
8
  //#region libs/shared/common/src/data-structures/crypto-keys/decodeUTXO.ts
8
- var o = "solana-on-chain-utxo:", s = 8, c = (e) => {
9
- if (e.length !== s) throw Error(`Expected ${s} on-chain fields, received ${e.length}`);
9
+ var c = "solana-on-chain-utxo:", l = 8, u = (e) => {
10
+ if (e.length !== l) throw Error(`Expected ${l} on-chain fields, received ${e.length}`);
10
11
  let t = e.map((e, t) => {
11
12
  let n = e instanceof Uint8Array ? e : Uint8Array.from(e);
12
13
  if (n.length !== 32) throw Error(`Expected bytes32 length 32 at position ${t}, got ${n.length}`);
13
14
  return `0x${Buffer.from(n).toString("hex")}`;
14
15
  });
15
- return `${o}${i.AbiCoder.defaultAbiCoder().encode(["bytes32[8]"], [t])}`;
16
- }, l = (e) => e.startsWith(o), u = (e) => {
17
- if (!l(e)) throw Error("Invalid encoded Solana UTXO payload");
18
- let [n] = i.AbiCoder.defaultAbiCoder().decode(["bytes32[8]"], e.slice(21)), r = n;
19
- if (!Array.isArray(r) || r.length !== s) throw Error("Malformed encoded Solana UTXO payload");
20
- let [o, c, u, d, f, p, m, h] = r, g = BigInt(o), _ = BigInt(d), v = i.toBeHex(BigInt(f)), y = BigInt(p), b = BigInt(m), x = BigInt(h).toString(), S = Array.from(i.getBytes(c)), C = Array.from(i.getBytes(u)), w = new a(Uint8Array.from([...S.slice(16), ...C.slice(16)])).toBase58();
16
+ return `${c}${o.AbiCoder.defaultAbiCoder().encode(["bytes32[8]"], [t])}`;
17
+ }, d = (e) => e.startsWith(c), f = (e) => {
18
+ if (!d(e)) throw Error("Invalid encoded Solana UTXO payload");
19
+ let [n] = o.AbiCoder.defaultAbiCoder().decode(["bytes32[8]"], e.slice(21)), r = n;
20
+ if (!Array.isArray(r) || r.length !== l) throw Error("Malformed encoded Solana UTXO payload");
21
+ let [c, u, f, p, m, h, g, _] = r, v = BigInt(c), y = BigInt(p), b = i(y) === 1n, x = a(y), S = o.toBeHex(BigInt(m)), C = BigInt(h), w = BigInt(g), T = BigInt(_).toString(), E = Array.from(o.getBytes(u)), D = Array.from(o.getBytes(f)), O = new s(Uint8Array.from([...E.slice(16), ...D.slice(16)])).toBase58();
21
22
  return {
22
- amount: g,
23
- erc20TokenAddress: t(BigInt(c), BigInt(u)),
24
- mintAddress: w,
25
- randomization: _,
26
- stealthAddress: v,
27
- H0: y,
28
- H1: b,
29
- timeStamp: x
23
+ amount: v,
24
+ erc20TokenAddress: t(BigInt(u), BigInt(f)),
25
+ mintAddress: O,
26
+ randomization: x,
27
+ stealthAddress: S,
28
+ H0: C,
29
+ H1: w,
30
+ timeStamp: T,
31
+ isNewStyle: b
30
32
  };
31
- }, d = (e) => {
32
- let t = i.AbiCoder.defaultAbiCoder().decode([
33
+ }, p = (e) => {
34
+ let t = o.AbiCoder.defaultAbiCoder().decode([
33
35
  "uint256",
34
36
  "address",
35
37
  "tuple(uint256, uint256, uint256, uint256)",
36
38
  "uint256",
37
39
  "uint256"
38
- ], e);
40
+ ], e), n = BigInt(t[0]), r = t[1], s = BigInt(t[2][0]), c = i(s), l = a(s), u = o.toBeHex(BigInt(t[2][1])), d = BigInt(t[2][2]), f = BigInt(t[2][3]), p = BigInt(t[3]).toString(), m = Number(t[4]);
39
41
  return {
40
- amount: BigInt(t[0]),
41
- erc20TokenAddress: t[1],
42
- randomization: BigInt(t[2][0]),
43
- stealthAddress: i.toBeHex(BigInt(t[2][1])),
44
- H0: BigInt(t[2][2]),
45
- H1: BigInt(t[2][3]),
46
- timeStamp: BigInt(t[3]).toString(),
47
- tokenId: Number(t[4])
42
+ amount: n,
43
+ erc20TokenAddress: r,
44
+ randomization: l,
45
+ isNewStyle: c === 1n,
46
+ stealthAddress: u,
47
+ H0: d,
48
+ H1: f,
49
+ timeStamp: p,
50
+ tokenId: m
48
51
  };
49
- }, f = (t, n, r) => {
52
+ }, m = (t, r, i) => {
53
+ let { randomization: a, H0: o, H1: s, isNewStyle: c } = e(i) ? f(t) : p(t), l = c ? n.verifyStealthPair([a, o], [0n, s], r) : n.checkSignature(a, o, s, r);
54
+ if (!l) throw Error("UTXO doesn't belong to user");
55
+ return l;
56
+ }, h = (t, n, r) => {
50
57
  if (e(r)) {
51
- let { amount: e, erc20TokenAddress: r, mintAddress: i, randomization: a, stealthAddress: o, timeStamp: s } = u(t);
58
+ let { amount: e, erc20TokenAddress: r, mintAddress: i, randomization: a, stealthAddress: o, timeStamp: s, isNewStyle: c, H0: l } = f(t);
52
59
  return {
53
60
  amount: e,
54
61
  erc20TokenAddress: r,
55
62
  mintAddress: i,
56
63
  timeStamp: s,
57
- tokenId: 0,
58
- randomization: a,
59
- shieldedPrivateKey: n,
60
- stealthAddress: o
64
+ nullifyingKey: n,
65
+ stealthAddress: o,
66
+ isNewStyle: c,
67
+ ...c ? { H0: [a, l] } : { randomization: a }
61
68
  };
62
69
  }
63
- let { amount: i, erc20TokenAddress: a, timeStamp: o, tokenId: s, randomization: c, stealthAddress: l } = d(t);
70
+ let { amount: i, erc20TokenAddress: a, timeStamp: o, randomization: s, isNewStyle: c, stealthAddress: l, H0: u } = p(t);
64
71
  return {
65
72
  amount: i,
66
73
  erc20TokenAddress: a,
67
74
  timeStamp: o,
68
- tokenId: s,
69
- randomization: c,
70
- shieldedPrivateKey: n,
71
- stealthAddress: l
75
+ nullifyingKey: n,
76
+ stealthAddress: l,
77
+ isNewStyle: c,
78
+ ...c ? { H0: [s, u] } : { randomization: s }
72
79
  };
73
- }, p = (e, t, n) => new r(f(e, t, n)), m = (t, r, i) => {
74
- let { randomization: a, H0: o, H1: s } = e(i) ? u(t) : d(t), c = n.checkSignature(a, o, s, r);
75
- if (!c) throw Error("UTXO doesn't belong to user");
76
- return c;
77
- };
80
+ }, g = (e, t, n) => new r(h(e, t, n));
78
81
  //#endregion
79
- export { d as abiDecodeUtxo, m as checkUtxoSignature, u as decodeSolanaOnChainUtxo, p as decodeUtxo, f as decodeUtxoConstructorArgs, c as encodeSolanaOnChainUtxo, l as isSolanaOnChainUtxo };
82
+ export { m as checkUtxoSignature, p as decodeEvmUtxo, f as decodeSolanaUtxo, g as decodeUtxo, h as decodeUtxoConstructorArgs, u as encodeSolanaOnChainUtxo, d as isSolanaOnChainUtxo };
@@ -1 +1 @@
1
- const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`./keys.cjs`),n=require(`../utxo/Utxo.cjs`);let r=require(`ethers`),i=require(`@solana/web3.js`),a=require(`libsodium-wrappers`);a=e.__toESM(a);var o=e=>e.startsWith(`0x`)?e:`0x${e}`,s=e=>{let t=[Buffer.from(r.ethers.toBeHex(e.amount)),Buffer.from(o(e.erc20TokenAddress)),Buffer.from(r.ethers.toBeHex(e.randomization)),Buffer.from(o(e.getStealthAddress())),Buffer.from(r.ethers.toBeHex(BigInt(e.timeStamp))),Buffer.from(r.ethers.toBeHex(BigInt(e.tokenId??0)))];if(e.mintAddress){let n=new i.PublicKey(e.mintAddress),a=r.ethers.hexlify(n.toBytes());t.push(Buffer.from(a))}let n=Buffer.concat(t);return a.default.crypto_box_seal(n,r.ethers.getBytes(e.getEncryptionKey()))},c=(e,n)=>{let{publicKey:o,privateKey:s}=t.UserKeys.getEncryptionKeyPair(n.getShieldedPrivateKey()),c=a.default.crypto_box_seal_open(e,r.ethers.getBytes(o),r.ethers.getBytes(s)),l=Buffer.from(c).toString(`utf-8`).split(`0x`).filter(e=>e.length!==0).map((e,t)=>{let n;return[0,2,4,5].includes(t)?n=BigInt(`0x${e}`):[1,3,6].includes(t)&&(n=`0x${e}`),n}),u=typeof l[6]==`string`?l[6]:void 0,d=u?new i.PublicKey(Buffer.from(u.slice(2),`hex`)).toString():void 0;return{amount:l[0],erc20TokenAddress:l[1],randomization:l[2],stealthAddress:l[3],shieldedPrivateKey:n.getShieldedPrivateKey(),timeStamp:l[4].toString(),tokenId:l[5]?Number(l[5]):0,mintAddress:d}},l=(e,t)=>new n.Utxo(c(e,t));exports.decryptUtxo=l,exports.decryptUtxoConstructorArgs=c,exports.encryptUtxo=s;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../crypto/ecdh.cjs`),t=require(`../../crypto/ecdh-sealed-keys.cjs`),n=require(`./keys.cjs`),r=require(`../utxo/Utxo.cjs`);let i=require(`ethers`),a=require(`@solana/web3.js`);var o=e=>e.startsWith(`0x`)?e:`0x${e}`,s=54912,c=2,l=e=>Uint8Array.from([Math.floor(e/256),e%256]),u=e=>e[0]*256+e[1],d=e=>{let n=[Buffer.from(i.ethers.toBeHex(e.amount)),Buffer.from(o(e.erc20TokenAddress)),Buffer.from(i.ethers.toBeHex(e.randomization??0n)),Buffer.from(o(e.getStealthAddress())),Buffer.from(i.ethers.toBeHex(BigInt(e.timeStamp))),Buffer.from(i.ethers.toBeHex(e.isNewStyle?1n:0n)),Buffer.from(i.ethers.toBeHex(e.H0?.[0]??0n)),Buffer.from(i.ethers.toBeHex(e.H0?.[1]??0n))];if(e.mintAddress){let t=new a.PublicKey(e.mintAddress),r=i.ethers.hexlify(t.toBytes());n.push(Buffer.from(r))}let r=t.encryptSealedKeys(Buffer.concat(n),[e.getEncryptionKey()]);return Buffer.concat([Buffer.from(l(s)),Buffer.from(r)])},f=(r,i)=>{let{privateKey:o,publicKey:l}=n.UserKeys.getEncryptionKeyPair(i.getShieldedPrivateKey()),d=u(r)===s?t.decryptSealedKeys(r.slice(c),o,l,0):e.decryptBoxSeal(r,o,l),f=Buffer.from(d).toString(`utf-8`).split(`0x`).filter(e=>e.length!==0),p=e=>BigInt(`0x${e}`),m=e=>`0x${e}`,h=f.length>=8,g=h&&p(f[5])===1n,_=h?8:6,v=f[_]?m(f[_]):void 0,y=v?new a.PublicKey(Buffer.from(v.slice(2),`hex`)).toString():void 0;return{amount:p(f[0]),erc20TokenAddress:m(f[1]),randomization:p(f[2]),stealthAddress:m(f[3]),nullifyingKey:i.getShieldedPrivateKey(),timeStamp:p(f[4]).toString(),isNewStyle:g,...g?{H0:[p(f[6]),p(f[7])]}:{},mintAddress:y}},p=(e,t)=>new r.Utxo(f(e,t));exports.decryptUtxo=p,exports.decryptUtxoConstructorArgs=f,exports.encryptUtxo=d;
@@ -1,48 +1,40 @@
1
- import { UserKeys as e } from "./keys.mjs";
2
- import { Utxo as t } from "../utxo/Utxo.mjs";
3
- import { ethers as n } from "ethers";
4
- import { PublicKey as r } from "@solana/web3.js";
5
- import i from "libsodium-wrappers";
1
+ import { decryptBoxSeal as e } from "../../crypto/ecdh.mjs";
2
+ import { decryptSealedKeys as t, encryptSealedKeys as n } from "../../crypto/ecdh-sealed-keys.mjs";
3
+ import { UserKeys as r } from "./keys.mjs";
4
+ import { Utxo as i } from "../utxo/Utxo.mjs";
5
+ import { ethers as a } from "ethers";
6
+ import { PublicKey as o } from "@solana/web3.js";
6
7
  //#region libs/shared/common/src/data-structures/crypto-keys/encryptDecryptUtxo.ts
7
- var a = (e) => e.startsWith("0x") ? e : `0x${e}`, o = (e) => {
8
+ var s = (e) => e.startsWith("0x") ? e : `0x${e}`, c = 54912, l = 2, u = (e) => Uint8Array.from([Math.floor(e / 256), e % 256]), d = (e) => e[0] * 256 + e[1], f = (e) => {
8
9
  let t = [
9
- Buffer.from(n.toBeHex(e.amount)),
10
- Buffer.from(a(e.erc20TokenAddress)),
11
- Buffer.from(n.toBeHex(e.randomization)),
12
- Buffer.from(a(e.getStealthAddress())),
13
- Buffer.from(n.toBeHex(BigInt(e.timeStamp))),
14
- Buffer.from(n.toBeHex(BigInt(e.tokenId ?? 0)))
10
+ Buffer.from(a.toBeHex(e.amount)),
11
+ Buffer.from(s(e.erc20TokenAddress)),
12
+ Buffer.from(a.toBeHex(e.randomization ?? 0n)),
13
+ Buffer.from(s(e.getStealthAddress())),
14
+ Buffer.from(a.toBeHex(BigInt(e.timeStamp))),
15
+ Buffer.from(a.toBeHex(e.isNewStyle ? 1n : 0n)),
16
+ Buffer.from(a.toBeHex(e.H0?.[0] ?? 0n)),
17
+ Buffer.from(a.toBeHex(e.H0?.[1] ?? 0n))
15
18
  ];
16
19
  if (e.mintAddress) {
17
- let i = new r(e.mintAddress), a = n.hexlify(i.toBytes());
18
- t.push(Buffer.from(a));
20
+ let n = new o(e.mintAddress), r = a.hexlify(n.toBytes());
21
+ t.push(Buffer.from(r));
19
22
  }
20
- let o = Buffer.concat(t);
21
- return i.crypto_box_seal(o, n.getBytes(e.getEncryptionKey()));
22
- }, s = (t, a) => {
23
- let { publicKey: o, privateKey: s } = e.getEncryptionKeyPair(a.getShieldedPrivateKey()), c = i.crypto_box_seal_open(t, n.getBytes(o), n.getBytes(s)), l = Buffer.from(c).toString("utf-8").split("0x").filter((e) => e.length !== 0).map((e, t) => {
24
- let n;
25
- return [
26
- 0,
27
- 2,
28
- 4,
29
- 5
30
- ].includes(t) ? n = BigInt(`0x${e}`) : [
31
- 1,
32
- 3,
33
- 6
34
- ].includes(t) && (n = `0x${e}`), n;
35
- }), u = typeof l[6] == "string" ? l[6] : void 0, d = u ? new r(Buffer.from(u.slice(2), "hex")).toString() : void 0;
23
+ let r = n(Buffer.concat(t), [e.getEncryptionKey()]);
24
+ return Buffer.concat([Buffer.from(u(c)), Buffer.from(r)]);
25
+ }, p = (n, i) => {
26
+ let { privateKey: a, publicKey: s } = r.getEncryptionKeyPair(i.getShieldedPrivateKey()), u = d(n) === c ? t(n.slice(l), a, s, 0) : e(n, a, s), f = Buffer.from(u).toString("utf-8").split("0x").filter((e) => e.length !== 0), p = (e) => BigInt(`0x${e}`), m = (e) => `0x${e}`, h = f.length >= 8, g = h && p(f[5]) === 1n, _ = h ? 8 : 6, v = f[_] ? m(f[_]) : void 0, y = v ? new o(Buffer.from(v.slice(2), "hex")).toString() : void 0;
36
27
  return {
37
- amount: l[0],
38
- erc20TokenAddress: l[1],
39
- randomization: l[2],
40
- stealthAddress: l[3],
41
- shieldedPrivateKey: a.getShieldedPrivateKey(),
42
- timeStamp: l[4].toString(),
43
- tokenId: l[5] ? Number(l[5]) : 0,
44
- mintAddress: d
28
+ amount: p(f[0]),
29
+ erc20TokenAddress: m(f[1]),
30
+ randomization: p(f[2]),
31
+ stealthAddress: m(f[3]),
32
+ nullifyingKey: i.getShieldedPrivateKey(),
33
+ timeStamp: p(f[4]).toString(),
34
+ isNewStyle: g,
35
+ ...g ? { H0: [p(f[6]), p(f[7])] } : {},
36
+ mintAddress: y
45
37
  };
46
- }, c = (e, n) => new t(s(e, n));
38
+ }, m = (e, t) => new i(p(e, t));
47
39
  //#endregion
48
- export { c as decryptUtxo, s as decryptUtxoConstructorArgs, o as encryptUtxo };
40
+ export { m as decryptUtxo, p as decryptUtxoConstructorArgs, f as encryptUtxo };
@@ -1 +1 @@
1
- const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../crypto/poseidon.cjs`),r=require(`../../crypto/babyJub.cjs`),i=require(`../cacheDevices/AttachableMemoryCacheDevice.cjs`),a=require(`./keyUtils.cjs`);let o=require(`ethers`),s=require(`@solana/web3.js`),c=require(`libsodium-wrappers`);c=e.__toESM(c);let l=require(`bs58`);l=e.__toESM(l);var u=new i.AttachableMemoryCacheDevice,d=new i.AttachableMemoryCacheDevice,f={privateKey:``,publicKey:``},p=class{signature;shieldedPrivateKey;constructor(e,t){this.signature=e,this.shieldedPrivateKey=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.shieldedPrivateKey)throw Error(`No signature or shielded private key provided`)}verifyMessage(e){return this.requireSignature(),o.ethers.verifyMessage(e,this.signature)}getShieldedPrivateKey=()=>(this.requireKeyMaterial(),this.shieldedPrivateKey||=o.ethers.keccak256(this.signature),this.shieldedPrivateKey);getShieldedPublicKey=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getShieldedPrivateKey()));getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return o.ethers.keccak256(o.ethers.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`))};getDerivedEthereumAddress=()=>(this.requireKeyMaterial(),new o.ethers.Wallet(this.getShieldedPrivateKey()).address);getDerivedSolanaPublicKey=()=>(this.requireKeyMaterial(),s.Keypair.fromSeed(o.ethers.getBytes(this.getShieldedPrivateKey())).publicKey.toBase58());getAccessKey=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return o.ethers.keccak256(o.ethers.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{let t=this.getSignerPrivateKeyFromNonce(e),n=o.ethers.getBytes(t),r=s.Keypair.fromSeed(n);return l.default.encode(r.secretKey)};getWalletSalt=e=>(this.requireKeyMaterial(),n.poseidonHash(this.getShieldedPublicKey(),this.getShieldedPrivateKey(),e));getInHinkalAddress=e=>{this.requireKeyMaterial();let t=n.poseidonHash(this.getShieldedPrivateKey(),e);return BigInt(t)};getBackendToken=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getAccessKey(),this.getShieldedPublicKey()));static getRandomizedStealthPair=u.attach((e,n)=>{let i=r.babyJubInstance(),a=e*(BigInt(n)%t.CIRCOM_P)%t.CIRCOM_P,o=i.mulPointEscalar(i.Base8,e),s=i.mulPointEscalar(i.Base8,a);return{H0:[BigInt(i.F.toString(o[0])),BigInt(i.F.toString(o[1]))],H1:[BigInt(i.F.toString(s[0])),BigInt(i.F.toString(s[1]))]}});static getStealthAddressCompressedPoints=(e,t)=>{let{H0:n,H1:r}=this.getRandomizedStealthPair(e,t),[i,o]=[n,r].map(e=>BigInt(e[1])+2n**255n*a.getCircomSign(e[0]));return{h0:i,h1:o}};static getStealthAddress=d.attach((e,t)=>{let{H0:r,H1:i}=this.getRandomizedStealthPair(e,t);return n.poseidonHash(2n*a.getCircomSign(r[0])+a.getCircomSign(i[0]),r[1],i[1])});static getStealthAddressWithEKey=(e,t)=>({stealthAddress:this.getStealthAddress(e,t),encryptionKey:this.getEncryptionKeyPair(t).publicKey});static checkSignature=(e,t,n,r)=>{let{h0:i,h1:a}=this.getStealthAddressCompressedPoints(e,r);return t===i&&n===a};static getEncryptionKeyPair=e=>{let t=c.default.crypto_box_seed_keypair(o.ethers.getBytes(e));return{privateKey:o.ethers.hexlify(t.privateKey),publicKey:o.ethers.hexlify(t.publicKey)}}};exports.EncryptionKeyPairDefaultValue=f,exports.UserKeys=p,exports.stealthAddressCacheDevice=d,exports.stealthPairCacheDevice=u;
1
+ const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../crypto/poseidon.cjs`),r=require(`../../crypto/babyJub.cjs`),i=require(`../../crypto/eddsa.cjs`),a=require(`../cacheDevices/AttachableMemoryCacheDevice.cjs`),o=require(`./keyUtils.cjs`);let s=require(`ethers`),c=require(`@solana/web3.js`),l=require(`tronweb`),u=require(`libsodium-wrappers`);u=e.__toESM(u);let d=require(`bs58`);d=e.__toESM(d);let f=require(`tweetnacl`);f=e.__toESM(f);var p=new a.AttachableMemoryCacheDevice,m=new a.AttachableMemoryCacheDevice,h=new a.AttachableMemoryCacheDevice,g={privateKey:``,publicKey:``},_=class{signature;nullifyingKey;PREFIX_FOR_SPENDING_PAIR=`1`;PREFIX_FOR_NULLIFYING_PAIR=`2`;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=()=>(this.requireKeyMaterial(),this.nullifyingKey||=s.ethers.keccak256(this.signature),this.nullifyingKey);getShieldedPublicKey=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getShieldedPrivateKey()));getSpendingKeyPair=()=>{this.requireSignature();let e=i.eddsaInstance(),t=r.babyJubInstance(),a=n.poseidonHash(this.PREFIX_FOR_SPENDING_PAIR,this.getSignature()),o=Buffer.from(s.ethers.getBytes(a)),c=e.prv2pub(o);return{privSpendingKey:a,pubSpendingBJJPoint:[BigInt(t.F.toString(c[0])),BigInt(t.F.toString(c[1]))]}};signEddsa=e=>{this.requireSignature();let t=r.babyJubInstance(),n=i.eddsaInstance(),a=Buffer.from(s.ethers.getBytes(this.getSpendingKeyPair().privSpendingKey)),o=t.F.e(e),c=n.signPoseidon(a,o);return{R8:[BigInt(t.F.toString(c.R8[0])),BigInt(t.F.toString(c.R8[1]))],S:BigInt(c.S)}};getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return s.ethers.keccak256(s.ethers.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`))};getClaimableSignatureFromNonce=e=>{this.requireKeyMaterial();let t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return s.ethers.keccak256(s.ethers.toUtf8Bytes(`hinkal-claimable-utxo-signature:${t}`))};getDerivedEthereumAddress=()=>(this.requireKeyMaterial(),new s.ethers.Wallet(this.getShieldedPrivateKey()).address);getDerivedSolanaPublicKey=()=>(this.requireKeyMaterial(),c.Keypair.fromSeed(s.ethers.getBytes(this.getShieldedPrivateKey())).publicKey.toBase58());getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return s.ethers.keccak256(s.ethers.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{let t=this.getSignerPrivateKeyFromNonce(e),n=s.ethers.getBytes(t),r=c.Keypair.fromSeed(n);return d.default.encode(r.secretKey)};verifyMessage(e){return this.requireSignature(),s.ethers.verifyMessage(e,this.signature)}verifySolanaMessage(e,t){this.requireSignature();let n=new TextEncoder().encode(e),r=s.ethers.getBytes(this.signature),i=new c.PublicKey(t).toBytes();return f.default.sign.detached.verify(n,r,i)}static getRandomizedStealthPairOld=m.attach((e,n)=>{let i=r.babyJubInstance(),a=e*(BigInt(n)%t.CIRCOM_P)%t.CIRCOM_P,o=i.mulPointEscalar(i.Base8,e),s=i.mulPointEscalar(i.Base8,a);return{H0:[BigInt(i.F.toString(o[0])),BigInt(i.F.toString(o[1]))],H1:[BigInt(i.F.toString(s[0])),BigInt(i.F.toString(s[1]))]}});static getRandomizedStealthPair=p.attach((e,n)=>{let i=r.babyJubInstance(),a=BigInt(n)%t.CIRCOM_P,o=i.mulPointEscalar(i.Base8,e),s=i.mulPointEscalar(o,a);return{H0:[BigInt(i.F.toString(o[0])),BigInt(i.F.toString(o[1]))],H1:[BigInt(i.F.toString(s[0])),BigInt(i.F.toString(s[1]))]}});static getStealthAddressCompressedPoints=(e,t)=>{let{H0:n,H1:r}=this.getRandomizedStealthPairOld(e,t),[i,a]=[n,r].map(e=>BigInt(e[1])+2n**255n*o.getCircomSign(e[0]));return{h0:i,h1:a}};static checkSignature=(e,t,n,r)=>{let{h0:i,h1:a}=this.getStealthAddressCompressedPoints(e,r);return t===i&&n===a};static getStealthAddress=h.attach((e,t)=>{let{H0:r,H1:i}=this.getRandomizedStealthPairOld(e,t);return n.poseidonHash(2n*o.getCircomSign(r[0])+o.getCircomSign(i[0]),r[1],i[1])});static getH1FromH0=(e,n)=>{let i=r.babyJubInstance(),a=BigInt(n)%t.CIRCOM_P,o=[i.F.e(e[0]),i.F.e(e[1])],s=i.mulPointEscalar(o,a);return[BigInt(i.F.toString(s[0])),BigInt(i.F.toString(s[1]))]};static verifyStealthPair=(e,t,n,r=!0)=>{let i=this.getH1FromH0(e,n);return r?i[1]===t[1]:i===t};static getStealthAddressNewStyle=(e,t,r)=>{if(r?.length!==2)throw Error(`Spending public key must be an array of 2 elements`);let i=this.getH1FromH0(e,t);return n.poseidonHash(2n*o.getCircomSign(e[0])+o.getCircomSign(i[0]),e[1],i[1],r[0],r[1],t)};static findCorrectRandomization(e,n){if(!n)throw Error(`No Private Shielded Key Provided`);let r=BigInt(n)%t.CIRCOM_P,i,a,o=0n;do i=e*10n**o%t.CIRCOM_P,a=i*r%t.CIRCOM_P,o+=1n;while(a>=2n**253n||i>=2n**253n);return i}static getH0FromRandomization=e=>{let t=r.babyJubInstance(),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=u.default.crypto_box_seed_keypair(s.ethers.getBytes(e));return{privateKey:s.ethers.hexlify(t.privateKey),publicKey:s.ethers.hexlify(t.publicKey)}};getAccessKey=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getBackendToken=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getAccessKey(),this.getShieldedPublicKey()))};exports.EncryptionKeyPairDefaultValue=g,exports.UserKeys=_,exports.stealthAddressCacheDevice=h,exports.stealthPairCacheDevice=p,exports.stealthPairOldCacheDevice=m;
@@ -1,8 +1,13 @@
1
+ import { JubPoint } from '../../crypto/babyJub';
1
2
  import { AttachableMemoryCacheDevice } from '../cacheDevices/AttachableMemoryCacheDevice';
2
3
  export declare const stealthPairCacheDevice: AttachableMemoryCacheDevice<{
3
4
  H0: [bigint, bigint];
4
5
  H1: [bigint, bigint];
5
6
  }>;
7
+ export declare const stealthPairOldCacheDevice: AttachableMemoryCacheDevice<{
8
+ H0: [bigint, bigint];
9
+ H1: [bigint, bigint];
10
+ }>;
6
11
  export declare const stealthAddressCacheDevice: AttachableMemoryCacheDevice<string>;
7
12
  export interface EncryptionKeyPair {
8
13
  privateKey: string;
@@ -11,13 +16,15 @@ export interface EncryptionKeyPair {
11
16
  export declare const EncryptionKeyPairDefaultValue: EncryptionKeyPair;
12
17
  export declare class UserKeys {
13
18
  private signature;
14
- private shieldedPrivateKey;
15
- constructor(_signature?: string, _shieldedPrivateKey?: string);
19
+ private nullifyingKey;
20
+ private readonly PREFIX_FOR_SPENDING_PAIR;
21
+ private readonly PREFIX_FOR_NULLIFYING_PAIR;
22
+ constructor(_signature?: string, _nullifyingKey?: string);
16
23
  getSignature(): string;
17
24
  setSignature(_signature: string): void;
18
25
  private requireSignature;
19
26
  private requireKeyMaterial;
20
- verifyMessage(signingMessage: string): string;
27
+ verifyTronMessage(signingMessage: string, signerAddress: string): boolean;
21
28
  /**
22
29
  * get shielded private key from message signature used to login to the application,
23
30
  * this private key is used to generate encryption keypairs as well as public key
@@ -31,12 +38,30 @@ export declare class UserKeys {
31
38
  * @retuns shielded public key in hexstring with 0x prefixed
32
39
  */
33
40
  getShieldedPublicKey: () => string;
41
+ /**
42
+ * derive the EdDSA-Poseidon BabyJubJub public key for the spending private key. This must match
43
+ * the key that `signEddsa` (circomlib's signPoseidon) signs with, i.e. the scalar is derived from
44
+ * blake512(prv) + clamping, not from privSpendingKey directly.
45
+ */
46
+ getSpendingKeyPair: () => {
47
+ privSpendingKey: string;
48
+ pubSpendingBJJPoint: JubPoint;
49
+ };
50
+ /**
51
+ * EdDSA-Poseidon sign a message (a circom field element as bigint) using the shielded private key
52
+ * as the EdDSA secret. Returns { R8, S } with R8 as a JubPoint and S as a bigint scalar.
53
+ */
54
+ signEddsa: (message: bigint) => {
55
+ R8: JubPoint;
56
+ S: bigint;
57
+ };
34
58
  /**
35
59
  * Currently used for creating shielded private keys for deposit UTXOs, which are encrypted and sent to enclave for private send
36
60
  * @param nonce Used to deterministically generate new shielded private key
37
61
  * @returns new shielded private key in hexstring with 0x prefixed
38
62
  */
39
63
  getShieldedPrivateKeyFromNonce: (nonce: bigint) => string;
64
+ getClaimableSignatureFromNonce: (nonce: bigint) => string;
40
65
  /**
41
66
  * deterministically derive an EVM address from the shielded private key
42
67
  */
@@ -45,24 +70,14 @@ export declare class UserKeys {
45
70
  * deterministically derive a Solana public key from the shielded private key
46
71
  */
47
72
  getDerivedSolanaPublicKey: () => string;
48
- /**
49
- * generate access token, this accessKey is what should be sent to the server for signing
50
- * @returns accessKey in hexstring with 0x prefixed
51
- */
52
- getAccessKey: () => string;
53
73
  getSignerPrivateKeyFromNonce: (walletNonce: bigint) => string;
54
74
  getSignerSolanaPrivateKeyFromNonce: (walletNonce: bigint) => string;
55
- getWalletSalt: (walletNonce: bigint) => string;
56
- /**
57
- * generate inHinkalAddress - a user unique address linking him with a specific app
58
- * @returns inHinkalAddress in bigint
59
- */
60
- getInHinkalAddress: (interactionAddress: string) => bigint;
61
- /**
62
- * generate backend token, which is used for access control on backend
63
- * @returns accessKey in hexstring with 0x prefixed
64
- */
65
- getBackendToken: () => string;
75
+ verifyMessage(signingMessage: string): string;
76
+ verifySolanaMessage(signingMessage: string, signerPublicKey: string): boolean;
77
+ static getRandomizedStealthPairOld: (s: bigint, privateKey: string) => {
78
+ H0: [bigint, bigint];
79
+ H1: [bigint, bigint];
80
+ };
66
81
  static getRandomizedStealthPair: (s: bigint, privateKey: string) => {
67
82
  H0: [bigint, bigint];
68
83
  H1: [bigint, bigint];
@@ -71,16 +86,28 @@ export declare class UserKeys {
71
86
  h0: bigint;
72
87
  h1: bigint;
73
88
  };
74
- static getStealthAddress: (s: bigint, privateKey: string) => string;
75
- static getStealthAddressWithEKey: (s: bigint, privateKey: string) => {
76
- stealthAddress: string;
77
- encryptionKey: string;
78
- };
79
89
  static checkSignature: (s: bigint, stealthAddressH0: bigint, stealthAddressH1: bigint, privateKey: string) => boolean;
90
+ static getStealthAddress: (s: bigint, privateKey: string) => string;
91
+ static getH1FromH0: (H0: JubPoint, privateKey: string) => JubPoint;
92
+ static verifyStealthPair: (H0: JubPoint, H1: JubPoint, privateKey: string, onlyYCheck?: boolean) => boolean;
93
+ static getStealthAddressNewStyle: (H0: JubPoint, nullifyingPrivateKey: string, spendingPublicKey?: bigint[]) => string;
94
+ static findCorrectRandomization(initialRandomization: bigint, privateKey?: string): bigint;
95
+ static getH0FromRandomization: (randomization: bigint) => JubPoint;
96
+ static findH0(randomization: bigint, privateKey: string | undefined): JubPoint | undefined;
80
97
  /**
81
98
  * generate private and public keypair
82
99
  * @param seed seed to use to deterministically generate key, must be in DataHexString format
83
100
  * and must correspond to 32 bytes
84
101
  */
85
102
  static getEncryptionKeyPair: (privateKey: string) => EncryptionKeyPair;
103
+ /**
104
+ * generate access token, this accessKey is what should be sent to the server for signing
105
+ * @returns accessKey in hexstring with 0x prefixed
106
+ */
107
+ getAccessKey: () => string;
108
+ /**
109
+ * generate backend token, which is used for access control on backend
110
+ * @returns accessKey in hexstring with 0x prefixed
111
+ */
112
+ getBackendToken: () => string;
86
113
  }