@mysten/deepbook-v3 2.6.4 → 2.8.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 (250) hide show
  1. package/CHANGELOG.md +153 -0
  2. package/PREDICT.md +389 -61
  3. package/dist/contracts/account/account.d.mts +23 -23
  4. package/dist/contracts/account/account.d.mts.map +1 -1
  5. package/dist/contracts/account/account_registry.d.mts +13 -13
  6. package/dist/contracts/deepbook/account.d.mts +18 -18
  7. package/dist/contracts/deepbook/balances.d.mts +4 -4
  8. package/dist/contracts/deepbook/deep_price.d.mts +3 -3
  9. package/dist/contracts/deepbook/order.d.mts +12 -12
  10. package/dist/contracts/deepbook_predict/admin.d.mts +4 -4
  11. package/dist/contracts/deepbook_predict/builder_code.d.mts +11 -11
  12. package/dist/contracts/deepbook_predict/builder_code_events.d.mts +10 -10
  13. package/dist/contracts/deepbook_predict/config_events.d.mts +93 -68
  14. package/dist/contracts/deepbook_predict/config_events.d.mts.map +1 -1
  15. package/dist/contracts/deepbook_predict/config_events.mjs +45 -1
  16. package/dist/contracts/deepbook_predict/config_events.mjs.map +1 -1
  17. package/dist/contracts/deepbook_predict/deps/std/type_name.mjs +17 -0
  18. package/dist/contracts/deepbook_predict/deps/std/type_name.mjs.map +1 -0
  19. package/dist/contracts/deepbook_predict/expiry_market.d.mts +652 -235
  20. package/dist/contracts/deepbook_predict/expiry_market.d.mts.map +1 -1
  21. package/dist/contracts/deepbook_predict/expiry_market.mjs +652 -186
  22. package/dist/contracts/deepbook_predict/expiry_market.mjs.map +1 -1
  23. package/dist/contracts/deepbook_predict/lp_book.mjs +1 -1
  24. package/dist/contracts/deepbook_predict/market_lifecycle_cap.d.mts +5 -5
  25. package/dist/contracts/deepbook_predict/market_manager.d.mts +27 -27
  26. package/dist/contracts/deepbook_predict/order_events.d.mts +50 -50
  27. package/dist/contracts/deepbook_predict/order_events.d.mts.map +1 -1
  28. package/dist/contracts/deepbook_predict/order_events.mjs +3 -1
  29. package/dist/contracts/deepbook_predict/order_events.mjs.map +1 -1
  30. package/dist/contracts/deepbook_predict/pause_cap.d.mts +5 -5
  31. package/dist/contracts/deepbook_predict/plp.d.mts +184 -82
  32. package/dist/contracts/deepbook_predict/plp.d.mts.map +1 -1
  33. package/dist/contracts/deepbook_predict/plp.mjs +126 -7
  34. package/dist/contracts/deepbook_predict/plp.mjs.map +1 -1
  35. package/dist/contracts/deepbook_predict/pool_accounting.mjs +1 -1
  36. package/dist/contracts/deepbook_predict/pool_valuation_cap.d.mts +5 -5
  37. package/dist/contracts/deepbook_predict/predict_account.d.mts +14 -14
  38. package/dist/contracts/deepbook_predict/pricing.d.mts +91 -58
  39. package/dist/contracts/deepbook_predict/pricing.d.mts.map +1 -1
  40. package/dist/contracts/deepbook_predict/pricing.mjs +30 -3
  41. package/dist/contracts/deepbook_predict/pricing.mjs.map +1 -1
  42. package/dist/contracts/deepbook_predict/pricing_config.mjs.map +1 -1
  43. package/dist/contracts/deepbook_predict/protocol_config.d.mts +400 -92
  44. package/dist/contracts/deepbook_predict/protocol_config.d.mts.map +1 -1
  45. package/dist/contracts/deepbook_predict/protocol_config.mjs +451 -61
  46. package/dist/contracts/deepbook_predict/protocol_config.mjs.map +1 -1
  47. package/dist/contracts/deepbook_predict/range_codec.d.mts +2 -2
  48. package/dist/contracts/deepbook_predict/registry.d.mts +28 -28
  49. package/dist/contracts/deepbook_predict/strike_exposure.mjs +1 -1
  50. package/dist/contracts/deepbook_predict/strike_payout_tree.mjs +17 -12
  51. package/dist/contracts/deepbook_predict/strike_payout_tree.mjs.map +1 -1
  52. package/dist/contracts/deepbook_predict/vault_events.d.mts +154 -106
  53. package/dist/contracts/deepbook_predict/vault_events.d.mts.map +1 -1
  54. package/dist/contracts/deepbook_predict/vault_events.mjs +57 -1
  55. package/dist/contracts/deepbook_predict/vault_events.mjs.map +1 -1
  56. package/dist/contracts/deepbook_predict_math/config-arguments.d.mts +10 -0
  57. package/dist/contracts/deepbook_predict_math/config-arguments.d.mts.map +1 -0
  58. package/dist/contracts/deepbook_predict_math/lazer_price.d.mts +106 -0
  59. package/dist/contracts/deepbook_predict_math/lazer_price.d.mts.map +1 -0
  60. package/dist/contracts/deepbook_predict_math/lazer_price.mjs +125 -0
  61. package/dist/contracts/deepbook_predict_math/lazer_price.mjs.map +1 -0
  62. package/dist/contracts/deepbook_predict_math/math.d.mts +284 -0
  63. package/dist/contracts/deepbook_predict_math/math.d.mts.map +1 -0
  64. package/dist/contracts/deepbook_predict_math/math.mjs +364 -0
  65. package/dist/contracts/deepbook_predict_math/math.mjs.map +1 -0
  66. package/dist/contracts/deepbook_predict_orders/config-arguments.d.mts +13 -0
  67. package/dist/contracts/deepbook_predict_orders/config-arguments.d.mts.map +1 -0
  68. package/dist/contracts/deepbook_predict_orders/delayed_execution_config.d.mts +215 -0
  69. package/dist/contracts/deepbook_predict_orders/delayed_execution_config.d.mts.map +1 -0
  70. package/dist/contracts/deepbook_predict_orders/delayed_execution_config.mjs +215 -0
  71. package/dist/contracts/deepbook_predict_orders/delayed_execution_config.mjs.map +1 -0
  72. package/dist/contracts/deepbook_predict_orders/deps/deepbook_predict/expiry_market.mjs +87 -0
  73. package/dist/contracts/deepbook_predict_orders/deps/deepbook_predict/expiry_market.mjs.map +1 -0
  74. package/dist/contracts/deepbook_predict_orders/deps/deepbook_predict/pricing.mjs +52 -0
  75. package/dist/contracts/deepbook_predict_orders/deps/deepbook_predict/pricing.mjs.map +1 -0
  76. package/dist/contracts/deepbook_predict_orders/deps/fixed_math/i64.mjs +25 -0
  77. package/dist/contracts/deepbook_predict_orders/deps/fixed_math/i64.mjs.map +1 -0
  78. package/dist/contracts/deepbook_predict_orders/deps/sui/balance.mjs +21 -0
  79. package/dist/contracts/deepbook_predict_orders/deps/sui/balance.mjs.map +1 -0
  80. package/dist/contracts/deepbook_predict_orders/deps/sui/table.mjs +39 -0
  81. package/dist/contracts/deepbook_predict_orders/deps/sui/table.mjs.map +1 -0
  82. package/dist/contracts/deepbook_predict_orders/desk.d.mts +187 -0
  83. package/dist/contracts/deepbook_predict_orders/desk.d.mts.map +1 -0
  84. package/dist/contracts/deepbook_predict_orders/desk.mjs +261 -0
  85. package/dist/contracts/deepbook_predict_orders/desk.mjs.map +1 -0
  86. package/dist/contracts/deepbook_predict_orders/order_queue.d.mts +1042 -0
  87. package/dist/contracts/deepbook_predict_orders/order_queue.d.mts.map +1 -0
  88. package/dist/contracts/deepbook_predict_orders/order_queue.mjs +849 -0
  89. package/dist/contracts/deepbook_predict_orders/order_queue.mjs.map +1 -0
  90. package/dist/contracts/deepbook_predict_orders/queue.d.mts +683 -0
  91. package/dist/contracts/deepbook_predict_orders/queue.d.mts.map +1 -0
  92. package/dist/contracts/deepbook_predict_orders/queue.mjs +912 -0
  93. package/dist/contracts/deepbook_predict_orders/queue.mjs.map +1 -0
  94. package/dist/contracts/deepbook_predict_orders/queue_events.d.mts +195 -0
  95. package/dist/contracts/deepbook_predict_orders/queue_events.d.mts.map +1 -0
  96. package/dist/contracts/deepbook_predict_orders/queue_events.mjs +187 -0
  97. package/dist/contracts/deepbook_predict_orders/queue_events.mjs.map +1 -0
  98. package/dist/contracts/deepbook_sessions/session_config.d.mts +8 -8
  99. package/dist/contracts/deepbook_sessions/sessions.d.mts +163 -28
  100. package/dist/contracts/deepbook_sessions/sessions.d.mts.map +1 -1
  101. package/dist/contracts/deepbook_sessions/sessions.mjs +234 -5
  102. package/dist/contracts/deepbook_sessions/sessions.mjs.map +1 -1
  103. package/dist/deployments/mainnet.mjs +7 -4
  104. package/dist/deployments/mainnet.mjs.map +1 -1
  105. package/dist/deployments/testnet.mjs +7 -4
  106. package/dist/deployments/testnet.mjs.map +1 -1
  107. package/dist/predict/bindings/expiry-market.d.mts +77 -0
  108. package/dist/predict/bindings/expiry-market.d.mts.map +1 -0
  109. package/dist/predict/bindings/expiry-market.mjs +139 -0
  110. package/dist/predict/bindings/expiry-market.mjs.map +1 -0
  111. package/dist/predict/bindings/protocol-config.d.mts +39 -0
  112. package/dist/predict/bindings/protocol-config.d.mts.map +1 -0
  113. package/dist/predict/bindings/protocol-config.mjs +90 -0
  114. package/dist/predict/bindings/protocol-config.mjs.map +1 -0
  115. package/dist/predict/bindings/rename.mjs +9 -0
  116. package/dist/predict/bindings/rename.mjs.map +1 -0
  117. package/dist/predict/client.d.mts +595 -16
  118. package/dist/predict/client.d.mts.map +1 -1
  119. package/dist/predict/client.mjs +986 -10
  120. package/dist/predict/client.mjs.map +1 -1
  121. package/dist/predict/config/generated.d.mts +22 -1
  122. package/dist/predict/config/generated.d.mts.map +1 -1
  123. package/dist/predict/config/generated.mjs +30 -1
  124. package/dist/predict/config/generated.mjs.map +1 -1
  125. package/dist/predict/config/mainnet.mjs +11 -3
  126. package/dist/predict/config/mainnet.mjs.map +1 -1
  127. package/dist/predict/config/testnet.mjs +11 -3
  128. package/dist/predict/config/testnet.mjs.map +1 -1
  129. package/dist/predict/config/types.d.mts +50 -1
  130. package/dist/predict/config/types.d.mts.map +1 -1
  131. package/dist/predict/cost.d.mts +38 -11
  132. package/dist/predict/cost.d.mts.map +1 -1
  133. package/dist/predict/cost.mjs +37 -11
  134. package/dist/predict/cost.mjs.map +1 -1
  135. package/dist/predict/decode.d.mts +251 -1
  136. package/dist/predict/decode.d.mts.map +1 -1
  137. package/dist/predict/decode.mjs +342 -4
  138. package/dist/predict/decode.mjs.map +1 -1
  139. package/dist/predict/errors.d.mts +69 -6
  140. package/dist/predict/errors.d.mts.map +1 -1
  141. package/dist/predict/errors.mjs +277 -4
  142. package/dist/predict/errors.mjs.map +1 -1
  143. package/dist/predict/index.d.mts +21 -10
  144. package/dist/predict/index.mjs +24 -12
  145. package/dist/predict/queue-id.d.mts +13 -0
  146. package/dist/predict/queue-id.d.mts.map +1 -0
  147. package/dist/predict/queue-id.mjs +19 -0
  148. package/dist/predict/queue-id.mjs.map +1 -0
  149. package/dist/predict/queue.d.mts +505 -0
  150. package/dist/predict/queue.d.mts.map +1 -0
  151. package/dist/predict/queue.mjs +774 -0
  152. package/dist/predict/queue.mjs.map +1 -0
  153. package/dist/predict/reads/balances.mjs +1 -1
  154. package/dist/predict/reads/markets.mjs +46 -5
  155. package/dist/predict/reads/markets.mjs.map +1 -1
  156. package/dist/predict/reads/pool.mjs +1 -1
  157. package/dist/predict/reads/pricing.d.mts +1 -1
  158. package/dist/predict/reads/queue.d.mts +105 -0
  159. package/dist/predict/reads/queue.d.mts.map +1 -0
  160. package/dist/predict/reads/queue.mjs +445 -0
  161. package/dist/predict/reads/queue.mjs.map +1 -0
  162. package/dist/predict/ticks.d.mts +9 -1
  163. package/dist/predict/ticks.d.mts.map +1 -1
  164. package/dist/predict/ticks.mjs +18 -1
  165. package/dist/predict/ticks.mjs.map +1 -1
  166. package/dist/predict/tx/authed.mjs +1 -1
  167. package/dist/predict/tx/common.d.mts.map +1 -1
  168. package/dist/predict/tx/common.mjs +12 -1
  169. package/dist/predict/tx/common.mjs.map +1 -1
  170. package/dist/predict/tx/queue.d.mts +220 -0
  171. package/dist/predict/tx/queue.d.mts.map +1 -0
  172. package/dist/predict/tx/queue.mjs +399 -0
  173. package/dist/predict/tx/queue.mjs.map +1 -0
  174. package/dist/predict/tx/trade.d.mts.map +1 -1
  175. package/dist/predict/tx/trade.mjs +61 -43
  176. package/dist/predict/tx/trade.mjs.map +1 -1
  177. package/dist/sessions.d.mts +90 -2
  178. package/dist/sessions.d.mts.map +1 -1
  179. package/dist/sessions.mjs +107 -2
  180. package/dist/sessions.mjs.map +1 -1
  181. package/dist/transactions/balanceManager.d.mts +12 -12
  182. package/dist/transactions/balanceManager.d.mts.map +1 -1
  183. package/dist/transactions/deepbook.d.mts +20 -20
  184. package/dist/transactions/deepbook.d.mts.map +1 -1
  185. package/dist/transactions/deepbookAdmin.d.mts +4 -4
  186. package/dist/transactions/deepbookAdmin.d.mts.map +1 -1
  187. package/dist/transactions/marginAdmin.d.mts +7 -7
  188. package/dist/transactions/marginAdmin.d.mts.map +1 -1
  189. package/dist/transactions/marginLiquidations.d.mts +3 -3
  190. package/dist/transactions/marginMaintainer.d.mts +5 -5
  191. package/dist/transactions/marginMaintainer.d.mts.map +1 -1
  192. package/dist/transactions/marginManager.d.mts +32 -32
  193. package/dist/transactions/marginManager.d.mts.map +1 -1
  194. package/dist/transactions/marginPool.d.mts +18 -18
  195. package/dist/transactions/marginRegistry.d.mts +16 -16
  196. package/dist/transactions/marginTPSL.d.mts +10 -10
  197. package/dist/transactions/marginTPSL.d.mts.map +1 -1
  198. package/dist/transactions/poolProxy.d.mts +8 -8
  199. package/dist/transactions/poolProxy.d.mts.map +1 -1
  200. package/package.json +4 -4
  201. package/src/contracts/deepbook_predict/config_events.ts +39 -0
  202. package/src/contracts/deepbook_predict/deps/std/type_name.ts +24 -0
  203. package/src/contracts/deepbook_predict/expiry_market.ts +960 -169
  204. package/src/contracts/deepbook_predict/order_events.ts +3 -1
  205. package/src/contracts/deepbook_predict/plp.ts +150 -9
  206. package/src/contracts/deepbook_predict/pricing.ts +46 -7
  207. package/src/contracts/deepbook_predict/pricing_config.ts +3 -1
  208. package/src/contracts/deepbook_predict/protocol_config.ts +648 -33
  209. package/src/contracts/deepbook_predict/strike_payout_tree.ts +25 -21
  210. package/src/contracts/deepbook_predict/vault_events.ts +65 -0
  211. package/src/contracts/deepbook_predict_math/config-arguments.ts +6 -0
  212. package/src/contracts/deepbook_predict_math/lazer_price.ts +196 -0
  213. package/src/contracts/deepbook_predict_math/math.ts +553 -0
  214. package/src/contracts/deepbook_predict_orders/config-arguments.ts +11 -0
  215. package/src/contracts/deepbook_predict_orders/delayed_execution_config.ts +430 -0
  216. package/src/contracts/deepbook_predict_orders/deps/deepbook_predict/expiry_market.ts +108 -0
  217. package/src/contracts/deepbook_predict_orders/deps/deepbook_predict/pricing.ts +58 -0
  218. package/src/contracts/deepbook_predict_orders/deps/fixed_math/i64.ts +21 -0
  219. package/src/contracts/deepbook_predict_orders/deps/sui/balance.ts +19 -0
  220. package/src/contracts/deepbook_predict_orders/deps/sui/table.ts +37 -0
  221. package/src/contracts/deepbook_predict_orders/desk.ts +419 -0
  222. package/src/contracts/deepbook_predict_orders/order_flow.ts +19 -0
  223. package/src/contracts/deepbook_predict_orders/order_queue.ts +1670 -0
  224. package/src/contracts/deepbook_predict_orders/queue.ts +1394 -0
  225. package/src/contracts/deepbook_predict_orders/queue_events.ts +189 -0
  226. package/src/contracts/deepbook_sessions/sessions.ts +355 -4
  227. package/src/deployments/mainnet.ts +7 -2
  228. package/src/deployments/testnet.ts +7 -2
  229. package/src/deployments/types.ts +14 -1
  230. package/src/predict/bindings/expiry-market.ts +127 -0
  231. package/src/predict/bindings/protocol-config.ts +59 -0
  232. package/src/predict/bindings/rename.ts +14 -0
  233. package/src/predict/client.ts +2076 -13
  234. package/src/predict/config/generated.ts +50 -0
  235. package/src/predict/config/mainnet.ts +16 -2
  236. package/src/predict/config/testnet.ts +16 -2
  237. package/src/predict/config/types.ts +51 -1
  238. package/src/predict/cost.ts +62 -14
  239. package/src/predict/decode.ts +691 -2
  240. package/src/predict/errors.ts +391 -14
  241. package/src/predict/index.ts +87 -6
  242. package/src/predict/queue-id.ts +22 -0
  243. package/src/predict/queue.ts +1231 -0
  244. package/src/predict/reads/markets.ts +30 -0
  245. package/src/predict/reads/queue.ts +606 -0
  246. package/src/predict/ticks.ts +35 -0
  247. package/src/predict/tx/common.ts +25 -1
  248. package/src/predict/tx/queue.ts +525 -0
  249. package/src/predict/tx/trade.ts +80 -49
  250. package/src/sessions.ts +206 -1
@@ -0,0 +1,10 @@
1
+ //#region src/contracts/deepbook_predict_math/config-arguments.d.ts
2
+ /**************************************************************
3
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
4
+ **************************************************************/
5
+ interface DeepbookPredictMathConfig {
6
+ predictMathPackageId?: string;
7
+ }
8
+ //#endregion
9
+ export { DeepbookPredictMathConfig };
10
+ //# sourceMappingURL=config-arguments.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-arguments.d.mts","names":[],"sources":["../../../src/contracts/deepbook_predict_math/config-arguments.ts"],"mappings":";;AAGA;;UAAiB,yBAAA;EAChB,oBAAA;AAAA"}
@@ -0,0 +1,106 @@
1
+ import { MoveStruct, RawTransactionArgument } from "../utils/index.mjs";
2
+ import * as _mysten_sui_bcs752 from "@mysten/sui/bcs";
3
+ import * as _mysten_sui_transactions350 from "@mysten/sui/transactions";
4
+ import { Transaction, TransactionArgument } from "@mysten/sui/transactions";
5
+
6
+ //#region src/contracts/deepbook_predict_math/lazer_price.d.ts
7
+ declare namespace lazer_price_d_exports {
8
+ export { ChannelArguments, ChannelOptions, EnvelopeUsArguments, EnvelopeUsOptions, FeedIdArguments, FeedIdOptions, FromUpdateArguments, FromUpdateOptions, GenerationUsArguments, GenerationUsOptions, LazerPrice, SpotArguments, SpotOptions, channel, envelopeUs, feedId, fromUpdate, generationUs, spot };
9
+ }
10
+ declare const LazerPrice: MoveStruct<{
11
+ feed_id: _mysten_sui_bcs752.BcsType<number, number, "u32">;
12
+ /**
13
+ * A Lazer channel id: `channel_fixed_rate_50ms!()`, `channel_fixed_rate_200ms!()`,
14
+ * or `1` for real-time.
15
+ */
16
+ channel: _mysten_sui_bcs752.BcsType<number, number, "u8">; /** The update's timestamp, in µs. */
17
+ envelope_us: _mysten_sui_bcs752.BcsType<bigint, string | number | bigint, "u64">; /** The feed's own update time, in µs. Never after the envelope. */
18
+ generation_us: _mysten_sui_bcs752.BcsType<bigint, string | number | bigint, "u64">;
19
+ /**
20
+ * The price normalized to 1e9, rounded down when the source is finer; positive and
21
+ * at most `u64::MAX / 100`.
22
+ */
23
+ spot: _mysten_sui_bcs752.BcsType<bigint, string | number | bigint, "u64">;
24
+ }, "@local-pkg/deepbook_predict_math::lazer_price::LazerPrice">;
25
+ interface FromUpdateArguments {
26
+ update: TransactionArgument;
27
+ feedId: RawTransactionArgument<number>;
28
+ }
29
+ interface FromUpdateOptions {
30
+ package?: string;
31
+ arguments: FromUpdateArguments | [update: TransactionArgument, feedId: RawTransactionArgument<number>];
32
+ config?: {
33
+ predictMathPackageId?: string;
34
+ };
35
+ }
36
+ /**
37
+ * Decode `feed_id` from a verified Lazer update. `none` when the feed's price or
38
+ * update time is empty at this tick, or its price does not normalize to a
39
+ * pricing-safe spot. Aborts `EFeedMissing` when the update does not carry the feed
40
+ * and `EPropertyNotRequested` when the feed lacks the price, exponent, or
41
+ * update-time property, because the caller then passed the wrong update, and
42
+ * `EGenerationAfterEnvelope` when the feed claims an update time after the
43
+ * envelope that carries it.
44
+ *
45
+ * Uses Lazer's v1 `Update`, which Pyth marked deprecated on Mainnet but still
46
+ * serves; a later library upgrade adds a constructor for v2.
47
+ */
48
+ declare function fromUpdate(options: FromUpdateOptions): (tx: Transaction) => _mysten_sui_transactions350.TransactionResult;
49
+ interface FeedIdArguments {
50
+ price: TransactionArgument;
51
+ }
52
+ interface FeedIdOptions {
53
+ package?: string;
54
+ arguments: FeedIdArguments | [price: TransactionArgument];
55
+ config?: {
56
+ predictMathPackageId?: string;
57
+ };
58
+ }
59
+ declare function feedId(options: FeedIdOptions): (tx: Transaction) => _mysten_sui_transactions350.TransactionResult;
60
+ interface ChannelArguments {
61
+ price: TransactionArgument;
62
+ }
63
+ interface ChannelOptions {
64
+ package?: string;
65
+ arguments: ChannelArguments | [price: TransactionArgument];
66
+ config?: {
67
+ predictMathPackageId?: string;
68
+ };
69
+ }
70
+ declare function channel(options: ChannelOptions): (tx: Transaction) => _mysten_sui_transactions350.TransactionResult;
71
+ interface EnvelopeUsArguments {
72
+ price: TransactionArgument;
73
+ }
74
+ interface EnvelopeUsOptions {
75
+ package?: string;
76
+ arguments: EnvelopeUsArguments | [price: TransactionArgument];
77
+ config?: {
78
+ predictMathPackageId?: string;
79
+ };
80
+ }
81
+ declare function envelopeUs(options: EnvelopeUsOptions): (tx: Transaction) => _mysten_sui_transactions350.TransactionResult;
82
+ interface GenerationUsArguments {
83
+ price: TransactionArgument;
84
+ }
85
+ interface GenerationUsOptions {
86
+ package?: string;
87
+ arguments: GenerationUsArguments | [price: TransactionArgument];
88
+ config?: {
89
+ predictMathPackageId?: string;
90
+ };
91
+ }
92
+ declare function generationUs(options: GenerationUsOptions): (tx: Transaction) => _mysten_sui_transactions350.TransactionResult;
93
+ interface SpotArguments {
94
+ price: TransactionArgument;
95
+ }
96
+ interface SpotOptions {
97
+ package?: string;
98
+ arguments: SpotArguments | [price: TransactionArgument];
99
+ config?: {
100
+ predictMathPackageId?: string;
101
+ };
102
+ }
103
+ declare function spot(options: SpotOptions): (tx: Transaction) => _mysten_sui_transactions350.TransactionResult;
104
+ //#endregion
105
+ export { lazer_price_d_exports };
106
+ //# sourceMappingURL=lazer_price.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazer_price.d.mts","names":[],"sources":["../../../src/contracts/deepbook_predict_math/lazer_price.ts"],"mappings":";;;;;;;;;cAwBa,UAAA,EAAU,UAAA;WAmBrB,kBAAA,CAAA,OAAA;;;;;;oFAnBW;;;;;;;;UAoBI,mBAAA;EAChB,MAAA,EAAQ,mBAAA;EACR,MAAA,EAAQ,sBAAA;AAAA;AAAA,UAEQ,iBAAA;EAChB,OAAA;EACA,SAAA,EACC,mBAAA,IAAuB,MAAA,EAAQ,mBAAA,EAAqB,MAAA,EAAQ,sBAAA;EAC7D,MAAA;IACC,oBAAA;EAAA;AAAA;;;;;;AATF;;;;;;;iBAwBgB,UAAA,CAAW,OAAA,EAAS,iBAAA,IAK3B,EAAA,EAAI,WAAA,KAAW,2BAAA,CAAA,iBAAA;AAAA,UAQP,eAAA;EAChB,KAAA,EAAO,mBAAA;AAAA;AAAA,UAES,aAAA;EAChB,OAAA;EACA,SAAA,EAAW,eAAA,IAAmB,KAAA,EAAO,mBAAA;EACrC,MAAA;IACC,oBAAA;EAAA;AAAA;AAAA,iBAGc,MAAA,CAAO,OAAA,EAAS,aAAA,IAKvB,EAAA,EAAI,WAAA,KAAW,2BAAA,CAAA,iBAAA;AAAA,UAQP,gBAAA;EAChB,KAAA,EAAO,mBAAA;AAAA;AAAA,UAES,cAAA;EAChB,OAAA;EACA,SAAA,EAAW,gBAAA,IAAoB,KAAA,EAAO,mBAAA;EACtC,MAAA;IACC,oBAAA;EAAA;AAAA;AAAA,iBAGc,OAAA,CAAQ,OAAA,EAAS,cAAA,IAKxB,EAAA,EAAI,WAAA,KAAW,2BAAA,CAAA,iBAAA;AAAA,UAQP,mBAAA;EAChB,KAAA,EAAO,mBAAA;AAAA;AAAA,UAES,iBAAA;EAChB,OAAA;EACA,SAAA,EAAW,mBAAA,IAAuB,KAAA,EAAO,mBAAA;EACzC,MAAA;IACC,oBAAA;EAAA;AAAA;AAAA,iBAGc,UAAA,CAAW,OAAA,EAAS,iBAAA,IAK3B,EAAA,EAAI,WAAA,KAAW,2BAAA,CAAA,iBAAA;AAAA,UAQP,qBAAA;EAChB,KAAA,EAAO,mBAAA;AAAA;AAAA,UAES,mBAAA;EAChB,OAAA;EACA,SAAA,EAAW,qBAAA,IAAyB,KAAA,EAAO,mBAAA;EAC3C,MAAA;IACC,oBAAA;EAAA;AAAA;AAAA,iBAGc,YAAA,CAAa,OAAA,EAAS,mBAAA,IAK7B,EAAA,EAAI,WAAA,KAAW,2BAAA,CAAA,iBAAA;AAAA,UAQP,aAAA;EAChB,KAAA,EAAO,mBAAA;AAAA;AAAA,UAES,WAAA;EAChB,OAAA;EACA,SAAA,EAAW,aAAA,IAAiB,KAAA,EAAO,mBAAA;EACnC,MAAA;IACC,oBAAA;EAAA;AAAA;AAAA,iBAGc,IAAA,CAAK,OAAA,EAAS,WAAA,IAKrB,EAAA,EAAI,WAAA,KAAW,2BAAA,CAAA,iBAAA"}
@@ -0,0 +1,125 @@
1
+ import { __exportAll } from "../../_virtual/rolldown_runtime.mjs";
2
+ import { MoveStruct, normalizeMoveArguments } from "../utils/index.mjs";
3
+ import { U64 } from "../../bcs/integers.mjs";
4
+ import { bcs } from "@mysten/sui/bcs";
5
+
6
+ //#region src/contracts/deepbook_predict_math/lazer_price.ts
7
+ /**************************************************************
8
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
9
+ **************************************************************/
10
+ /**
11
+ * A Pyth Lazer price decoded from a verified update, for Predict's order-flow
12
+ * commit.
13
+ *
14
+ * A `LazerPrice` is built only from a `pyth_lazer::update::Update`, which only
15
+ * Pyth's verifier produces, so holding one proves a Pyth signature over its feed,
16
+ * channel, timestamps, and price. It has `copy` and `drop` but not `store`, so it
17
+ * lives within one transaction. The decode is Predict v4's queue commit decode: it
18
+ * aborts on an update that does not carry the requested feed or lacks its price,
19
+ * exponent, or feed-update-time property, because the caller then passed the wrong
20
+ * update, and it returns `none` only when the feed has no usable price at that
21
+ * tick: an empty price or update time, or a price that does not normalize to
22
+ * Predict's pricing-safe 1e9 spot.
23
+ */
24
+ var lazer_price_exports = /* @__PURE__ */ __exportAll({
25
+ LazerPrice: () => LazerPrice,
26
+ channel: () => channel,
27
+ envelopeUs: () => envelopeUs,
28
+ feedId: () => feedId,
29
+ fromUpdate: () => fromUpdate,
30
+ generationUs: () => generationUs,
31
+ spot: () => spot
32
+ });
33
+ const $moduleName = "@local-pkg/deepbook_predict_math::lazer_price";
34
+ const LazerPrice = new MoveStruct({
35
+ name: `${$moduleName}::LazerPrice`,
36
+ fields: {
37
+ feed_id: bcs.u32(),
38
+ channel: bcs.u8(),
39
+ envelope_us: U64,
40
+ generation_us: U64,
41
+ spot: U64
42
+ }
43
+ });
44
+ /**
45
+ * Decode `feed_id` from a verified Lazer update. `none` when the feed's price or
46
+ * update time is empty at this tick, or its price does not normalize to a
47
+ * pricing-safe spot. Aborts `EFeedMissing` when the update does not carry the feed
48
+ * and `EPropertyNotRequested` when the feed lacks the price, exponent, or
49
+ * update-time property, because the caller then passed the wrong update, and
50
+ * `EGenerationAfterEnvelope` when the feed claims an update time after the
51
+ * envelope that carries it.
52
+ *
53
+ * Uses Lazer's v1 `Update`, which Pyth marked deprecated on Mainnet but still
54
+ * serves; a later library upgrade adds a constructor for v2.
55
+ */
56
+ function fromUpdate(options) {
57
+ const packageAddress = options.package ?? options.config?.predictMathPackageId ?? "@local-pkg/deepbook_predict_math";
58
+ const argumentsTypes = [null, "u32"];
59
+ const parameterNames = ["update", "feedId"];
60
+ return (tx) => tx.moveCall({
61
+ package: packageAddress,
62
+ module: "lazer_price",
63
+ function: "from_update",
64
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames)
65
+ });
66
+ }
67
+ function feedId(options) {
68
+ const packageAddress = options.package ?? options.config?.predictMathPackageId ?? "@local-pkg/deepbook_predict_math";
69
+ const argumentsTypes = [null];
70
+ const parameterNames = ["price"];
71
+ return (tx) => tx.moveCall({
72
+ package: packageAddress,
73
+ module: "lazer_price",
74
+ function: "feed_id",
75
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames)
76
+ });
77
+ }
78
+ function channel(options) {
79
+ const packageAddress = options.package ?? options.config?.predictMathPackageId ?? "@local-pkg/deepbook_predict_math";
80
+ const argumentsTypes = [null];
81
+ const parameterNames = ["price"];
82
+ return (tx) => tx.moveCall({
83
+ package: packageAddress,
84
+ module: "lazer_price",
85
+ function: "channel",
86
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames)
87
+ });
88
+ }
89
+ function envelopeUs(options) {
90
+ const packageAddress = options.package ?? options.config?.predictMathPackageId ?? "@local-pkg/deepbook_predict_math";
91
+ const argumentsTypes = [null];
92
+ const parameterNames = ["price"];
93
+ return (tx) => tx.moveCall({
94
+ package: packageAddress,
95
+ module: "lazer_price",
96
+ function: "envelope_us",
97
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames)
98
+ });
99
+ }
100
+ function generationUs(options) {
101
+ const packageAddress = options.package ?? options.config?.predictMathPackageId ?? "@local-pkg/deepbook_predict_math";
102
+ const argumentsTypes = [null];
103
+ const parameterNames = ["price"];
104
+ return (tx) => tx.moveCall({
105
+ package: packageAddress,
106
+ module: "lazer_price",
107
+ function: "generation_us",
108
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames)
109
+ });
110
+ }
111
+ function spot(options) {
112
+ const packageAddress = options.package ?? options.config?.predictMathPackageId ?? "@local-pkg/deepbook_predict_math";
113
+ const argumentsTypes = [null];
114
+ const parameterNames = ["price"];
115
+ return (tx) => tx.moveCall({
116
+ package: packageAddress,
117
+ module: "lazer_price",
118
+ function: "spot",
119
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames)
120
+ });
121
+ }
122
+
123
+ //#endregion
124
+ export { lazer_price_exports };
125
+ //# sourceMappingURL=lazer_price.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazer_price.mjs","names":[],"sources":["../../../src/contracts/deepbook_predict_math/lazer_price.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/**\n * A Pyth Lazer price decoded from a verified update, for Predict's order-flow\n * commit.\n *\n * A `LazerPrice` is built only from a `pyth_lazer::update::Update`, which only\n * Pyth's verifier produces, so holding one proves a Pyth signature over its feed,\n * channel, timestamps, and price. It has `copy` and `drop` but not `store`, so it\n * lives within one transaction. The decode is Predict v4's queue commit decode: it\n * aborts on an update that does not carry the requested feed or lacks its price,\n * exponent, or feed-update-time property, because the caller then passed the wrong\n * update, and it returns `none` only when the feed has no usable price at that\n * tick: an empty price or update time, or a price that does not normalize to\n * Predict's pricing-safe 1e9 spot.\n */\n\nimport { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { U64 } from '../../bcs/integers.js';\nimport { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';\nconst $moduleName = '@local-pkg/deepbook_predict_math::lazer_price';\nexport const LazerPrice = new MoveStruct({\n\tname: `${$moduleName}::LazerPrice`,\n\tfields: {\n\t\tfeed_id: bcs.u32(),\n\t\t/**\n\t\t * A Lazer channel id: `channel_fixed_rate_50ms!()`, `channel_fixed_rate_200ms!()`,\n\t\t * or `1` for real-time.\n\t\t */\n\t\tchannel: bcs.u8(),\n\t\t/** The update's timestamp, in µs. */\n\t\tenvelope_us: U64,\n\t\t/** The feed's own update time, in µs. Never after the envelope. */\n\t\tgeneration_us: U64,\n\t\t/**\n\t\t * The price normalized to 1e9, rounded down when the source is finer; positive and\n\t\t * at most `u64::MAX / 100`.\n\t\t */\n\t\tspot: U64,\n\t},\n});\nexport interface FromUpdateArguments {\n\tupdate: TransactionArgument;\n\tfeedId: RawTransactionArgument<number>;\n}\nexport interface FromUpdateOptions {\n\tpackage?: string;\n\targuments:\n\t\tFromUpdateArguments | [update: TransactionArgument, feedId: RawTransactionArgument<number>];\n\tconfig?: {\n\t\tpredictMathPackageId?: string;\n\t};\n}\n/**\n * Decode `feed_id` from a verified Lazer update. `none` when the feed's price or\n * update time is empty at this tick, or its price does not normalize to a\n * pricing-safe spot. Aborts `EFeedMissing` when the update does not carry the feed\n * and `EPropertyNotRequested` when the feed lacks the price, exponent, or\n * update-time property, because the caller then passed the wrong update, and\n * `EGenerationAfterEnvelope` when the feed claims an update time after the\n * envelope that carries it.\n *\n * Uses Lazer's v1 `Update`, which Pyth marked deprecated on Mainnet but still\n * serves; a later library upgrade adds a constructor for v2.\n */\nexport function fromUpdate(options: FromUpdateOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictMathPackageId ?? '@local-pkg/deepbook_predict_math';\n\tconst argumentsTypes = [null, 'u32'] satisfies (string | null)[];\n\tconst parameterNames = ['update', 'feedId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'lazer_price',\n\t\t\tfunction: 'from_update',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface FeedIdArguments {\n\tprice: TransactionArgument;\n}\nexport interface FeedIdOptions {\n\tpackage?: string;\n\targuments: FeedIdArguments | [price: TransactionArgument];\n\tconfig?: {\n\t\tpredictMathPackageId?: string;\n\t};\n}\nexport function feedId(options: FeedIdOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictMathPackageId ?? '@local-pkg/deepbook_predict_math';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['price'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'lazer_price',\n\t\t\tfunction: 'feed_id',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface ChannelArguments {\n\tprice: TransactionArgument;\n}\nexport interface ChannelOptions {\n\tpackage?: string;\n\targuments: ChannelArguments | [price: TransactionArgument];\n\tconfig?: {\n\t\tpredictMathPackageId?: string;\n\t};\n}\nexport function channel(options: ChannelOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictMathPackageId ?? '@local-pkg/deepbook_predict_math';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['price'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'lazer_price',\n\t\t\tfunction: 'channel',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface EnvelopeUsArguments {\n\tprice: TransactionArgument;\n}\nexport interface EnvelopeUsOptions {\n\tpackage?: string;\n\targuments: EnvelopeUsArguments | [price: TransactionArgument];\n\tconfig?: {\n\t\tpredictMathPackageId?: string;\n\t};\n}\nexport function envelopeUs(options: EnvelopeUsOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictMathPackageId ?? '@local-pkg/deepbook_predict_math';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['price'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'lazer_price',\n\t\t\tfunction: 'envelope_us',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface GenerationUsArguments {\n\tprice: TransactionArgument;\n}\nexport interface GenerationUsOptions {\n\tpackage?: string;\n\targuments: GenerationUsArguments | [price: TransactionArgument];\n\tconfig?: {\n\t\tpredictMathPackageId?: string;\n\t};\n}\nexport function generationUs(options: GenerationUsOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictMathPackageId ?? '@local-pkg/deepbook_predict_math';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['price'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'lazer_price',\n\t\t\tfunction: 'generation_us',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface SpotArguments {\n\tprice: TransactionArgument;\n}\nexport interface SpotOptions {\n\tpackage?: string;\n\targuments: SpotArguments | [price: TransactionArgument];\n\tconfig?: {\n\t\tpredictMathPackageId?: string;\n\t};\n}\nexport function spot(options: SpotOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictMathPackageId ?? '@local-pkg/deepbook_predict_math';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['price'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'lazer_price',\n\t\t\tfunction: 'spot',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,MAAM,cAAc;AACpB,MAAa,aAAa,IAAI,WAAW;CACxC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,SAAS,IAAI,KAAK;EAKlB,SAAS,IAAI,IAAI;EAEjB,aAAa;EAEb,eAAe;EAKf,MAAM;EACN;CACD,CAAC;;;;;;;;;;;;;AAyBF,SAAgB,WAAW,SAA4B;CACtD,MAAM,iBACL,QAAQ,WAAW,QAAQ,QAAQ,wBAAwB;CAC5D,MAAM,iBAAiB,CAAC,MAAM,MAAM;CACpC,MAAM,iBAAiB,CAAC,UAAU,SAAS;AAC3C,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC;;AAYJ,SAAgB,OAAO,SAAwB;CAC9C,MAAM,iBACL,QAAQ,WAAW,QAAQ,QAAQ,wBAAwB;CAC5D,MAAM,iBAAiB,CAAC,KAAK;CAC7B,MAAM,iBAAiB,CAAC,QAAQ;AAChC,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC;;AAYJ,SAAgB,QAAQ,SAAyB;CAChD,MAAM,iBACL,QAAQ,WAAW,QAAQ,QAAQ,wBAAwB;CAC5D,MAAM,iBAAiB,CAAC,KAAK;CAC7B,MAAM,iBAAiB,CAAC,QAAQ;AAChC,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC;;AAYJ,SAAgB,WAAW,SAA4B;CACtD,MAAM,iBACL,QAAQ,WAAW,QAAQ,QAAQ,wBAAwB;CAC5D,MAAM,iBAAiB,CAAC,KAAK;CAC7B,MAAM,iBAAiB,CAAC,QAAQ;AAChC,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC;;AAYJ,SAAgB,aAAa,SAA8B;CAC1D,MAAM,iBACL,QAAQ,WAAW,QAAQ,QAAQ,wBAAwB;CAC5D,MAAM,iBAAiB,CAAC,KAAK;CAC7B,MAAM,iBAAiB,CAAC,QAAQ;AAChC,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC;;AAYJ,SAAgB,KAAK,SAAsB;CAC1C,MAAM,iBACL,QAAQ,WAAW,QAAQ,QAAQ,wBAAwB;CAC5D,MAAM,iBAAiB,CAAC,KAAK;CAC7B,MAAM,iBAAiB,CAAC,QAAQ;AAChC,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC"}
@@ -0,0 +1,284 @@
1
+ import { RawTransactionArgument } from "../utils/index.mjs";
2
+ import * as _mysten_sui_transactions337 from "@mysten/sui/transactions";
3
+ import { Transaction, TransactionArgument } from "@mysten/sui/transactions";
4
+
5
+ //#region src/contracts/deepbook_predict_math/math.d.ts
6
+ declare namespace math_d_exports {
7
+ export { BuilderFeeArguments, BuilderFeeOptions, DigitalArguments, DigitalOptions, InputsOkArguments, InputsOkOptions, LegFeeArguments, LegFeeOptions, MaxQtyArguments, MaxQtyOptions, NeedBudgetArguments, NeedBudgetOptions, NeedQtyArguments, NeedQtyOptions, NeedSellArguments, NeedSellOptions, OrderTermsArguments, OrderTermsOptions, PotentialArguments, PotentialOptions, RawVarOkArguments, RawVarOkOptions, RollDownArguments, RollDownOptions, VarPositiveArguments, VarPositiveOptions, builderFee, digital, inputsOk, legFee, maxQty, needBudget, needQty, needSell, orderTerms, potential, rawVarOk, rollDown, varPositive };
8
+ }
9
+ interface RollDownArguments {
10
+ value: RawTransactionArgument<number | bigint>;
11
+ remainingMs: RawTransactionArgument<number | bigint>;
12
+ anchorTteMs: RawTransactionArgument<number | bigint>;
13
+ }
14
+ interface RollDownOptions {
15
+ package?: string;
16
+ arguments: RollDownArguments | [value: RawTransactionArgument<number | bigint>, remainingMs: RawTransactionArgument<number | bigint>, anchorTteMs: RawTransactionArgument<number | bigint>];
17
+ config?: {
18
+ predictMathPackageId?: string;
19
+ };
20
+ }
21
+ /**
22
+ * Scale one 1e9-scaled SVI magnitude down by the fraction of anchored time
23
+ * remaining, returning it at 1e18.
24
+ *
25
+ * The roll-down result is kept at 1e18 because the fraction is applied to values
26
+ * that are themselves tiny on short-dated surfaces: a 1e9 floor here costs up to a
27
+ * whole raw unit of `a`, and a short-dated `a` is only about ten raw units, so the
28
+ * truncation alone moves the digital by percent-scale amounts. At 1e18 the same
29
+ * floor is a billionth of that.
30
+ *
31
+ * The `u256` intermediate keeps the product exact for any `expiry_ms` rather than
32
+ * relying on a bound on the anchored horizon. The result is at most
33
+ * `value * 1e9 < 2^64 * 1e9`, so narrowing to `u128` never truncates.
34
+ */
35
+ declare function rollDown(options: RollDownOptions): (tx: Transaction) => _mysten_sui_transactions337.TransactionResult;
36
+ interface DigitalArguments {
37
+ aMagnitude: RawTransactionArgument<number | bigint>;
38
+ aIsNegative: RawTransactionArgument<boolean>;
39
+ b: RawTransactionArgument<number | bigint>;
40
+ rho: TransactionArgument;
41
+ m: TransactionArgument;
42
+ sigma: RawTransactionArgument<number | bigint>;
43
+ forward: RawTransactionArgument<number | bigint>;
44
+ strike: RawTransactionArgument<number | bigint>;
45
+ }
46
+ interface DigitalOptions {
47
+ package?: string;
48
+ arguments: DigitalArguments | [aMagnitude: RawTransactionArgument<number | bigint>, aIsNegative: RawTransactionArgument<boolean>, b: RawTransactionArgument<number | bigint>, rho: TransactionArgument, m: TransactionArgument, sigma: RawTransactionArgument<number | bigint>, forward: RawTransactionArgument<number | bigint>, strike: RawTransactionArgument<number | bigint>];
49
+ config?: {
50
+ predictMathPackageId?: string;
51
+ };
52
+ }
53
+ /**
54
+ * The adjusted UP digital for `strike` on a rolled SVI surface (`a` and `b` at
55
+ * 1e18, `rho`, `m`, and `sigma` at 1e9) and `forward`:
56
+ *
57
+ * - k = ln(strike / forward)
58
+ * - w(k) = a + b * (rho * (k - m) + sqrt((k - m)^2 + sigma^2))
59
+ * - d2 = -((k + w(k) / 2) / sqrt(w(k)))
60
+ * - price = N(d2) - phi(d2) * w'(k) / (2 * sqrt(w(k)))
61
+ *
62
+ * Returns the price and `0`, or `none` and the code Predict aborts with where the
63
+ * formula is undefined: a zero forward, a negative inner term, or a non-positive
64
+ * variance.
65
+ */
66
+ declare function digital(options: DigitalOptions): (tx: Transaction) => _mysten_sui_transactions337.TransactionResult;
67
+ interface VarPositiveArguments {
68
+ aMagnitude: RawTransactionArgument<number | bigint>;
69
+ aIsNegative: RawTransactionArgument<boolean>;
70
+ b: RawTransactionArgument<number | bigint>;
71
+ rho: TransactionArgument;
72
+ sigma: RawTransactionArgument<number | bigint>;
73
+ }
74
+ interface VarPositiveOptions {
75
+ package?: string;
76
+ arguments: VarPositiveArguments | [aMagnitude: RawTransactionArgument<number | bigint>, aIsNegative: RawTransactionArgument<boolean>, b: RawTransactionArgument<number | bigint>, rho: TransactionArgument, sigma: RawTransactionArgument<number | bigint>];
77
+ config?: {
78
+ predictMathPackageId?: string;
79
+ };
80
+ }
81
+ /**
82
+ * Whether a rolled surface's minimum total variance over all strikes is positive,
83
+ * at the 1e18 the rolled `a` and `b` are carried in.
84
+ */
85
+ declare function varPositive(options: VarPositiveOptions): (tx: Transaction) => _mysten_sui_transactions337.TransactionResult;
86
+ interface InputsOkArguments {
87
+ spot: RawTransactionArgument<number | bigint>;
88
+ forward: RawTransactionArgument<number | bigint>;
89
+ b: RawTransactionArgument<number | bigint>;
90
+ rho: TransactionArgument;
91
+ m: TransactionArgument;
92
+ sigma: RawTransactionArgument<number | bigint>;
93
+ }
94
+ interface InputsOkOptions {
95
+ package?: string;
96
+ arguments: InputsOkArguments | [spot: RawTransactionArgument<number | bigint>, forward: RawTransactionArgument<number | bigint>, b: RawTransactionArgument<number | bigint>, rho: TransactionArgument, m: TransactionArgument, sigma: RawTransactionArgument<number | bigint>];
97
+ config?: {
98
+ predictMathPackageId?: string;
99
+ };
100
+ }
101
+ /**
102
+ * Whether raw Block Scholes inputs fit Predict's pricing-safe envelope: a positive
103
+ * spot and forward, `forward <= max_spot` and `forward <= 100 * spot`, and SVI
104
+ * `b`, `|rho|`, `|m|`, and `sigma` within their bounds. `a` carries no bound of
105
+ * its own: only total variance has to be positive (`raw_var_ok`), and every
106
+ * downstream use of `a` fits its provider width.
107
+ */
108
+ declare function inputsOk(options: InputsOkOptions): (tx: Transaction) => _mysten_sui_transactions337.TransactionResult;
109
+ interface RawVarOkArguments {
110
+ a: TransactionArgument;
111
+ b: RawTransactionArgument<number | bigint>;
112
+ rho: TransactionArgument;
113
+ sigma: RawTransactionArgument<number | bigint>;
114
+ }
115
+ interface RawVarOkOptions {
116
+ package?: string;
117
+ arguments: RawVarOkArguments | [a: TransactionArgument, b: RawTransactionArgument<number | bigint>, rho: TransactionArgument, sigma: RawTransactionArgument<number | bigint>];
118
+ config?: {
119
+ predictMathPackageId?: string;
120
+ };
121
+ }
122
+ /**
123
+ * Whether a raw SVI tuple's minimum total variance
124
+ * `a + b * sigma * sqrt(1 - rho^2)` is positive, compared rather than summed: `a`
125
+ * reaches `u64::MAX`, where the sum would leave `u64`.
126
+ */
127
+ declare function rawVarOk(options: RawVarOkOptions): (tx: Transaction) => _mysten_sui_transactions337.TransactionResult;
128
+ interface LegFeeArguments {
129
+ baseFee: RawTransactionArgument<number | bigint>;
130
+ minFee: RawTransactionArgument<number | bigint>;
131
+ windowMs: RawTransactionArgument<number | bigint>;
132
+ maxMultiplier: RawTransactionArgument<number | bigint>;
133
+ probability: RawTransactionArgument<number | bigint>;
134
+ quantity: RawTransactionArgument<number | bigint>;
135
+ timeToExpiryMs: RawTransactionArgument<number | bigint>;
136
+ }
137
+ interface LegFeeOptions {
138
+ package?: string;
139
+ arguments: LegFeeArguments | [baseFee: RawTransactionArgument<number | bigint>, minFee: RawTransactionArgument<number | bigint>, windowMs: RawTransactionArgument<number | bigint>, maxMultiplier: RawTransactionArgument<number | bigint>, probability: RawTransactionArgument<number | bigint>, quantity: RawTransactionArgument<number | bigint>, timeToExpiryMs: RawTransactionArgument<number | bigint>];
140
+ config?: {
141
+ predictMathPackageId?: string;
142
+ };
143
+ }
144
+ /**
145
+ * One finite leg's trading fee: `max(bernoulli(p), min_fee) * ramp * quantity`,
146
+ * each product rounded down. `bernoulli(p) = base_fee * sqrt(p * (1 - p))`, zero
147
+ * at `p = 0` or `1`; the caller checks `p <= 1`. The ramp is 1 at or beyond
148
+ * `window_ms` to expiry and rises linearly to `max_multiplier` at expiry, rounded
149
+ * down so the trader keeps the ramp dust.
150
+ */
151
+ declare function legFee(options: LegFeeOptions): (tx: Transaction) => _mysten_sui_transactions337.TransactionResult;
152
+ interface PotentialArguments {
153
+ maxRate: RawTransactionArgument<number | bigint>;
154
+ scale: RawTransactionArgument<number | bigint>;
155
+ liability: RawTransactionArgument<number | bigint>;
156
+ }
157
+ interface PotentialOptions {
158
+ package?: string;
159
+ arguments: PotentialArguments | [maxRate: RawTransactionArgument<number | bigint>, scale: RawTransactionArgument<number | bigint>, liability: RawTransactionArgument<number | bigint>];
160
+ config?: {
161
+ predictMathPackageId?: string;
162
+ };
163
+ }
164
+ /**
165
+ * The inventory-impact potential of `liability`: the marginal rate rises linearly
166
+ * from zero to `max_rate` over `scale`, then stays capped:
167
+ *
168
+ * `phi(L) = r_max * L^2 / (2B)` for `L <= B` `phi(L) = phi(B) + r_max * (L - B)`
169
+ * for `L > B`.
170
+ *
171
+ * Defined by this exact sequence of rounded integer operations, so charges and
172
+ * rebates, which always subtract two evaluations, telescope exactly.
173
+ */
174
+ declare function potential(options: PotentialOptions): (tx: Transaction) => _mysten_sui_transactions337.TransactionResult;
175
+ interface MaxQtyArguments {
176
+ probability: RawTransactionArgument<number | bigint>;
177
+ maxPremium: RawTransactionArgument<number | bigint>;
178
+ lot: RawTransactionArgument<number | bigint>;
179
+ maxLots: RawTransactionArgument<number | bigint>;
180
+ }
181
+ interface MaxQtyOptions {
182
+ package?: string;
183
+ arguments: MaxQtyArguments | [probability: RawTransactionArgument<number | bigint>, maxPremium: RawTransactionArgument<number | bigint>, lot: RawTransactionArgument<number | bigint>, maxLots: RawTransactionArgument<number | bigint>];
184
+ config?: {
185
+ predictMathPackageId?: string;
186
+ };
187
+ }
188
+ /**
189
+ * The largest whole number of `lot`s, at most `max_lots`, whose premium
190
+ * `mul_down(probability, quantity)` fits `max_premium`, as a quantity. The probe
191
+ * is the premium mint admission charges, so the result is exact, and an oversized
192
+ * budget saturates at `max_lots` instead of aborting.
193
+ */
194
+ declare function maxQty(options: MaxQtyOptions): (tx: Transaction) => _mysten_sui_transactions337.TransactionResult;
195
+ interface BuilderFeeArguments {
196
+ feeAmount: RawTransactionArgument<number | bigint>;
197
+ quantity: RawTransactionArgument<number | bigint>;
198
+ multiplier: RawTransactionArgument<number | bigint>;
199
+ maxRate: RawTransactionArgument<number | bigint>;
200
+ }
201
+ interface BuilderFeeOptions {
202
+ package?: string;
203
+ arguments: BuilderFeeArguments | [feeAmount: RawTransactionArgument<number | bigint>, quantity: RawTransactionArgument<number | bigint>, multiplier: RawTransactionArgument<number | bigint>, maxRate: RawTransactionArgument<number | bigint>];
204
+ config?: {
205
+ predictMathPackageId?: string;
206
+ };
207
+ }
208
+ /**
209
+ * The builder fee on a trade with a builder code: `fee_amount * multiplier`,
210
+ * capped at `quantity * max_rate`, each rounded down.
211
+ */
212
+ declare function builderFee(options: BuilderFeeOptions): (tx: Transaction) => _mysten_sui_transactions337.TransactionResult;
213
+ interface NeedQtyArguments {
214
+ quantity: RawTransactionArgument<number | bigint>;
215
+ p: RawTransactionArgument<number | bigint>;
216
+ }
217
+ interface NeedQtyOptions {
218
+ package?: string;
219
+ arguments: NeedQtyArguments | [quantity: RawTransactionArgument<number | bigint>, p: RawTransactionArgument<number | bigint>];
220
+ config?: {
221
+ predictMathPackageId?: string;
222
+ };
223
+ }
224
+ /**
225
+ * Exact-quantity mint cash need: `ceil(quantity * (1 - p)) + 1`, where `p` is the
226
+ * market's minimum entry probability: a fill pays at least `p` per contract into
227
+ * market cash.
228
+ */
229
+ declare function needQty(options: NeedQtyOptions): (tx: Transaction) => _mysten_sui_transactions337.TransactionResult;
230
+ interface NeedBudgetArguments {
231
+ budget: RawTransactionArgument<number | bigint>;
232
+ p: RawTransactionArgument<number | bigint>;
233
+ }
234
+ interface NeedBudgetOptions {
235
+ package?: string;
236
+ arguments: NeedBudgetArguments | [budget: RawTransactionArgument<number | bigint>, p: RawTransactionArgument<number | bigint>];
237
+ config?: {
238
+ predictMathPackageId?: string;
239
+ };
240
+ }
241
+ /**
242
+ * Budget mint cash need: `ceil((budget + 1) * (1 / p - 1)) + 1`. The `budget + 1`
243
+ * covers premiums rounding down, which lets a fill buy up to `1 / p` raw units
244
+ * more than `budget / p`.
245
+ */
246
+ declare function needBudget(options: NeedBudgetOptions): (tx: Transaction) => _mysten_sui_transactions337.TransactionResult;
247
+ interface NeedSellArguments {
248
+ closeQuantity: RawTransactionArgument<number | bigint>;
249
+ lambda: RawTransactionArgument<number | bigint>;
250
+ }
251
+ interface NeedSellOptions {
252
+ package?: string;
253
+ arguments: NeedSellArguments | [closeQuantity: RawTransactionArgument<number | bigint>, lambda: RawTransactionArgument<number | bigint>];
254
+ config?: {
255
+ predictMathPackageId?: string;
256
+ };
257
+ }
258
+ /**
259
+ * Sell cash need: `ceil(close_quantity * (1 - lambda)) + 1`. A close lowers payout
260
+ * liability by at least `lambda * close_quantity` and pays at most
261
+ * `close_quantity`.
262
+ */
263
+ declare function needSell(options: NeedSellOptions): (tx: Transaction) => _mysten_sui_transactions337.TransactionResult;
264
+ interface OrderTermsArguments {
265
+ orderId: RawTransactionArgument<number | bigint>;
266
+ }
267
+ interface OrderTermsOptions {
268
+ package?: string;
269
+ arguments: OrderTermsArguments | [orderId: RawTransactionArgument<number | bigint>];
270
+ config?: {
271
+ predictMathPackageId?: string;
272
+ };
273
+ }
274
+ /**
275
+ * Decode a packed Predict order ID into `(lower_tick, higher_tick, quantity)`,
276
+ * with the quantity in USDC base units. For the order-flow companion's sell sizing
277
+ * and remainder checks over order IDs Predict issued: it validates nothing. The
278
+ * layout is Predict's frozen order-ID encoding: 30-bit ticks at bits 70 and 40,
279
+ * and a 32-bit count of 10_000-unit lots at bit 100.
280
+ */
281
+ declare function orderTerms(options: OrderTermsOptions): (tx: Transaction) => _mysten_sui_transactions337.TransactionResult;
282
+ //#endregion
283
+ export { math_d_exports };
284
+ //# sourceMappingURL=math.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.d.mts","names":[],"sources":["../../../src/contracts/deepbook_predict_math/math.ts"],"mappings":"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"}