@mysten/deepbook-v3 1.5.9 → 1.6.3

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 (183) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/dist/client.d.mts +5 -0
  3. package/dist/client.d.mts.map +1 -1
  4. package/dist/client.mjs +7 -0
  5. package/dist/client.mjs.map +1 -1
  6. package/dist/contracts/deepbook/account.d.mts +18 -18
  7. package/dist/contracts/deepbook/balance_manager.mjs +413 -0
  8. package/dist/contracts/deepbook/balance_manager.mjs.map +1 -0
  9. package/dist/contracts/deepbook/balances.d.mts +4 -4
  10. package/dist/contracts/deepbook/balances.d.mts.map +1 -1
  11. package/dist/contracts/deepbook/big_vector.mjs +43 -0
  12. package/dist/contracts/deepbook/big_vector.mjs.map +1 -0
  13. package/dist/contracts/deepbook/book.mjs +29 -0
  14. package/dist/contracts/deepbook/book.mjs.map +1 -0
  15. package/dist/contracts/deepbook/deep_price.mjs +1 -1
  16. package/dist/contracts/deepbook/deps/std/type_name.mjs +17 -0
  17. package/dist/contracts/deepbook/deps/std/type_name.mjs.map +1 -0
  18. package/dist/contracts/deepbook/deps/sui/bag.mjs +43 -0
  19. package/dist/contracts/deepbook/deps/sui/bag.mjs.map +1 -0
  20. package/dist/contracts/deepbook/deps/sui/balance.mjs +21 -0
  21. package/dist/contracts/deepbook/deps/sui/balance.mjs.map +1 -0
  22. package/dist/contracts/deepbook/deps/sui/table.mjs +38 -0
  23. package/dist/contracts/deepbook/deps/sui/table.mjs.map +1 -0
  24. package/dist/contracts/deepbook/deps/sui/vec_map.mjs +37 -0
  25. package/dist/contracts/deepbook/deps/sui/vec_map.mjs.map +1 -0
  26. package/dist/contracts/deepbook/deps/sui/versioned.mjs +19 -0
  27. package/dist/contracts/deepbook/deps/sui/versioned.mjs.map +1 -0
  28. package/dist/contracts/deepbook/governance.mjs +49 -0
  29. package/dist/contracts/deepbook/governance.mjs.map +1 -0
  30. package/dist/contracts/deepbook/history.mjs +56 -0
  31. package/dist/contracts/deepbook/history.mjs.map +1 -0
  32. package/dist/contracts/deepbook/pool.mjs +1739 -0
  33. package/dist/contracts/deepbook/pool.mjs.map +1 -0
  34. package/dist/contracts/deepbook/registry.mjs +295 -0
  35. package/dist/contracts/deepbook/registry.mjs.map +1 -0
  36. package/dist/contracts/deepbook/state.mjs +89 -0
  37. package/dist/contracts/deepbook/state.mjs.map +1 -0
  38. package/dist/contracts/deepbook/trade_params.mjs +21 -0
  39. package/dist/contracts/deepbook/trade_params.mjs.map +1 -0
  40. package/dist/contracts/deepbook/vault.mjs +42 -0
  41. package/dist/contracts/deepbook/vault.mjs.map +1 -0
  42. package/dist/contracts/deepbook_margin/deps/deepbook/balance_manager.mjs +53 -0
  43. package/dist/contracts/deepbook_margin/deps/deepbook/balance_manager.mjs.map +1 -0
  44. package/dist/contracts/deepbook_margin/deps/std/type_name.mjs +17 -0
  45. package/dist/contracts/deepbook_margin/deps/std/type_name.mjs.map +1 -0
  46. package/dist/contracts/deepbook_margin/deps/sui/bag.mjs +43 -0
  47. package/dist/contracts/deepbook_margin/deps/sui/bag.mjs.map +1 -0
  48. package/dist/contracts/deepbook_margin/deps/sui/balance.mjs +21 -0
  49. package/dist/contracts/deepbook_margin/deps/sui/balance.mjs.map +1 -0
  50. package/dist/contracts/deepbook_margin/deps/sui/table.mjs +38 -0
  51. package/dist/contracts/deepbook_margin/deps/sui/table.mjs.map +1 -0
  52. package/dist/contracts/deepbook_margin/deps/sui/vec_map.mjs +37 -0
  53. package/dist/contracts/deepbook_margin/deps/sui/vec_map.mjs.map +1 -0
  54. package/dist/contracts/deepbook_margin/deps/sui/vec_set.mjs +26 -0
  55. package/dist/contracts/deepbook_margin/deps/sui/vec_set.mjs.map +1 -0
  56. package/dist/contracts/deepbook_margin/deps/sui/versioned.mjs +19 -0
  57. package/dist/contracts/deepbook_margin/deps/sui/versioned.mjs.map +1 -0
  58. package/dist/contracts/deepbook_margin/margin_manager.mjs +989 -0
  59. package/dist/contracts/deepbook_margin/margin_manager.mjs.map +1 -0
  60. package/dist/contracts/deepbook_margin/margin_pool.mjs +550 -0
  61. package/dist/contracts/deepbook_margin/margin_pool.mjs.map +1 -0
  62. package/dist/contracts/deepbook_margin/margin_registry.mjs +786 -0
  63. package/dist/contracts/deepbook_margin/margin_registry.mjs.map +1 -0
  64. package/dist/contracts/deepbook_margin/margin_state.mjs +30 -0
  65. package/dist/contracts/deepbook_margin/margin_state.mjs.map +1 -0
  66. package/dist/contracts/deepbook_margin/oracle.mjs +82 -0
  67. package/dist/contracts/deepbook_margin/oracle.mjs.map +1 -0
  68. package/dist/contracts/deepbook_margin/pool_proxy.mjs +644 -0
  69. package/dist/contracts/deepbook_margin/pool_proxy.mjs.map +1 -0
  70. package/dist/contracts/deepbook_margin/position_manager.mjs +32 -0
  71. package/dist/contracts/deepbook_margin/position_manager.mjs.map +1 -0
  72. package/dist/contracts/deepbook_margin/protocol_config.mjs +122 -0
  73. package/dist/contracts/deepbook_margin/protocol_config.mjs.map +1 -0
  74. package/dist/contracts/deepbook_margin/protocol_fees.mjs +58 -0
  75. package/dist/contracts/deepbook_margin/protocol_fees.mjs.map +1 -0
  76. package/dist/contracts/deepbook_margin/rate_limiter.mjs +26 -0
  77. package/dist/contracts/deepbook_margin/rate_limiter.mjs.map +1 -0
  78. package/dist/contracts/deepbook_margin/tpsl.mjs +171 -0
  79. package/dist/contracts/deepbook_margin/tpsl.mjs.map +1 -0
  80. package/dist/contracts/margin_liquidation/deps/sui/bag.mjs +43 -0
  81. package/dist/contracts/margin_liquidation/deps/sui/bag.mjs.map +1 -0
  82. package/dist/contracts/margin_liquidation/liquidation_vault.mjs +179 -0
  83. package/dist/contracts/margin_liquidation/liquidation_vault.mjs.map +1 -0
  84. package/dist/contracts/utils/index.d.mts +1 -1
  85. package/dist/contracts/utils/index.mjs +92 -3
  86. package/dist/contracts/utils/index.mjs.map +1 -1
  87. package/dist/queries/registryQueries.mjs +13 -0
  88. package/dist/queries/registryQueries.mjs.map +1 -1
  89. package/dist/transactions/balanceManager.d.mts +12 -12
  90. package/dist/transactions/balanceManager.d.mts.map +1 -1
  91. package/dist/transactions/balanceManager.mjs +119 -100
  92. package/dist/transactions/balanceManager.mjs.map +1 -1
  93. package/dist/transactions/deepbook.d.mts +20 -20
  94. package/dist/transactions/deepbook.d.mts.map +1 -1
  95. package/dist/transactions/deepbook.mjs +464 -439
  96. package/dist/transactions/deepbook.mjs.map +1 -1
  97. package/dist/transactions/deepbookAdmin.d.mts +4 -4
  98. package/dist/transactions/deepbookAdmin.d.mts.map +1 -1
  99. package/dist/transactions/deepbookAdmin.mjs +151 -135
  100. package/dist/transactions/deepbookAdmin.mjs.map +1 -1
  101. package/dist/transactions/flashLoans.d.mts.map +1 -1
  102. package/dist/transactions/flashLoans.mjs +29 -22
  103. package/dist/transactions/flashLoans.mjs.map +1 -1
  104. package/dist/transactions/governance.d.mts.map +1 -1
  105. package/dist/transactions/governance.mjs +34 -33
  106. package/dist/transactions/governance.mjs.map +1 -1
  107. package/dist/transactions/marginAdmin.d.mts +17 -7
  108. package/dist/transactions/marginAdmin.d.mts.map +1 -1
  109. package/dist/transactions/marginAdmin.mjs +186 -169
  110. package/dist/transactions/marginAdmin.mjs.map +1 -1
  111. package/dist/transactions/marginLiquidations.d.mts +3 -3
  112. package/dist/transactions/marginLiquidations.d.mts.map +1 -1
  113. package/dist/transactions/marginLiquidations.mjs +53 -54
  114. package/dist/transactions/marginLiquidations.mjs.map +1 -1
  115. package/dist/transactions/marginMaintainer.d.mts +5 -5
  116. package/dist/transactions/marginMaintainer.d.mts.map +1 -1
  117. package/dist/transactions/marginMaintainer.mjs +83 -83
  118. package/dist/transactions/marginMaintainer.mjs.map +1 -1
  119. package/dist/transactions/marginManager.d.mts +32 -32
  120. package/dist/transactions/marginManager.d.mts.map +1 -1
  121. package/dist/transactions/marginManager.mjs +330 -311
  122. package/dist/transactions/marginManager.mjs.map +1 -1
  123. package/dist/transactions/marginPool.d.mts +18 -18
  124. package/dist/transactions/marginPool.d.mts.map +1 -1
  125. package/dist/transactions/marginPool.mjs +93 -89
  126. package/dist/transactions/marginPool.mjs.map +1 -1
  127. package/dist/transactions/marginRegistry.d.mts +22 -15
  128. package/dist/transactions/marginRegistry.d.mts.map +1 -1
  129. package/dist/transactions/marginRegistry.mjs +101 -68
  130. package/dist/transactions/marginRegistry.mjs.map +1 -1
  131. package/dist/transactions/marginTPSL.d.mts +27 -9
  132. package/dist/transactions/marginTPSL.d.mts.map +1 -1
  133. package/dist/transactions/marginTPSL.mjs +108 -82
  134. package/dist/transactions/marginTPSL.mjs.map +1 -1
  135. package/dist/transactions/poolProxy.d.mts +37 -5
  136. package/dist/transactions/poolProxy.d.mts.map +1 -1
  137. package/dist/transactions/poolProxy.mjs +269 -189
  138. package/dist/transactions/poolProxy.mjs.map +1 -1
  139. package/dist/utils/constants.mjs +4 -4
  140. package/dist/utils/constants.mjs.map +1 -1
  141. package/package.json +2 -2
  142. package/src/client.ts +8 -0
  143. package/src/contracts/deepbook/balance_manager.ts +46 -5
  144. package/src/contracts/deepbook/constants.ts +13 -0
  145. package/src/contracts/deepbook/pool.ts +133 -0
  146. package/src/contracts/deepbook/registry.ts +136 -1
  147. package/src/contracts/deepbook_margin/deps/deepbook/balance_manager.ts +49 -0
  148. package/src/contracts/deepbook_margin/deps/std/type_name.ts +24 -0
  149. package/src/contracts/deepbook_margin/deps/sui/bag.ts +41 -0
  150. package/src/contracts/deepbook_margin/deps/sui/balance.ts +19 -0
  151. package/src/contracts/deepbook_margin/deps/sui/table.ts +36 -0
  152. package/src/contracts/deepbook_margin/deps/sui/vec_map.ts +33 -0
  153. package/src/contracts/deepbook_margin/deps/sui/vec_set.ts +22 -0
  154. package/src/contracts/deepbook_margin/deps/sui/versioned.ts +13 -0
  155. package/src/contracts/deepbook_margin/margin_constants.ts +329 -0
  156. package/src/contracts/deepbook_margin/margin_manager.ts +1772 -0
  157. package/src/contracts/deepbook_margin/margin_pool.ts +1129 -0
  158. package/src/contracts/deepbook_margin/margin_registry.ts +1207 -0
  159. package/src/contracts/deepbook_margin/margin_state.ts +26 -0
  160. package/src/contracts/deepbook_margin/oracle.ts +99 -0
  161. package/src/contracts/deepbook_margin/pool_proxy.ts +1298 -0
  162. package/src/contracts/deepbook_margin/position_manager.ts +28 -0
  163. package/src/contracts/deepbook_margin/protocol_config.ts +163 -0
  164. package/src/contracts/deepbook_margin/protocol_fees.ts +153 -0
  165. package/src/contracts/deepbook_margin/rate_limiter.ts +80 -0
  166. package/src/contracts/deepbook_margin/tpsl.ts +559 -0
  167. package/src/contracts/margin_liquidation/deps/sui/bag.ts +41 -0
  168. package/src/contracts/margin_liquidation/liquidation_vault.ts +401 -0
  169. package/src/queries/registryQueries.ts +15 -0
  170. package/src/transactions/balanceManager.ts +140 -90
  171. package/src/transactions/deepbook.ts +586 -494
  172. package/src/transactions/deepbookAdmin.ts +154 -146
  173. package/src/transactions/flashLoans.ts +29 -20
  174. package/src/transactions/governance.ts +50 -37
  175. package/src/transactions/marginAdmin.ts +247 -188
  176. package/src/transactions/marginLiquidations.ts +70 -55
  177. package/src/transactions/marginMaintainer.ts +106 -88
  178. package/src/transactions/marginManager.ts +414 -348
  179. package/src/transactions/marginPool.ts +140 -103
  180. package/src/transactions/marginRegistry.ts +103 -70
  181. package/src/transactions/marginTPSL.ts +151 -87
  182. package/src/transactions/poolProxy.ts +384 -205
  183. package/src/utils/constants.ts +4 -4
@@ -0,0 +1,26 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+
5
+ /**
6
+ * Margin state manages the total supply and borrow of the margin pool. Whenever
7
+ * supply and borrow increases or decreases, the interest and protocol fees are
8
+ * updated. Shares represent the constant amount and are used to calculate amounts
9
+ * after interest and protocol fees are applied.
10
+ */
11
+
12
+ import { MoveStruct } from '../utils/index.js';
13
+ import { bcs } from '@mysten/sui/bcs';
14
+ import * as vec_map from './deps/sui/vec_map.js';
15
+ const $moduleName = '@deepbook/margin::margin_state';
16
+ export const State = new MoveStruct({
17
+ name: `${$moduleName}::State`,
18
+ fields: {
19
+ total_supply: bcs.u64(),
20
+ total_borrow: bcs.u64(),
21
+ supply_shares: bcs.u64(),
22
+ borrow_shares: bcs.u64(),
23
+ last_update_timestamp: bcs.u64(),
24
+ extra_fields: vec_map.VecMap(bcs.string(), bcs.u64()),
25
+ },
26
+ });
@@ -0,0 +1,99 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+
5
+ /** Oracle module for margin trading. */
6
+
7
+ import { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';
8
+ import { bcs } from '@mysten/sui/bcs';
9
+ import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
10
+ import * as type_name from './deps/std/type_name.js';
11
+ import * as vec_map from './deps/sui/vec_map.js';
12
+ const $moduleName = '@deepbook/margin::oracle';
13
+ export const CoinTypeData = new MoveStruct({
14
+ name: `${$moduleName}::CoinTypeData`,
15
+ fields: {
16
+ decimals: bcs.u8(),
17
+ price_feed_id: bcs.vector(bcs.u8()),
18
+ type_name: type_name.TypeName,
19
+ max_conf_bps: bcs.u64(),
20
+ max_ewma_difference_bps: bcs.u64(),
21
+ },
22
+ });
23
+ export const PythConfig = new MoveStruct({
24
+ name: `${$moduleName}::PythConfig`,
25
+ fields: {
26
+ currencies: vec_map.VecMap(type_name.TypeName, CoinTypeData),
27
+ max_age_secs: bcs.u64(),
28
+ },
29
+ });
30
+ export const ConversionConfig = new MoveStruct({
31
+ name: `${$moduleName}::ConversionConfig`,
32
+ fields: {
33
+ target_decimals: bcs.u8(),
34
+ base_decimals: bcs.u8(),
35
+ pyth_price: bcs.u64(),
36
+ pyth_decimals: bcs.u8(),
37
+ },
38
+ });
39
+ export interface NewCoinTypeDataFromCurrencyArguments {
40
+ currency: RawTransactionArgument<string>;
41
+ priceFeedId: RawTransactionArgument<Array<number>>;
42
+ maxConfBps: RawTransactionArgument<number | bigint>;
43
+ maxEwmaDifferenceBps: RawTransactionArgument<number | bigint>;
44
+ }
45
+ export interface NewCoinTypeDataFromCurrencyOptions {
46
+ package?: string;
47
+ arguments:
48
+ | NewCoinTypeDataFromCurrencyArguments
49
+ | [
50
+ currency: RawTransactionArgument<string>,
51
+ priceFeedId: RawTransactionArgument<Array<number>>,
52
+ maxConfBps: RawTransactionArgument<number | bigint>,
53
+ maxEwmaDifferenceBps: RawTransactionArgument<number | bigint>,
54
+ ];
55
+ typeArguments: [string];
56
+ }
57
+ /**
58
+ * Creates a new CoinTypeData struct of type T. Uses Currency to avoid any errors
59
+ * in decimals.
60
+ */
61
+ export function newCoinTypeDataFromCurrency(options: NewCoinTypeDataFromCurrencyOptions) {
62
+ const packageAddress = options.package ?? '@deepbook/margin';
63
+ const argumentsTypes = [null, 'vector<u8>', 'u64', 'u64'] satisfies (string | null)[];
64
+ const parameterNames = ['currency', 'priceFeedId', 'maxConfBps', 'maxEwmaDifferenceBps'];
65
+ return (tx: Transaction) =>
66
+ tx.moveCall({
67
+ package: packageAddress,
68
+ module: 'oracle',
69
+ function: 'new_coin_type_data_from_currency',
70
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
71
+ typeArguments: options.typeArguments,
72
+ });
73
+ }
74
+ export interface NewPythConfigArguments {
75
+ setups: TransactionArgument;
76
+ maxAgeSecs: RawTransactionArgument<number | bigint>;
77
+ }
78
+ export interface NewPythConfigOptions {
79
+ package?: string;
80
+ arguments:
81
+ | NewPythConfigArguments
82
+ | [setups: TransactionArgument, maxAgeSecs: RawTransactionArgument<number | bigint>];
83
+ }
84
+ /**
85
+ * Creates a new PythConfig struct. Can be attached by the Admin to MarginRegistry
86
+ * to allow oracle to work.
87
+ */
88
+ export function newPythConfig(options: NewPythConfigOptions) {
89
+ const packageAddress = options.package ?? '@deepbook/margin';
90
+ const argumentsTypes = ['vector<null>', 'u64'] satisfies (string | null)[];
91
+ const parameterNames = ['setups', 'maxAgeSecs'];
92
+ return (tx: Transaction) =>
93
+ tx.moveCall({
94
+ package: packageAddress,
95
+ module: 'oracle',
96
+ function: 'new_pyth_config',
97
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
98
+ });
99
+ }