@veilo/sdk-core 0.4.0 → 0.6.0

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 (481) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +449 -1243
  3. package/accounts.d.ts +2 -0
  4. package/accounts.js +3 -0
  5. package/cloak.d.ts +2 -0
  6. package/cloak.js +3 -0
  7. package/config.d.ts +2 -2
  8. package/config.js +2 -3
  9. package/dist/cjs/accounts/admin.d.ts +84 -0
  10. package/dist/cjs/accounts/admin.js +208 -0
  11. package/dist/cjs/accounts/errors.d.ts +6 -0
  12. package/dist/cjs/accounts/errors.js +98 -0
  13. package/dist/cjs/accounts/index.d.ts +4 -0
  14. package/dist/cjs/accounts/index.js +20 -0
  15. package/dist/cjs/accounts/pdas.d.ts +23 -0
  16. package/dist/cjs/accounts/pdas.js +44 -0
  17. package/dist/cjs/accounts/queries.d.ts +41 -0
  18. package/dist/cjs/accounts/queries.js +95 -0
  19. package/dist/cjs/client.d.ts +2 -407
  20. package/dist/cjs/client.js +6 -938
  21. package/dist/cjs/cloak/client.d.ts +28 -0
  22. package/dist/cjs/cloak/client.js +68 -0
  23. package/dist/cjs/cloak/errors.d.ts +13 -0
  24. package/dist/cjs/cloak/errors.js +25 -0
  25. package/dist/cjs/cloak/helpers.d.ts +6 -0
  26. package/dist/cjs/cloak/helpers.js +35 -0
  27. package/dist/cjs/cloak/index.d.ts +6 -0
  28. package/dist/cjs/cloak/index.js +24 -0
  29. package/dist/cjs/cloak/polling.d.ts +7 -0
  30. package/dist/cjs/cloak/polling.js +66 -0
  31. package/dist/cjs/cloak/transport.d.ts +15 -0
  32. package/dist/cjs/cloak/transport.js +119 -0
  33. package/dist/cjs/cloak/types.d.ts +188 -0
  34. package/dist/cjs/cloak/types.js +5 -0
  35. package/dist/cjs/cloak.d.ts +1 -0
  36. package/dist/cjs/cloak.js +18 -0
  37. package/dist/cjs/compactNote.d.ts +21 -0
  38. package/dist/cjs/compactNote.js +31 -7
  39. package/dist/cjs/events/index.d.ts +6 -0
  40. package/dist/cjs/events/index.js +22 -0
  41. package/dist/cjs/events/parsing.d.ts +25 -0
  42. package/dist/cjs/events/parsing.js +158 -0
  43. package/dist/cjs/events/position.d.ts +26 -0
  44. package/dist/cjs/events/position.js +53 -0
  45. package/dist/cjs/events/recovery.d.ts +87 -0
  46. package/dist/cjs/events/recovery.js +281 -0
  47. package/dist/cjs/events/scanning.d.ts +35 -0
  48. package/dist/cjs/events/scanning.js +98 -0
  49. package/dist/cjs/events/tree.d.ts +27 -0
  50. package/dist/cjs/events/tree.js +63 -0
  51. package/dist/cjs/events/types.d.ts +39 -0
  52. package/dist/cjs/events.d.ts +1 -77
  53. package/dist/cjs/events.js +6 -154
  54. package/dist/cjs/identity/encoding.d.ts +9 -0
  55. package/dist/cjs/identity/encoding.js +85 -0
  56. package/dist/cjs/identity/index.d.ts +4 -0
  57. package/dist/cjs/identity/index.js +20 -0
  58. package/dist/cjs/identity/noteKey.d.ts +33 -0
  59. package/dist/cjs/identity/noteKey.js +97 -0
  60. package/dist/cjs/identity/spending.d.ts +18 -0
  61. package/dist/cjs/identity/spending.js +46 -0
  62. package/dist/cjs/identity/viewKey.d.ts +38 -0
  63. package/dist/cjs/identity/viewKey.js +105 -0
  64. package/dist/cjs/idl/index.d.ts +18 -0
  65. package/dist/cjs/idl/index.js +24 -0
  66. package/dist/cjs/idl/privacy_pool.json +9907 -9907
  67. package/dist/cjs/idl/privacy_pool_legacy.js +3307 -0
  68. package/dist/cjs/idl/privacy_pool_legacy.json +2302 -0
  69. package/dist/cjs/idl/privacy_pool_legacy2.d.ts +5 -0
  70. package/dist/cjs/idl/privacy_pool_legacy2.js +3397 -0
  71. package/dist/cjs/idl/privacy_pool_legacy2.json +2376 -0
  72. package/dist/cjs/index.d.ts +9 -3
  73. package/dist/cjs/index.js +15 -2
  74. package/dist/cjs/notes/amount.d.ts +2 -0
  75. package/dist/cjs/notes/amount.js +21 -0
  76. package/dist/cjs/notes/encryption.d.ts +41 -0
  77. package/dist/cjs/notes/encryption.js +75 -0
  78. package/dist/cjs/notes/index.d.ts +8 -0
  79. package/dist/cjs/notes/index.js +24 -0
  80. package/dist/cjs/notes/mailbox.d.ts +70 -0
  81. package/dist/cjs/notes/mailbox.js +164 -0
  82. package/dist/cjs/notes/model.d.ts +91 -0
  83. package/dist/cjs/notes/model.js +109 -0
  84. package/dist/cjs/notes/nullifier.d.ts +27 -0
  85. package/dist/cjs/notes/nullifier.js +45 -0
  86. package/dist/cjs/notes/recovery.d.ts +20 -0
  87. package/dist/cjs/notes/recovery.js +48 -0
  88. package/dist/cjs/notes/selection.d.ts +77 -0
  89. package/dist/cjs/notes/selection.js +193 -0
  90. package/dist/cjs/notes/spent.d.ts +60 -0
  91. package/dist/cjs/notes/spent.js +101 -0
  92. package/dist/cjs/perps/constants.d.ts +16 -0
  93. package/dist/cjs/perps/constants.js +52 -0
  94. package/dist/cjs/perps/index.d.ts +5 -0
  95. package/dist/cjs/perps/index.js +21 -0
  96. package/dist/cjs/perps/keys.d.ts +16 -0
  97. package/dist/cjs/perps/keys.js +43 -0
  98. package/dist/cjs/perps/pdas.d.ts +29 -0
  99. package/dist/cjs/perps/pdas.js +55 -0
  100. package/dist/cjs/perps/relayer.d.ts +9 -0
  101. package/dist/cjs/perps/relayer.js +35 -0
  102. package/dist/cjs/perps/types.d.ts +126 -0
  103. package/dist/cjs/perps/types.js +2 -0
  104. package/dist/cjs/positions/index.d.ts +4 -0
  105. package/dist/cjs/positions/index.js +20 -0
  106. package/dist/cjs/positions/keys.d.ts +29 -0
  107. package/dist/cjs/positions/keys.js +71 -0
  108. package/dist/cjs/positions/pdas.d.ts +15 -0
  109. package/dist/cjs/positions/pdas.js +54 -0
  110. package/dist/cjs/positions/relayer.d.ts +4 -0
  111. package/dist/cjs/positions/relayer.js +15 -0
  112. package/dist/cjs/positions/types.d.ts +97 -0
  113. package/dist/cjs/positions/types.js +2 -0
  114. package/dist/cjs/predictions/client.d.ts +41 -0
  115. package/dist/cjs/predictions/client.js +147 -0
  116. package/dist/cjs/predictions/index.d.ts +5 -0
  117. package/dist/cjs/predictions/index.js +21 -0
  118. package/dist/cjs/predictions/keys.d.ts +14 -0
  119. package/dist/cjs/predictions/keys.js +40 -0
  120. package/dist/cjs/predictions/pdas.d.ts +6 -0
  121. package/dist/cjs/predictions/pdas.js +13 -0
  122. package/dist/cjs/predictions/relayer.d.ts +3 -0
  123. package/dist/cjs/predictions/relayer.js +11 -0
  124. package/dist/cjs/predictions/types.d.ts +178 -0
  125. package/dist/cjs/predictions/types.js +2 -0
  126. package/dist/cjs/program.d.ts +2 -0
  127. package/dist/cjs/program.js +8 -7
  128. package/dist/cjs/proof.d.ts +1 -183
  129. package/dist/cjs/proof.js +16 -290
  130. package/dist/cjs/proofs/encoding.d.ts +17 -0
  131. package/dist/cjs/proofs/encoding.js +72 -0
  132. package/dist/cjs/proofs/formatting.d.ts +6 -0
  133. package/dist/cjs/proofs/formatting.js +34 -0
  134. package/dist/cjs/proofs/index.d.ts +5 -0
  135. package/dist/cjs/proofs/index.js +21 -0
  136. package/dist/cjs/proofs/swap.d.ts +87 -0
  137. package/dist/cjs/proofs/swap.js +144 -0
  138. package/dist/cjs/proofs/transaction.d.ts +28 -0
  139. package/dist/cjs/proofs/transaction.js +110 -0
  140. package/dist/cjs/proofs/types.d.ts +70 -0
  141. package/dist/cjs/proofs/types.js +2 -0
  142. package/dist/cjs/prover.d.ts +30 -4
  143. package/dist/cjs/prover.js +118 -49
  144. package/dist/cjs/relayer/api.d.ts +31 -0
  145. package/dist/cjs/relayer/api.js +86 -0
  146. package/dist/cjs/relayer/client.d.ts +73 -0
  147. package/dist/cjs/relayer/client.js +206 -0
  148. package/dist/cjs/relayer/crypto.d.ts +5 -0
  149. package/dist/cjs/relayer/crypto.js +26 -0
  150. package/dist/cjs/relayer/encoding.d.ts +2 -0
  151. package/dist/cjs/relayer/encoding.js +23 -0
  152. package/dist/cjs/relayer/errors.d.ts +7 -0
  153. package/dist/cjs/relayer/errors.js +17 -0
  154. package/dist/cjs/relayer/index.d.ts +6 -0
  155. package/dist/cjs/relayer/index.js +19 -0
  156. package/dist/cjs/relayer/internal-config.d.ts +36 -0
  157. package/dist/cjs/relayer/internal-config.js +9 -0
  158. package/dist/cjs/relayer/internal.d.ts +6 -0
  159. package/dist/cjs/relayer/internal.js +14 -0
  160. package/dist/cjs/relayer/transport.d.ts +19 -0
  161. package/dist/cjs/relayer/transport.js +68 -0
  162. package/dist/{src/relayer.d.ts → cjs/relayer/types.d.ts} +53 -96
  163. package/dist/cjs/relayer/types.js +5 -0
  164. package/dist/cjs/relayer.d.ts +1 -318
  165. package/dist/cjs/relayer.js +15 -254
  166. package/dist/cjs/shield/alt.js +8 -8
  167. package/dist/cjs/shield/errors.js +2 -2
  168. package/dist/cjs/shield/finalize.js +2 -2
  169. package/dist/cjs/shield/ix.d.ts +1 -1
  170. package/dist/cjs/shield/owner.js +9 -11
  171. package/dist/cjs/shield/ports.js +3 -3
  172. package/dist/cjs/shield/preflight.js +3 -3
  173. package/dist/cjs/shield/shield.js +20 -19
  174. package/dist/cjs/shield/types.d.ts +1 -1
  175. package/dist/cjs/transactions/deposit.d.ts +94 -0
  176. package/dist/cjs/transactions/deposit.js +234 -0
  177. package/dist/cjs/transactions/index.d.ts +7 -0
  178. package/dist/cjs/transactions/index.js +26 -0
  179. package/dist/cjs/transactions/swap.d.ts +71 -0
  180. package/dist/cjs/transactions/swap.js +184 -0
  181. package/dist/cjs/transactions/transact.d.ts +34 -0
  182. package/dist/cjs/transactions/transact.js +146 -0
  183. package/dist/cjs/transactions/transfer.d.ts +51 -0
  184. package/dist/cjs/transactions/transfer.js +106 -0
  185. package/dist/cjs/transactions/withdraw.d.ts +52 -0
  186. package/dist/cjs/transactions/withdraw.js +104 -0
  187. package/dist/cjs/utxo.d.ts +1 -235
  188. package/dist/cjs/utxo.js +15 -404
  189. package/dist/esm/accounts/admin.d.ts +84 -0
  190. package/dist/esm/accounts/admin.js +165 -0
  191. package/dist/esm/accounts/errors.d.ts +6 -0
  192. package/dist/esm/accounts/errors.js +95 -0
  193. package/dist/esm/accounts/index.d.ts +4 -0
  194. package/dist/esm/accounts/index.js +4 -0
  195. package/dist/esm/accounts/pdas.d.ts +23 -0
  196. package/dist/esm/accounts/pdas.js +38 -0
  197. package/dist/esm/accounts/queries.d.ts +41 -0
  198. package/dist/esm/accounts/queries.js +88 -0
  199. package/dist/esm/client.d.ts +2 -407
  200. package/dist/esm/client.js +3 -891
  201. package/dist/esm/cloak/client.d.ts +28 -0
  202. package/dist/esm/cloak/client.js +64 -0
  203. package/dist/esm/cloak/errors.d.ts +13 -0
  204. package/dist/esm/cloak/errors.js +21 -0
  205. package/dist/esm/cloak/helpers.d.ts +6 -0
  206. package/dist/esm/cloak/helpers.js +31 -0
  207. package/dist/esm/cloak/index.d.ts +6 -0
  208. package/dist/esm/cloak/index.js +6 -0
  209. package/dist/esm/cloak/polling.d.ts +7 -0
  210. package/dist/esm/cloak/polling.js +63 -0
  211. package/dist/esm/cloak/transport.d.ts +15 -0
  212. package/dist/esm/cloak/transport.js +115 -0
  213. package/dist/esm/cloak/types.d.ts +188 -0
  214. package/dist/esm/cloak/types.js +4 -0
  215. package/dist/esm/cloak.d.ts +1 -0
  216. package/dist/esm/cloak.js +2 -0
  217. package/dist/esm/compactNote.d.ts +21 -0
  218. package/dist/esm/compactNote.js +24 -1
  219. package/dist/esm/events/index.d.ts +6 -0
  220. package/dist/esm/events/index.js +6 -0
  221. package/dist/esm/events/parsing.d.ts +25 -0
  222. package/dist/esm/events/parsing.js +120 -0
  223. package/dist/esm/events/position.d.ts +26 -0
  224. package/dist/esm/events/position.js +48 -0
  225. package/dist/esm/events/recovery.d.ts +87 -0
  226. package/dist/esm/events/recovery.js +237 -0
  227. package/dist/esm/events/scanning.d.ts +35 -0
  228. package/dist/esm/events/scanning.js +92 -0
  229. package/dist/esm/events/tree.d.ts +27 -0
  230. package/dist/esm/events/tree.js +58 -0
  231. package/dist/esm/events/types.d.ts +39 -0
  232. package/dist/esm/events/types.js +1 -0
  233. package/dist/esm/events.d.ts +1 -77
  234. package/dist/esm/events.js +3 -129
  235. package/dist/esm/identity/encoding.d.ts +9 -0
  236. package/dist/esm/identity/encoding.js +75 -0
  237. package/dist/esm/identity/index.d.ts +4 -0
  238. package/dist/esm/identity/index.js +4 -0
  239. package/dist/esm/identity/noteKey.d.ts +33 -0
  240. package/dist/esm/identity/noteKey.js +91 -0
  241. package/dist/esm/identity/spending.d.ts +18 -0
  242. package/dist/esm/identity/spending.js +35 -0
  243. package/dist/esm/identity/viewKey.d.ts +38 -0
  244. package/dist/esm/identity/viewKey.js +96 -0
  245. package/dist/esm/idl/index.d.ts +18 -0
  246. package/dist/esm/idl/index.js +18 -0
  247. package/dist/esm/idl/privacy_pool.json +9907 -9907
  248. package/dist/esm/idl/privacy_pool_legacy.d.ts +5 -0
  249. package/dist/esm/idl/privacy_pool_legacy.js +3305 -0
  250. package/dist/esm/idl/privacy_pool_legacy.json +2302 -0
  251. package/dist/esm/idl/privacy_pool_legacy2.d.ts +5 -0
  252. package/dist/esm/idl/privacy_pool_legacy2.js +3395 -0
  253. package/dist/esm/idl/privacy_pool_legacy2.json +2376 -0
  254. package/dist/esm/index.d.ts +9 -3
  255. package/dist/esm/index.js +10 -3
  256. package/dist/esm/notes/amount.d.ts +2 -0
  257. package/dist/esm/notes/amount.js +18 -0
  258. package/dist/esm/notes/encryption.d.ts +41 -0
  259. package/dist/esm/notes/encryption.js +67 -0
  260. package/dist/esm/notes/index.d.ts +8 -0
  261. package/dist/esm/notes/index.js +8 -0
  262. package/dist/esm/notes/mailbox.d.ts +70 -0
  263. package/dist/esm/notes/mailbox.js +154 -0
  264. package/dist/esm/notes/model.d.ts +91 -0
  265. package/dist/esm/notes/model.js +99 -0
  266. package/dist/esm/notes/nullifier.d.ts +27 -0
  267. package/dist/esm/notes/nullifier.js +40 -0
  268. package/dist/esm/notes/recovery.d.ts +20 -0
  269. package/dist/esm/notes/recovery.js +45 -0
  270. package/dist/esm/notes/selection.d.ts +77 -0
  271. package/dist/esm/notes/selection.js +188 -0
  272. package/dist/esm/notes/spent.d.ts +60 -0
  273. package/dist/esm/notes/spent.js +96 -0
  274. package/dist/esm/perps/constants.d.ts +16 -0
  275. package/dist/esm/perps/constants.js +48 -0
  276. package/dist/esm/perps/index.d.ts +5 -0
  277. package/dist/esm/perps/index.js +5 -0
  278. package/dist/esm/perps/keys.d.ts +16 -0
  279. package/dist/esm/perps/keys.js +35 -0
  280. package/dist/esm/perps/pdas.d.ts +29 -0
  281. package/dist/esm/perps/pdas.js +47 -0
  282. package/dist/esm/perps/relayer.d.ts +9 -0
  283. package/dist/esm/perps/relayer.js +25 -0
  284. package/dist/esm/perps/types.d.ts +126 -0
  285. package/dist/esm/perps/types.js +1 -0
  286. package/dist/esm/positions/index.d.ts +4 -0
  287. package/dist/esm/positions/index.js +4 -0
  288. package/dist/esm/positions/keys.d.ts +29 -0
  289. package/dist/esm/positions/keys.js +65 -0
  290. package/dist/esm/positions/pdas.d.ts +15 -0
  291. package/dist/esm/positions/pdas.js +44 -0
  292. package/dist/esm/positions/relayer.d.ts +4 -0
  293. package/dist/esm/positions/relayer.js +10 -0
  294. package/dist/esm/positions/types.d.ts +97 -0
  295. package/dist/esm/positions/types.js +1 -0
  296. package/dist/esm/predictions/client.d.ts +41 -0
  297. package/dist/esm/predictions/client.js +141 -0
  298. package/dist/esm/predictions/index.d.ts +5 -0
  299. package/dist/esm/predictions/index.js +5 -0
  300. package/dist/esm/predictions/keys.d.ts +14 -0
  301. package/dist/esm/predictions/keys.js +33 -0
  302. package/dist/esm/predictions/pdas.d.ts +6 -0
  303. package/dist/esm/predictions/pdas.js +10 -0
  304. package/dist/esm/predictions/relayer.d.ts +3 -0
  305. package/dist/esm/predictions/relayer.js +7 -0
  306. package/dist/esm/predictions/types.d.ts +178 -0
  307. package/dist/esm/predictions/types.js +1 -0
  308. package/dist/esm/program.d.ts +2 -0
  309. package/dist/esm/program.js +4 -3
  310. package/dist/esm/proof.d.ts +1 -183
  311. package/dist/esm/proof.js +2 -281
  312. package/dist/esm/proofs/encoding.d.ts +17 -0
  313. package/dist/esm/proofs/encoding.js +68 -0
  314. package/dist/esm/proofs/formatting.d.ts +6 -0
  315. package/dist/esm/proofs/formatting.js +31 -0
  316. package/dist/esm/proofs/index.d.ts +5 -0
  317. package/dist/esm/proofs/index.js +5 -0
  318. package/dist/esm/proofs/swap.d.ts +87 -0
  319. package/dist/esm/proofs/swap.js +138 -0
  320. package/dist/esm/proofs/transaction.d.ts +28 -0
  321. package/dist/esm/proofs/transaction.js +105 -0
  322. package/dist/esm/proofs/types.d.ts +70 -0
  323. package/dist/esm/proofs/types.js +1 -0
  324. package/dist/esm/prover.d.ts +30 -4
  325. package/dist/esm/prover.js +115 -15
  326. package/dist/esm/relayer/api.d.ts +31 -0
  327. package/dist/esm/relayer/api.js +55 -0
  328. package/dist/esm/relayer/client.d.ts +73 -0
  329. package/dist/esm/relayer/client.js +199 -0
  330. package/dist/esm/relayer/crypto.d.ts +5 -0
  331. package/dist/esm/relayer/crypto.js +20 -0
  332. package/dist/esm/relayer/encoding.d.ts +2 -0
  333. package/dist/esm/relayer/encoding.js +19 -0
  334. package/dist/esm/relayer/errors.d.ts +7 -0
  335. package/dist/esm/relayer/errors.js +13 -0
  336. package/dist/esm/relayer/index.d.ts +6 -0
  337. package/dist/esm/relayer/index.js +3 -0
  338. package/dist/esm/relayer/internal-config.d.ts +36 -0
  339. package/dist/esm/relayer/internal-config.js +6 -0
  340. package/dist/esm/relayer/internal.d.ts +6 -0
  341. package/dist/esm/relayer/internal.js +10 -0
  342. package/dist/esm/relayer/transport.d.ts +19 -0
  343. package/dist/esm/relayer/transport.js +64 -0
  344. package/dist/esm/relayer/types.d.ts +275 -0
  345. package/dist/esm/relayer/types.js +4 -0
  346. package/dist/esm/relayer.d.ts +1 -318
  347. package/dist/esm/relayer.js +2 -249
  348. package/dist/esm/shield/alt.js +1 -1
  349. package/dist/esm/shield/errors.js +1 -1
  350. package/dist/esm/shield/finalize.js +1 -1
  351. package/dist/esm/shield/ix.d.ts +1 -1
  352. package/dist/esm/shield/owner.js +3 -5
  353. package/dist/esm/shield/ports.js +1 -1
  354. package/dist/esm/shield/preflight.js +1 -1
  355. package/dist/esm/shield/shield.js +4 -3
  356. package/dist/esm/shield/types.d.ts +1 -1
  357. package/dist/esm/transactions/deposit.d.ts +94 -0
  358. package/dist/esm/transactions/deposit.js +198 -0
  359. package/dist/esm/transactions/index.d.ts +7 -0
  360. package/dist/esm/transactions/index.js +7 -0
  361. package/dist/esm/transactions/swap.d.ts +71 -0
  362. package/dist/esm/transactions/swap.js +144 -0
  363. package/dist/esm/transactions/transact.d.ts +34 -0
  364. package/dist/esm/transactions/transact.js +110 -0
  365. package/dist/esm/transactions/transfer.d.ts +51 -0
  366. package/dist/esm/transactions/transfer.js +103 -0
  367. package/dist/esm/transactions/withdraw.d.ts +52 -0
  368. package/dist/esm/transactions/withdraw.js +101 -0
  369. package/dist/esm/utxo.d.ts +1 -235
  370. package/dist/esm/utxo.js +2 -382
  371. package/identity.d.ts +2 -0
  372. package/identity.js +3 -0
  373. package/idl.d.ts +2 -0
  374. package/idl.js +3 -0
  375. package/notes.d.ts +2 -0
  376. package/notes.js +3 -0
  377. package/package.json +131 -11
  378. package/perps.d.ts +2 -0
  379. package/perps.js +3 -0
  380. package/poseidon.d.ts +2 -2
  381. package/poseidon.js +2 -3
  382. package/positions.d.ts +2 -0
  383. package/positions.js +3 -0
  384. package/predictions.d.ts +2 -0
  385. package/predictions.js +3 -0
  386. package/proof.d.ts +2 -2
  387. package/proof.js +2 -3
  388. package/prover.d.ts +2 -2
  389. package/prover.js +2 -3
  390. package/relayer.d.ts +2 -0
  391. package/relayer.js +3 -0
  392. package/shield.d.ts +2 -2
  393. package/shield.js +2 -3
  394. package/transactions.d.ts +2 -0
  395. package/transactions.js +3 -0
  396. package/SHIELD_INTEGRATION.md +0 -143
  397. package/dist/src/client.d.ts +0 -407
  398. package/dist/src/client.js +0 -951
  399. package/dist/src/compactNote.d.ts +0 -107
  400. package/dist/src/compactNote.js +0 -167
  401. package/dist/src/config.d.ts +0 -82
  402. package/dist/src/config.js +0 -57
  403. package/dist/src/events.d.ts +0 -77
  404. package/dist/src/events.js +0 -167
  405. package/dist/src/idl/privacy_pool.js +0 -15218
  406. package/dist/src/index.d.ts +0 -16
  407. package/dist/src/index.js +0 -67
  408. package/dist/src/merkle.d.ts +0 -77
  409. package/dist/src/merkle.js +0 -156
  410. package/dist/src/poseidon.d.ts +0 -29
  411. package/dist/src/poseidon.js +0 -100
  412. package/dist/src/program.d.ts +0 -37
  413. package/dist/src/program.js +0 -61
  414. package/dist/src/proof.d.ts +0 -183
  415. package/dist/src/proof.js +0 -292
  416. package/dist/src/prover.d.ts +0 -54
  417. package/dist/src/prover.js +0 -112
  418. package/dist/src/random.d.ts +0 -16
  419. package/dist/src/random.js +0 -28
  420. package/dist/src/relayer.js +0 -257
  421. package/dist/src/retry.d.ts +0 -32
  422. package/dist/src/retry.js +0 -75
  423. package/dist/src/shield/alt.d.ts +0 -87
  424. package/dist/src/shield/alt.js +0 -194
  425. package/dist/src/shield/computeBudget.d.ts +0 -61
  426. package/dist/src/shield/computeBudget.js +0 -64
  427. package/dist/src/shield/errors.d.ts +0 -58
  428. package/dist/src/shield/errors.js +0 -121
  429. package/dist/src/shield/finalize.d.ts +0 -45
  430. package/dist/src/shield/finalize.js +0 -119
  431. package/dist/src/shield/index.d.ts +0 -35
  432. package/dist/src/shield/index.js +0 -68
  433. package/dist/src/shield/ix.d.ts +0 -54
  434. package/dist/src/shield/ix.js +0 -119
  435. package/dist/src/shield/owner.d.ts +0 -36
  436. package/dist/src/shield/owner.js +0 -126
  437. package/dist/src/shield/ports.d.ts +0 -43
  438. package/dist/src/shield/ports.js +0 -153
  439. package/dist/src/shield/preflight.d.ts +0 -30
  440. package/dist/src/shield/preflight.js +0 -154
  441. package/dist/src/shield/shield.d.ts +0 -68
  442. package/dist/src/shield/shield.js +0 -499
  443. package/dist/src/shield/types.d.ts +0 -202
  444. package/dist/src/utxo.d.ts +0 -235
  445. package/dist/src/utxo.js +0 -407
  446. package/dist/tests/compact-note.test.d.ts +0 -1
  447. package/dist/tests/compact-note.test.js +0 -173
  448. package/dist/tests/config.test.d.ts +0 -1
  449. package/dist/tests/config.test.js +0 -102
  450. package/dist/tests/edge-cases.test.d.ts +0 -1
  451. package/dist/tests/edge-cases.test.js +0 -220
  452. package/dist/tests/encryption.test.d.ts +0 -1
  453. package/dist/tests/encryption.test.js +0 -215
  454. package/dist/tests/events.test.d.ts +0 -1
  455. package/dist/tests/events.test.js +0 -78
  456. package/dist/tests/multi-tree.test.d.ts +0 -1
  457. package/dist/tests/multi-tree.test.js +0 -405
  458. package/dist/tests/pda.test.d.ts +0 -1
  459. package/dist/tests/pda.test.js +0 -229
  460. package/dist/tests/poseidon-builder-parity.test.d.ts +0 -1
  461. package/dist/tests/poseidon-builder-parity.test.js +0 -72
  462. package/dist/tests/poseidon.test.d.ts +0 -1
  463. package/dist/tests/poseidon.test.js +0 -142
  464. package/dist/tests/proof.test.d.ts +0 -1
  465. package/dist/tests/proof.test.js +0 -296
  466. package/dist/tests/relayer.test.d.ts +0 -1
  467. package/dist/tests/relayer.test.js +0 -271
  468. package/dist/tests/sdk.integration.test.d.ts +0 -1
  469. package/dist/tests/sdk.integration.test.js +0 -330
  470. package/dist/tests/shield-owner.test.d.ts +0 -1
  471. package/dist/tests/shield-owner.test.js +0 -89
  472. package/dist/tests/shield-preflight.test.d.ts +0 -1
  473. package/dist/tests/shield-preflight.test.js +0 -87
  474. package/dist/tests/shield-realproof.test.d.ts +0 -1
  475. package/dist/tests/shield-realproof.test.js +0 -272
  476. package/dist/tests/shield.test.d.ts +0 -1
  477. package/dist/tests/shield.test.js +0 -403
  478. package/dist/tests/utxo.test.d.ts +0 -1
  479. package/dist/tests/utxo.test.js +0 -140
  480. /package/dist/{src/shield → cjs/events}/types.js +0 -0
  481. /package/dist/{src/idl/privacy_pool.d.ts → cjs/idl/privacy_pool_legacy.d.ts} +0 -0
@@ -0,0 +1,29 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ import type { JperpSide } from "./types.js";
3
+ export declare const JPERP_SIDE_LONG = 1;
4
+ export declare const JPERP_SIDE_SHORT = 2;
5
+ export declare const JPERP_CHANGE_INCREASE = 1;
6
+ export declare const JPERP_CHANGE_DECREASE = 2;
7
+ export declare function deriveJupiterPerpetualsPda(): PublicKey;
8
+ export declare function deriveJperpExecutorPda(params: {
9
+ programId: PublicKey;
10
+ mint: PublicKey;
11
+ claimant: PublicKey;
12
+ withdrawalId: Uint8Array;
13
+ }): PublicKey;
14
+ export declare function deriveJperpSlotPda(params: {
15
+ programId: PublicKey;
16
+ mint: PublicKey;
17
+ withdrawalId: Uint8Array;
18
+ }): PublicKey;
19
+ export declare function deriveJupiterPerpPositionPda(params: {
20
+ executor: PublicKey;
21
+ custody: PublicKey;
22
+ collateralCustody: PublicKey;
23
+ side: JperpSide;
24
+ }): PublicKey;
25
+ export declare function deriveJupiterPerpRequestPda(params: {
26
+ position: PublicKey;
27
+ counter: bigint;
28
+ change: "increase" | "decrease";
29
+ }): PublicKey;
@@ -0,0 +1,47 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ import { assertBytes, uint64Le, utf8, } from "../identity/encoding.js";
3
+ import { JUPITER_PERPS_POOL, JUPITER_PERPS_PROGRAM_ID, } from "./constants.js";
4
+ export const JPERP_SIDE_LONG = 1;
5
+ export const JPERP_SIDE_SHORT = 2;
6
+ export const JPERP_CHANGE_INCREASE = 1;
7
+ export const JPERP_CHANGE_DECREASE = 2;
8
+ export function deriveJupiterPerpetualsPda() {
9
+ return PublicKey.findProgramAddressSync([utf8("perpetuals")], new PublicKey(JUPITER_PERPS_PROGRAM_ID))[0];
10
+ }
11
+ export function deriveJperpExecutorPda(params) {
12
+ assertBytes(params.withdrawalId, 32, "jPerp withdrawal ID");
13
+ return PublicKey.findProgramAddressSync([
14
+ utf8("jperp_executor"),
15
+ params.mint.toBytes(),
16
+ params.claimant.toBytes(),
17
+ params.withdrawalId,
18
+ ], params.programId)[0];
19
+ }
20
+ export function deriveJperpSlotPda(params) {
21
+ assertBytes(params.withdrawalId, 32, "jPerp withdrawal ID");
22
+ return PublicKey.findProgramAddressSync([utf8("jperp_slot_v1"), params.mint.toBytes(), params.withdrawalId], params.programId)[0];
23
+ }
24
+ export function deriveJupiterPerpPositionPda(params) {
25
+ return PublicKey.findProgramAddressSync([
26
+ utf8("position"),
27
+ params.executor.toBytes(),
28
+ new PublicKey(JUPITER_PERPS_POOL).toBytes(),
29
+ params.custody.toBytes(),
30
+ params.collateralCustody.toBytes(),
31
+ Uint8Array.from([
32
+ params.side === "long" ? JPERP_SIDE_LONG : JPERP_SIDE_SHORT,
33
+ ]),
34
+ ], new PublicKey(JUPITER_PERPS_PROGRAM_ID))[0];
35
+ }
36
+ export function deriveJupiterPerpRequestPda(params) {
37
+ return PublicKey.findProgramAddressSync([
38
+ utf8("position_request"),
39
+ params.position.toBytes(),
40
+ uint64Le(params.counter, "jPerp request counter"),
41
+ Uint8Array.from([
42
+ params.change === "increase"
43
+ ? JPERP_CHANGE_INCREASE
44
+ : JPERP_CHANGE_DECREASE,
45
+ ]),
46
+ ], new PublicKey(JUPITER_PERPS_PROGRAM_ID))[0];
47
+ }
@@ -0,0 +1,9 @@
1
+ import type { JperpCancelTriggerRequest, JperpCancelTriggerResponse, JperpCloseRequest, JperpDecreaseResponse, JperpOpenRequest, JperpOpenResponse, JperpRecoverNativeRequest, JperpRecoverNativeResponse, JperpRecoverSeedRequest, JperpRecoverSeedResponse, JperpReissueRequest, JperpReissueResponse, JperpSetTpslRequest, JperpUpdateTpslRequest } from "./types.js";
2
+ export declare function submitJperpOpen(data: JperpOpenRequest): Promise<JperpOpenResponse>;
3
+ export declare function submitJperpClose(data: JperpCloseRequest): Promise<JperpDecreaseResponse>;
4
+ export declare function submitJperpSetTpsl(data: JperpSetTpslRequest): Promise<JperpDecreaseResponse>;
5
+ export declare function submitJperpUpdateTpsl(data: JperpUpdateTpslRequest): Promise<JperpDecreaseResponse>;
6
+ export declare function submitJperpCancelTrigger(data: JperpCancelTriggerRequest): Promise<JperpCancelTriggerResponse>;
7
+ export declare function submitJperpReissue(data: JperpReissueRequest): Promise<JperpReissueResponse>;
8
+ export declare function submitJperpRecoverSeed(data: JperpRecoverSeedRequest): Promise<JperpRecoverSeedResponse>;
9
+ export declare function submitJperpRecoverNative(data: JperpRecoverNativeRequest): Promise<JperpRecoverNativeResponse>;
@@ -0,0 +1,25 @@
1
+ import { getInternalRelayerClient } from "../relayer/internal.js";
2
+ export function submitJperpOpen(data) {
3
+ return getInternalRelayerClient().submitJperpOpen(data);
4
+ }
5
+ export function submitJperpClose(data) {
6
+ return getInternalRelayerClient().submitJperpClose(data);
7
+ }
8
+ export function submitJperpSetTpsl(data) {
9
+ return getInternalRelayerClient().submitJperpSetTpsl(data);
10
+ }
11
+ export function submitJperpUpdateTpsl(data) {
12
+ return getInternalRelayerClient().submitJperpUpdateTpsl(data);
13
+ }
14
+ export function submitJperpCancelTrigger(data) {
15
+ return getInternalRelayerClient().submitJperpCancelTrigger(data);
16
+ }
17
+ export function submitJperpReissue(data) {
18
+ return getInternalRelayerClient().submitJperpReissue(data);
19
+ }
20
+ export function submitJperpRecoverSeed(data) {
21
+ return getInternalRelayerClient().submitJperpRecoverSeed(data);
22
+ }
23
+ export function submitJperpRecoverNative(data) {
24
+ return getInternalRelayerClient().submitJperpRecoverNative(data);
25
+ }
@@ -0,0 +1,126 @@
1
+ import type { TransactNote } from "../relayer/types.js";
2
+ export type JperpMarket = "SOL" | "ETH" | "BTC";
3
+ export type JperpSide = "long" | "short";
4
+ /** Jupiter market accounts forwarded to the relayer's Perps CPI builder. */
5
+ export interface JperpMarketPayload {
6
+ custody: string;
7
+ collateralCustody: string;
8
+ /** Veilo pool mint used for notes and the ZK proof. */
9
+ inputMint: string;
10
+ /** Jupiter SPL collateral mint; WSOL when inputMint is native SOL. */
11
+ jupiterInputMint?: string;
12
+ /** Optional; the relayer resolves the known market oracle when omitted. */
13
+ dovesOracle?: string;
14
+ }
15
+ export interface JperpOpenRequest extends JperpMarketPayload {
16
+ notes: TransactNote[];
17
+ depositAmount: string;
18
+ /** 32-byte withdrawal ID, hex. */
19
+ withdrawalId: string;
20
+ claimantPublicKey: string;
21
+ userPublicKey: string;
22
+ /** Position size in Jupiter's 1e6 USD units. */
23
+ sizeUsdDelta: string;
24
+ collateralTokenDelta: string;
25
+ side: JperpSide;
26
+ priceSlippage?: string;
27
+ counter: string;
28
+ }
29
+ export interface JperpOpenResponse {
30
+ success: boolean;
31
+ message: string;
32
+ data?: {
33
+ txSignature: string;
34
+ executor: string;
35
+ position: string;
36
+ positionRequest: string;
37
+ changeAmount: string;
38
+ };
39
+ }
40
+ export interface JperpDecreaseBase extends JperpMarketPayload {
41
+ withdrawalId: string;
42
+ claimantSecretKey: string;
43
+ userPublicKey: string;
44
+ side: JperpSide;
45
+ counter: string;
46
+ }
47
+ export interface JperpCloseRequest extends JperpDecreaseBase {
48
+ collateralUsdDelta?: string;
49
+ sizeUsdDelta?: string;
50
+ entirePosition?: boolean;
51
+ priceSlippage?: string;
52
+ }
53
+ export interface JperpSetTpslRequest extends JperpDecreaseBase {
54
+ collateralUsdDelta?: string;
55
+ sizeUsdDelta?: string;
56
+ triggerPrice: string;
57
+ triggerAboveThreshold: boolean;
58
+ entirePosition?: boolean;
59
+ }
60
+ export interface JperpUpdateTpslRequest extends JperpDecreaseBase {
61
+ sizeUsdDelta?: string;
62
+ triggerPrice: string;
63
+ }
64
+ export interface JperpDecreaseResponse {
65
+ success: boolean;
66
+ message: string;
67
+ data?: {
68
+ txSignature: string;
69
+ positionRequest: string;
70
+ };
71
+ }
72
+ export interface JperpReissueRequest {
73
+ withdrawalId: string;
74
+ claimantSecretKey: string;
75
+ reissueAmount: string;
76
+ veiloPublicKey: string;
77
+ userPublicKey: string;
78
+ poolMint?: string;
79
+ }
80
+ export interface JperpReissueResponse {
81
+ success: boolean;
82
+ message: string;
83
+ data?: {
84
+ txSignature: string;
85
+ reissueAmount: string;
86
+ };
87
+ }
88
+ export interface JperpRecoverSeedRequest {
89
+ withdrawalId: string;
90
+ claimantPublicKey: string;
91
+ poolMint: string;
92
+ userPublicKey: string;
93
+ }
94
+ export interface JperpRecoverSeedResponse {
95
+ success: boolean;
96
+ message: string;
97
+ data?: {
98
+ txSignature?: string;
99
+ executorWsolAta: string;
100
+ recoverable: string;
101
+ };
102
+ }
103
+ export type JperpCancelTriggerRequest = JperpDecreaseBase;
104
+ export interface JperpCancelTriggerResponse {
105
+ success: boolean;
106
+ message: string;
107
+ data?: {
108
+ txSignature: string;
109
+ triggerRequest: string;
110
+ };
111
+ }
112
+ export interface JperpRecoverNativeRequest {
113
+ withdrawalId: string;
114
+ claimantSecretKey: string;
115
+ veiloPublicKey: string;
116
+ userPublicKey: string;
117
+ poolMint?: string;
118
+ }
119
+ export interface JperpRecoverNativeResponse {
120
+ success: boolean;
121
+ message: string;
122
+ data?: {
123
+ txSignature: string;
124
+ recoverAmount: string;
125
+ };
126
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export * from "./types.js";
2
+ export * from "./keys.js";
3
+ export * from "./pdas.js";
4
+ export * from "./relayer.js";
@@ -0,0 +1,4 @@
1
+ export * from "./types.js";
2
+ export * from "./keys.js";
3
+ export * from "./pdas.js";
4
+ export * from "./relayer.js";
@@ -0,0 +1,29 @@
1
+ import { Keypair, PublicKey } from "@solana/web3.js";
2
+ import type { NewPositionKeys, PositionNotePayload } from "./types.js";
3
+ export interface PositionKeyMaterial {
4
+ positionSecretN: bigint;
5
+ positionBlinding: bigint;
6
+ positionPubkey: bigint;
7
+ positionPdaKeyBytes: Uint8Array;
8
+ }
9
+ export interface PositionKeyBundle {
10
+ material: PositionKeyMaterial;
11
+ claimant: Keypair;
12
+ position: NewPositionKeys;
13
+ }
14
+ /** Derive the exact Poseidon key material used by private position notes. */
15
+ export declare function derivePositionKeys(spendingKey: Uint8Array, index: number): PositionKeyMaterial;
16
+ /** Deterministic claimant required to close or merge a position. */
17
+ export declare function derivePositionClaimantKeypair(spendingKey: Uint8Array, positionPdaKeyBytes: Uint8Array): Keypair;
18
+ /** Derive both local secret material and the public request payload. */
19
+ export declare function derivePositionKeyBundle(spendingKey: Uint8Array, index: number): PositionKeyBundle;
20
+ /** Serialize a returned open/merge position into the relayer's close shape. */
21
+ export declare function createPositionNotePayload(params: {
22
+ amount: bigint | string;
23
+ commitment: Uint8Array | string;
24
+ leafIndex: number;
25
+ mint: PublicKey | string;
26
+ isToken2022: boolean;
27
+ treeId?: number;
28
+ keys: PositionKeyMaterial;
29
+ }): PositionNotePayload;
@@ -0,0 +1,65 @@
1
+ import { sha256 } from "@noble/hashes/sha256";
2
+ import { Keypair, PublicKey } from "@solana/web3.js";
3
+ import { BN254_FR_MODULUS, bigIntToBytesBE, bytesToBigIntBE, poseidon1, poseidon2, } from "../poseidon.js";
4
+ import { assertBytes, bytesToHex, concatBytes, hexToBytes, utf8, } from "../identity/encoding.js";
5
+ /** Derive the exact Poseidon key material used by private position notes. */
6
+ export function derivePositionKeys(spendingKey, index) {
7
+ assertBytes(spendingKey, 32, "spending key");
8
+ if (!Number.isSafeInteger(index) || index < 0) {
9
+ throw new RangeError("position index must be a non-negative safe integer");
10
+ }
11
+ const rootSecret = bytesToBigIntBE(sha256(concatBytes(spendingKey, utf8("veilo_v1")))) % BN254_FR_MODULUS;
12
+ const positionSecretN = poseidon2(rootSecret, BigInt(index));
13
+ const positionBlinding = poseidon2(positionSecretN, 1n);
14
+ const positionPubkey = poseidon1(positionSecretN);
15
+ return {
16
+ positionSecretN,
17
+ positionBlinding,
18
+ positionPubkey,
19
+ positionPdaKeyBytes: bigIntToBytesBE(positionPubkey),
20
+ };
21
+ }
22
+ /** Deterministic claimant required to close or merge a position. */
23
+ export function derivePositionClaimantKeypair(spendingKey, positionPdaKeyBytes) {
24
+ assertBytes(spendingKey, 32, "spending key");
25
+ assertBytes(positionPdaKeyBytes, 32, "position PDA key");
26
+ return Keypair.fromSeed(sha256(concatBytes(utf8("position_claimant"), spendingKey, positionPdaKeyBytes)));
27
+ }
28
+ /** Derive both local secret material and the public request payload. */
29
+ export function derivePositionKeyBundle(spendingKey, index) {
30
+ const material = derivePositionKeys(spendingKey, index);
31
+ const claimant = derivePositionClaimantKeypair(spendingKey, material.positionPdaKeyBytes);
32
+ return {
33
+ material,
34
+ claimant,
35
+ position: {
36
+ pubkey: material.positionPubkey.toString(),
37
+ blinding: bytesToHex(bigIntToBytesBE(material.positionBlinding)),
38
+ pdaKey: bytesToHex(material.positionPdaKeyBytes),
39
+ claimantPublicKey: claimant.publicKey.toBase58(),
40
+ },
41
+ };
42
+ }
43
+ /** Serialize a returned open/merge position into the relayer's close shape. */
44
+ export function createPositionNotePayload(params) {
45
+ if (!Number.isSafeInteger(params.leafIndex) || params.leafIndex < 0) {
46
+ throw new RangeError("leafIndex must be a non-negative safe integer");
47
+ }
48
+ const commitment = typeof params.commitment === "string"
49
+ ? hexToBytes(params.commitment, 32, "position commitment")
50
+ : params.commitment;
51
+ assertBytes(commitment, 32, "position commitment");
52
+ const mint = params.mint instanceof PublicKey ? params.mint : new PublicKey(params.mint);
53
+ return {
54
+ amount: params.amount.toString(),
55
+ commitment: bytesToHex(commitment),
56
+ privateKey: bytesToHex(bigIntToBytesBE(params.keys.positionSecretN)),
57
+ publicKey: params.keys.positionPubkey.toString(),
58
+ blinding: bytesToHex(bigIntToBytesBE(params.keys.positionBlinding)),
59
+ leafIndex: params.leafIndex,
60
+ positionPdaKey: bytesToHex(params.keys.positionPdaKeyBytes),
61
+ mint: mint.toBase58(),
62
+ isToken2022: params.isToken2022,
63
+ treeId: params.treeId ?? 0,
64
+ };
65
+ }
@@ -0,0 +1,15 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ export declare function derivePositionConfigPda(programId: PublicKey): PublicKey;
3
+ export declare function derivePositionTreePda(programId: PublicKey, treeId?: number): PublicKey;
4
+ export declare function derivePositionVaultRecordPda(programId: PublicKey, mint: PublicKey): PublicKey;
5
+ export declare function derivePositionVaultPda(programId: PublicKey, mint: PublicKey): PublicKey;
6
+ export declare function derivePositionPda(programId: PublicKey, positionPdaKey: Uint8Array): PublicKey;
7
+ export declare function derivePositionNullifierMarkerPda(programId: PublicKey, mint: PublicKey, nullifier: Uint8Array): PublicKey;
8
+ export declare function derivePositionExecutorPda(params: {
9
+ programId: PublicKey;
10
+ sourceMint: PublicKey;
11
+ destMint: PublicKey;
12
+ inputNullifier0: Uint8Array;
13
+ relayer: PublicKey;
14
+ }): PublicKey;
15
+ export declare function derivePositionSwapLegsBufferPda(programId: PublicKey, nullifier0: Uint8Array): PublicKey;
@@ -0,0 +1,44 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ import { assertBytes, utf8 } from "../identity/encoding.js";
3
+ function treeIdLe(treeId) {
4
+ if (!Number.isInteger(treeId) || treeId < 0 || treeId > 0xffff) {
5
+ throw new RangeError("position tree ID must be an unsigned 16-bit integer");
6
+ }
7
+ const bytes = new Uint8Array(2);
8
+ new DataView(bytes.buffer).setUint16(0, treeId, true);
9
+ return bytes;
10
+ }
11
+ export function derivePositionConfigPda(programId) {
12
+ return PublicKey.findProgramAddressSync([utf8("position_config_v1")], programId)[0];
13
+ }
14
+ export function derivePositionTreePda(programId, treeId = 0) {
15
+ return PublicKey.findProgramAddressSync([utf8("position_tree_v1"), treeIdLe(treeId)], programId)[0];
16
+ }
17
+ export function derivePositionVaultRecordPda(programId, mint) {
18
+ return PublicKey.findProgramAddressSync([utf8("position_vault_v1"), mint.toBytes()], programId)[0];
19
+ }
20
+ export function derivePositionVaultPda(programId, mint) {
21
+ return PublicKey.findProgramAddressSync([utf8("position_vault_token_v1"), mint.toBytes()], programId)[0];
22
+ }
23
+ export function derivePositionPda(programId, positionPdaKey) {
24
+ assertBytes(positionPdaKey, 32, "position PDA key");
25
+ return PublicKey.findProgramAddressSync([utf8("position_pda_v1"), positionPdaKey], programId)[0];
26
+ }
27
+ export function derivePositionNullifierMarkerPda(programId, mint, nullifier) {
28
+ assertBytes(nullifier, 32, "position nullifier");
29
+ return PublicKey.findProgramAddressSync([utf8("position_nullifier_v1"), mint.toBytes(), nullifier], programId)[0];
30
+ }
31
+ export function derivePositionExecutorPda(params) {
32
+ assertBytes(params.inputNullifier0, 32, "input nullifier");
33
+ return PublicKey.findProgramAddressSync([
34
+ utf8("position_executor"),
35
+ params.sourceMint.toBytes(),
36
+ params.destMint.toBytes(),
37
+ params.inputNullifier0,
38
+ params.relayer.toBytes(),
39
+ ], params.programId)[0];
40
+ }
41
+ export function derivePositionSwapLegsBufferPda(programId, nullifier0) {
42
+ assertBytes(nullifier0, 32, "input nullifier");
43
+ return PublicKey.findProgramAddressSync([utf8("swap_legs_v1"), nullifier0], programId)[0];
44
+ }
@@ -0,0 +1,4 @@
1
+ import type { ClosePositionRequest, ClosePositionResponse, MergePositionsRequest, MergePositionsResponse, OpenPositionRequest, OpenPositionResponse } from "./types.js";
2
+ export declare function submitOpenPosition(data: OpenPositionRequest): Promise<OpenPositionResponse>;
3
+ export declare function submitClosePosition(data: ClosePositionRequest): Promise<ClosePositionResponse>;
4
+ export declare function submitMergePositions(data: MergePositionsRequest): Promise<MergePositionsResponse>;
@@ -0,0 +1,10 @@
1
+ import { getInternalRelayerClient } from "../relayer/internal.js";
2
+ export function submitOpenPosition(data) {
3
+ return getInternalRelayerClient().submitOpenPosition(data);
4
+ }
5
+ export function submitClosePosition(data) {
6
+ return getInternalRelayerClient().submitClosePosition(data);
7
+ }
8
+ export function submitMergePositions(data) {
9
+ return getInternalRelayerClient().submitMergePositions(data);
10
+ }
@@ -0,0 +1,97 @@
1
+ import type { TransactNote } from "../relayer/types.js";
2
+ /** Client-derived public material for a new private position note. */
3
+ export interface NewPositionKeys {
4
+ /** Position owner field element, decimal. */
5
+ pubkey: string;
6
+ /** Position blinding, 32-byte hex. */
7
+ blinding: string;
8
+ /** Position PDA key, 32-byte hex. */
9
+ pdaKey: string;
10
+ /** Deterministic claimant public key, base58. */
11
+ claimantPublicKey: string;
12
+ }
13
+ /** Spendable private-position note passed back to the relayer. */
14
+ export interface PositionNotePayload {
15
+ amount: string;
16
+ commitment: string;
17
+ privateKey: string;
18
+ publicKey: string;
19
+ blinding: string;
20
+ leafIndex: number;
21
+ positionPdaKey: string;
22
+ mint: string;
23
+ isToken2022: boolean;
24
+ treeId: number;
25
+ }
26
+ export interface OpenPositionRequest {
27
+ notes: TransactNote[];
28
+ sourceMintAddress: string;
29
+ destMintAddress: string;
30
+ swapAmountRaw: string;
31
+ slippageBps: number;
32
+ userPublicKey: string;
33
+ veiloPublicKey: string;
34
+ position: NewPositionKeys;
35
+ positionTreeId?: number;
36
+ isToken2022?: boolean;
37
+ dexes?: string;
38
+ pumpDirect?: boolean;
39
+ }
40
+ export interface OpenPositionResponse {
41
+ success: boolean;
42
+ message: string;
43
+ data?: {
44
+ txSignature: string;
45
+ positionAmount: string;
46
+ changeAmount: string;
47
+ positionPda: string;
48
+ mint: string;
49
+ positionCommitment: string;
50
+ positionLeafIndex: number;
51
+ positionTreeId: number;
52
+ isToken2022: boolean;
53
+ };
54
+ }
55
+ export interface ClosePositionRequest {
56
+ positionNote: PositionNotePayload;
57
+ destMintAddress: string;
58
+ slippageBps: number;
59
+ userPublicKey: string;
60
+ veiloPublicKey: string;
61
+ /** Base58-encoded deterministic claimant secret key. */
62
+ claimantSecretKey: string;
63
+ dexes?: string;
64
+ staged?: boolean;
65
+ }
66
+ export interface ClosePositionResponse {
67
+ success: boolean;
68
+ message: string;
69
+ data?: {
70
+ txSignature: string;
71
+ outputAmount: string;
72
+ feeRaw: string;
73
+ destMint: string;
74
+ };
75
+ }
76
+ export interface MergePositionsRequest {
77
+ positionNotes: [PositionNotePayload, PositionNotePayload];
78
+ mint: string;
79
+ userPublicKey: string;
80
+ veiloPublicKey: string;
81
+ newPosition: NewPositionKeys;
82
+ /** Base58 claimant secret shared by both input PositionPDAs. */
83
+ claimantSecretKey: string;
84
+ }
85
+ export interface MergePositionsResponse {
86
+ success: boolean;
87
+ message: string;
88
+ data?: {
89
+ txSignature: string;
90
+ mergedAmount: string;
91
+ newPositionPda: string;
92
+ mergedCommitment: string;
93
+ mergedLeafIndex: number;
94
+ positionTreeId: number;
95
+ mint: string;
96
+ };
97
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,41 @@
1
+ import { VersionedTransaction } from "@solana/web3.js";
2
+ import type { PlacePredictionOrderRequest, PlacePredictionOrderResponse, PredictionEvent, PredictionHistoryEvent, PredictionOrderStatusResponse, PredictionPosition, PredictionPriceInterval, PredictionPricePoint, PredictionTransactionResponse } from "./types.js";
3
+ export declare const JUPITER_PREDICTION_API_URL = "https://api.jup.ag/prediction/v1";
4
+ export declare const POLYMARKET_CLOB_API_URL = "https://clob.polymarket.com";
5
+ export interface JupiterPredictionClientConfig {
6
+ apiKey: string;
7
+ baseUrl?: string;
8
+ polymarketBaseUrl?: string;
9
+ fetch?: typeof fetch;
10
+ }
11
+ export declare class JupiterPredictionApiError extends Error {
12
+ readonly status: number;
13
+ readonly code?: string;
14
+ readonly responseBody: unknown;
15
+ constructor(status: number, responseBody: unknown);
16
+ }
17
+ /** Typed client for the unsigned Jupiter Prediction transaction API. */
18
+ export declare class JupiterPredictionClient {
19
+ private readonly apiKey;
20
+ private readonly baseUrl;
21
+ private readonly polymarketBaseUrl;
22
+ private readonly fetcher;
23
+ constructor(config: JupiterPredictionClientConfig);
24
+ listEvents(params?: {
25
+ category?: string;
26
+ status?: string;
27
+ }): Promise<PredictionEvent[]>;
28
+ getEvent(eventId: string): Promise<PredictionEvent>;
29
+ listPositions(ownerPubkey: string): Promise<PredictionPosition[]>;
30
+ listHistory(ownerPubkey: string): Promise<PredictionHistoryEvent[]>;
31
+ getPosition(positionPubkey: string): Promise<PredictionPosition>;
32
+ placeOrder(request: PlacePredictionOrderRequest): Promise<PlacePredictionOrderResponse>;
33
+ getOrderStatus(orderPubkey: string): Promise<PredictionOrderStatusResponse>;
34
+ closePosition(positionPubkey: string, ownerPubkey: string): Promise<PredictionTransactionResponse>;
35
+ closeAllPositions(ownerPubkey: string, minSellPriceSlippageBps?: number): Promise<PredictionTransactionResponse>;
36
+ claimPosition(positionPubkey: string, ownerPubkey: string): Promise<PredictionTransactionResponse>;
37
+ getPriceHistory(clobTokenId: string, interval: PredictionPriceInterval): Promise<PredictionPricePoint[]>;
38
+ private request;
39
+ }
40
+ /** Decode an unsigned transaction returned by Jupiter for wallet signing. */
41
+ export declare function deserializePredictionTransaction(response: PredictionTransactionResponse): VersionedTransaction;