@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
@@ -1,97 +1,130 @@
1
1
  import { MoveStruct } from "../utils/index.mjs";
2
- import * as _mysten_sui_bcs161 from "@mysten/sui/bcs";
3
- import * as _mysten_sui_transactions251 from "@mysten/sui/transactions";
2
+ import * as _mysten_sui_bcs57 from "@mysten/sui/bcs";
3
+ import * as _mysten_sui_transactions170 from "@mysten/sui/transactions";
4
4
  import { Transaction, TransactionArgument } from "@mysten/sui/transactions";
5
5
 
6
6
  //#region src/contracts/deepbook_predict/pricing.d.ts
7
7
  declare namespace pricing_d_exports {
8
- export { FrozenPricer, HigherUpArguments, HigherUpOptions, LowerUpArguments, LowerUpOptions, Pricer, PricingSVI, ProbabilityArguments, ProbabilityOptions, RangePrice, RangePriceArguments, RangePriceOptions, RawSVI, UpPriceArguments, UpPriceOptions, higherUp, lowerUp, probability, rangePrice, upPrice };
8
+ export { FrozenPricer, HigherUpArguments, HigherUpOptions, LowerUpArguments, LowerUpOptions, Pricer, PricingSVI, ProbabilityArguments, ProbabilityOptions, RangePrice, RangePriceArguments, RangePriceOptions, RawSVI, UpPriceArguments, UpPriceOptions, VolSnapshot, higherUp, lowerUp, probability, rangePrice, upPrice };
9
9
  }
10
+ declare const VolSnapshot: MoveStruct<{
11
+ /**
12
+ * Canonical Propbook Pyth source for the market's underlying; commit finds this
13
+ * feed in each Lazer update.
14
+ */
15
+ pyth_source_id: _mysten_sui_bcs57.BcsType<number, number, "u32">; /** The matched Block Scholes spot and forward, narrowed to Predict's width. */
16
+ bs_spot: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
17
+ bs_forward: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">; /** Raw SVI parameters before roll-down, at 1e9. */
18
+ svi_a: MoveStruct<{
19
+ magnitude: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
20
+ is_negative: _mysten_sui_bcs57.BcsType<boolean, boolean, "bool">;
21
+ }, "fixed_math::i64::I64">;
22
+ svi_b: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
23
+ svi_rho: MoveStruct<{
24
+ magnitude: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
25
+ is_negative: _mysten_sui_bcs57.BcsType<boolean, boolean, "bool">;
26
+ }, "fixed_math::i64::I64">;
27
+ svi_m: MoveStruct<{
28
+ magnitude: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
29
+ is_negative: _mysten_sui_bcs57.BcsType<boolean, boolean, "bool">;
30
+ }, "fixed_math::i64::I64">;
31
+ svi_sigma: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
32
+ /**
33
+ * Provider source timestamps of the three reads. The SVI one is also the roll-down
34
+ * anchor.
35
+ */
36
+ bs_spot_source_timestamp_ms: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
37
+ bs_forward_source_timestamp_ms: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
38
+ svi_source_timestamp_ms: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
39
+ }, "@local-pkg/deepbook_predict::pricing::VolSnapshot">;
10
40
  declare const PricingSVI: MoveStruct<{
11
- /** Rolled-down SVI `a`, magnitude at 1e18, sign in `a_is_negative`. */a_magnitude: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u128">;
12
- a_is_negative: _mysten_sui_bcs161.BcsType<boolean, boolean, "bool">; /** Rolled-down SVI `b`, at 1e18. */
13
- b: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u128">;
41
+ /** Rolled-down SVI `a`, magnitude at 1e18, sign in `a_is_negative`. */a_magnitude: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u128">;
42
+ a_is_negative: _mysten_sui_bcs57.BcsType<boolean, boolean, "bool">; /** Rolled-down SVI `b`, at 1e18. */
43
+ b: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u128">;
14
44
  rho: MoveStruct<{
15
- magnitude: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
16
- is_negative: _mysten_sui_bcs161.BcsType<boolean, boolean, "bool">;
45
+ magnitude: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
46
+ is_negative: _mysten_sui_bcs57.BcsType<boolean, boolean, "bool">;
17
47
  }, "fixed_math::i64::I64">;
18
48
  m: MoveStruct<{
19
- magnitude: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
20
- is_negative: _mysten_sui_bcs161.BcsType<boolean, boolean, "bool">;
49
+ magnitude: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
50
+ is_negative: _mysten_sui_bcs57.BcsType<boolean, boolean, "bool">;
21
51
  }, "fixed_math::i64::I64">;
22
- sigma: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
52
+ sigma: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
23
53
  }, "@local-pkg/deepbook_predict::pricing::PricingSVI">;
24
54
  declare const FrozenPricer: MoveStruct<{
25
- expiry_market_id: _mysten_sui_bcs161.BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
26
- forward: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
55
+ expiry_market_id: _mysten_sui_bcs57.BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
56
+ forward: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
27
57
  svi: MoveStruct<{
28
- /** Rolled-down SVI `a`, magnitude at 1e18, sign in `a_is_negative`. */a_magnitude: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u128">;
29
- a_is_negative: _mysten_sui_bcs161.BcsType<boolean, boolean, "bool">; /** Rolled-down SVI `b`, at 1e18. */
30
- b: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u128">;
58
+ /** Rolled-down SVI `a`, magnitude at 1e18, sign in `a_is_negative`. */a_magnitude: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u128">;
59
+ a_is_negative: _mysten_sui_bcs57.BcsType<boolean, boolean, "bool">; /** Rolled-down SVI `b`, at 1e18. */
60
+ b: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u128">;
31
61
  rho: MoveStruct<{
32
- magnitude: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
33
- is_negative: _mysten_sui_bcs161.BcsType<boolean, boolean, "bool">;
62
+ magnitude: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
63
+ is_negative: _mysten_sui_bcs57.BcsType<boolean, boolean, "bool">;
34
64
  }, "fixed_math::i64::I64">;
35
65
  m: MoveStruct<{
36
- magnitude: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
37
- is_negative: _mysten_sui_bcs161.BcsType<boolean, boolean, "bool">;
66
+ magnitude: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
67
+ is_negative: _mysten_sui_bcs57.BcsType<boolean, boolean, "bool">;
38
68
  }, "fixed_math::i64::I64">;
39
- sigma: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
69
+ sigma: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
40
70
  }, "@local-pkg/deepbook_predict::pricing::PricingSVI">;
41
- pyth_spot_source_timestamp_ms: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
42
- block_scholes_spot_source_timestamp_ms: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
43
- block_scholes_forward_source_timestamp_ms: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
44
- block_scholes_svi_source_timestamp_ms: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
71
+ pyth_spot_source_timestamp_ms: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
72
+ block_scholes_spot_source_timestamp_ms: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
73
+ block_scholes_forward_source_timestamp_ms: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
74
+ block_scholes_svi_source_timestamp_ms: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
45
75
  }, "@local-pkg/deepbook_predict::pricing::FrozenPricer">;
46
76
  declare const Pricer: MoveStruct<{
47
- /** Expiry market this snapshot was loaded for. */expiry_market_id: _mysten_sui_bcs161.BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
48
- forward: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
77
+ /** Expiry market this snapshot was loaded for. */expiry_market_id: _mysten_sui_bcs57.BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
78
+ forward: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
49
79
  svi: MoveStruct<{
50
- /** Rolled-down SVI `a`, magnitude at 1e18, sign in `a_is_negative`. */a_magnitude: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u128">;
51
- a_is_negative: _mysten_sui_bcs161.BcsType<boolean, boolean, "bool">; /** Rolled-down SVI `b`, at 1e18. */
52
- b: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u128">;
80
+ /** Rolled-down SVI `a`, magnitude at 1e18, sign in `a_is_negative`. */a_magnitude: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u128">;
81
+ a_is_negative: _mysten_sui_bcs57.BcsType<boolean, boolean, "bool">; /** Rolled-down SVI `b`, at 1e18. */
82
+ b: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u128">;
53
83
  rho: MoveStruct<{
54
- magnitude: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
55
- is_negative: _mysten_sui_bcs161.BcsType<boolean, boolean, "bool">;
84
+ magnitude: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
85
+ is_negative: _mysten_sui_bcs57.BcsType<boolean, boolean, "bool">;
56
86
  }, "fixed_math::i64::I64">;
57
87
  m: MoveStruct<{
58
- magnitude: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
59
- is_negative: _mysten_sui_bcs161.BcsType<boolean, boolean, "bool">;
88
+ magnitude: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
89
+ is_negative: _mysten_sui_bcs57.BcsType<boolean, boolean, "bool">;
60
90
  }, "fixed_math::i64::I64">;
61
- sigma: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
91
+ sigma: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
62
92
  }, "@local-pkg/deepbook_predict::pricing::PricingSVI">;
63
93
  /**
64
94
  * Timestamps of the oracle observations this snapshot validated, as trade events
65
95
  * report them — each observation's own economic clock. Pyth carries its source
66
- * timestamp (`0` only when no usable normalized observation exists); Block Scholes
67
- * spot and forward carry the provider `value_timestamp`, and SVI carries the
68
- * provider `svi_timestamp`. Those timestamps are the clocks freshness gates and
69
- * SVI roll-down use.
96
+ * timestamp (`0` only when no usable normalized observation exists; a `pricer_at`
97
+ * Pricer carries the committed update's generation time); Block Scholes spot and
98
+ * forward carry the provider `value_timestamp`, and SVI carries the provider
99
+ * `svi_timestamp`. Those timestamps are the clocks freshness gates and SVI
100
+ * roll-down use. The Pyth timestamp, including its `0` sentinel, is also what
101
+ * `assert_pyth_spot_fresh` gates live trades on, so it must stay the value the
102
+ * load's forward selection read.
70
103
  */
71
- pyth_spot_source_timestamp_ms: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
72
- block_scholes_spot_source_timestamp_ms: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
73
- block_scholes_forward_source_timestamp_ms: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
74
- block_scholes_svi_source_timestamp_ms: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
104
+ pyth_spot_source_timestamp_ms: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
105
+ block_scholes_spot_source_timestamp_ms: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
106
+ block_scholes_forward_source_timestamp_ms: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
107
+ block_scholes_svi_source_timestamp_ms: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
75
108
  }, "@local-pkg/deepbook_predict::pricing::Pricer">;
76
109
  declare const RangePrice: MoveStruct<{
77
- lower_up: _mysten_sui_bcs161.BcsType<bigint | null, string | number | bigint | null | undefined, "Option<u64>">;
78
- higher_up: _mysten_sui_bcs161.BcsType<bigint | null, string | number | bigint | null | undefined, "Option<u64>">;
110
+ lower_up: _mysten_sui_bcs57.BcsType<bigint | null, string | number | bigint | null | undefined, "Option<u64>">;
111
+ higher_up: _mysten_sui_bcs57.BcsType<bigint | null, string | number | bigint | null | undefined, "Option<u64>">;
79
112
  }, "@local-pkg/deepbook_predict::pricing::RangePrice">;
80
113
  declare const RawSVI: MoveStruct<{
81
114
  a: MoveStruct<{
82
- magnitude: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
83
- is_negative: _mysten_sui_bcs161.BcsType<boolean, boolean, "bool">;
115
+ magnitude: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
116
+ is_negative: _mysten_sui_bcs57.BcsType<boolean, boolean, "bool">;
84
117
  }, "fixed_math::i64::I64">;
85
- b: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
118
+ b: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
86
119
  rho: MoveStruct<{
87
- magnitude: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
88
- is_negative: _mysten_sui_bcs161.BcsType<boolean, boolean, "bool">;
120
+ magnitude: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
121
+ is_negative: _mysten_sui_bcs57.BcsType<boolean, boolean, "bool">;
89
122
  }, "fixed_math::i64::I64">;
90
123
  m: MoveStruct<{
91
- magnitude: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
92
- is_negative: _mysten_sui_bcs161.BcsType<boolean, boolean, "bool">;
124
+ magnitude: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
125
+ is_negative: _mysten_sui_bcs57.BcsType<boolean, boolean, "bool">;
93
126
  }, "fixed_math::i64::I64">;
94
- sigma: _mysten_sui_bcs161.BcsType<bigint, string | number | bigint, "u64">;
127
+ sigma: _mysten_sui_bcs57.BcsType<bigint, string | number | bigint, "u64">;
95
128
  }, "@local-pkg/deepbook_predict::pricing::RawSVI">;
96
129
  interface UpPriceArguments {
97
130
  pricer: TransactionArgument;
@@ -108,7 +141,7 @@ interface UpPriceOptions {
108
141
  * Return the current UP digital probability for a typed strike. Public PTB and
109
142
  * devInspect reads can compose it with a transaction-local `Pricer`.
110
143
  */
111
- declare function upPrice(options: UpPriceOptions): (tx: Transaction) => _mysten_sui_transactions251.TransactionResult;
144
+ declare function upPrice(options: UpPriceOptions): (tx: Transaction) => _mysten_sui_transactions170.TransactionResult;
112
145
  interface RangePriceArguments {
113
146
  pricer: TransactionArgument;
114
147
  lower: TransactionArgument;
@@ -125,7 +158,7 @@ interface RangePriceOptions {
125
158
  * Return both boundary probabilities for `(lower, higher]`. Use `probability()`
126
159
  * for the combined range probability; absent boundaries are infinite sentinels.
127
160
  */
128
- declare function rangePrice(options: RangePriceOptions): (tx: Transaction) => _mysten_sui_transactions251.TransactionResult;
161
+ declare function rangePrice(options: RangePriceOptions): (tx: Transaction) => _mysten_sui_transactions170.TransactionResult;
129
162
  interface LowerUpArguments {
130
163
  price: TransactionArgument;
131
164
  }
@@ -136,7 +169,7 @@ interface LowerUpOptions {
136
169
  predictPackageId?: string;
137
170
  };
138
171
  }
139
- declare function lowerUp(options: LowerUpOptions): (tx: Transaction) => _mysten_sui_transactions251.TransactionResult;
172
+ declare function lowerUp(options: LowerUpOptions): (tx: Transaction) => _mysten_sui_transactions170.TransactionResult;
140
173
  interface HigherUpArguments {
141
174
  price: TransactionArgument;
142
175
  }
@@ -147,7 +180,7 @@ interface HigherUpOptions {
147
180
  predictPackageId?: string;
148
181
  };
149
182
  }
150
- declare function higherUp(options: HigherUpOptions): (tx: Transaction) => _mysten_sui_transactions251.TransactionResult;
183
+ declare function higherUp(options: HigherUpOptions): (tx: Transaction) => _mysten_sui_transactions170.TransactionResult;
151
184
  interface ProbabilityArguments {
152
185
  price: TransactionArgument;
153
186
  }
@@ -162,7 +195,7 @@ interface ProbabilityOptions {
162
195
  * Return the combined probability, floored at zero if approximated boundary prices
163
196
  * invert.
164
197
  */
165
- declare function probability(options: ProbabilityOptions): (tx: Transaction) => _mysten_sui_transactions251.TransactionResult;
198
+ declare function probability(options: ProbabilityOptions): (tx: Transaction) => _mysten_sui_transactions170.TransactionResult;
166
199
  //#endregion
167
200
  export { pricing_d_exports };
168
201
  //# sourceMappingURL=pricing.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.d.mts","names":[],"sources":["../../../src/contracts/deepbook_predict/pricing.ts"],"mappings":";;;;;;;;;cAuBa,UAAA,EAAU,UAAA;sFAYrB,kBAAA,CAAA,OAAA;;;;;;;;;;;;;cACW,YAAA,EAAY,UAAA;;;;;;;;;;;;;;;;;;;;;;cAYZ,MAAA,EAAM,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqBN,UAAA,EAAU,UAAA;YAMrB,kBAAA,CAAA,OAAA;;;cACW,MAAA,EAAM,UAAA;;eASjB,kBAAA,CAAA,OAAA;;;;;;;;;;;;;;UACe,gBAAA;EAChB,MAAA,EAAQ,mBAAA;EACR,MAAA,EAAQ,mBAAA;AAAA;AAAA,UAEQ,cAAA;EAChB,OAAA;EACA,SAAA,EAAW,gBAAA,IAAoB,MAAA,EAAQ,mBAAA,EAAqB,MAAA,EAAQ,mBAAA;EACpE,MAAA;IACC,gBAAA;EAAA;AAAA;;;;;iBAOc,OAAA,CAAQ,OAAA,EAAS,cAAA,IAKxB,EAAA,EAAI,WAAA,KAAW,2BAAA,CAAA,iBAAA;AAAA,UAQP,mBAAA;EAChB,MAAA,EAAQ,mBAAA;EACR,KAAA,EAAO,mBAAA;EACP,MAAA,EAAQ,mBAAA;AAAA;AAAA,UAEQ,iBAAA;EAChB,OAAA;EACA,SAAA,EACG,mBAAA,IACC,MAAA,EAAQ,mBAAA,EAAqB,KAAA,EAAO,mBAAA,EAAqB,MAAA,EAAQ,mBAAA;EACrE,MAAA;IACC,gBAAA;EAAA;AAAA;;;;;iBAOc,UAAA,CAAW,OAAA,EAAS,iBAAA,IAK3B,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,gBAAA;EAAA;AAAA;AAAA,iBAGc,OAAA,CAAQ,OAAA,EAAS,cAAA,IAKxB,EAAA,EAAI,WAAA,KAAW,2BAAA,CAAA,iBAAA;AAAA,UAQP,iBAAA;EAChB,KAAA,EAAO,mBAAA;AAAA;AAAA,UAES,eAAA;EAChB,OAAA;EACA,SAAA,EAAW,iBAAA,IAAqB,KAAA,EAAO,mBAAA;EACvC,MAAA;IACC,gBAAA;EAAA;AAAA;AAAA,iBAGc,QAAA,CAAS,OAAA,EAAS,eAAA,IAKzB,EAAA,EAAI,WAAA,KAAW,2BAAA,CAAA,iBAAA;AAAA,UAQP,oBAAA;EAChB,KAAA,EAAO,mBAAA;AAAA;AAAA,UAES,kBAAA;EAChB,OAAA;EACA,SAAA,EAAW,oBAAA,IAAwB,KAAA,EAAO,mBAAA;EAC1C,MAAA;IACC,gBAAA;EAAA;AAAA;;;;;iBAOc,WAAA,CAAY,OAAA,EAAS,kBAAA,IAK5B,EAAA,EAAI,WAAA,KAAW,2BAAA,CAAA,iBAAA"}
1
+ {"version":3,"file":"pricing.d.mts","names":[],"sources":["../../../src/contracts/deepbook_predict/pricing.ts"],"mappings":";;;;;;;;;cAiCa,WAAA,EAAW,UAAA;;;AAAxB;;kBAyBE,iBAAA,CAAA,OAAA,yBAAA;;;;;;;;;;;;;;;;;EAzBsB;;;;;;;;cA0BX,UAAA,EAAU,UAAA;sFAYrB,iBAAA,CAAA,OAAA;;;;;;;;;;;;;cACW,YAAA,EAAY,UAAA;;;;;;;;;;;;;;;;;;;;;;cAYZ,MAAA,EAAM,UAAA;;;;IAzBI;;;;;;;;;;;;;;;;;;;;;;;AAavB;;;;;;cAoCa,UAAA,EAAU,UAAA;YAMrB,iBAAA,CAAA,OAAA;;;cACW,MAAA,EAAM,UAAA;;eASjB,iBAAA,CAAA,OAAA;;;;;;;;;;;;;;UACe,gBAAA;EAChB,MAAA,EAAQ,mBAAA;EACR,MAAA,EAAQ,mBAAA;AAAA;AAAA,UAEQ,cAAA;EAChB,OAAA;EACA,SAAA,EAAW,gBAAA,IAAoB,MAAA,EAAQ,mBAAA,EAAqB,MAAA,EAAQ,mBAAA;EACpE,MAAA;IACC,gBAAA;EAAA;AAAA;;;;;iBAOc,OAAA,CAAQ,OAAA,EAAS,cAAA,IAKxB,EAAA,EAAI,WAAA,KAAW,2BAAA,CAAA,iBAAA;AAAA,UAQP,mBAAA;EAChB,MAAA,EAAQ,mBAAA;EACR,KAAA,EAAO,mBAAA;EACP,MAAA,EAAQ,mBAAA;AAAA;AAAA,UAEQ,iBAAA;EAChB,OAAA;EACA,SAAA,EACG,mBAAA,IACC,MAAA,EAAQ,mBAAA,EAAqB,KAAA,EAAO,mBAAA,EAAqB,MAAA,EAAQ,mBAAA;EACrE,MAAA;IACC,gBAAA;EAAA;AAAA;;;;;iBAOc,UAAA,CAAW,OAAA,EAAS,iBAAA,IAK3B,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,gBAAA;EAAA;AAAA;AAAA,iBAGc,OAAA,CAAQ,OAAA,EAAS,cAAA,IAKxB,EAAA,EAAI,WAAA,KAAW,2BAAA,CAAA,iBAAA;AAAA,UAQP,iBAAA;EAChB,KAAA,EAAO,mBAAA;AAAA;AAAA,UAES,eAAA;EAChB,OAAA;EACA,SAAA,EAAW,iBAAA,IAAqB,KAAA,EAAO,mBAAA;EACvC,MAAA;IACC,gBAAA;EAAA;AAAA;AAAA,iBAGc,QAAA,CAAS,OAAA,EAAS,eAAA,IAKzB,EAAA,EAAI,WAAA,KAAW,2BAAA,CAAA,iBAAA;AAAA,UAQP,oBAAA;EAChB,KAAA,EAAO,mBAAA;AAAA;AAAA,UAES,kBAAA;EAChB,OAAA;EACA,SAAA,EAAW,oBAAA,IAAwB,KAAA,EAAO,mBAAA;EAC1C,MAAA;IACC,gBAAA;EAAA;AAAA;;;;;iBAOc,WAAA,CAAY,OAAA,EAAS,kBAAA,IAK5B,EAAA,EAAI,WAAA,KAAW,2BAAA,CAAA,iBAAA"}
@@ -17,8 +17,18 @@ import { bcs } from "@mysten/sui/bcs";
17
17
  * an exact source-timestamp spot from Propbook's bounded recent history. The live
18
18
  * forward comes from one of two admin-selected sources
19
19
  * (`PricingConfig.use_pyth_spot_for_forward`): a fresh positive Pyth spot carrying
20
- * the Block Scholes basis, or the Block Scholes forward directly. Exact-history
21
- * reads do not apply live freshness policy.
20
+ * the Block Scholes basis, or the Block Scholes forward directly. A load falls
21
+ * back to the Block Scholes forward when the selected Pyth spot is stale or
22
+ * unavailable; valuation prices on that fallback, while every live trade (mints,
23
+ * mint quotes, and live redeems) refuses it through `assert_pyth_spot_fresh`.
24
+ * Exact-history reads do not apply live freshness policy.
25
+ *
26
+ * Delayed execution splits that read in two. `load_vol` validates the same live
27
+ * inputs when an order is admitted and returns the raw Block Scholes basis and SVI
28
+ * its receipt stores; `pricer_at` later rebuilds a `Pricer` from them at the
29
+ * order's committed Pyth tick. The `try_*` reads price exactly as `up_price` and
30
+ * `range_price` do, and return `none` where those abort, so an order-flow fill
31
+ * never aborts on a surface.
22
32
  */
23
33
  var pricing_exports = /* @__PURE__ */ __exportAll({
24
34
  FrozenPricer: () => FrozenPricer,
@@ -26,6 +36,7 @@ var pricing_exports = /* @__PURE__ */ __exportAll({
26
36
  PricingSVI: () => PricingSVI,
27
37
  RangePrice: () => RangePrice,
28
38
  RawSVI: () => RawSVI,
39
+ VolSnapshot: () => VolSnapshot,
29
40
  higherUp: () => higherUp,
30
41
  lowerUp: () => lowerUp,
31
42
  probability: () => probability,
@@ -33,6 +44,22 @@ var pricing_exports = /* @__PURE__ */ __exportAll({
33
44
  upPrice: () => upPrice
34
45
  });
35
46
  const $moduleName = "@local-pkg/deepbook_predict::pricing";
47
+ const VolSnapshot = new MoveStruct({
48
+ name: `${$moduleName}::VolSnapshot`,
49
+ fields: {
50
+ pyth_source_id: bcs.u32(),
51
+ bs_spot: U64,
52
+ bs_forward: U64,
53
+ svi_a: I64,
54
+ svi_b: U64,
55
+ svi_rho: I64,
56
+ svi_m: I64,
57
+ svi_sigma: U64,
58
+ bs_spot_source_timestamp_ms: U64,
59
+ bs_forward_source_timestamp_ms: U64,
60
+ svi_source_timestamp_ms: U64
61
+ }
62
+ });
36
63
  const PricingSVI = new MoveStruct({
37
64
  name: `${$moduleName}::PricingSVI`,
38
65
  fields: {
@@ -162,5 +189,5 @@ function probability(options) {
162
189
  }
163
190
 
164
191
  //#endregion
165
- export { FrozenPricer, Pricer, RangePrice, pricing_exports, probability, rangePrice };
192
+ export { FrozenPricer, Pricer, RangePrice, VolSnapshot, pricing_exports, probability, rangePrice };
166
193
  //# sourceMappingURL=pricing.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.mjs","names":["i64.I64"],"sources":["../../../src/contracts/deepbook_predict/pricing.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/**\n * Pricing for Predict markets.\n *\n * This module reads canonical Propbook Pyth and Block Scholes feeds and computes\n * SVI-adjusted digital probabilities. Live reads require fresh, pricing-safe Block\n * Scholes spot, forward, and SVI observations. The latest forward is paired with\n * an exact source-timestamp spot from Propbook's bounded recent history. The live\n * forward comes from one of two admin-selected sources\n * (`PricingConfig.use_pyth_spot_for_forward`): a fresh positive Pyth spot carrying\n * the Block Scholes basis, or the Block Scholes forward directly. Exact-history\n * reads do not apply live freshness policy.\n */\n\nimport { MoveStruct, normalizeMoveArguments } from '../utils/index.js';\nimport { U128, U64 } from '../../bcs/integers.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';\nimport * as i64 from './deps/fixed_math/i64.js';\nconst $moduleName = '@local-pkg/deepbook_predict::pricing';\nexport const PricingSVI = new MoveStruct({\n\tname: `${$moduleName}::PricingSVI`,\n\tfields: {\n\t\t/** Rolled-down SVI `a`, magnitude at 1e18, sign in `a_is_negative`. */\n\t\ta_magnitude: U128,\n\t\ta_is_negative: bcs.bool(),\n\t\t/** Rolled-down SVI `b`, at 1e18. */\n\t\tb: U128,\n\t\trho: i64.I64,\n\t\tm: i64.I64,\n\t\tsigma: U64,\n\t},\n});\nexport const FrozenPricer = new MoveStruct({\n\tname: `${$moduleName}::FrozenPricer`,\n\tfields: {\n\t\texpiry_market_id: bcs.Address,\n\t\tforward: U64,\n\t\tsvi: PricingSVI,\n\t\tpyth_spot_source_timestamp_ms: U64,\n\t\tblock_scholes_spot_source_timestamp_ms: U64,\n\t\tblock_scholes_forward_source_timestamp_ms: U64,\n\t\tblock_scholes_svi_source_timestamp_ms: U64,\n\t},\n});\nexport const Pricer = new MoveStruct({\n\tname: `${$moduleName}::Pricer`,\n\tfields: {\n\t\t/** Expiry market this snapshot was loaded for. */\n\t\texpiry_market_id: bcs.Address,\n\t\tforward: U64,\n\t\tsvi: PricingSVI,\n\t\t/**\n\t\t * Timestamps of the oracle observations this snapshot validated, as trade events\n\t\t * report them — each observation's own economic clock. Pyth carries its source\n\t\t * timestamp (`0` only when no usable normalized observation exists); Block Scholes\n\t\t * spot and forward carry the provider `value_timestamp`, and SVI carries the\n\t\t * provider `svi_timestamp`. Those timestamps are the clocks freshness gates and\n\t\t * SVI roll-down use.\n\t\t */\n\t\tpyth_spot_source_timestamp_ms: U64,\n\t\tblock_scholes_spot_source_timestamp_ms: U64,\n\t\tblock_scholes_forward_source_timestamp_ms: U64,\n\t\tblock_scholes_svi_source_timestamp_ms: U64,\n\t},\n});\nexport const RangePrice = new MoveStruct({\n\tname: `${$moduleName}::RangePrice`,\n\tfields: {\n\t\tlower_up: bcs.option(U64),\n\t\thigher_up: bcs.option(U64),\n\t},\n});\nexport const RawSVI = new MoveStruct({\n\tname: `${$moduleName}::RawSVI`,\n\tfields: {\n\t\ta: i64.I64,\n\t\tb: U64,\n\t\trho: i64.I64,\n\t\tm: i64.I64,\n\t\tsigma: U64,\n\t},\n});\nexport interface UpPriceArguments {\n\tpricer: TransactionArgument;\n\tstrike: TransactionArgument;\n}\nexport interface UpPriceOptions {\n\tpackage?: string;\n\targuments: UpPriceArguments | [pricer: TransactionArgument, strike: TransactionArgument];\n\tconfig?: {\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Return the current UP digital probability for a typed strike. Public PTB and\n * devInspect reads can compose it with a transaction-local `Pricer`.\n */\nexport function upPrice(options: UpPriceOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null] satisfies (string | null)[];\n\tconst parameterNames = ['pricer', 'strike'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pricing',\n\t\t\tfunction: 'up_price',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface RangePriceArguments {\n\tpricer: TransactionArgument;\n\tlower: TransactionArgument;\n\thigher: TransactionArgument;\n}\nexport interface RangePriceOptions {\n\tpackage?: string;\n\targuments:\n\t\t| RangePriceArguments\n\t\t| [pricer: TransactionArgument, lower: TransactionArgument, higher: TransactionArgument];\n\tconfig?: {\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Return both boundary probabilities for `(lower, higher]`. Use `probability()`\n * for the combined range probability; absent boundaries are infinite sentinels.\n */\nexport function rangePrice(options: RangePriceOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['pricer', 'lower', 'higher'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pricing',\n\t\t\tfunction: 'range_price',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface LowerUpArguments {\n\tprice: TransactionArgument;\n}\nexport interface LowerUpOptions {\n\tpackage?: string;\n\targuments: LowerUpArguments | [price: TransactionArgument];\n\tconfig?: {\n\t\tpredictPackageId?: string;\n\t};\n}\nexport function lowerUp(options: LowerUpOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\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: 'pricing',\n\t\t\tfunction: 'lower_up',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface HigherUpArguments {\n\tprice: TransactionArgument;\n}\nexport interface HigherUpOptions {\n\tpackage?: string;\n\targuments: HigherUpArguments | [price: TransactionArgument];\n\tconfig?: {\n\t\tpredictPackageId?: string;\n\t};\n}\nexport function higherUp(options: HigherUpOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\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: 'pricing',\n\t\t\tfunction: 'higher_up',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface ProbabilityArguments {\n\tprice: TransactionArgument;\n}\nexport interface ProbabilityOptions {\n\tpackage?: string;\n\targuments: ProbabilityArguments | [price: TransactionArgument];\n\tconfig?: {\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Return the combined probability, floored at zero if approximated boundary prices\n * invert.\n */\nexport function probability(options: ProbabilityOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\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: 'pricing',\n\t\t\tfunction: 'probability',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,MAAM,cAAc;AACpB,MAAa,aAAa,IAAI,WAAW;CACxC,MAAM,GAAG,YAAY;CACrB,QAAQ;EAEP,aAAa;EACb,eAAe,IAAI,MAAM;EAEzB,GAAG;EACH,KAAKA;EACL,GAAGA;EACH,OAAO;EACP;CACD,CAAC;AACF,MAAa,eAAe,IAAI,WAAW;CAC1C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,kBAAkB,IAAI;EACtB,SAAS;EACT,KAAK;EACL,+BAA+B;EAC/B,wCAAwC;EACxC,2CAA2C;EAC3C,uCAAuC;EACvC;CACD,CAAC;AACF,MAAa,SAAS,IAAI,WAAW;CACpC,MAAM,GAAG,YAAY;CACrB,QAAQ;EAEP,kBAAkB,IAAI;EACtB,SAAS;EACT,KAAK;EASL,+BAA+B;EAC/B,wCAAwC;EACxC,2CAA2C;EAC3C,uCAAuC;EACvC;CACD,CAAC;AACF,MAAa,aAAa,IAAI,WAAW;CACxC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,UAAU,IAAI,OAAO,IAAI;EACzB,WAAW,IAAI,OAAO,IAAI;EAC1B;CACD,CAAC;AACF,MAAa,SAAS,IAAI,WAAW;CACpC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,GAAGA;EACH,GAAG;EACH,KAAKA;EACL,GAAGA;EACH,OAAO;EACP;CACD,CAAC;;;;;AAgBF,SAAgB,QAAQ,SAAyB;CAChD,MAAM,iBACL,QAAQ,WAAW,QAAQ,QAAQ,oBAAoB;CACxD,MAAM,iBAAiB,CAAC,MAAM,KAAK;CACnC,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;;;;;;AAoBJ,SAAgB,WAAW,SAA4B;CACtD,MAAM,iBACL,QAAQ,WAAW,QAAQ,QAAQ,oBAAoB;CACxD,MAAM,iBAAiB;EAAC;EAAM;EAAM;EAAK;CACzC,MAAM,iBAAiB;EAAC;EAAU;EAAS;EAAS;AACpD,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,oBAAoB;CACxD,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,SAAS,SAA0B;CAClD,MAAM,iBACL,QAAQ,WAAW,QAAQ,QAAQ,oBAAoB;CACxD,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;;;;;;AAgBJ,SAAgB,YAAY,SAA6B;CACxD,MAAM,iBACL,QAAQ,WAAW,QAAQ,QAAQ,oBAAoB;CACxD,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"}
1
+ {"version":3,"file":"pricing.mjs","names":["i64.I64"],"sources":["../../../src/contracts/deepbook_predict/pricing.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/**\n * Pricing for Predict markets.\n *\n * This module reads canonical Propbook Pyth and Block Scholes feeds and computes\n * SVI-adjusted digital probabilities. Live reads require fresh, pricing-safe Block\n * Scholes spot, forward, and SVI observations. The latest forward is paired with\n * an exact source-timestamp spot from Propbook's bounded recent history. The live\n * forward comes from one of two admin-selected sources\n * (`PricingConfig.use_pyth_spot_for_forward`): a fresh positive Pyth spot carrying\n * the Block Scholes basis, or the Block Scholes forward directly. A load falls\n * back to the Block Scholes forward when the selected Pyth spot is stale or\n * unavailable; valuation prices on that fallback, while every live trade (mints,\n * mint quotes, and live redeems) refuses it through `assert_pyth_spot_fresh`.\n * Exact-history reads do not apply live freshness policy.\n *\n * Delayed execution splits that read in two. `load_vol` validates the same live\n * inputs when an order is admitted and returns the raw Block Scholes basis and SVI\n * its receipt stores; `pricer_at` later rebuilds a `Pricer` from them at the\n * order's committed Pyth tick. The `try_*` reads price exactly as `up_price` and\n * `range_price` do, and return `none` where those abort, so an order-flow fill\n * never aborts on a surface.\n */\n\nimport { MoveStruct, normalizeMoveArguments } from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { U64, U128 } from '../../bcs/integers.js';\nimport { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';\nimport * as i64 from './deps/fixed_math/i64.js';\nconst $moduleName = '@local-pkg/deepbook_predict::pricing';\nexport const VolSnapshot = new MoveStruct({\n\tname: `${$moduleName}::VolSnapshot`,\n\tfields: {\n\t\t/**\n\t\t * Canonical Propbook Pyth source for the market's underlying; commit finds this\n\t\t * feed in each Lazer update.\n\t\t */\n\t\tpyth_source_id: bcs.u32(),\n\t\t/** The matched Block Scholes spot and forward, narrowed to Predict's width. */\n\t\tbs_spot: U64,\n\t\tbs_forward: U64,\n\t\t/** Raw SVI parameters before roll-down, at 1e9. */\n\t\tsvi_a: i64.I64,\n\t\tsvi_b: U64,\n\t\tsvi_rho: i64.I64,\n\t\tsvi_m: i64.I64,\n\t\tsvi_sigma: U64,\n\t\t/**\n\t\t * Provider source timestamps of the three reads. The SVI one is also the roll-down\n\t\t * anchor.\n\t\t */\n\t\tbs_spot_source_timestamp_ms: U64,\n\t\tbs_forward_source_timestamp_ms: U64,\n\t\tsvi_source_timestamp_ms: U64,\n\t},\n});\nexport const PricingSVI = new MoveStruct({\n\tname: `${$moduleName}::PricingSVI`,\n\tfields: {\n\t\t/** Rolled-down SVI `a`, magnitude at 1e18, sign in `a_is_negative`. */\n\t\ta_magnitude: U128,\n\t\ta_is_negative: bcs.bool(),\n\t\t/** Rolled-down SVI `b`, at 1e18. */\n\t\tb: U128,\n\t\trho: i64.I64,\n\t\tm: i64.I64,\n\t\tsigma: U64,\n\t},\n});\nexport const FrozenPricer = new MoveStruct({\n\tname: `${$moduleName}::FrozenPricer`,\n\tfields: {\n\t\texpiry_market_id: bcs.Address,\n\t\tforward: U64,\n\t\tsvi: PricingSVI,\n\t\tpyth_spot_source_timestamp_ms: U64,\n\t\tblock_scholes_spot_source_timestamp_ms: U64,\n\t\tblock_scholes_forward_source_timestamp_ms: U64,\n\t\tblock_scholes_svi_source_timestamp_ms: U64,\n\t},\n});\nexport const Pricer = new MoveStruct({\n\tname: `${$moduleName}::Pricer`,\n\tfields: {\n\t\t/** Expiry market this snapshot was loaded for. */\n\t\texpiry_market_id: bcs.Address,\n\t\tforward: U64,\n\t\tsvi: PricingSVI,\n\t\t/**\n\t\t * Timestamps of the oracle observations this snapshot validated, as trade events\n\t\t * report them — each observation's own economic clock. Pyth carries its source\n\t\t * timestamp (`0` only when no usable normalized observation exists; a `pricer_at`\n\t\t * Pricer carries the committed update's generation time); Block Scholes spot and\n\t\t * forward carry the provider `value_timestamp`, and SVI carries the provider\n\t\t * `svi_timestamp`. Those timestamps are the clocks freshness gates and SVI\n\t\t * roll-down use. The Pyth timestamp, including its `0` sentinel, is also what\n\t\t * `assert_pyth_spot_fresh` gates live trades on, so it must stay the value the\n\t\t * load's forward selection read.\n\t\t */\n\t\tpyth_spot_source_timestamp_ms: U64,\n\t\tblock_scholes_spot_source_timestamp_ms: U64,\n\t\tblock_scholes_forward_source_timestamp_ms: U64,\n\t\tblock_scholes_svi_source_timestamp_ms: U64,\n\t},\n});\nexport const RangePrice = new MoveStruct({\n\tname: `${$moduleName}::RangePrice`,\n\tfields: {\n\t\tlower_up: bcs.option(U64),\n\t\thigher_up: bcs.option(U64),\n\t},\n});\nexport const RawSVI = new MoveStruct({\n\tname: `${$moduleName}::RawSVI`,\n\tfields: {\n\t\ta: i64.I64,\n\t\tb: U64,\n\t\trho: i64.I64,\n\t\tm: i64.I64,\n\t\tsigma: U64,\n\t},\n});\nexport interface UpPriceArguments {\n\tpricer: TransactionArgument;\n\tstrike: TransactionArgument;\n}\nexport interface UpPriceOptions {\n\tpackage?: string;\n\targuments: UpPriceArguments | [pricer: TransactionArgument, strike: TransactionArgument];\n\tconfig?: {\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Return the current UP digital probability for a typed strike. Public PTB and\n * devInspect reads can compose it with a transaction-local `Pricer`.\n */\nexport function upPrice(options: UpPriceOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null] satisfies (string | null)[];\n\tconst parameterNames = ['pricer', 'strike'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pricing',\n\t\t\tfunction: 'up_price',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface RangePriceArguments {\n\tpricer: TransactionArgument;\n\tlower: TransactionArgument;\n\thigher: TransactionArgument;\n}\nexport interface RangePriceOptions {\n\tpackage?: string;\n\targuments:\n\t\t| RangePriceArguments\n\t\t| [pricer: TransactionArgument, lower: TransactionArgument, higher: TransactionArgument];\n\tconfig?: {\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Return both boundary probabilities for `(lower, higher]`. Use `probability()`\n * for the combined range probability; absent boundaries are infinite sentinels.\n */\nexport function rangePrice(options: RangePriceOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['pricer', 'lower', 'higher'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pricing',\n\t\t\tfunction: 'range_price',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface LowerUpArguments {\n\tprice: TransactionArgument;\n}\nexport interface LowerUpOptions {\n\tpackage?: string;\n\targuments: LowerUpArguments | [price: TransactionArgument];\n\tconfig?: {\n\t\tpredictPackageId?: string;\n\t};\n}\nexport function lowerUp(options: LowerUpOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\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: 'pricing',\n\t\t\tfunction: 'lower_up',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface HigherUpArguments {\n\tprice: TransactionArgument;\n}\nexport interface HigherUpOptions {\n\tpackage?: string;\n\targuments: HigherUpArguments | [price: TransactionArgument];\n\tconfig?: {\n\t\tpredictPackageId?: string;\n\t};\n}\nexport function higherUp(options: HigherUpOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\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: 'pricing',\n\t\t\tfunction: 'higher_up',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface ProbabilityArguments {\n\tprice: TransactionArgument;\n}\nexport interface ProbabilityOptions {\n\tpackage?: string;\n\targuments: ProbabilityArguments | [price: TransactionArgument];\n\tconfig?: {\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Return the combined probability, floored at zero if approximated boundary prices\n * invert.\n */\nexport function probability(options: ProbabilityOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\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: 'pricing',\n\t\t\tfunction: 'probability',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,MAAM,cAAc;AACpB,MAAa,cAAc,IAAI,WAAW;CACzC,MAAM,GAAG,YAAY;CACrB,QAAQ;EAKP,gBAAgB,IAAI,KAAK;EAEzB,SAAS;EACT,YAAY;EAEZ,OAAOA;EACP,OAAO;EACP,SAASA;EACT,OAAOA;EACP,WAAW;EAKX,6BAA6B;EAC7B,gCAAgC;EAChC,yBAAyB;EACzB;CACD,CAAC;AACF,MAAa,aAAa,IAAI,WAAW;CACxC,MAAM,GAAG,YAAY;CACrB,QAAQ;EAEP,aAAa;EACb,eAAe,IAAI,MAAM;EAEzB,GAAG;EACH,KAAKA;EACL,GAAGA;EACH,OAAO;EACP;CACD,CAAC;AACF,MAAa,eAAe,IAAI,WAAW;CAC1C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,kBAAkB,IAAI;EACtB,SAAS;EACT,KAAK;EACL,+BAA+B;EAC/B,wCAAwC;EACxC,2CAA2C;EAC3C,uCAAuC;EACvC;CACD,CAAC;AACF,MAAa,SAAS,IAAI,WAAW;CACpC,MAAM,GAAG,YAAY;CACrB,QAAQ;EAEP,kBAAkB,IAAI;EACtB,SAAS;EACT,KAAK;EAYL,+BAA+B;EAC/B,wCAAwC;EACxC,2CAA2C;EAC3C,uCAAuC;EACvC;CACD,CAAC;AACF,MAAa,aAAa,IAAI,WAAW;CACxC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,UAAU,IAAI,OAAO,IAAI;EACzB,WAAW,IAAI,OAAO,IAAI;EAC1B;CACD,CAAC;AACF,MAAa,SAAS,IAAI,WAAW;CACpC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,GAAGA;EACH,GAAG;EACH,KAAKA;EACL,GAAGA;EACH,OAAO;EACP;CACD,CAAC;;;;;AAgBF,SAAgB,QAAQ,SAAyB;CAChD,MAAM,iBACL,QAAQ,WAAW,QAAQ,QAAQ,oBAAoB;CACxD,MAAM,iBAAiB,CAAC,MAAM,KAAK;CACnC,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;;;;;;AAoBJ,SAAgB,WAAW,SAA4B;CACtD,MAAM,iBACL,QAAQ,WAAW,QAAQ,QAAQ,oBAAoB;CACxD,MAAM,iBAAiB;EAAC;EAAM;EAAM;EAAK;CACzC,MAAM,iBAAiB;EAAC;EAAU;EAAS;EAAS;AACpD,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,oBAAoB;CACxD,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,SAAS,SAA0B;CAClD,MAAM,iBACL,QAAQ,WAAW,QAAQ,QAAQ,oBAAoB;CACxD,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;;;;;;AAgBJ,SAAgB,YAAY,SAA6B;CACxD,MAAM,iBACL,QAAQ,WAAW,QAAQ,QAAQ,oBAAoB;CACxD,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pricing_config.mjs","names":[],"sources":["../../../src/contracts/deepbook_predict/pricing_config.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/**\n * Stored oracle source-selection and freshness config for Predict quotes.\n *\n * ProtocolConfig owns this mutable policy. Pricing reads it when resolving live\n * probabilities for mint and redeem flows.\n */\n\nimport { MoveStruct } from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { U64 } from '../../bcs/integers.js';\nconst $moduleName = '@local-pkg/deepbook_predict::pricing_config';\nexport const PricingConfig = new MoveStruct({\n\tname: `${$moduleName}::PricingConfig`,\n\tfields: {\n\t\t/**\n\t\t * Selects which live-forward formula pricing uses. True carries the Block Scholes\n\t\t * basis on a fresh Pyth spot (`pyth_spot * bs_forward / bs_spot`); false uses the\n\t\t * Block Scholes forward directly and no Pyth spot, fresh or not, moves a quote.\n\t\t */\n\t\tuse_pyth_spot_for_forward: bcs.bool(),\n\t\t/**\n\t\t * Fixed wall-clock maximum age for Pyth spot; it does not vary with time to\n\t\t * expiry.\n\t\t */\n\t\tpyth_spot_freshness_ms: U64,\n\t\t/**\n\t\t * Fixed wall-clock maximum age for Block Scholes spot and forward; it does not\n\t\t * vary with time to expiry.\n\t\t */\n\t\tblock_scholes_price_freshness_ms: U64,\n\t\t/**\n\t\t * Fixed wall-clock maximum age for Block Scholes SVI parameters; it does not vary\n\t\t * with time to expiry.\n\t\t */\n\t\tblock_scholes_svi_freshness_ms: U64,\n\t},\n});\n"],"mappings":";;;;;;;;;;;;;;AAcA,MAAM,cAAc;AACpB,MAAa,gBAAgB,IAAI,WAAW;CAC3C,MAAM,GAAG,YAAY;CACrB,QAAQ;EAMP,2BAA2B,IAAI,MAAM;EAKrC,wBAAwB;EAKxB,kCAAkC;EAKlC,gCAAgC;EAChC;CACD,CAAC"}
1
+ {"version":3,"file":"pricing_config.mjs","names":[],"sources":["../../../src/contracts/deepbook_predict/pricing_config.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/**\n * Stored oracle source-selection and freshness config for Predict quotes.\n *\n * ProtocolConfig owns this mutable policy. Pricing reads it when resolving live\n * probabilities for mint and redeem flows.\n */\n\nimport { MoveStruct } from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { U64 } from '../../bcs/integers.js';\nconst $moduleName = '@local-pkg/deepbook_predict::pricing_config';\nexport const PricingConfig = new MoveStruct({\n\tname: `${$moduleName}::PricingConfig`,\n\tfields: {\n\t\t/**\n\t\t * Selects which live-forward formula pricing uses. True carries the Block Scholes\n\t\t * basis on a fresh Pyth spot (`pyth_spot * bs_forward / bs_spot`); false uses the\n\t\t * Block Scholes forward directly and no Pyth spot, fresh or not, moves a quote.\n\t\t */\n\t\tuse_pyth_spot_for_forward: bcs.bool(),\n\t\t/**\n\t\t * Fixed wall-clock maximum age for Pyth spot; it does not vary with time to\n\t\t * expiry. Past it, while `use_pyth_spot_for_forward` is set, a live load falls\n\t\t * back to the Block Scholes forward, which valuation prices on and every live\n\t\t * trade (mint, mint quote, live redeem) refuses.\n\t\t */\n\t\tpyth_spot_freshness_ms: U64,\n\t\t/**\n\t\t * Fixed wall-clock maximum age for Block Scholes spot and forward; it does not\n\t\t * vary with time to expiry.\n\t\t */\n\t\tblock_scholes_price_freshness_ms: U64,\n\t\t/**\n\t\t * Fixed wall-clock maximum age for Block Scholes SVI parameters; it does not vary\n\t\t * with time to expiry.\n\t\t */\n\t\tblock_scholes_svi_freshness_ms: U64,\n\t},\n});\n"],"mappings":";;;;;;;;;;;;;;AAcA,MAAM,cAAc;AACpB,MAAa,gBAAgB,IAAI,WAAW;CAC3C,MAAM,GAAG,YAAY;CACrB,QAAQ;EAMP,2BAA2B,IAAI,MAAM;EAOrC,wBAAwB;EAKxB,kCAAkC;EAKlC,gCAAgC;EAChC;CACD,CAAC"}