@hinkal/common 0.3.1 → 0.3.2

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 (410) hide show
  1. package/common/src/API/API.cjs +1 -1
  2. package/common/src/API/API.d.ts +9 -34
  3. package/common/src/API/API.mjs +75 -100
  4. package/common/src/API/callOneInchAPI.cjs +1 -1
  5. package/common/src/API/callOneInchAPI.d.ts +6 -0
  6. package/common/src/API/callOneInchAPI.mjs +5 -2
  7. package/common/src/API/dashboardAccountMemberCalls.cjs +1 -1
  8. package/common/src/API/dashboardAccountMemberCalls.d.ts +15 -0
  9. package/common/src/API/dashboardAccountMemberCalls.mjs +5 -2
  10. package/common/src/API/dashboardPayoutCalls.cjs +1 -1
  11. package/common/src/API/dashboardPayoutCalls.d.ts +2 -1
  12. package/common/src/API/dashboardPayoutCalls.mjs +4 -1
  13. package/common/src/API/enclaveUtxoCalls.d.ts +9 -1
  14. package/common/src/API/getWebsiteURL.d.ts +1 -2
  15. package/common/src/API/index.cjs +1 -1
  16. package/common/src/API/index.d.ts +1 -2
  17. package/common/src/API/index.mjs +2 -3
  18. package/common/src/API/payoutNotificationStateCalls.cjs +1 -0
  19. package/common/src/API/payoutNotificationStateCalls.d.ts +10 -0
  20. package/common/src/API/payoutNotificationStateCalls.mjs +10 -0
  21. package/common/src/API/proxyAccountsCalls.cjs +1 -1
  22. package/common/src/API/proxyAccountsCalls.d.ts +2 -3
  23. package/common/src/API/proxyAccountsCalls.mjs +11 -10
  24. package/common/src/API/rewardsUserCalls.cjs +1 -1
  25. package/common/src/API/rewardsUserCalls.d.ts +1 -38
  26. package/common/src/API/rewardsUserCalls.mjs +2 -9
  27. package/common/src/API/scheduled-transactions-calls.d.ts +1 -0
  28. package/common/src/API/temporaryWalletCalls.cjs +1 -1
  29. package/common/src/API/temporaryWalletCalls.mjs +8 -8
  30. package/common/src/API/weeklyAnalyticCalls.cjs +1 -1
  31. package/common/src/API/weeklyAnalyticCalls.d.ts +1 -11
  32. package/common/src/API/weeklyAnalyticCalls.mjs +2 -5
  33. package/common/src/constants/chains.constants.cjs +1 -1
  34. package/common/src/constants/chains.constants.mjs +3 -10
  35. package/common/src/constants/contracts.constants.cjs +1 -1
  36. package/common/src/constants/contracts.constants.mjs +19 -32
  37. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
  38. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +8 -9
  39. package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
  40. package/common/src/constants/deploy-data/deploy-data-base.json.mjs +8 -9
  41. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
  42. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +8 -9
  43. package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
  44. package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +8 -9
  45. package/common/src/constants/deploy-data/deploy-data-optimismTest.json.cjs +1 -1
  46. package/common/src/constants/deploy-data/deploy-data-optimismTest.json.mjs +8 -9
  47. package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
  48. package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +8 -9
  49. package/common/src/constants/deploy-data/shared-deploy-data-evm.json.cjs +1 -1
  50. package/common/src/constants/deploy-data/shared-deploy-data-evm.json.mjs +19 -45
  51. package/common/src/constants/deploy-data/shared-deploy-data-solana.json.cjs +1 -1
  52. package/common/src/constants/deploy-data/shared-deploy-data-solana.json.mjs +1 -1
  53. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.cjs +1 -1
  54. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.mjs +7 -18
  55. package/common/src/constants/enclaveAuth.constants.d.ts +5 -0
  56. package/common/src/constants/index.cjs +1 -1
  57. package/common/src/constants/index.d.ts +1 -2
  58. package/common/src/constants/index.mjs +0 -1
  59. package/common/src/constants/mediaUrls.constants.d.ts +0 -1
  60. package/common/src/constants/pay.constants.d.ts +1 -0
  61. package/common/src/constants/protocol.constants.cjs +2 -1
  62. package/common/src/constants/protocol.constants.d.ts +7 -5
  63. package/common/src/constants/protocol.constants.mjs +4 -11
  64. package/common/src/constants/rewards.constants.d.ts +0 -13
  65. package/common/src/constants/server.constants.cjs +1 -1
  66. package/common/src/constants/server.constants.d.ts +5 -28
  67. package/common/src/constants/server.constants.mjs +10 -41
  68. package/common/src/crypto/ecdh.cjs +1 -1
  69. package/common/src/crypto/ecdh.mjs +2 -9
  70. package/common/src/crypto/index.cjs +1 -1
  71. package/common/src/crypto/index.mjs +1 -1
  72. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  73. package/common/src/data-structures/Hinkal/Hinkal.d.ts +4 -8
  74. package/common/src/data-structures/Hinkal/Hinkal.mjs +83 -99
  75. package/common/src/data-structures/Hinkal/IHinkal.d.ts +5 -9
  76. package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  77. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +22 -22
  78. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
  79. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +21 -21
  80. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
  81. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +6 -9
  82. package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  83. package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +4 -7
  84. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
  85. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +64 -66
  86. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  87. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +1 -1
  88. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +47 -51
  89. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
  90. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +1 -1
  91. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +33 -43
  92. package/common/src/data-structures/Hinkal/hinkalPalEvmDeposit.d.ts +1 -1
  93. package/common/src/data-structures/Hinkal/hinkalPalTronDepositPrepare.d.ts +2 -2
  94. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  95. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +6 -6
  96. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  97. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +2 -2
  98. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +107 -94
  99. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -1
  100. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.d.ts +3 -0
  101. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +26 -14
  102. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  103. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +4 -4
  104. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
  105. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +4 -9
  106. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  107. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +26 -32
  108. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  109. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +43 -42
  110. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  111. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +4 -4
  112. package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  113. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +6 -6
  114. package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  115. package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +22 -26
  116. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  117. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +21 -24
  118. package/common/src/data-structures/Hinkal/index.d.ts +0 -1
  119. package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  120. package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +4 -4
  121. package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
  122. package/common/src/data-structures/IndexedDB/activity-db.mjs +34 -34
  123. package/common/src/data-structures/IndexedDB/contact-db.cjs +1 -1
  124. package/common/src/data-structures/IndexedDB/contact-db.d.ts +0 -1
  125. package/common/src/data-structures/IndexedDB/contact-db.mjs +14 -28
  126. package/common/src/data-structures/IndexedDB/key-val-store.cjs +1 -1
  127. package/common/src/data-structures/IndexedDB/key-val-store.d.ts +2 -0
  128. package/common/src/data-structures/IndexedDB/key-val-store.mjs +14 -0
  129. package/common/src/data-structures/IndexedDB/private-balances-db.cjs +1 -1
  130. package/common/src/data-structures/IndexedDB/private-balances-db.d.ts +1 -0
  131. package/common/src/data-structures/IndexedDB/private-balances-db.mjs +3 -0
  132. package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
  133. package/common/src/data-structures/IndexedDB/signatures-db.mjs +11 -11
  134. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
  135. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +25 -25
  136. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
  137. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +12 -12
  138. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -1
  139. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +12 -12
  140. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  141. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +24 -24
  142. package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
  143. package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +14 -14
  144. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +1 -1
  145. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +14 -14
  146. package/common/src/data-structures/WalletManager/WalletManager.d.ts +1 -0
  147. package/common/src/data-structures/cacheDevices/BaseCacheDevice.cjs +1 -1
  148. package/common/src/data-structures/cacheDevices/BaseCacheDevice.d.ts +1 -0
  149. package/common/src/data-structures/cacheDevices/BaseCacheDevice.mjs +3 -0
  150. package/common/src/data-structures/cacheDevices/FileCacheDevice.cjs +1 -1
  151. package/common/src/data-structures/cacheDevices/FileCacheDevice.d.ts +3 -0
  152. package/common/src/data-structures/cacheDevices/FileCacheDevice.mjs +12 -3
  153. package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
  154. package/common/src/data-structures/crypto-keys/decodeUTXO.d.ts +8 -9
  155. package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +38 -48
  156. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  157. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.d.ts +2 -3
  158. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.mjs +26 -22
  159. package/common/src/data-structures/crypto-keys/keys.cjs +1 -1
  160. package/common/src/data-structures/crypto-keys/keys.d.ts +12 -27
  161. package/common/src/data-structures/crypto-keys/keys.mjs +61 -79
  162. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  163. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +1 -2
  164. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +4 -10
  165. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.cjs +1 -1
  166. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +1 -1
  167. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +2 -2
  168. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
  169. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +40 -40
  170. package/common/src/data-structures/provider-adapter/IProviderAdapter.d.ts +0 -1
  171. package/common/src/data-structures/utxo/Utxo.cjs +1 -1
  172. package/common/src/data-structures/utxo/Utxo.d.ts +1 -4
  173. package/common/src/data-structures/utxo/Utxo.mjs +7 -17
  174. package/common/src/error-handling/error-codes.constants.cjs +2 -2
  175. package/common/src/error-handling/error-codes.constants.d.ts +0 -3
  176. package/common/src/error-handling/error-codes.constants.mjs +13 -18
  177. package/common/src/error-handling/index.cjs +1 -1
  178. package/common/src/error-handling/index.d.ts +1 -0
  179. package/common/src/error-handling/index.mjs +1 -0
  180. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -1
  181. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +8 -8
  182. package/common/src/functions/index.cjs +1 -1
  183. package/common/src/functions/index.mjs +1 -1
  184. package/common/src/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -1
  185. package/common/src/functions/pre-transaction/buildCommitmentValidationData.mjs +36 -38
  186. package/common/src/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
  187. package/common/src/functions/pre-transaction/outputUtxoProcessing.mjs +3 -5
  188. package/common/src/functions/pre-transaction/recipientUtxoProcessing.cjs +1 -1
  189. package/common/src/functions/pre-transaction/recipientUtxoProcessing.mjs +3 -5
  190. package/common/src/functions/pre-transaction/solana-public-signals.d.ts +1 -0
  191. package/common/src/functions/pre-transaction/solana.cjs +1 -1
  192. package/common/src/functions/pre-transaction/solana.mjs +5 -4
  193. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  194. package/common/src/functions/private-wallet/emporium.helpers.d.ts +1 -2
  195. package/common/src/functions/private-wallet/emporium.helpers.mjs +83 -57
  196. package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  197. package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +19 -19
  198. package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
  199. package/common/src/functions/snarkjs/common.snarkjs.d.ts +2 -3
  200. package/common/src/functions/snarkjs/common.snarkjs.mjs +45 -47
  201. package/common/src/functions/snarkjs/constant.cjs +1 -1
  202. package/common/src/functions/snarkjs/constant.d.ts +151 -144
  203. package/common/src/functions/snarkjs/constant.mjs +151 -145
  204. package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  205. package/common/src/functions/snarkjs/constructGeneralZkProof.d.ts +1 -1
  206. package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +59 -60
  207. package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.cjs +1 -0
  208. package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.d.ts +7 -0
  209. package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.mjs +2 -0
  210. package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  211. package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +54 -58
  212. package/common/src/functions/snarkjs/fetchMerkleTreeSiblings.d.ts +1 -3
  213. package/common/src/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -1
  214. package/common/src/functions/snarkjs/fetchOnChainRootHashes.d.ts +1 -0
  215. package/common/src/functions/snarkjs/fetchOnChainRootHashes.mjs +14 -5
  216. package/common/src/functions/snarkjs/generateCircomData.cjs +1 -1
  217. package/common/src/functions/snarkjs/generateCircomData.d.ts +1 -1
  218. package/common/src/functions/snarkjs/generateCircomData.mjs +35 -31
  219. package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.cjs +1 -0
  220. package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.d.ts +2 -0
  221. package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.mjs +3 -0
  222. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
  223. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +2 -0
  224. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +18 -12
  225. package/common/src/functions/snarkjs/getZKFiles.cjs +1 -1
  226. package/common/src/functions/snarkjs/getZKFiles.mjs +9 -3
  227. package/common/src/functions/snarkjs/index.cjs +1 -1
  228. package/common/src/functions/snarkjs/index.d.ts +2 -0
  229. package/common/src/functions/snarkjs/index.mjs +2 -0
  230. package/common/src/functions/snarkjs/signedMessageHash.cjs +1 -1
  231. package/common/src/functions/snarkjs/signedMessageHash.d.ts +1 -0
  232. package/common/src/functions/snarkjs/signedMessageHash.mjs +2 -0
  233. package/common/src/functions/utils/addresses.cjs +1 -1
  234. package/common/src/functions/utils/addresses.d.ts +0 -1
  235. package/common/src/functions/utils/addresses.mjs +10 -13
  236. package/common/src/functions/utils/bridge-flow.utils.d.ts +1 -1
  237. package/common/src/functions/utils/buildClaimableDepositPlan.d.ts +1 -0
  238. package/common/src/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -1
  239. package/common/src/functions/utils/convertEmporiumOpToCallInfo.mjs +5 -10
  240. package/common/src/functions/utils/enclave-utxo-storage.d.ts +3 -0
  241. package/common/src/functions/utils/enclaveSessionSigning.cjs +1 -0
  242. package/common/src/functions/utils/enclaveSessionSigning.d.ts +16 -0
  243. package/common/src/functions/utils/enclaveSessionSigning.mjs +2 -0
  244. package/common/src/functions/utils/encodeTokenWithId.cjs +1 -1
  245. package/common/src/functions/utils/encodeTokenWithId.d.ts +1 -2
  246. package/common/src/functions/utils/encodeTokenWithId.mjs +2 -5
  247. package/common/src/functions/utils/fees.utils.cjs +1 -1
  248. package/common/src/functions/utils/fees.utils.d.ts +1 -0
  249. package/common/src/functions/utils/fees.utils.mjs +5 -1
  250. package/common/src/functions/utils/getDataFromTransaction.d.ts +4 -3
  251. package/common/src/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
  252. package/common/src/functions/utils/getRecipientInfoFromUserKeys.mjs +2 -3
  253. package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
  254. package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +16 -18
  255. package/common/src/functions/utils/index.cjs +1 -1
  256. package/common/src/functions/utils/index.d.ts +5 -1
  257. package/common/src/functions/utils/index.mjs +5 -1
  258. package/common/src/functions/utils/legacyKeys.cjs +1 -0
  259. package/common/src/functions/utils/legacyKeys.d.ts +10 -0
  260. package/common/src/functions/utils/legacyKeys.mjs +8 -0
  261. package/common/src/functions/utils/mnemonics.cjs +1 -1
  262. package/common/src/functions/utils/mnemonics.mjs +4 -6
  263. package/common/src/functions/utils/nearIntents.utils.cjs +1 -1
  264. package/common/src/functions/utils/nearIntents.utils.mjs +1 -1
  265. package/common/src/functions/utils/networks.utils.d.ts +1 -0
  266. package/common/src/functions/utils/prepareHinkal.cjs +1 -1
  267. package/common/src/functions/utils/prepareHinkal.d.ts +1 -3
  268. package/common/src/functions/utils/prepareHinkal.mjs +2 -1
  269. package/common/src/functions/utils/resolve-domain-address.cjs +1 -0
  270. package/common/src/functions/utils/resolve-domain-address.d.ts +4 -0
  271. package/common/src/functions/utils/resolve-domain-address.mjs +3 -0
  272. package/common/src/functions/utils/serialize-utxos.utils.cjs +1 -1
  273. package/common/src/functions/utils/serialize-utxos.utils.mjs +6 -4
  274. package/common/src/functions/utils/tron.utils.cjs +1 -1
  275. package/common/src/functions/utils/tron.utils.d.ts +1 -1
  276. package/common/src/functions/utils/tron.utils.mjs +14 -29
  277. package/common/src/functions/utils/validateWalletAddress.cjs +1 -0
  278. package/common/src/functions/utils/validateWalletAddress.d.ts +1 -0
  279. package/common/src/functions/utils/validateWalletAddress.mjs +2 -0
  280. package/common/src/functions/utils/voidWallets.utils.cjs +1 -0
  281. package/common/src/functions/utils/voidWallets.utils.d.ts +4 -0
  282. package/common/src/functions/utils/voidWallets.utils.mjs +1 -0
  283. package/common/src/functions/web3/etherFunctions.d.ts +1 -0
  284. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  285. package/common/src/functions/web3/events/getInputUtxoAndBalance.d.ts +2 -4
  286. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +9 -16
  287. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  288. package/common/src/functions/web3/events/getShieldedBalance.d.ts +1 -1
  289. package/common/src/functions/web3/events/getShieldedBalance.mjs +21 -29
  290. package/common/src/functions/web3/functionCalls/approveToken.cjs +1 -1
  291. package/common/src/functions/web3/functionCalls/approveToken.d.ts +1 -1
  292. package/common/src/functions/web3/functionCalls/approveToken.mjs +21 -107
  293. package/common/src/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
  294. package/common/src/functions/web3/functionCalls/constructBatchCall.d.ts +2 -2
  295. package/common/src/functions/web3/functionCalls/constructBatchCall.mjs +23 -18
  296. package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
  297. package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +37 -3
  298. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.cjs +1 -1
  299. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.mjs +6 -6
  300. package/common/src/functions/web3/oneInchAPI.cjs +1 -1
  301. package/common/src/functions/web3/oneInchAPI.mjs +31 -21
  302. package/common/src/functions/web3/uniswapAPI.cjs +1 -1
  303. package/common/src/functions/web3/uniswapAPI.mjs +6 -6
  304. package/common/src/providers/EthersProviderAdapter.cjs +1 -1
  305. package/common/src/providers/EthersProviderAdapter.d.ts +0 -1
  306. package/common/src/providers/EthersProviderAdapter.mjs +0 -3
  307. package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
  308. package/common/src/providers/SolanaProviderAdapter.d.ts +0 -1
  309. package/common/src/providers/SolanaProviderAdapter.mjs +0 -3
  310. package/common/src/providers/TronProviderAdapter.cjs +1 -1
  311. package/common/src/providers/TronProviderAdapter.d.ts +0 -1
  312. package/common/src/providers/TronProviderAdapter.mjs +0 -3
  313. package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
  314. package/common/src/providers/WagmiProviderAdapter.d.ts +0 -1
  315. package/common/src/providers/WagmiProviderAdapter.mjs +5 -9
  316. package/common/src/types/API.types.d.ts +0 -4
  317. package/common/src/types/WeeklyAnalytics.types.d.ts +1 -26
  318. package/common/src/types/cache.types.cjs +1 -1
  319. package/common/src/types/cache.types.d.ts +2 -2
  320. package/common/src/types/cache.types.mjs +1 -1
  321. package/common/src/types/circom-data.types.cjs +1 -1
  322. package/common/src/types/circom-data.types.d.ts +26 -27
  323. package/common/src/types/circom-data.types.mjs +1 -1
  324. package/common/src/types/dashboard-account.d.ts +15 -0
  325. package/common/src/types/dashboard-payout.types.d.ts +1 -0
  326. package/common/src/types/enclaveApi.types.d.ts +78 -0
  327. package/common/src/types/ethereum-network.types.cjs +1 -1
  328. package/common/src/types/ethereum-network.types.d.ts +13 -23
  329. package/common/src/types/ethereum-network.types.mjs +1 -1
  330. package/common/src/types/external-action.types.cjs +1 -1
  331. package/common/src/types/external-action.types.d.ts +2 -3
  332. package/common/src/types/external-action.types.mjs +1 -1
  333. package/common/src/types/hinkal.types.cjs +1 -1
  334. package/common/src/types/hinkal.types.d.ts +8 -22
  335. package/common/src/types/hinkal.types.mjs +11 -19
  336. package/common/src/types/index.cjs +1 -1
  337. package/common/src/types/index.d.ts +3 -5
  338. package/common/src/types/index.mjs +0 -1
  339. package/common/src/types/new-rewards.type.d.ts +0 -70
  340. package/common/src/types/payout-notification.types.d.ts +11 -0
  341. package/common/src/types/proxy-progress.types.d.ts +5 -0
  342. package/common/src/types/snark.types.d.ts +1 -3
  343. package/common/src/types/token.types.cjs +1 -1
  344. package/common/src/types/token.types.mjs +1 -3
  345. package/common/src/types/transaction.types.d.ts +0 -1
  346. package/common/src/types/transactions.types.d.ts +0 -1
  347. package/common/src/webworker/logError-uy41lNp1.js +2 -0
  348. package/common/src/webworker/package.json +1 -1
  349. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  350. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  351. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  352. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  353. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  354. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  355. package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
  356. package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
  357. package/common/src/webworker/workerProxy-MheXtWa4.js +1 -0
  358. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  359. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  360. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  361. package/package.json +1 -1
  362. package/services/Hinkal.cjs +1 -1
  363. package/services/Hinkal.d.ts +1 -2
  364. package/services/Hinkal.mjs +4 -7
  365. package/types/IHinkal.d.ts +1 -2
  366. package/common/src/API/accessCodeCalls.cjs +0 -1
  367. package/common/src/API/accessCodeCalls.d.ts +0 -23
  368. package/common/src/API/accessCodeCalls.mjs +0 -13
  369. package/common/src/API/brotherhoodCalls.cjs +0 -1
  370. package/common/src/API/brotherhoodCalls.d.ts +0 -82
  371. package/common/src/API/brotherhoodCalls.mjs +0 -17
  372. package/common/src/API/generate-trading-points.cjs +0 -1
  373. package/common/src/API/generate-trading-points.d.ts +0 -27
  374. package/common/src/API/generate-trading-points.mjs +0 -23
  375. package/common/src/API/leaderboardCalls.cjs +0 -1
  376. package/common/src/API/leaderboardCalls.d.ts +0 -14
  377. package/common/src/API/leaderboardCalls.mjs +0 -8
  378. package/common/src/API/referralsCalls.cjs +0 -1
  379. package/common/src/API/referralsCalls.d.ts +0 -22
  380. package/common/src/API/referralsCalls.mjs +0 -11
  381. package/common/src/API/send-telegram-callback.cjs +0 -1
  382. package/common/src/API/send-telegram-callback.d.ts +0 -7
  383. package/common/src/API/send-telegram-callback.mjs +0 -11
  384. package/common/src/constants/mystery-boxes.constants.d.ts +0 -0
  385. package/common/src/constants/price-impact.constants.d.ts +0 -2
  386. package/common/src/constants/tasks.constants.cjs +0 -1
  387. package/common/src/constants/tasks.constants.d.ts +0 -9
  388. package/common/src/constants/tasks.constants.mjs +0 -124
  389. package/common/src/data-structures/Hinkal/hinkalMultiSend.cjs +0 -1
  390. package/common/src/data-structures/Hinkal/hinkalMultiSend.d.ts +0 -3
  391. package/common/src/data-structures/Hinkal/hinkalMultiSend.mjs +0 -12
  392. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.cjs +0 -1
  393. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.d.ts +0 -6
  394. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.mjs +0 -128
  395. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +0 -1
  396. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.d.ts +0 -22
  397. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +0 -34
  398. package/common/src/functions/utils/bit.operations.cjs +0 -1
  399. package/common/src/functions/utils/bit.operations.d.ts +0 -3
  400. package/common/src/functions/utils/bit.operations.mjs +0 -4
  401. package/common/src/types/brotherhood-user.types.d.ts +0 -11
  402. package/common/src/types/crypto.types.d.ts +0 -8
  403. package/common/src/types/generatePoints.d.ts +0 -14
  404. package/common/src/types/new-rewards.type.cjs +0 -1
  405. package/common/src/types/new-rewards.type.mjs +0 -10
  406. package/common/src/types/referral.types.d.ts +0 -12
  407. package/common/src/types/rewards.types.d.ts +0 -34
  408. package/common/src/types/token-with-id.types.d.ts +0 -4
  409. package/common/src/webworker/logError-BR5TJP6T.js +0 -2
  410. package/common/src/webworker/workerProxy-Ddzxn23N.js +0 -1
@@ -25,11 +25,20 @@ var a = class extends r {
25
25
  get(e) {
26
26
  return this.getInMemory(e);
27
27
  }
28
- set(t, r) {
29
- if (this.readFileFromDevice(), this.setInMemory(t, r), this.useFileCache && this.filePath) try {
28
+ set(e, t) {
29
+ this.readFileFromDevice(), this.setInMemory(e, t), this.flushToFile("FileCacheDevice set function");
30
+ }
31
+ del(e) {
32
+ this.readFileFromDevice(), this.deleteInMemory(e), this.flushToFile("FileCacheDevice del function");
33
+ }
34
+ clear() {
35
+ this.inMemoryCache.clear(), this.flushToFile("FileCacheDevice clear function");
36
+ }
37
+ flushToFile(t) {
38
+ if (this.useFileCache && this.filePath) try {
30
39
  e("fs").writeFileSync(this.filePath, n(Object.fromEntries(this.inMemoryCache)));
31
40
  } catch (e) {
32
- i("FileCacheDevice set function", { err: e });
41
+ i(t, { err: e });
33
42
  }
34
43
  }
35
44
  serialize() {
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../crypto/poseidon.cjs`);require(`./keys.cjs`);const n=require(`../utxo/Utxo.cjs`),r=require(`../../functions/utils/bit.operations.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)),o=n;if(!Array.isArray(o)||o.length!==s)throw Error(`Malformed encoded Solana UTXO payload`);let[c,u,d,f,p,m,h,g]=o,_=BigInt(c),v=BigInt(f),y=r.extractHighestBit(v)===1n,b=r.takeOffHighestBit(v),x=i.ethers.toBeHex(BigInt(p)),S=BigInt(m),C=BigInt(h),w=BigInt(g).toString(),T=Array.from(i.ethers.getBytes(u)),E=Array.from(i.ethers.getBytes(d)),D=new a.PublicKey(Uint8Array.from([...T.slice(16),...E.slice(16)])).toBase58();return{amount:_,erc20TokenAddress:t.poseidonHash(BigInt(u),BigInt(d)),mintAddress:D,randomization:b,stealthAddress:x,H0:S,H1:C,timeStamp:w,isNewStyle:y}},d=e=>{let t=i.ethers.AbiCoder.defaultAbiCoder().decode([`uint256`,`address`,`tuple(uint256, uint256, uint256, uint256)`,`uint256`,`uint256`],e),n=BigInt(t[0]),a=t[1],o=BigInt(t[2][0]),s=r.extractHighestBit(o),c=r.takeOffHighestBit(o),l=i.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:a,randomization:c,isNewStyle:s===1n,stealthAddress:l,H0:u,H1:d,timeStamp:f,tokenId:p}},f=(t,n,r)=>{if(e.isSolanaLike(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,randomization:a,stealthAddress:o,timeStamp:s,isNewStyle:c,H0:l}=u(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:f}=d(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,nullifyingKey:n,stealthAddress:l,isNewStyle:c,...c?{H0:[s,f]}:{randomization:s}}},p=(e,t,r)=>new n.Utxo(f(e,t,r));exports.decodeEvmUtxo=d,exports.decodeSolanaUtxo=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`);require(`./keys.cjs`);const n=require(`../utxo/Utxo.cjs`);let r=require(`ethers`),i=require(`@solana/web3.js`);var a=`solana-on-chain-utxo:`,o=9,s=e=>{if(e.length!==o)throw Error(`Expected ${o} 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`${a}${r.ethers.AbiCoder.defaultAbiCoder().encode([`bytes32[${o}]`],[t])}`},c=e=>e.startsWith(a),l=e=>{if(!c(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=r.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[${o}]`],e.slice(21)),a=n;if(!Array.isArray(a)||a.length!==o)throw Error(`Malformed encoded Solana UTXO payload`);let[s,l,u,d,f,p,m,h,g]=a,_=BigInt(s),v=BigInt(d),y=BigInt(f),b=BigInt(p),x=BigInt(m),S=r.ethers.toBeHex(BigInt(h)),C=BigInt(g).toString(),w=Array.from(r.ethers.getBytes(l)),T=Array.from(r.ethers.getBytes(u)),E=new i.PublicKey(Uint8Array.from([...w.slice(16),...T.slice(16)])).toBase58();return{amount:_,erc20TokenAddress:t.poseidonHash(BigInt(l),BigInt(u)),mintAddress:E,h0x:v,h0y:y,h1x:b,h1y:x,stealthAddress:S,timeStamp:C}},u=e=>{let[t]=r.ethers.AbiCoder.defaultAbiCoder().decode([`tuple(uint256, address, tuple(uint256, uint256, uint256, uint256, uint256), uint256)`,`bytes`],e);return{amount:BigInt(t[0]),erc20TokenAddress:t[1],h0x:BigInt(t[2][0]),h0y:BigInt(t[2][1]),h1x:BigInt(t[2][2]),h1y:BigInt(t[2][3]),stealthAddress:r.ethers.toBeHex(BigInt(t[2][4])),timeStamp:BigInt(t[3]).toString()}},d=(t,n,r)=>{if(e.isSolanaLike(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,h0x:a,h0y:o,stealthAddress:s,timeStamp:c}=l(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:c,nullifyingKey:n,stealthAddress:s,H0:[a,o]}}let{amount:i,erc20TokenAddress:a,timeStamp:o,h0x:s,h0y:c,stealthAddress:d}=u(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,nullifyingKey:n,stealthAddress:d,H0:[s,c]}},f=(e,t,r)=>new n.Utxo(d(e,t,r));exports.decodeEvmUtxo=u,exports.decodeSolanaUtxo=l,exports.decodeUtxo=f,exports.decodeUtxoConstructorArgs=d,exports.encodeSolanaOnChainUtxo=s,exports.isSolanaOnChainUtxo=c;
@@ -5,23 +5,22 @@ export declare const decodeSolanaUtxo: (encodedOutput: string) => {
5
5
  amount: bigint;
6
6
  erc20TokenAddress: string;
7
7
  mintAddress: string;
8
- randomization: bigint;
8
+ h0x: bigint;
9
+ h0y: bigint;
10
+ h1x: bigint;
11
+ h1y: bigint;
9
12
  stealthAddress: string;
10
- H0: bigint;
11
- H1: bigint;
12
13
  timeStamp: string;
13
- isNewStyle: boolean;
14
14
  };
15
15
  export declare const decodeEvmUtxo: (encryptedOutput: string) => {
16
16
  amount: bigint;
17
17
  erc20TokenAddress: string;
18
- randomization: bigint;
19
- isNewStyle: boolean;
18
+ h0x: bigint;
19
+ h0y: bigint;
20
+ h1x: bigint;
21
+ h1y: bigint;
20
22
  stealthAddress: string;
21
- H0: bigint;
22
- H1: bigint;
23
23
  timeStamp: string;
24
- tokenId: number;
25
24
  };
26
25
  export declare const checkUtxoSignature: (encryptedOutput: string, privateKey: string, chainId: number) => boolean;
27
26
  export declare const decodeUtxoConstructorArgs: (encryptedOutput: string, privateKey: string, chainId: number) => IUtxoConstructor;
@@ -2,77 +2,67 @@ import { isSolanaLike as e } from "../../constants/chains.constants.mjs";
2
2
  import { poseidonHash as t } from "../../crypto/poseidon.mjs";
3
3
  import "./keys.mjs";
4
4
  import { Utxo as n } from "../utxo/Utxo.mjs";
5
- import { extractHighestBit as r, takeOffHighestBit as i } from "../../functions/utils/bit.operations.mjs";
6
- import { ethers as a } from "ethers";
7
- import { PublicKey as o } from "@solana/web3.js";
5
+ import { ethers as r } from "ethers";
6
+ import { PublicKey as i } from "@solana/web3.js";
8
7
  //#region libs/shared/common/src/data-structures/crypto-keys/decodeUTXO.ts
9
- var s = "solana-on-chain-utxo:", c = 8, l = (e) => {
10
- if (e.length !== c) throw Error(`Expected ${c} on-chain fields, received ${e.length}`);
8
+ var a = "solana-on-chain-utxo:", o = 9, s = (e) => {
9
+ if (e.length !== o) throw Error(`Expected ${o} on-chain fields, received ${e.length}`);
11
10
  let t = e.map((e, t) => {
12
11
  let n = e instanceof Uint8Array ? e : Uint8Array.from(e);
13
12
  if (n.length !== 32) throw Error(`Expected bytes32 length 32 at position ${t}, got ${n.length}`);
14
13
  return `0x${Buffer.from(n).toString("hex")}`;
15
14
  });
16
- return `${s}${a.AbiCoder.defaultAbiCoder().encode(["bytes32[8]"], [t])}`;
17
- }, u = (e) => e.startsWith(s), d = (e) => {
18
- if (!u(e)) throw Error("Invalid encoded Solana UTXO payload");
19
- let [n] = a.AbiCoder.defaultAbiCoder().decode(["bytes32[8]"], e.slice(21)), s = n;
20
- if (!Array.isArray(s) || s.length !== c) throw Error("Malformed encoded Solana UTXO payload");
21
- let [l, d, f, p, m, h, g, _] = s, v = BigInt(l), y = BigInt(p), b = r(y) === 1n, x = i(y), S = a.toBeHex(BigInt(m)), C = BigInt(h), w = BigInt(g), T = BigInt(_).toString(), E = Array.from(a.getBytes(d)), D = Array.from(a.getBytes(f)), O = new o(Uint8Array.from([...E.slice(16), ...D.slice(16)])).toBase58();
15
+ return `${a}${r.AbiCoder.defaultAbiCoder().encode([`bytes32[${o}]`], [t])}`;
16
+ }, c = (e) => e.startsWith(a), l = (e) => {
17
+ if (!c(e)) throw Error("Invalid encoded Solana UTXO payload");
18
+ let [n] = r.AbiCoder.defaultAbiCoder().decode([`bytes32[${o}]`], e.slice(21)), a = n;
19
+ if (!Array.isArray(a) || a.length !== o) throw Error("Malformed encoded Solana UTXO payload");
20
+ let [s, l, u, d, f, p, m, h, g] = a, _ = BigInt(s), v = BigInt(d), y = BigInt(f), b = BigInt(p), x = BigInt(m), S = r.toBeHex(BigInt(h)), C = BigInt(g).toString(), w = Array.from(r.getBytes(l)), T = Array.from(r.getBytes(u)), E = new i(Uint8Array.from([...w.slice(16), ...T.slice(16)])).toBase58();
22
21
  return {
23
- amount: v,
24
- erc20TokenAddress: t(BigInt(d), BigInt(f)),
25
- mintAddress: O,
26
- randomization: x,
22
+ amount: _,
23
+ erc20TokenAddress: t(BigInt(l), BigInt(u)),
24
+ mintAddress: E,
25
+ h0x: v,
26
+ h0y: y,
27
+ h1x: b,
28
+ h1y: x,
27
29
  stealthAddress: S,
28
- H0: C,
29
- H1: w,
30
- timeStamp: T,
31
- isNewStyle: b
30
+ timeStamp: C
32
31
  };
33
- }, f = (e) => {
34
- let t = a.AbiCoder.defaultAbiCoder().decode([
35
- "uint256",
36
- "address",
37
- "tuple(uint256, uint256, uint256, uint256)",
38
- "uint256",
39
- "uint256"
40
- ], e), n = BigInt(t[0]), o = t[1], s = BigInt(t[2][0]), c = r(s), l = i(s), u = a.toBeHex(BigInt(t[2][1])), d = BigInt(t[2][2]), f = BigInt(t[2][3]), p = BigInt(t[3]).toString(), m = Number(t[4]);
32
+ }, u = (e) => {
33
+ let [t] = r.AbiCoder.defaultAbiCoder().decode(["tuple(uint256, address, tuple(uint256, uint256, uint256, uint256, uint256), uint256)", "bytes"], e);
41
34
  return {
42
- amount: n,
43
- erc20TokenAddress: o,
44
- randomization: l,
45
- isNewStyle: c === 1n,
46
- stealthAddress: u,
47
- H0: d,
48
- H1: f,
49
- timeStamp: p,
50
- tokenId: m
35
+ amount: BigInt(t[0]),
36
+ erc20TokenAddress: t[1],
37
+ h0x: BigInt(t[2][0]),
38
+ h0y: BigInt(t[2][1]),
39
+ h1x: BigInt(t[2][2]),
40
+ h1y: BigInt(t[2][3]),
41
+ stealthAddress: r.toBeHex(BigInt(t[2][4])),
42
+ timeStamp: BigInt(t[3]).toString()
51
43
  };
52
- }, p = (t, n, r) => {
44
+ }, d = (t, n, r) => {
53
45
  if (e(r)) {
54
- let { amount: e, erc20TokenAddress: r, mintAddress: i, randomization: a, stealthAddress: o, timeStamp: s, isNewStyle: c, H0: l } = d(t);
46
+ let { amount: e, erc20TokenAddress: r, mintAddress: i, h0x: a, h0y: o, stealthAddress: s, timeStamp: c } = l(t);
55
47
  return {
56
48
  amount: e,
57
49
  erc20TokenAddress: r,
58
50
  mintAddress: i,
59
- timeStamp: s,
51
+ timeStamp: c,
60
52
  nullifyingKey: n,
61
- stealthAddress: o,
62
- isNewStyle: c,
63
- ...c ? { H0: [a, l] } : { randomization: a }
53
+ stealthAddress: s,
54
+ H0: [a, o]
64
55
  };
65
56
  }
66
- let { amount: i, erc20TokenAddress: a, timeStamp: o, randomization: s, isNewStyle: c, stealthAddress: l, H0: u } = f(t);
57
+ let { amount: i, erc20TokenAddress: a, timeStamp: o, h0x: s, h0y: c, stealthAddress: d } = u(t);
67
58
  return {
68
59
  amount: i,
69
60
  erc20TokenAddress: a,
70
61
  timeStamp: o,
71
62
  nullifyingKey: n,
72
- stealthAddress: l,
73
- isNewStyle: c,
74
- ...c ? { H0: [s, u] } : { randomization: s }
63
+ stealthAddress: d,
64
+ H0: [s, c]
75
65
  };
76
- }, m = (e, t, r) => new n(p(e, t, r));
66
+ }, f = (e, t, r) => new n(d(e, t, r));
77
67
  //#endregion
78
- export { f as decodeEvmUtxo, d as decodeSolanaUtxo, m as decodeUtxo, p as decodeUtxoConstructorArgs, l as encodeSolanaOnChainUtxo, u as isSolanaOnChainUtxo };
68
+ export { u as decodeEvmUtxo, l as decodeSolanaUtxo, f as decodeUtxo, d as decodeUtxoConstructorArgs, s as encodeSolanaOnChainUtxo, c as isSolanaOnChainUtxo };
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./keys.cjs`),t=require(`../utxo/Utxo.cjs`),n=require(`../../crypto/ecdh-sealed-keys.cjs`),r=require(`../../crypto/ecdh.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 t=[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 n=new a.PublicKey(e.mintAddress),r=i.ethers.hexlify(n.toBytes());t.push(Buffer.from(r))}let r=n.encryptSealedKeys(Buffer.concat(t),[e.getEncryptionKey()]);return Buffer.concat([Buffer.from(l(s)),Buffer.from(r)])},f=(t,i)=>{let{privateKey:o,publicKey:l}=e.UserKeys.getEncryptionKeyPair(i.getShieldedPrivateKey()),d=u(t)===s?n.decryptSealedKeys(t.slice(c),o,l,0):r.decryptBoxSeal(t,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]),stealthAddress:m(f[3]),nullifyingKey:i.getShieldedPrivateKey(),timeStamp:p(f[4]).toString(),isNewStyle:g,...g?{H0:[p(f[6]),p(f[7])]}:{randomization:p(f[2])},mintAddress:y}},p=(e,n)=>new t.Utxo(f(e,n));exports.decryptUtxo=p,exports.decryptUtxoConstructorArgs=f,exports.encryptUtxo=d;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`./keys.cjs`),n=require(`../utxo/Utxo.cjs`),r=require(`../../crypto/ecdh-sealed-keys.cjs`);let i=require(`ethers`),a=require(`@solana/web3.js`);var o=e=>e.startsWith(`0x`)?e:`0x${e}`,s=t=>{let n=[t];return n.push(e.ENCLAVE_PUBKEY),n},c=e=>{let t=[Buffer.from(i.ethers.toBeHex(e.amount)),Buffer.from(o(e.erc20TokenAddress)),Buffer.from(o(e.getStealthAddress())),Buffer.from(i.ethers.toBeHex(BigInt(e.timeStamp))),Buffer.from(i.ethers.toBeHex(e.H0?.[0]??0n)),Buffer.from(i.ethers.toBeHex(e.H0?.[1]??0n)),Buffer.from(o(e.getEncryptionKey()))];if(e.mintAddress){let n=new a.PublicKey(e.mintAddress),r=i.ethers.hexlify(n.toBytes());t.push(Buffer.from(r))}let n=Buffer.concat(t);return Buffer.from(r.encryptSealedKeys(n,s(e.getEncryptionKey())))},l=(e,t)=>{let n=[Buffer.from(o(e)),Buffer.from(i.ethers.toBeHex(t))],a=Buffer.concat(n);return Buffer.from(r.encryptSealedKeys(a,s(e)))},u=(e,n)=>{let{privateKey:i,publicKey:o}=t.UserKeys.getEncryptionKeyPair(n.getShieldedPrivateKey()),s=r.decryptSealedKeys(e,i,o,0),c=Buffer.from(s).toString(`utf-8`).split(`0x`).filter(e=>e.length!==0),l=e=>BigInt(`0x${e}`),u=e=>`0x${e}`,d=c[7]?u(c[7]):void 0,f=d?new a.PublicKey(Buffer.from(d.slice(2),`hex`)).toString():void 0;return{amount:l(c[0]),erc20TokenAddress:u(c[1]),stealthAddress:u(c[2]),nullifyingKey:n.getShieldedPrivateKey(),timeStamp:l(c[3]).toString(),H0:[l(c[4]),l(c[5])],mintAddress:f}},d=(e,t)=>new n.Utxo(u(e,t));exports.decryptUtxo=d,exports.decryptUtxoConstructorArgs=u,exports.encryptEncryptionKeyAndStealthAddress=l,exports.encryptUtxo=c;
@@ -2,12 +2,11 @@ import { IUtxoConstructor, Utxo } from '../utxo/Utxo';
2
2
  import { UserKeys } from './keys';
3
3
  /**
4
4
  * encrypt data for the UTXO
5
- * @param amount UTXO amount
6
- * @param blinding UTXO blinding
7
- * @param publicKey sender's encryption public key
5
+ * @param utxo UTXO to encrypt
8
6
  * @returns returns encrypted data {Uint8Array}
9
7
  */
10
8
  export declare const encryptUtxo: (utxo: Utxo) => Uint8Array;
9
+ export declare const encryptEncryptionKeyAndStealthAddress: (encryptionKey: string, stealthAddress: bigint) => Uint8Array;
11
10
  export declare const decryptUtxoConstructorArgs: (encryptedData: Uint8Array, userKeys: UserKeys) => IUtxoConstructor;
12
11
  /**
13
12
  * decrypt UTXO data from events
@@ -1,39 +1,43 @@
1
- import { UserKeys as e } from "./keys.mjs";
2
- import { Utxo as t } from "../utxo/Utxo.mjs";
3
- import { decryptSealedKeys as n, encryptSealedKeys as r } from "../../crypto/ecdh-sealed-keys.mjs";
4
- import { decryptBoxSeal as i } from "../../crypto/ecdh.mjs";
1
+ import { ENCLAVE_PUBKEY as e } from "../../constants/protocol.constants.mjs";
2
+ import { UserKeys as t } from "./keys.mjs";
3
+ import { Utxo as n } from "../utxo/Utxo.mjs";
4
+ import { decryptSealedKeys as r, encryptSealedKeys as i } from "../../crypto/ecdh-sealed-keys.mjs";
5
5
  import { ethers as a } from "ethers";
6
6
  import { PublicKey as o } from "@solana/web3.js";
7
7
  //#region libs/shared/common/src/data-structures/crypto-keys/encryptDecryptUtxo.ts
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
+ var s = (e) => e.startsWith("0x") ? e : `0x${e}`, c = (t) => {
9
+ let n = [t];
10
+ return n.push(e), n;
11
+ }, l = (e) => {
9
12
  let t = [
10
13
  Buffer.from(a.toBeHex(e.amount)),
11
14
  Buffer.from(s(e.erc20TokenAddress)),
12
- Buffer.from(a.toBeHex(e.randomization ?? 0n)),
13
15
  Buffer.from(s(e.getStealthAddress())),
14
16
  Buffer.from(a.toBeHex(BigInt(e.timeStamp))),
15
- Buffer.from(a.toBeHex(e.isNewStyle ? 1n : 0n)),
16
17
  Buffer.from(a.toBeHex(e.H0?.[0] ?? 0n)),
17
- Buffer.from(a.toBeHex(e.H0?.[1] ?? 0n))
18
+ Buffer.from(a.toBeHex(e.H0?.[1] ?? 0n)),
19
+ Buffer.from(s(e.getEncryptionKey()))
18
20
  ];
19
21
  if (e.mintAddress) {
20
22
  let n = new o(e.mintAddress), r = a.hexlify(n.toBytes());
21
23
  t.push(Buffer.from(r));
22
24
  }
23
- let n = r(Buffer.concat(t), [e.getEncryptionKey()]);
24
- return Buffer.concat([Buffer.from(u(c)), Buffer.from(n)]);
25
- }, p = (t, r) => {
26
- let { privateKey: a, publicKey: s } = e.getEncryptionKeyPair(r.getShieldedPrivateKey()), u = d(t) === c ? n(t.slice(l), a, s, 0) : i(t, 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;
25
+ let n = Buffer.concat(t);
26
+ return Buffer.from(i(n, c(e.getEncryptionKey())));
27
+ }, u = (e, t) => {
28
+ let n = [Buffer.from(s(e)), Buffer.from(a.toBeHex(t))], r = Buffer.concat(n);
29
+ return Buffer.from(i(r, c(e)));
30
+ }, d = (e, n) => {
31
+ let { privateKey: i, publicKey: a } = t.getEncryptionKeyPair(n.getShieldedPrivateKey()), s = r(e, i, a, 0), c = Buffer.from(s).toString("utf-8").split("0x").filter((e) => e.length !== 0), l = (e) => BigInt(`0x${e}`), u = (e) => `0x${e}`, d = c[7] ? u(c[7]) : void 0, f = d ? new o(Buffer.from(d.slice(2), "hex")).toString() : void 0;
27
32
  return {
28
- amount: p(f[0]),
29
- erc20TokenAddress: m(f[1]),
30
- stealthAddress: m(f[3]),
31
- nullifyingKey: r.getShieldedPrivateKey(),
32
- timeStamp: p(f[4]).toString(),
33
- isNewStyle: g,
34
- ...g ? { H0: [p(f[6]), p(f[7])] } : { randomization: p(f[2]) },
35
- mintAddress: y
33
+ amount: l(c[0]),
34
+ erc20TokenAddress: u(c[1]),
35
+ stealthAddress: u(c[2]),
36
+ nullifyingKey: n.getShieldedPrivateKey(),
37
+ timeStamp: l(c[3]).toString(),
38
+ H0: [l(c[4]), l(c[5])],
39
+ mintAddress: f
36
40
  };
37
- }, m = (e, n) => new t(p(e, n));
41
+ }, f = (e, t) => new n(d(e, t));
38
42
  //#endregion
39
- export { m as decryptUtxo, p as decryptUtxoConstructorArgs, f as encryptUtxo };
43
+ export { f as decryptUtxo, d as decryptUtxoConstructorArgs, u as encryptEncryptionKeyAndStealthAddress, l 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(`../../crypto/eddsa.cjs`),a=require(`../cacheDevices/AttachableMemoryCacheDevice.cjs`),o=require(`./keyUtils.cjs`);let s=require(`ethers`),c=require(`@solana/web3.js`),l=require(`bs58`);l=e.__toESM(l);let u=require(`libsodium-wrappers`);u=e.__toESM(u);let d=require(`tweetnacl`);d=e.__toESM(d);let f=require(`tronweb`);var p=new a.AttachableMemoryCacheDevice,m=new a.AttachableMemoryCacheDevice,h=new a.AttachableMemoryCacheDevice,g=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===f.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());getNearIntentsAccountId=()=>{this.requireKeyMaterial();let e=c.Keypair.fromSeed(s.ethers.getBytes(this.getShieldedPrivateKey()));return s.ethers.hexlify(e.publicKey.toBytes()).slice(2)};getNearIntentsKeyPairString=()=>{this.requireKeyMaterial();let e=c.Keypair.fromSeed(s.ethers.getBytes(this.getShieldedPrivateKey()));return`ed25519:${l.default.encode(e.secretKey)}`};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 l.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 d.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.UserKeys=g,exports.stealthAddressCacheDevice=h,exports.stealthPairCacheDevice=p,exports.stealthPairOldCacheDevice=m;
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(`bs58`);l=e.__toESM(l);let u=require(`libsodium-wrappers`);u=e.__toESM(u);let d=require(`tweetnacl`);d=e.__toESM(d);let f=require(`tronweb`);var p=new a.AttachableMemoryCacheDevice,m=class{signature;nullifyingKey;PREFIX_FOR_SPENDING_PAIR=`1`;constructor(e,t){this.signature=e,this.nullifyingKey=t}getSignature(){return this.requireSignature(),this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error(`No signature provided`)}requireKeyMaterial(){if(!this.signature&&!this.nullifyingKey)throw Error(`No signature or private key provided`)}verifyTronMessage(e,t){return this.requireSignature(),t===f.Trx.verifyMessageV2(e,this.signature)}getShieldedPrivateKey=()=>{if(this.requireKeyMaterial(),!this.nullifyingKey){let e=BigInt(n.poseidonHash(this.signature));this.nullifyingKey=s.ethers.toBeHex(e%t.NULLIFYING_PRIVATE_KEY_MOD)}return this.nullifyingKey};getShieldedPrivateKeySeed=()=>s.ethers.keccak256(this.getShieldedPrivateKey());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}`))};getNearIntentsAccountId=()=>{this.requireKeyMaterial();let e=c.Keypair.fromSeed(s.ethers.getBytes(this.getShieldedPrivateKeySeed()));return s.ethers.hexlify(e.publicKey.toBytes()).slice(2)};getNearIntentsKeyPairString=()=>{this.requireKeyMaterial();let e=c.Keypair.fromSeed(s.ethers.getBytes(this.getShieldedPrivateKeySeed()));return`ed25519:${l.default.encode(e.secretKey)}`};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 l.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 d.default.sign.detached.verify(n,r,i)}static getRandomizedStealthPair=p.attach((e,t)=>{let n=r.babyJubInstance(),i=n.mulPointEscalar(n.Base8,e),a=n.mulPointEscalar(i,BigInt(t));return{H0:[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))],H1:[BigInt(n.F.toString(a[0])),BigInt(n.F.toString(a[1]))]}});static getH1FromH0=(e,t)=>{let n=r.babyJubInstance(),i=[n.F.e(e[0]),n.F.e(e[1])],a=n.mulPointEscalar(i,BigInt(t));return[BigInt(n.F.toString(a[0])),BigInt(n.F.toString(a[1]))]};static verifyStealthPair=(e,t,n,r=!0)=>{let i=this.getH1FromH0(e,n);return r?i[1]===t[1]:i===t};static getStealthAddress=(e,t,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),i,a,o=0n;do i=e*10n**o%t.CIRCOM_P,a=i*r%t.CIRCOM_P,o+=1n;while(a>=2n**250n||i>=2n**250n);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(s.ethers.keccak256(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.UserKeys=m,exports.stealthPairCacheDevice=p;
@@ -4,11 +4,6 @@ export declare const stealthPairCacheDevice: AttachableMemoryCacheDevice<{
4
4
  H0: [bigint, bigint];
5
5
  H1: [bigint, bigint];
6
6
  }>;
7
- export declare const stealthPairOldCacheDevice: AttachableMemoryCacheDevice<{
8
- H0: [bigint, bigint];
9
- H1: [bigint, bigint];
10
- }>;
11
- export declare const stealthAddressCacheDevice: AttachableMemoryCacheDevice<string>;
12
7
  export interface EncryptionKeyPair {
13
8
  privateKey: string;
14
9
  publicKey: string;
@@ -18,7 +13,6 @@ export declare class UserKeys {
18
13
  private signature;
19
14
  private nullifyingKey;
20
15
  private readonly PREFIX_FOR_SPENDING_PAIR;
21
- private readonly PREFIX_FOR_NULLIFYING_PAIR;
22
16
  constructor(_signature?: string, _nullifyingKey?: string);
23
17
  getSignature(): string;
24
18
  setSignature(_signature: string): void;
@@ -31,6 +25,14 @@ export declare class UserKeys {
31
25
  * @retuns 0x-prefixed shielded private key
32
26
  */
33
27
  getShieldedPrivateKey: () => string;
28
+ /**
29
+ * getShieldedPrivateKey() is constrained to < 2^250 to match the circuit's nullifyingPrivateKey
30
+ * range check, so it's no longer 32 bytes and can't be used directly as raw key material for
31
+ * libraries that require a full-length seed.
32
+ * This re-expands it back to a full 32-byte seed via keccak256 for those use sites.
33
+ * @returns 32-byte 0x-prefixed seed
34
+ */
35
+ private getShieldedPrivateKeySeed;
34
36
  /**
35
37
  * generate shielded public key from private key
36
38
  * @param privateKey the key used to generate the shielded public key, this should be the signature
@@ -62,14 +64,6 @@ export declare class UserKeys {
62
64
  */
63
65
  getShieldedPrivateKeyFromNonce: (nonce: bigint) => string;
64
66
  getClaimableSignatureFromNonce: (nonce: bigint) => string;
65
- /**
66
- * deterministically derive an EVM address from the shielded private key
67
- */
68
- getDerivedEthereumAddress: () => string;
69
- /**
70
- * deterministically derive a Solana public key from the shielded private key
71
- */
72
- getDerivedSolanaPublicKey: () => string;
73
67
  /**
74
68
  * deterministically derive the user's NEAR Intents account id from the shielded private key.
75
69
  * The account id is the NEAR implicit account (lowercase hex of the ed25519 public key) of the
@@ -92,30 +86,21 @@ export declare class UserKeys {
92
86
  getSignerSolanaPrivateKeyFromNonce: (walletNonce: bigint) => string;
93
87
  verifyMessage(signingMessage: string): string;
94
88
  verifySolanaMessage(signingMessage: string, signerPublicKey: string): boolean;
95
- static getRandomizedStealthPairOld: (s: bigint, privateKey: string) => {
96
- H0: [bigint, bigint];
97
- H1: [bigint, bigint];
98
- };
99
89
  static getRandomizedStealthPair: (s: bigint, privateKey: string) => {
100
90
  H0: [bigint, bigint];
101
91
  H1: [bigint, bigint];
102
92
  };
103
- static getStealthAddressCompressedPoints: (s: bigint, privateKey: string) => {
104
- h0: bigint;
105
- h1: bigint;
106
- };
107
- static checkSignature: (s: bigint, stealthAddressH0: bigint, stealthAddressH1: bigint, privateKey: string) => boolean;
108
- static getStealthAddress: (s: bigint, privateKey: string) => string;
109
93
  static getH1FromH0: (H0: JubPoint, privateKey: string) => JubPoint;
110
94
  static verifyStealthPair: (H0: JubPoint, H1: JubPoint, privateKey: string, onlyYCheck?: boolean) => boolean;
111
- static getStealthAddressNewStyle: (H0: JubPoint, nullifyingPrivateKey: string, spendingPublicKey?: bigint[]) => string;
95
+ static getStealthAddress: (H0: JubPoint, nullifyingPrivateKey: string, spendingPublicKey?: bigint[]) => string;
112
96
  static findCorrectRandomization(initialRandomization: bigint, privateKey?: string): bigint;
113
97
  static getH0FromRandomization: (randomization: bigint) => JubPoint;
114
98
  static findH0(randomization: bigint, privateKey: string | undefined): JubPoint | undefined;
115
99
  /**
116
100
  * generate private and public keypair
117
- * @param seed seed to use to deterministically generate key, must be in DataHexString format
118
- * and must correspond to 32 bytes
101
+ * @param privateKey seed to use to deterministically generate key, any DataHexString;
102
+ * since nullifyingKey/shieldedPrivateKey are now constrained to < 2^250 (not 32 bytes),
103
+ * this re-expands the input via keccak256 to get a full 32-byte seed for sodium
119
104
  */
120
105
  static getEncryptionKeyPair: (privateKey: string) => EncryptionKeyPair;
121
106
  /**
@@ -1,21 +1,20 @@
1
- import { CIRCOM_P as e } from "../../constants/protocol.constants.mjs";
2
- import { poseidonHash as t } from "../../crypto/poseidon.mjs";
3
- import { babyJubInstance as n } from "../../crypto/babyJub.mjs";
4
- import { eddsaInstance as r } from "../../crypto/eddsa.mjs";
5
- import { AttachableMemoryCacheDevice as i } from "../cacheDevices/AttachableMemoryCacheDevice.mjs";
6
- import { getCircomSign as a } from "./keyUtils.mjs";
7
- import { ethers as o } from "ethers";
8
- import { Keypair as s, PublicKey as c } from "@solana/web3.js";
9
- import l from "bs58";
10
- import u from "libsodium-wrappers";
11
- import d from "tweetnacl";
12
- import { Trx as f } from "tronweb";
1
+ import { CIRCOM_P as e, NULLIFYING_PRIVATE_KEY_MOD as t } from "../../constants/protocol.constants.mjs";
2
+ import { poseidonHash as n } from "../../crypto/poseidon.mjs";
3
+ import { babyJubInstance as r } from "../../crypto/babyJub.mjs";
4
+ import { eddsaInstance as i } from "../../crypto/eddsa.mjs";
5
+ import { AttachableMemoryCacheDevice as a } from "../cacheDevices/AttachableMemoryCacheDevice.mjs";
6
+ import { getCircomSign as o } from "./keyUtils.mjs";
7
+ import { ethers as s } from "ethers";
8
+ import { Keypair as c, PublicKey as l } from "@solana/web3.js";
9
+ import u from "bs58";
10
+ import d from "libsodium-wrappers";
11
+ import f from "tweetnacl";
12
+ import { Trx as p } from "tronweb";
13
13
  //#region libs/shared/common/src/data-structures/crypto-keys/keys.ts
14
- var p = new i(), m = new i(), h = new i(), g = class {
14
+ var m = new a(), h = class {
15
15
  signature;
16
16
  nullifyingKey;
17
17
  PREFIX_FOR_SPENDING_PAIR = "1";
18
- PREFIX_FOR_NULLIFYING_PAIR = "2";
19
18
  constructor(e, t) {
20
19
  this.signature = e, this.nullifyingKey = t;
21
20
  }
@@ -32,21 +31,28 @@ var p = new i(), m = new i(), h = new i(), g = class {
32
31
  if (!this.signature && !this.nullifyingKey) throw Error("No signature or private key provided");
33
32
  }
34
33
  verifyTronMessage(e, t) {
35
- return this.requireSignature(), t === f.verifyMessageV2(e, this.signature);
34
+ return this.requireSignature(), t === p.verifyMessageV2(e, this.signature);
36
35
  }
37
- getShieldedPrivateKey = () => (this.requireKeyMaterial(), this.nullifyingKey ||= o.keccak256(this.signature), this.nullifyingKey);
38
- getShieldedPublicKey = () => (this.requireKeyMaterial(), t(this.getShieldedPrivateKey()));
36
+ getShieldedPrivateKey = () => {
37
+ if (this.requireKeyMaterial(), !this.nullifyingKey) {
38
+ let e = BigInt(n(this.signature));
39
+ this.nullifyingKey = s.toBeHex(e % t);
40
+ }
41
+ return this.nullifyingKey;
42
+ };
43
+ getShieldedPrivateKeySeed = () => s.keccak256(this.getShieldedPrivateKey());
44
+ getShieldedPublicKey = () => (this.requireKeyMaterial(), n(this.getShieldedPrivateKey()));
39
45
  getSpendingKeyPair = () => {
40
46
  this.requireSignature();
41
- let e = r(), i = n(), a = t(this.PREFIX_FOR_SPENDING_PAIR, this.getSignature()), s = Buffer.from(o.getBytes(a)), c = e.prv2pub(s);
47
+ let e = i(), t = r(), a = n(this.PREFIX_FOR_SPENDING_PAIR, this.getSignature()), o = Buffer.from(s.getBytes(a)), c = e.prv2pub(o);
42
48
  return {
43
49
  privSpendingKey: a,
44
- pubSpendingBJJPoint: [BigInt(i.F.toString(c[0])), BigInt(i.F.toString(c[1]))]
50
+ pubSpendingBJJPoint: [BigInt(t.F.toString(c[0])), BigInt(t.F.toString(c[1]))]
45
51
  };
46
52
  };
47
53
  signEddsa = (e) => {
48
54
  this.requireSignature();
49
- let t = n(), i = r(), a = Buffer.from(o.getBytes(this.getSpendingKeyPair().privSpendingKey)), s = t.F.e(e), c = i.signPoseidon(a, s);
55
+ let t = r(), n = i(), a = Buffer.from(s.getBytes(this.getSpendingKeyPair().privSpendingKey)), o = t.F.e(e), c = n.signPoseidon(a, o);
50
56
  return {
51
57
  R8: [BigInt(t.F.toString(c.R8[0])), BigInt(t.F.toString(c.R8[1]))],
52
58
  S: BigInt(c.S)
@@ -54,96 +60,72 @@ var p = new i(), m = new i(), h = new i(), g = class {
54
60
  };
55
61
  getShieldedPrivateKeyFromNonce = (e) => {
56
62
  this.requireKeyMaterial();
57
- let n = t(e, this.getShieldedPrivateKey(), this.getShieldedPublicKey());
58
- return o.keccak256(o.toUtf8Bytes(`hinkal-offchain-shielded-key:${n}`));
63
+ let t = n(e, this.getShieldedPrivateKey(), this.getShieldedPublicKey());
64
+ return s.keccak256(s.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`));
59
65
  };
60
66
  getClaimableSignatureFromNonce = (e) => {
61
67
  this.requireKeyMaterial();
62
- let n = t(e, this.getShieldedPrivateKey(), this.getShieldedPublicKey());
63
- return o.keccak256(o.toUtf8Bytes(`hinkal-claimable-utxo-signature:${n}`));
68
+ let t = n(e, this.getShieldedPrivateKey(), this.getShieldedPublicKey());
69
+ return s.keccak256(s.toUtf8Bytes(`hinkal-claimable-utxo-signature:${t}`));
64
70
  };
65
- getDerivedEthereumAddress = () => (this.requireKeyMaterial(), new o.Wallet(this.getShieldedPrivateKey()).address);
66
- getDerivedSolanaPublicKey = () => (this.requireKeyMaterial(), s.fromSeed(o.getBytes(this.getShieldedPrivateKey())).publicKey.toBase58());
67
71
  getNearIntentsAccountId = () => {
68
72
  this.requireKeyMaterial();
69
- let e = s.fromSeed(o.getBytes(this.getShieldedPrivateKey()));
70
- return o.hexlify(e.publicKey.toBytes()).slice(2);
73
+ let e = c.fromSeed(s.getBytes(this.getShieldedPrivateKeySeed()));
74
+ return s.hexlify(e.publicKey.toBytes()).slice(2);
71
75
  };
72
76
  getNearIntentsKeyPairString = () => {
73
77
  this.requireKeyMaterial();
74
- let e = s.fromSeed(o.getBytes(this.getShieldedPrivateKey()));
75
- return `ed25519:${l.encode(e.secretKey)}`;
78
+ let e = c.fromSeed(s.getBytes(this.getShieldedPrivateKeySeed()));
79
+ return `ed25519:${u.encode(e.secretKey)}`;
76
80
  };
77
81
  getSignerPrivateKeyFromNonce = (e) => {
78
82
  this.requireKeyMaterial();
79
- let n = t(e, this.getShieldedPrivateKey(), this.getShieldedPublicKey());
80
- return o.keccak256(o.toUtf8Bytes(n));
83
+ let t = n(e, this.getShieldedPrivateKey(), this.getShieldedPublicKey());
84
+ return s.keccak256(s.toUtf8Bytes(t));
81
85
  };
82
86
  getSignerSolanaPrivateKeyFromNonce = (e) => {
83
- let t = this.getSignerPrivateKeyFromNonce(e), n = o.getBytes(t), r = s.fromSeed(n);
84
- return l.encode(r.secretKey);
87
+ let t = this.getSignerPrivateKeyFromNonce(e), n = s.getBytes(t), r = c.fromSeed(n);
88
+ return u.encode(r.secretKey);
85
89
  };
86
90
  verifyMessage(e) {
87
- return this.requireSignature(), o.verifyMessage(e, this.signature);
91
+ return this.requireSignature(), s.verifyMessage(e, this.signature);
88
92
  }
89
93
  verifySolanaMessage(e, t) {
90
94
  this.requireSignature();
91
- let n = new TextEncoder().encode(e), r = o.getBytes(this.signature), i = new c(t).toBytes();
92
- return d.sign.detached.verify(n, r, i);
95
+ let n = new TextEncoder().encode(e), r = s.getBytes(this.signature), i = new l(t).toBytes();
96
+ return f.sign.detached.verify(n, r, i);
93
97
  }
94
- static getRandomizedStealthPairOld = m.attach((t, r) => {
95
- let i = n(), a = t * (BigInt(r) % e) % e, o = i.mulPointEscalar(i.Base8, t), s = i.mulPointEscalar(i.Base8, a);
96
- return {
97
- H0: [BigInt(i.F.toString(o[0])), BigInt(i.F.toString(o[1]))],
98
- H1: [BigInt(i.F.toString(s[0])), BigInt(i.F.toString(s[1]))]
99
- };
100
- });
101
- static getRandomizedStealthPair = p.attach((t, r) => {
102
- let i = n(), a = BigInt(r) % e, o = i.mulPointEscalar(i.Base8, t), s = i.mulPointEscalar(o, a);
103
- return {
104
- H0: [BigInt(i.F.toString(o[0])), BigInt(i.F.toString(o[1]))],
105
- H1: [BigInt(i.F.toString(s[0])), BigInt(i.F.toString(s[1]))]
106
- };
107
- });
108
- static getStealthAddressCompressedPoints = (e, t) => {
109
- let { H0: n, H1: r } = this.getRandomizedStealthPairOld(e, t), [i, o] = [n, r].map((e) => BigInt(e[1]) + 2n ** 255n * a(e[0]));
98
+ static getRandomizedStealthPair = m.attach((e, t) => {
99
+ let n = r(), i = n.mulPointEscalar(n.Base8, e), a = n.mulPointEscalar(i, BigInt(t));
110
100
  return {
111
- h0: i,
112
- h1: o
101
+ H0: [BigInt(n.F.toString(i[0])), BigInt(n.F.toString(i[1]))],
102
+ H1: [BigInt(n.F.toString(a[0])), BigInt(n.F.toString(a[1]))]
113
103
  };
114
- };
115
- static checkSignature = (e, t, n, r) => {
116
- let { h0: i, h1: a } = this.getStealthAddressCompressedPoints(e, r);
117
- return t === i && n === a;
118
- };
119
- static getStealthAddress = h.attach((e, n) => {
120
- let { H0: r, H1: i } = this.getRandomizedStealthPairOld(e, n);
121
- return t(2n * a(r[0]) + a(i[0]), r[1], i[1]);
122
104
  });
123
- static getH1FromH0 = (t, r) => {
124
- let i = n(), a = BigInt(r) % e, o = [i.F.e(t[0]), i.F.e(t[1])], s = i.mulPointEscalar(o, a);
125
- return [BigInt(i.F.toString(s[0])), BigInt(i.F.toString(s[1]))];
105
+ static getH1FromH0 = (e, t) => {
106
+ let n = r(), i = [n.F.e(e[0]), n.F.e(e[1])], a = n.mulPointEscalar(i, BigInt(t));
107
+ return [BigInt(n.F.toString(a[0])), BigInt(n.F.toString(a[1]))];
126
108
  };
127
109
  static verifyStealthPair = (e, t, n, r = !0) => {
128
110
  let i = this.getH1FromH0(e, n);
129
111
  return r ? i[1] === t[1] : i === t;
130
112
  };
131
- static getStealthAddressNewStyle = (e, n, r) => {
113
+ static getStealthAddress = (e, t, r) => {
132
114
  if (r?.length !== 2) throw Error("Spending public key must be an array of 2 elements");
133
- let i = this.getH1FromH0(e, n);
134
- return t(2n * a(e[0]) + a(i[0]), e[1], i[1], r[0], r[1], n);
115
+ let i = this.getH1FromH0(e, t);
116
+ return n(2n * o(e[0]) + o(i[0]), e[1], i[1], r[0], r[1], t);
135
117
  };
136
118
  static findCorrectRandomization(t, n) {
137
119
  if (!n) throw Error("No Private Shielded Key Provided");
138
- let r = BigInt(n) % e, i, a, o = 0n;
120
+ let r = BigInt(n), i, a, o = 0n;
139
121
  do
140
122
  i = t * 10n ** o % e, a = i * r % e, o += 1n;
141
- while (a >= 2n ** 253n || i >= 2n ** 253n);
123
+ while (a >= 2n ** 250n || i >= 2n ** 250n);
142
124
  return i;
143
125
  }
144
126
  static getH0FromRandomization = (e) => {
145
- let t = n(), r = t.mulPointEscalar(t.Base8, e);
146
- return [BigInt(t.F.toString(r[0])), BigInt(t.F.toString(r[1]))];
127
+ let t = r(), n = t.mulPointEscalar(t.Base8, e);
128
+ return [BigInt(t.F.toString(n[0])), BigInt(t.F.toString(n[1]))];
147
129
  };
148
130
  static findH0(e, t) {
149
131
  if (!t) return;
@@ -151,14 +133,14 @@ var p = new i(), m = new i(), h = new i(), g = class {
151
133
  return n;
152
134
  }
153
135
  static getEncryptionKeyPair = (e) => {
154
- let t = u.crypto_box_seed_keypair(o.getBytes(e));
136
+ let t = d.crypto_box_seed_keypair(s.getBytes(s.keccak256(e)));
155
137
  return {
156
- privateKey: o.hexlify(t.privateKey),
157
- publicKey: o.hexlify(t.publicKey)
138
+ privateKey: s.hexlify(t.privateKey),
139
+ publicKey: s.hexlify(t.publicKey)
158
140
  };
159
141
  };
160
- getAccessKey = () => (this.requireKeyMaterial(), t(this.getShieldedPrivateKey(), this.getShieldedPublicKey()));
161
- getBackendToken = () => (this.requireKeyMaterial(), t(this.getAccessKey(), this.getShieldedPublicKey()));
142
+ getAccessKey = () => (this.requireKeyMaterial(), n(this.getShieldedPrivateKey(), this.getShieldedPublicKey()));
143
+ getBackendToken = () => (this.requireKeyMaterial(), n(this.getAccessKey(), this.getShieldedPublicKey()));
162
144
  };
163
145
  //#endregion
164
- export { g as UserKeys, h as stealthAddressCacheDevice, p as stealthPairCacheDevice, m as stealthPairOldCacheDevice };
146
+ export { h as UserKeys, m as stealthPairCacheDevice };