@mysten/deepbook-v3 1.5.8 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/CHANGELOG.md +73 -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/account.d.mts.map +1 -1
  8. package/dist/contracts/deepbook/balance_manager.mjs +413 -0
  9. package/dist/contracts/deepbook/balance_manager.mjs.map +1 -0
  10. package/dist/contracts/deepbook/big_vector.mjs +43 -0
  11. package/dist/contracts/deepbook/big_vector.mjs.map +1 -0
  12. package/dist/contracts/deepbook/book.mjs +29 -0
  13. package/dist/contracts/deepbook/book.mjs.map +1 -0
  14. package/dist/contracts/deepbook/deep_price.d.mts +3 -3
  15. package/dist/contracts/deepbook/deep_price.d.mts.map +1 -1
  16. package/dist/contracts/deepbook/deep_price.mjs +1 -1
  17. package/dist/contracts/deepbook/deps/std/type_name.mjs +17 -0
  18. package/dist/contracts/deepbook/deps/std/type_name.mjs.map +1 -0
  19. package/dist/contracts/deepbook/deps/sui/bag.mjs +43 -0
  20. package/dist/contracts/deepbook/deps/sui/bag.mjs.map +1 -0
  21. package/dist/contracts/deepbook/deps/sui/balance.mjs +21 -0
  22. package/dist/contracts/deepbook/deps/sui/balance.mjs.map +1 -0
  23. package/dist/contracts/deepbook/deps/sui/table.mjs +38 -0
  24. package/dist/contracts/deepbook/deps/sui/table.mjs.map +1 -0
  25. package/dist/contracts/deepbook/deps/sui/vec_map.mjs +37 -0
  26. package/dist/contracts/deepbook/deps/sui/vec_map.mjs.map +1 -0
  27. package/dist/contracts/deepbook/deps/sui/versioned.mjs +19 -0
  28. package/dist/contracts/deepbook/deps/sui/versioned.mjs.map +1 -0
  29. package/dist/contracts/deepbook/governance.mjs +49 -0
  30. package/dist/contracts/deepbook/governance.mjs.map +1 -0
  31. package/dist/contracts/deepbook/history.mjs +56 -0
  32. package/dist/contracts/deepbook/history.mjs.map +1 -0
  33. package/dist/contracts/deepbook/order.d.mts +12 -12
  34. package/dist/contracts/deepbook/pool.mjs +1739 -0
  35. package/dist/contracts/deepbook/pool.mjs.map +1 -0
  36. package/dist/contracts/deepbook/registry.mjs +295 -0
  37. package/dist/contracts/deepbook/registry.mjs.map +1 -0
  38. package/dist/contracts/deepbook/state.mjs +89 -0
  39. package/dist/contracts/deepbook/state.mjs.map +1 -0
  40. package/dist/contracts/deepbook/trade_params.mjs +21 -0
  41. package/dist/contracts/deepbook/trade_params.mjs.map +1 -0
  42. package/dist/contracts/deepbook/vault.mjs +42 -0
  43. package/dist/contracts/deepbook/vault.mjs.map +1 -0
  44. package/dist/contracts/deepbook_margin/deps/deepbook/balance_manager.mjs +53 -0
  45. package/dist/contracts/deepbook_margin/deps/deepbook/balance_manager.mjs.map +1 -0
  46. package/dist/contracts/deepbook_margin/deps/std/type_name.mjs +17 -0
  47. package/dist/contracts/deepbook_margin/deps/std/type_name.mjs.map +1 -0
  48. package/dist/contracts/deepbook_margin/deps/sui/bag.mjs +43 -0
  49. package/dist/contracts/deepbook_margin/deps/sui/bag.mjs.map +1 -0
  50. package/dist/contracts/deepbook_margin/deps/sui/balance.mjs +21 -0
  51. package/dist/contracts/deepbook_margin/deps/sui/balance.mjs.map +1 -0
  52. package/dist/contracts/deepbook_margin/deps/sui/table.mjs +38 -0
  53. package/dist/contracts/deepbook_margin/deps/sui/table.mjs.map +1 -0
  54. package/dist/contracts/deepbook_margin/deps/sui/vec_map.mjs +37 -0
  55. package/dist/contracts/deepbook_margin/deps/sui/vec_map.mjs.map +1 -0
  56. package/dist/contracts/deepbook_margin/deps/sui/vec_set.mjs +26 -0
  57. package/dist/contracts/deepbook_margin/deps/sui/vec_set.mjs.map +1 -0
  58. package/dist/contracts/deepbook_margin/deps/sui/versioned.mjs +19 -0
  59. package/dist/contracts/deepbook_margin/deps/sui/versioned.mjs.map +1 -0
  60. package/dist/contracts/deepbook_margin/margin_manager.mjs +989 -0
  61. package/dist/contracts/deepbook_margin/margin_manager.mjs.map +1 -0
  62. package/dist/contracts/deepbook_margin/margin_pool.mjs +550 -0
  63. package/dist/contracts/deepbook_margin/margin_pool.mjs.map +1 -0
  64. package/dist/contracts/deepbook_margin/margin_registry.mjs +786 -0
  65. package/dist/contracts/deepbook_margin/margin_registry.mjs.map +1 -0
  66. package/dist/contracts/deepbook_margin/margin_state.mjs +30 -0
  67. package/dist/contracts/deepbook_margin/margin_state.mjs.map +1 -0
  68. package/dist/contracts/deepbook_margin/oracle.mjs +82 -0
  69. package/dist/contracts/deepbook_margin/oracle.mjs.map +1 -0
  70. package/dist/contracts/deepbook_margin/pool_proxy.mjs +644 -0
  71. package/dist/contracts/deepbook_margin/pool_proxy.mjs.map +1 -0
  72. package/dist/contracts/deepbook_margin/position_manager.mjs +32 -0
  73. package/dist/contracts/deepbook_margin/position_manager.mjs.map +1 -0
  74. package/dist/contracts/deepbook_margin/protocol_config.mjs +122 -0
  75. package/dist/contracts/deepbook_margin/protocol_config.mjs.map +1 -0
  76. package/dist/contracts/deepbook_margin/protocol_fees.mjs +58 -0
  77. package/dist/contracts/deepbook_margin/protocol_fees.mjs.map +1 -0
  78. package/dist/contracts/deepbook_margin/rate_limiter.mjs +26 -0
  79. package/dist/contracts/deepbook_margin/rate_limiter.mjs.map +1 -0
  80. package/dist/contracts/deepbook_margin/tpsl.mjs +171 -0
  81. package/dist/contracts/deepbook_margin/tpsl.mjs.map +1 -0
  82. package/dist/contracts/margin_liquidation/deps/sui/bag.mjs +43 -0
  83. package/dist/contracts/margin_liquidation/deps/sui/bag.mjs.map +1 -0
  84. package/dist/contracts/margin_liquidation/liquidation_vault.mjs +179 -0
  85. package/dist/contracts/margin_liquidation/liquidation_vault.mjs.map +1 -0
  86. package/dist/contracts/utils/index.d.mts +1 -1
  87. package/dist/contracts/utils/index.mjs +92 -3
  88. package/dist/contracts/utils/index.mjs.map +1 -1
  89. package/dist/queries/registryQueries.mjs +13 -0
  90. package/dist/queries/registryQueries.mjs.map +1 -1
  91. package/dist/transactions/balanceManager.d.mts.map +1 -1
  92. package/dist/transactions/balanceManager.mjs +119 -100
  93. package/dist/transactions/balanceManager.mjs.map +1 -1
  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.map +1 -1
  98. package/dist/transactions/deepbookAdmin.mjs +151 -135
  99. package/dist/transactions/deepbookAdmin.mjs.map +1 -1
  100. package/dist/transactions/flashLoans.d.mts.map +1 -1
  101. package/dist/transactions/flashLoans.mjs +29 -22
  102. package/dist/transactions/flashLoans.mjs.map +1 -1
  103. package/dist/transactions/governance.d.mts.map +1 -1
  104. package/dist/transactions/governance.mjs +34 -33
  105. package/dist/transactions/governance.mjs.map +1 -1
  106. package/dist/transactions/marginAdmin.d.mts +17 -7
  107. package/dist/transactions/marginAdmin.d.mts.map +1 -1
  108. package/dist/transactions/marginAdmin.mjs +186 -169
  109. package/dist/transactions/marginAdmin.mjs.map +1 -1
  110. package/dist/transactions/marginLiquidations.d.mts +3 -3
  111. package/dist/transactions/marginLiquidations.d.mts.map +1 -1
  112. package/dist/transactions/marginLiquidations.mjs +53 -54
  113. package/dist/transactions/marginLiquidations.mjs.map +1 -1
  114. package/dist/transactions/marginMaintainer.d.mts +5 -5
  115. package/dist/transactions/marginMaintainer.d.mts.map +1 -1
  116. package/dist/transactions/marginMaintainer.mjs +83 -83
  117. package/dist/transactions/marginMaintainer.mjs.map +1 -1
  118. package/dist/transactions/marginManager.d.mts +32 -32
  119. package/dist/transactions/marginManager.d.mts.map +1 -1
  120. package/dist/transactions/marginManager.mjs +330 -317
  121. package/dist/transactions/marginManager.mjs.map +1 -1
  122. package/dist/transactions/marginPool.d.mts +18 -18
  123. package/dist/transactions/marginPool.d.mts.map +1 -1
  124. package/dist/transactions/marginPool.mjs +93 -89
  125. package/dist/transactions/marginPool.mjs.map +1 -1
  126. package/dist/transactions/marginRegistry.d.mts +22 -15
  127. package/dist/transactions/marginRegistry.d.mts.map +1 -1
  128. package/dist/transactions/marginRegistry.mjs +101 -68
  129. package/dist/transactions/marginRegistry.mjs.map +1 -1
  130. package/dist/transactions/marginTPSL.d.mts +27 -9
  131. package/dist/transactions/marginTPSL.d.mts.map +1 -1
  132. package/dist/transactions/marginTPSL.mjs +108 -82
  133. package/dist/transactions/marginTPSL.mjs.map +1 -1
  134. package/dist/transactions/poolProxy.d.mts +37 -5
  135. package/dist/transactions/poolProxy.d.mts.map +1 -1
  136. package/dist/transactions/poolProxy.mjs +269 -189
  137. package/dist/transactions/poolProxy.mjs.map +1 -1
  138. package/dist/utils/constants.mjs +4 -4
  139. package/dist/utils/constants.mjs.map +1 -1
  140. package/package.json +3 -3
  141. package/src/client.ts +8 -0
  142. package/src/contracts/deepbook/balance_manager.ts +46 -5
  143. package/src/contracts/deepbook/constants.ts +13 -0
  144. package/src/contracts/deepbook/pool.ts +133 -0
  145. package/src/contracts/deepbook/registry.ts +136 -1
  146. package/src/contracts/deepbook_margin/deps/deepbook/balance_manager.ts +49 -0
  147. package/src/contracts/deepbook_margin/deps/std/type_name.ts +24 -0
  148. package/src/contracts/deepbook_margin/deps/sui/bag.ts +41 -0
  149. package/src/contracts/deepbook_margin/deps/sui/balance.ts +19 -0
  150. package/src/contracts/deepbook_margin/deps/sui/table.ts +36 -0
  151. package/src/contracts/deepbook_margin/deps/sui/vec_map.ts +33 -0
  152. package/src/contracts/deepbook_margin/deps/sui/vec_set.ts +22 -0
  153. package/src/contracts/deepbook_margin/deps/sui/versioned.ts +13 -0
  154. package/src/contracts/deepbook_margin/margin_constants.ts +329 -0
  155. package/src/contracts/deepbook_margin/margin_manager.ts +1772 -0
  156. package/src/contracts/deepbook_margin/margin_pool.ts +1129 -0
  157. package/src/contracts/deepbook_margin/margin_registry.ts +1207 -0
  158. package/src/contracts/deepbook_margin/margin_state.ts +26 -0
  159. package/src/contracts/deepbook_margin/oracle.ts +99 -0
  160. package/src/contracts/deepbook_margin/pool_proxy.ts +1298 -0
  161. package/src/contracts/deepbook_margin/position_manager.ts +28 -0
  162. package/src/contracts/deepbook_margin/protocol_config.ts +163 -0
  163. package/src/contracts/deepbook_margin/protocol_fees.ts +153 -0
  164. package/src/contracts/deepbook_margin/rate_limiter.ts +80 -0
  165. package/src/contracts/deepbook_margin/tpsl.ts +559 -0
  166. package/src/contracts/margin_liquidation/deps/sui/bag.ts +41 -0
  167. package/src/contracts/margin_liquidation/liquidation_vault.ts +401 -0
  168. package/src/queries/registryQueries.ts +15 -0
  169. package/src/transactions/balanceManager.ts +140 -90
  170. package/src/transactions/deepbook.ts +586 -494
  171. package/src/transactions/deepbookAdmin.ts +154 -146
  172. package/src/transactions/flashLoans.ts +29 -20
  173. package/src/transactions/governance.ts +50 -37
  174. package/src/transactions/marginAdmin.ts +247 -188
  175. package/src/transactions/marginLiquidations.ts +70 -55
  176. package/src/transactions/marginMaintainer.ts +106 -88
  177. package/src/transactions/marginManager.ts +414 -348
  178. package/src/transactions/marginPool.ts +140 -103
  179. package/src/transactions/marginRegistry.ts +103 -70
  180. package/src/transactions/marginTPSL.ts +151 -87
  181. package/src/transactions/poolProxy.ts +384 -205
  182. package/src/utils/constants.ts +4 -4
@@ -1,4 +1,5 @@
1
1
  import { convertQuantity } from "../utils/conversion.mjs";
2
+ import { balance, balanceManagerReferralOwner, balanceManagerReferralPoolId, deposit, depositWithCap, generateProofAsOwner, generateProofAsTrader, getBalanceManagerReferralId, id, mintDepositCap, mintTradeCap, mintWithdrawCap, newWithCustomOwner, owner, registerBalanceManager, revokeTradeCap, setBalanceManagerReferral, unsetBalanceManagerReferral, withdraw, withdrawAll, withdrawWithCap } from "../contracts/deepbook/balance_manager.mjs";
2
3
  import { coinWithBalance } from "@mysten/sui/transactions";
3
4
 
4
5
  //#region src/transactions/balanceManager.ts
@@ -20,10 +21,10 @@ var BalanceManagerContract = class {
20
21
  });
21
22
  };
22
23
  this.createBalanceManagerWithOwner = (ownerAddress) => (tx) => {
23
- return tx.moveCall({
24
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::new_with_custom_owner`,
25
- arguments: [tx.pure.address(ownerAddress)]
26
- });
24
+ return tx.add(newWithCustomOwner({
25
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
26
+ arguments: { owner: ownerAddress }
27
+ }));
27
28
  };
28
29
  this.shareBalanceManager = (manager) => (tx) => {
29
30
  tx.moveCall({
@@ -37,82 +38,91 @@ var BalanceManagerContract = class {
37
38
  const managerId = this.#config.getBalanceManager(managerKey).address;
38
39
  const coin = this.#config.getCoin(coinKey);
39
40
  const depositInput = convertQuantity(amountToDeposit, coin.scalar);
40
- const deposit = coinWithBalance({
41
+ const deposit$1 = coinWithBalance({
41
42
  type: coin.type,
42
43
  balance: depositInput
43
44
  });
44
- tx.moveCall({
45
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::deposit`,
46
- arguments: [tx.object(managerId), deposit],
45
+ tx.add(deposit({
46
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
47
+ arguments: {
48
+ balanceManager: managerId,
49
+ coin: deposit$1
50
+ },
47
51
  typeArguments: [coin.type]
48
- });
52
+ }));
49
53
  };
50
54
  this.withdrawFromManager = (managerKey, coinKey, amountToWithdraw, recipient) => (tx) => {
51
55
  const managerId = this.#config.getBalanceManager(managerKey).address;
52
56
  const coin = this.#config.getCoin(coinKey);
53
57
  const withdrawInput = convertQuantity(amountToWithdraw, coin.scalar);
54
- const coinObject = tx.moveCall({
55
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::withdraw`,
56
- arguments: [tx.object(managerId), tx.pure.u64(withdrawInput)],
58
+ const coinObject = tx.add(withdraw({
59
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
60
+ arguments: {
61
+ balanceManager: managerId,
62
+ withdrawAmount: withdrawInput
63
+ },
57
64
  typeArguments: [coin.type]
58
- });
65
+ }));
59
66
  tx.transferObjects([coinObject], recipient);
60
67
  };
61
68
  this.withdrawAllFromManager = (managerKey, coinKey, recipient) => (tx) => {
62
69
  const managerId = this.#config.getBalanceManager(managerKey).address;
63
70
  const coin = this.#config.getCoin(coinKey);
64
- const withdrawalCoin = tx.moveCall({
65
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::withdraw_all`,
66
- arguments: [tx.object(managerId)],
71
+ const withdrawalCoin = tx.add(withdrawAll({
72
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
73
+ arguments: { balanceManager: managerId },
67
74
  typeArguments: [coin.type]
68
- });
75
+ }));
69
76
  tx.transferObjects([withdrawalCoin], recipient);
70
77
  };
71
78
  this.checkManagerBalance = (managerKey, coinKey) => (tx) => {
72
79
  const managerId = this.#config.getBalanceManager(managerKey).address;
73
80
  const coin = this.#config.getCoin(coinKey);
74
- tx.moveCall({
75
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::balance`,
76
- arguments: [tx.object(managerId)],
81
+ tx.add(balance({
82
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
83
+ arguments: { balanceManager: managerId },
77
84
  typeArguments: [coin.type]
78
- });
85
+ }));
79
86
  };
80
87
  this.generateProof = (managerKey) => (tx) => {
81
88
  const balanceManager = this.#config.getBalanceManager(managerKey);
82
89
  return tx.add(balanceManager.tradeCap ? this.generateProofAsTrader(balanceManager.address, balanceManager.tradeCap) : this.generateProofAsOwner(balanceManager.address));
83
90
  };
84
91
  this.generateProofAsOwner = (managerId) => (tx) => {
85
- return tx.moveCall({
86
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::generate_proof_as_owner`,
87
- arguments: [tx.object(managerId)]
88
- });
92
+ return tx.add(generateProofAsOwner({
93
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
94
+ arguments: { balanceManager: managerId }
95
+ }));
89
96
  };
90
97
  this.generateProofAsTrader = (managerId, tradeCapId) => (tx) => {
91
- return tx.moveCall({
92
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::generate_proof_as_trader`,
93
- arguments: [tx.object(managerId), tx.object(tradeCapId)]
94
- });
98
+ return tx.add(generateProofAsTrader({
99
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
100
+ arguments: {
101
+ balanceManager: managerId,
102
+ tradeCap: tradeCapId
103
+ }
104
+ }));
95
105
  };
96
106
  this.mintTradeCap = (managerKey) => (tx) => {
97
107
  const managerId = this.#config.getBalanceManager(managerKey).address;
98
- return tx.moveCall({
99
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::mint_trade_cap`,
100
- arguments: [tx.object(managerId)]
101
- });
108
+ return tx.add(mintTradeCap({
109
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
110
+ arguments: { balanceManager: managerId }
111
+ }));
102
112
  };
103
113
  this.mintDepositCap = (managerKey) => (tx) => {
104
114
  const managerId = this.#config.getBalanceManager(managerKey).address;
105
- return tx.moveCall({
106
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::mint_deposit_cap`,
107
- arguments: [tx.object(managerId)]
108
- });
115
+ return tx.add(mintDepositCap({
116
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
117
+ arguments: { balanceManager: managerId }
118
+ }));
109
119
  };
110
120
  this.mintWithdrawalCap = (managerKey) => (tx) => {
111
121
  const managerId = this.#config.getBalanceManager(managerKey).address;
112
- return tx.moveCall({
113
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::mint_withdraw_cap`,
114
- arguments: [tx.object(managerId)]
115
- });
122
+ return tx.add(mintWithdrawCap({
123
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
124
+ arguments: { balanceManager: managerId }
125
+ }));
116
126
  };
117
127
  this.depositWithCap = (managerKey, coinKey, amountToDeposit) => (tx) => {
118
128
  tx.setSenderIfNotSet(this.#config.address);
@@ -122,19 +132,19 @@ var BalanceManagerContract = class {
122
132
  const depositCapId = manager.depositCap;
123
133
  const coin = this.#config.getCoin(coinKey);
124
134
  const depositInput = convertQuantity(amountToDeposit, coin.scalar);
125
- const deposit = coinWithBalance({
135
+ const deposit$1 = coinWithBalance({
126
136
  type: coin.type,
127
137
  balance: depositInput
128
138
  });
129
- tx.moveCall({
130
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::deposit_with_cap`,
131
- arguments: [
132
- tx.object(managerId),
133
- tx.object(depositCapId),
134
- deposit
135
- ],
139
+ tx.add(depositWithCap({
140
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
141
+ arguments: {
142
+ balanceManager: managerId,
143
+ depositCap: depositCapId,
144
+ coin: deposit$1
145
+ },
136
146
  typeArguments: [coin.type]
137
- });
147
+ }));
138
148
  };
139
149
  this.withdrawWithCap = (managerKey, coinKey, amountToWithdraw) => (tx) => {
140
150
  tx.setSenderIfNotSet(this.#config.address);
@@ -144,86 +154,95 @@ var BalanceManagerContract = class {
144
154
  const withdrawCapId = manager.withdrawCap;
145
155
  const coin = this.#config.getCoin(coinKey);
146
156
  const withdrawAmount = convertQuantity(amountToWithdraw, coin.scalar);
147
- return tx.moveCall({
148
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::withdraw_with_cap`,
149
- arguments: [
150
- tx.object(managerId),
151
- tx.object(withdrawCapId),
152
- tx.pure.u64(withdrawAmount)
153
- ],
157
+ return tx.add(withdrawWithCap({
158
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
159
+ arguments: {
160
+ balanceManager: managerId,
161
+ withdrawCap: withdrawCapId,
162
+ withdrawAmount
163
+ },
154
164
  typeArguments: [coin.type]
155
- });
165
+ }));
156
166
  };
157
167
  this.setBalanceManagerReferral = (managerKey, referral, tradeCap) => (tx) => {
158
168
  const managerId = this.#config.getBalanceManager(managerKey).address;
159
- tx.moveCall({
160
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::set_balance_manager_referral`,
161
- arguments: [
162
- tx.object(managerId),
163
- tx.object(referral),
169
+ tx.add(setBalanceManagerReferral({
170
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
171
+ arguments: {
172
+ balanceManager: managerId,
173
+ referral,
164
174
  tradeCap
165
- ]
166
- });
175
+ }
176
+ }));
167
177
  };
168
178
  this.unsetBalanceManagerReferral = (managerKey, poolKey, tradeCap) => (tx) => {
169
179
  const managerId = this.#config.getBalanceManager(managerKey).address;
170
180
  const poolId = this.#config.getPool(poolKey).address;
171
- tx.moveCall({
172
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::unset_balance_manager_referral`,
173
- arguments: [
174
- tx.object(managerId),
175
- tx.pure.id(poolId),
181
+ tx.add(unsetBalanceManagerReferral({
182
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
183
+ arguments: {
184
+ balanceManager: managerId,
185
+ poolId,
176
186
  tradeCap
177
- ]
178
- });
187
+ }
188
+ }));
179
189
  };
180
190
  this.registerBalanceManager = (managerKey) => (tx) => {
181
191
  const managerId = this.#config.getBalanceManager(managerKey).address;
182
- tx.moveCall({
183
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::register_balance_manager`,
184
- arguments: [tx.object(managerId), tx.object(this.#config.REGISTRY_ID)]
185
- });
192
+ tx.add(registerBalanceManager({
193
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
194
+ arguments: {
195
+ balanceManager: managerId,
196
+ registry: this.#config.REGISTRY_ID
197
+ }
198
+ }));
186
199
  };
187
200
  this.owner = (managerKey) => (tx) => {
188
201
  const managerId = this.#config.getBalanceManager(managerKey).address;
189
- tx.moveCall({
190
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::owner`,
191
- arguments: [tx.object(managerId)]
192
- });
202
+ tx.add(owner({
203
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
204
+ arguments: { balanceManager: managerId }
205
+ }));
193
206
  };
194
207
  this.id = (managerKey) => (tx) => {
195
208
  const managerId = this.#config.getBalanceManager(managerKey).address;
196
- tx.moveCall({
197
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::id`,
198
- arguments: [tx.object(managerId)]
199
- });
209
+ tx.add(id({
210
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
211
+ arguments: { balanceManager: managerId }
212
+ }));
200
213
  };
201
214
  this.balanceManagerReferralOwner = (referralId) => (tx) => {
202
- return tx.moveCall({
203
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::balance_manager_referral_owner`,
204
- arguments: [tx.object(referralId)]
205
- });
215
+ return tx.add(balanceManagerReferralOwner({
216
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
217
+ arguments: { referral: referralId }
218
+ }));
206
219
  };
207
220
  this.balanceManagerReferralPoolId = (referralId) => (tx) => {
208
- return tx.moveCall({
209
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::balance_manager_referral_pool_id`,
210
- arguments: [tx.object(referralId)]
211
- });
221
+ return tx.add(balanceManagerReferralPoolId({
222
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
223
+ arguments: { referral: referralId }
224
+ }));
212
225
  };
213
226
  this.getBalanceManagerReferralId = (managerKey, poolKey) => (tx) => {
214
227
  const managerId = this.#config.getBalanceManager(managerKey).address;
215
228
  const poolId = this.#config.getPool(poolKey).address;
216
- return tx.moveCall({
217
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::get_balance_manager_referral_id`,
218
- arguments: [tx.object(managerId), tx.pure.id(poolId)]
219
- });
229
+ return tx.add(getBalanceManagerReferralId({
230
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
231
+ arguments: {
232
+ balanceManager: managerId,
233
+ poolId
234
+ }
235
+ }));
220
236
  };
221
237
  this.revokeTradeCap = (managerKey, tradeCapId) => (tx) => {
222
238
  const managerId = this.#config.getBalanceManager(managerKey).address;
223
- tx.moveCall({
224
- target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::revoke_trade_cap`,
225
- arguments: [tx.object(managerId), tx.pure.id(tradeCapId)]
226
- });
239
+ tx.add(revokeTradeCap({
240
+ package: this.#config.DEEPBOOK_PACKAGE_ID,
241
+ arguments: {
242
+ balanceManager: managerId,
243
+ tradeCapId
244
+ }
245
+ }));
227
246
  };
228
247
  this.#config = config;
229
248
  }
@@ -1 +1 @@
1
- {"version":3,"file":"balanceManager.mjs","names":["#config"],"sources":["../../src/transactions/balanceManager.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport { coinWithBalance } from '@mysten/sui/transactions';\nimport type { Transaction, TransactionArgument } from '@mysten/sui/transactions';\n\nimport type { DeepBookConfig } from '../utils/config.js';\nimport { convertQuantity } from '../utils/conversion.js';\n\n/**\n * BalanceManagerContract class for managing BalanceManager operations.\n */\nexport class BalanceManagerContract {\n\t#config: DeepBookConfig;\n\n\t/**\n\t * @param {DeepBookConfig} config Configuration for BalanceManagerContract\n\t */\n\tconstructor(config: DeepBookConfig) {\n\t\tthis.#config = config;\n\t}\n\n\t/**\n\t * @description Create and share a new BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tcreateAndShareBalanceManager = () => (tx: Transaction) => {\n\t\tconst manager = tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::new`,\n\t\t});\n\n\t\ttx.moveCall({\n\t\t\ttarget: '0x2::transfer::public_share_object',\n\t\t\targuments: [manager],\n\t\t\ttypeArguments: [`${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::BalanceManager`],\n\t\t});\n\t};\n\n\t/**\n\t * @description Create a new BalanceManager, manually set the owner. Returns the manager.\n\t * @returns A function that takes a Transaction object\n\t */\n\tcreateBalanceManagerWithOwner = (ownerAddress: string) => (tx: Transaction) => {\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::new_with_custom_owner`,\n\t\t\targuments: [tx.pure.address(ownerAddress)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Share the BalanceManager\n\t * @param {TransactionArgument} manager The BalanceManager to share\n\t * @returns A function that takes a Transaction object\n\t */\n\tshareBalanceManager = (manager: TransactionArgument) => (tx: Transaction) => {\n\t\ttx.moveCall({\n\t\t\ttarget: '0x2::transfer::public_share_object',\n\t\t\targuments: [manager],\n\t\t\ttypeArguments: [`${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::BalanceManager`],\n\t\t});\n\t};\n\n\t/**\n\t * @description Deposit funds into the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @param {string} coinKey The key of the coin to deposit\n\t * @param {number} amountToDeposit The amount to deposit\n\t * @returns A function that takes a Transaction object\n\t */\n\tdepositIntoManager =\n\t\t(managerKey: string, coinKey: string, amountToDeposit: number) => (tx: Transaction) => {\n\t\t\ttx.setSenderIfNotSet(this.#config.address);\n\t\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\t\tconst coin = this.#config.getCoin(coinKey);\n\t\t\tconst depositInput = convertQuantity(amountToDeposit, coin.scalar);\n\t\t\tconst deposit = coinWithBalance({\n\t\t\t\ttype: coin.type,\n\t\t\t\tbalance: depositInput,\n\t\t\t});\n\n\t\t\ttx.moveCall({\n\t\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::deposit`,\n\t\t\t\targuments: [tx.object(managerId), deposit],\n\t\t\t\ttypeArguments: [coin.type],\n\t\t\t});\n\t\t};\n\n\t/**\n\t * @description Withdraw funds from the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @param {string} coinKey The key of the coin to withdraw\n\t * @param {number} amountToWithdraw The amount to withdraw\n\t * @param {string} recipient The recipient of the withdrawn funds\n\t * @returns A function that takes a Transaction object\n\t */\n\twithdrawFromManager =\n\t\t(managerKey: string, coinKey: string, amountToWithdraw: number, recipient: string) =>\n\t\t(tx: Transaction) => {\n\t\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\t\tconst coin = this.#config.getCoin(coinKey);\n\t\t\tconst withdrawInput = convertQuantity(amountToWithdraw, coin.scalar);\n\t\t\tconst coinObject = tx.moveCall({\n\t\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::withdraw`,\n\t\t\t\targuments: [tx.object(managerId), tx.pure.u64(withdrawInput)],\n\t\t\t\ttypeArguments: [coin.type],\n\t\t\t});\n\n\t\t\ttx.transferObjects([coinObject], recipient);\n\t\t};\n\n\t/**\n\t * @description Withdraw all funds from the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @param {string} coinKey The key of the coin to withdraw\n\t * @param {string} recipient The recipient of the withdrawn funds\n\t * @returns A function that takes a Transaction object\n\t */\n\twithdrawAllFromManager =\n\t\t(managerKey: string, coinKey: string, recipient: string) => (tx: Transaction) => {\n\t\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\t\tconst coin = this.#config.getCoin(coinKey);\n\t\t\tconst withdrawalCoin = tx.moveCall({\n\t\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::withdraw_all`,\n\t\t\t\targuments: [tx.object(managerId)],\n\t\t\t\ttypeArguments: [coin.type],\n\t\t\t});\n\n\t\t\ttx.transferObjects([withdrawalCoin], recipient);\n\t\t};\n\n\t/**\n\t * @description Check the balance of the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @param {string} coinKey The key of the coin to check the balance of\n\t * @returns A function that takes a Transaction object\n\t */\n\tcheckManagerBalance = (managerKey: string, coinKey: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\tconst coin = this.#config.getCoin(coinKey);\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::balance`,\n\t\t\targuments: [tx.object(managerId)],\n\t\t\ttypeArguments: [coin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Generate a trade proof for the BalanceManager. Calls the appropriate function based on whether tradeCap is set.\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tgenerateProof = (managerKey: string) => (tx: Transaction) => {\n\t\tconst balanceManager = this.#config.getBalanceManager(managerKey);\n\t\treturn tx.add(\n\t\t\tbalanceManager.tradeCap\n\t\t\t\t? this.generateProofAsTrader(balanceManager.address, balanceManager.tradeCap)\n\t\t\t\t: this.generateProofAsOwner(balanceManager.address),\n\t\t);\n\t};\n\n\t/**\n\t * @description Generate a trade proof as the owner\n\t * @param {string} managerId The ID of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tgenerateProofAsOwner = (managerId: string) => (tx: Transaction) => {\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::generate_proof_as_owner`,\n\t\t\targuments: [tx.object(managerId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Generate a trade proof as a trader\n\t * @param {string} managerId The ID of the BalanceManager\n\t * @param {string} tradeCapId The ID of the tradeCap\n\t * @returns A function that takes a Transaction object\n\t */\n\tgenerateProofAsTrader = (managerId: string, tradeCapId: string) => (tx: Transaction) => {\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::generate_proof_as_trader`,\n\t\t\targuments: [tx.object(managerId), tx.object(tradeCapId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Mint a TradeCap\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tmintTradeCap = (managerKey: string) => (tx: Transaction) => {\n\t\tconst manager = this.#config.getBalanceManager(managerKey);\n\t\tconst managerId = manager.address;\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::mint_trade_cap`,\n\t\t\targuments: [tx.object(managerId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Mint a DepositCap\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tmintDepositCap = (managerKey: string) => (tx: Transaction) => {\n\t\tconst manager = this.#config.getBalanceManager(managerKey);\n\t\tconst managerId = manager.address;\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::mint_deposit_cap`,\n\t\t\targuments: [tx.object(managerId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Mint a WithdrawalCap\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tmintWithdrawalCap = (managerKey: string) => (tx: Transaction) => {\n\t\tconst manager = this.#config.getBalanceManager(managerKey);\n\t\tconst managerId = manager.address;\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::mint_withdraw_cap`,\n\t\t\targuments: [tx.object(managerId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Deposit using the DepositCap\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} coinKey The name of the coin to deposit\n\t * @param {number} amountToDeposit The amount to deposit\n\t * @returns A function that takes a Transaction object\n\t */\n\tdepositWithCap =\n\t\t(managerKey: string, coinKey: string, amountToDeposit: number) => (tx: Transaction) => {\n\t\t\ttx.setSenderIfNotSet(this.#config.address);\n\t\t\tconst manager = this.#config.getBalanceManager(managerKey);\n\t\t\tconst managerId = manager.address;\n\t\t\tif (!manager.depositCap) {\n\t\t\t\tthrow new Error(`DepositCap not set for ${managerKey}`);\n\t\t\t}\n\t\t\tconst depositCapId = manager.depositCap;\n\t\t\tconst coin = this.#config.getCoin(coinKey);\n\t\t\tconst depositInput = convertQuantity(amountToDeposit, coin.scalar);\n\t\t\tconst deposit = coinWithBalance({\n\t\t\t\ttype: coin.type,\n\t\t\t\tbalance: depositInput,\n\t\t\t});\n\t\t\ttx.moveCall({\n\t\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::deposit_with_cap`,\n\t\t\t\targuments: [tx.object(managerId), tx.object(depositCapId), deposit],\n\t\t\t\ttypeArguments: [coin.type],\n\t\t\t});\n\t\t};\n\n\t/**\n\t * @description Withdraw using the WithdrawCap\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} coinKey The name of the coin to withdraw\n\t * @param {number} amountToWithdraw The amount to withdraw\n\t * @returns A function that takes a Transaction object\n\t */\n\twithdrawWithCap =\n\t\t(managerKey: string, coinKey: string, amountToWithdraw: number) => (tx: Transaction) => {\n\t\t\ttx.setSenderIfNotSet(this.#config.address);\n\t\t\tconst manager = this.#config.getBalanceManager(managerKey);\n\t\t\tconst managerId = manager.address;\n\t\t\tif (!manager.withdrawCap) {\n\t\t\t\tthrow new Error(`WithdrawCap not set for ${managerKey}`);\n\t\t\t}\n\t\t\tconst withdrawCapId = manager.withdrawCap;\n\t\t\tconst coin = this.#config.getCoin(coinKey);\n\t\t\tconst withdrawAmount = convertQuantity(amountToWithdraw, coin.scalar);\n\t\t\treturn tx.moveCall({\n\t\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::withdraw_with_cap`,\n\t\t\t\targuments: [tx.object(managerId), tx.object(withdrawCapId), tx.pure.u64(withdrawAmount)],\n\t\t\t\ttypeArguments: [coin.type],\n\t\t\t});\n\t\t};\n\n\t/**\n\t * @description Set the referral for the BalanceManager for a specific pool\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} referral The referral (DeepBookPoolReferral) to set the BalanceManager to\n\t * @param {TransactionArgument} tradeCap The tradeCap for permission checking\n\t * @returns A function that takes a Transaction object\n\t */\n\tsetBalanceManagerReferral =\n\t\t(managerKey: string, referral: string, tradeCap: TransactionArgument) => (tx: Transaction) => {\n\t\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\t\ttx.moveCall({\n\t\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::set_balance_manager_referral`,\n\t\t\t\targuments: [tx.object(managerId), tx.object(referral), tradeCap],\n\t\t\t});\n\t\t};\n\n\t/**\n\t * @description Unset the referral for the BalanceManager for a specific pool\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} poolKey The key of the pool to unset the referral for\n\t * @param {TransactionArgument} tradeCap The tradeCap for permission checking\n\t * @returns A function that takes a Transaction object\n\t */\n\tunsetBalanceManagerReferral =\n\t\t(managerKey: string, poolKey: string, tradeCap: TransactionArgument) => (tx: Transaction) => {\n\t\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\t\tconst poolId = this.#config.getPool(poolKey).address;\n\t\t\ttx.moveCall({\n\t\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::unset_balance_manager_referral`,\n\t\t\t\targuments: [tx.object(managerId), tx.pure.id(poolId), tradeCap],\n\t\t\t});\n\t\t};\n\n\tregisterBalanceManager = (managerKey: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::register_balance_manager`,\n\t\t\targuments: [tx.object(managerId), tx.object(this.#config.REGISTRY_ID)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the owner of the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\towner = (managerKey: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::owner`,\n\t\t\targuments: [tx.object(managerId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the ID of the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tid = (managerKey: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::id`,\n\t\t\targuments: [tx.object(managerId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the owner of the referral (DeepBookPoolReferral)\n\t * @param {string} referralId The ID of the referral to get the owner of\n\t * @returns A function that takes a Transaction object\n\t */\n\tbalanceManagerReferralOwner = (referralId: string) => (tx: Transaction) => {\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::balance_manager_referral_owner`,\n\t\t\targuments: [tx.object(referralId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the pool ID associated with a referral (DeepBookPoolReferral)\n\t * @param {string} referralId The ID of the referral to get the pool ID of\n\t * @returns A function that takes a Transaction object\n\t */\n\tbalanceManagerReferralPoolId = (referralId: string) => (tx: Transaction) => {\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::balance_manager_referral_pool_id`,\n\t\t\targuments: [tx.object(referralId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the referral ID from the balance manager for a specific pool\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} poolKey Key of the pool to get the referral for\n\t * @returns A function that takes a Transaction object\n\t */\n\tgetBalanceManagerReferralId = (managerKey: string, poolKey: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\tconst poolId = this.#config.getPool(poolKey).address;\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::get_balance_manager_referral_id`,\n\t\t\targuments: [tx.object(managerId), tx.pure.id(poolId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Revoke a TradeCap. This also revokes the associated DepositCap and WithdrawCap.\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} tradeCapId The ID of the TradeCap to revoke\n\t * @returns A function that takes a Transaction object\n\t */\n\trevokeTradeCap = (managerKey: string, tradeCapId: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::revoke_trade_cap`,\n\t\t\targuments: [tx.object(managerId), tx.pure.id(tradeCapId)],\n\t\t});\n\t};\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"balanceManager.mjs","names":["#config","balanceManagerMoveCalls.newWithCustomOwner","deposit","balanceManagerMoveCalls.deposit","balanceManagerMoveCalls.withdraw","balanceManagerMoveCalls.withdrawAll","balanceManagerMoveCalls.balance","balanceManagerMoveCalls.generateProofAsOwner","balanceManagerMoveCalls.generateProofAsTrader","balanceManagerMoveCalls.mintTradeCap","balanceManagerMoveCalls.mintDepositCap","balanceManagerMoveCalls.mintWithdrawCap","balanceManagerMoveCalls.depositWithCap","balanceManagerMoveCalls.withdrawWithCap","balanceManagerMoveCalls.setBalanceManagerReferral","balanceManagerMoveCalls.unsetBalanceManagerReferral","balanceManagerMoveCalls.registerBalanceManager","balanceManagerMoveCalls.owner","balanceManagerMoveCalls.id","balanceManagerMoveCalls.balanceManagerReferralOwner","balanceManagerMoveCalls.balanceManagerReferralPoolId","balanceManagerMoveCalls.getBalanceManagerReferralId","balanceManagerMoveCalls.revokeTradeCap"],"sources":["../../src/transactions/balanceManager.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport { coinWithBalance } from '@mysten/sui/transactions';\nimport type { Transaction, TransactionArgument } from '@mysten/sui/transactions';\n\nimport type { DeepBookConfig } from '../utils/config.js';\nimport { convertQuantity } from '../utils/conversion.js';\nimport * as balanceManagerMoveCalls from '../contracts/deepbook/balance_manager.js';\n\n/**\n * BalanceManagerContract class for managing BalanceManager operations.\n */\nexport class BalanceManagerContract {\n\t#config: DeepBookConfig;\n\n\t/**\n\t * @param {DeepBookConfig} config Configuration for BalanceManagerContract\n\t */\n\tconstructor(config: DeepBookConfig) {\n\t\tthis.#config = config;\n\t}\n\n\t/**\n\t * @description Create and share a new BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tcreateAndShareBalanceManager = () => (tx: Transaction) => {\n\t\t// NOTE: left as positional moveCalls (not codegen). `balance_manager::new`\n\t\t// is called with no args here, but the generated binding's `new` takes an\n\t\t// `Owner` (the current core source drifted from the deployed zero-arg form);\n\t\t// and `0x2::transfer::public_share_object` is a framework call with no\n\t\t// @deepbook/core binding. Kept verbatim to stay byte-identical.\n\t\tconst manager = tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::new`,\n\t\t});\n\n\t\ttx.moveCall({\n\t\t\ttarget: '0x2::transfer::public_share_object',\n\t\t\targuments: [manager],\n\t\t\ttypeArguments: [`${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::BalanceManager`],\n\t\t});\n\t};\n\n\t/**\n\t * @description Create a new BalanceManager, manually set the owner. Returns the manager.\n\t * @returns A function that takes a Transaction object\n\t */\n\tcreateBalanceManagerWithOwner = (ownerAddress: string) => (tx: Transaction) => {\n\t\treturn tx.add(\n\t\t\tbalanceManagerMoveCalls.newWithCustomOwner({\n\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\targuments: { owner: ownerAddress },\n\t\t\t}),\n\t\t);\n\t};\n\n\t/**\n\t * @description Share the BalanceManager\n\t * @param {TransactionArgument} manager The BalanceManager to share\n\t * @returns A function that takes a Transaction object\n\t */\n\tshareBalanceManager = (manager: TransactionArgument) => (tx: Transaction) => {\n\t\t// Framework call (`0x2::transfer::public_share_object`) — no @deepbook/core\n\t\t// binding exists, so this stays a positional moveCall.\n\t\ttx.moveCall({\n\t\t\ttarget: '0x2::transfer::public_share_object',\n\t\t\targuments: [manager],\n\t\t\ttypeArguments: [`${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::BalanceManager`],\n\t\t});\n\t};\n\n\t/**\n\t * @description Deposit funds into the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @param {string} coinKey The key of the coin to deposit\n\t * @param {number} amountToDeposit The amount to deposit\n\t * @returns A function that takes a Transaction object\n\t */\n\tdepositIntoManager =\n\t\t(managerKey: string, coinKey: string, amountToDeposit: number) => (tx: Transaction) => {\n\t\t\ttx.setSenderIfNotSet(this.#config.address);\n\t\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\t\tconst coin = this.#config.getCoin(coinKey);\n\t\t\tconst depositInput = convertQuantity(amountToDeposit, coin.scalar);\n\t\t\tconst deposit = coinWithBalance({\n\t\t\t\ttype: coin.type,\n\t\t\t\tbalance: depositInput,\n\t\t\t});\n\n\t\t\ttx.add(\n\t\t\t\tbalanceManagerMoveCalls.deposit({\n\t\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\t\targuments: { balanceManager: managerId, coin: deposit },\n\t\t\t\t\ttypeArguments: [coin.type],\n\t\t\t\t}),\n\t\t\t);\n\t\t};\n\n\t/**\n\t * @description Withdraw funds from the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @param {string} coinKey The key of the coin to withdraw\n\t * @param {number} amountToWithdraw The amount to withdraw\n\t * @param {string} recipient The recipient of the withdrawn funds\n\t * @returns A function that takes a Transaction object\n\t */\n\twithdrawFromManager =\n\t\t(managerKey: string, coinKey: string, amountToWithdraw: number, recipient: string) =>\n\t\t(tx: Transaction) => {\n\t\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\t\tconst coin = this.#config.getCoin(coinKey);\n\t\t\tconst withdrawInput = convertQuantity(amountToWithdraw, coin.scalar);\n\t\t\tconst coinObject = tx.add(\n\t\t\t\tbalanceManagerMoveCalls.withdraw({\n\t\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\t\targuments: { balanceManager: managerId, withdrawAmount: withdrawInput },\n\t\t\t\t\ttypeArguments: [coin.type],\n\t\t\t\t}),\n\t\t\t);\n\n\t\t\ttx.transferObjects([coinObject], recipient);\n\t\t};\n\n\t/**\n\t * @description Withdraw all funds from the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @param {string} coinKey The key of the coin to withdraw\n\t * @param {string} recipient The recipient of the withdrawn funds\n\t * @returns A function that takes a Transaction object\n\t */\n\twithdrawAllFromManager =\n\t\t(managerKey: string, coinKey: string, recipient: string) => (tx: Transaction) => {\n\t\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\t\tconst coin = this.#config.getCoin(coinKey);\n\t\t\tconst withdrawalCoin = tx.add(\n\t\t\t\tbalanceManagerMoveCalls.withdrawAll({\n\t\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\t\targuments: { balanceManager: managerId },\n\t\t\t\t\ttypeArguments: [coin.type],\n\t\t\t\t}),\n\t\t\t);\n\n\t\t\ttx.transferObjects([withdrawalCoin], recipient);\n\t\t};\n\n\t/**\n\t * @description Check the balance of the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @param {string} coinKey The key of the coin to check the balance of\n\t * @returns A function that takes a Transaction object\n\t */\n\tcheckManagerBalance = (managerKey: string, coinKey: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\tconst coin = this.#config.getCoin(coinKey);\n\t\ttx.add(\n\t\t\tbalanceManagerMoveCalls.balance({\n\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\targuments: { balanceManager: managerId },\n\t\t\t\ttypeArguments: [coin.type],\n\t\t\t}),\n\t\t);\n\t};\n\n\t/**\n\t * @description Generate a trade proof for the BalanceManager. Calls the appropriate function based on whether tradeCap is set.\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tgenerateProof = (managerKey: string) => (tx: Transaction) => {\n\t\tconst balanceManager = this.#config.getBalanceManager(managerKey);\n\t\treturn tx.add(\n\t\t\tbalanceManager.tradeCap\n\t\t\t\t? this.generateProofAsTrader(balanceManager.address, balanceManager.tradeCap)\n\t\t\t\t: this.generateProofAsOwner(balanceManager.address),\n\t\t);\n\t};\n\n\t/**\n\t * @description Generate a trade proof as the owner\n\t * @param {string} managerId The ID of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tgenerateProofAsOwner = (managerId: string) => (tx: Transaction) => {\n\t\treturn tx.add(\n\t\t\tbalanceManagerMoveCalls.generateProofAsOwner({\n\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\targuments: { balanceManager: managerId },\n\t\t\t}),\n\t\t);\n\t};\n\n\t/**\n\t * @description Generate a trade proof as a trader\n\t * @param {string} managerId The ID of the BalanceManager\n\t * @param {string} tradeCapId The ID of the tradeCap\n\t * @returns A function that takes a Transaction object\n\t */\n\tgenerateProofAsTrader = (managerId: string, tradeCapId: string) => (tx: Transaction) => {\n\t\treturn tx.add(\n\t\t\tbalanceManagerMoveCalls.generateProofAsTrader({\n\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\targuments: { balanceManager: managerId, tradeCap: tradeCapId },\n\t\t\t}),\n\t\t);\n\t};\n\n\t/**\n\t * @description Mint a TradeCap\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tmintTradeCap = (managerKey: string) => (tx: Transaction) => {\n\t\tconst manager = this.#config.getBalanceManager(managerKey);\n\t\tconst managerId = manager.address;\n\t\treturn tx.add(\n\t\t\tbalanceManagerMoveCalls.mintTradeCap({\n\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\targuments: { balanceManager: managerId },\n\t\t\t}),\n\t\t);\n\t};\n\n\t/**\n\t * @description Mint a DepositCap\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tmintDepositCap = (managerKey: string) => (tx: Transaction) => {\n\t\tconst manager = this.#config.getBalanceManager(managerKey);\n\t\tconst managerId = manager.address;\n\t\treturn tx.add(\n\t\t\tbalanceManagerMoveCalls.mintDepositCap({\n\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\targuments: { balanceManager: managerId },\n\t\t\t}),\n\t\t);\n\t};\n\n\t/**\n\t * @description Mint a WithdrawalCap\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tmintWithdrawalCap = (managerKey: string) => (tx: Transaction) => {\n\t\tconst manager = this.#config.getBalanceManager(managerKey);\n\t\tconst managerId = manager.address;\n\t\treturn tx.add(\n\t\t\tbalanceManagerMoveCalls.mintWithdrawCap({\n\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\targuments: { balanceManager: managerId },\n\t\t\t}),\n\t\t);\n\t};\n\n\t/**\n\t * @description Deposit using the DepositCap\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} coinKey The name of the coin to deposit\n\t * @param {number} amountToDeposit The amount to deposit\n\t * @returns A function that takes a Transaction object\n\t */\n\tdepositWithCap =\n\t\t(managerKey: string, coinKey: string, amountToDeposit: number) => (tx: Transaction) => {\n\t\t\ttx.setSenderIfNotSet(this.#config.address);\n\t\t\tconst manager = this.#config.getBalanceManager(managerKey);\n\t\t\tconst managerId = manager.address;\n\t\t\tif (!manager.depositCap) {\n\t\t\t\tthrow new Error(`DepositCap not set for ${managerKey}`);\n\t\t\t}\n\t\t\tconst depositCapId = manager.depositCap;\n\t\t\tconst coin = this.#config.getCoin(coinKey);\n\t\t\tconst depositInput = convertQuantity(amountToDeposit, coin.scalar);\n\t\t\tconst deposit = coinWithBalance({\n\t\t\t\ttype: coin.type,\n\t\t\t\tbalance: depositInput,\n\t\t\t});\n\t\t\ttx.add(\n\t\t\t\tbalanceManagerMoveCalls.depositWithCap({\n\t\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\t\targuments: { balanceManager: managerId, depositCap: depositCapId, coin: deposit },\n\t\t\t\t\ttypeArguments: [coin.type],\n\t\t\t\t}),\n\t\t\t);\n\t\t};\n\n\t/**\n\t * @description Withdraw using the WithdrawCap\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} coinKey The name of the coin to withdraw\n\t * @param {number} amountToWithdraw The amount to withdraw\n\t * @returns A function that takes a Transaction object\n\t */\n\twithdrawWithCap =\n\t\t(managerKey: string, coinKey: string, amountToWithdraw: number) => (tx: Transaction) => {\n\t\t\ttx.setSenderIfNotSet(this.#config.address);\n\t\t\tconst manager = this.#config.getBalanceManager(managerKey);\n\t\t\tconst managerId = manager.address;\n\t\t\tif (!manager.withdrawCap) {\n\t\t\t\tthrow new Error(`WithdrawCap not set for ${managerKey}`);\n\t\t\t}\n\t\t\tconst withdrawCapId = manager.withdrawCap;\n\t\t\tconst coin = this.#config.getCoin(coinKey);\n\t\t\tconst withdrawAmount = convertQuantity(amountToWithdraw, coin.scalar);\n\t\t\treturn tx.add(\n\t\t\t\tbalanceManagerMoveCalls.withdrawWithCap({\n\t\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\t\targuments: { balanceManager: managerId, withdrawCap: withdrawCapId, withdrawAmount },\n\t\t\t\t\ttypeArguments: [coin.type],\n\t\t\t\t}),\n\t\t\t);\n\t\t};\n\n\t/**\n\t * @description Set the referral for the BalanceManager for a specific pool\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} referral The referral (DeepBookPoolReferral) to set the BalanceManager to\n\t * @param {TransactionArgument} tradeCap The tradeCap for permission checking\n\t * @returns A function that takes a Transaction object\n\t */\n\tsetBalanceManagerReferral =\n\t\t(managerKey: string, referral: string, tradeCap: TransactionArgument) => (tx: Transaction) => {\n\t\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\t\ttx.add(\n\t\t\t\tbalanceManagerMoveCalls.setBalanceManagerReferral({\n\t\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\t\targuments: { balanceManager: managerId, referral, tradeCap },\n\t\t\t\t}),\n\t\t\t);\n\t\t};\n\n\t/**\n\t * @description Unset the referral for the BalanceManager for a specific pool\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} poolKey The key of the pool to unset the referral for\n\t * @param {TransactionArgument} tradeCap The tradeCap for permission checking\n\t * @returns A function that takes a Transaction object\n\t */\n\tunsetBalanceManagerReferral =\n\t\t(managerKey: string, poolKey: string, tradeCap: TransactionArgument) => (tx: Transaction) => {\n\t\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\t\tconst poolId = this.#config.getPool(poolKey).address;\n\t\t\ttx.add(\n\t\t\t\tbalanceManagerMoveCalls.unsetBalanceManagerReferral({\n\t\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\t\targuments: { balanceManager: managerId, poolId, tradeCap },\n\t\t\t\t}),\n\t\t\t);\n\t\t};\n\n\tregisterBalanceManager = (managerKey: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\ttx.add(\n\t\t\tbalanceManagerMoveCalls.registerBalanceManager({\n\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\targuments: { balanceManager: managerId, registry: this.#config.REGISTRY_ID },\n\t\t\t}),\n\t\t);\n\t};\n\n\t/**\n\t * @description Get the owner of the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\towner = (managerKey: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\ttx.add(\n\t\t\tbalanceManagerMoveCalls.owner({\n\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\targuments: { balanceManager: managerId },\n\t\t\t}),\n\t\t);\n\t};\n\n\t/**\n\t * @description Get the ID of the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tid = (managerKey: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\ttx.add(\n\t\t\tbalanceManagerMoveCalls.id({\n\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\targuments: { balanceManager: managerId },\n\t\t\t}),\n\t\t);\n\t};\n\n\t/**\n\t * @description Get the owner of the referral (DeepBookPoolReferral)\n\t * @param {string} referralId The ID of the referral to get the owner of\n\t * @returns A function that takes a Transaction object\n\t */\n\tbalanceManagerReferralOwner = (referralId: string) => (tx: Transaction) => {\n\t\treturn tx.add(\n\t\t\tbalanceManagerMoveCalls.balanceManagerReferralOwner({\n\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\targuments: { referral: referralId },\n\t\t\t}),\n\t\t);\n\t};\n\n\t/**\n\t * @description Get the pool ID associated with a referral (DeepBookPoolReferral)\n\t * @param {string} referralId The ID of the referral to get the pool ID of\n\t * @returns A function that takes a Transaction object\n\t */\n\tbalanceManagerReferralPoolId = (referralId: string) => (tx: Transaction) => {\n\t\treturn tx.add(\n\t\t\tbalanceManagerMoveCalls.balanceManagerReferralPoolId({\n\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\targuments: { referral: referralId },\n\t\t\t}),\n\t\t);\n\t};\n\n\t/**\n\t * @description Get the referral ID from the balance manager for a specific pool\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} poolKey Key of the pool to get the referral for\n\t * @returns A function that takes a Transaction object\n\t */\n\tgetBalanceManagerReferralId = (managerKey: string, poolKey: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\tconst poolId = this.#config.getPool(poolKey).address;\n\t\treturn tx.add(\n\t\t\tbalanceManagerMoveCalls.getBalanceManagerReferralId({\n\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\targuments: { balanceManager: managerId, poolId },\n\t\t\t}),\n\t\t);\n\t};\n\n\t/**\n\t * @description Revoke a TradeCap. This also revokes the associated DepositCap and WithdrawCap.\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} tradeCapId The ID of the TradeCap to revoke\n\t * @returns A function that takes a Transaction object\n\t */\n\trevokeTradeCap = (managerKey: string, tradeCapId: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\ttx.add(\n\t\t\tbalanceManagerMoveCalls.revokeTradeCap({\n\t\t\t\tpackage: this.#config.DEEPBOOK_PACKAGE_ID,\n\t\t\t\targuments: { balanceManager: managerId, tradeCapId },\n\t\t\t}),\n\t\t);\n\t};\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deepbook.d.mts","names":[],"sources":["../../src/transactions/deepbook.ts"],"mappings":"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"}
1
+ {"version":3,"file":"deepbook.d.mts","names":[],"sources":["../../src/transactions/deepbook.ts"],"mappings":"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"}