@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.
- package/CHANGELOG.md +73 -0
- package/dist/client.d.mts +5 -0
- package/dist/client.d.mts.map +1 -1
- package/dist/client.mjs +7 -0
- package/dist/client.mjs.map +1 -1
- package/dist/contracts/deepbook/account.d.mts +18 -18
- package/dist/contracts/deepbook/account.d.mts.map +1 -1
- package/dist/contracts/deepbook/balance_manager.mjs +413 -0
- package/dist/contracts/deepbook/balance_manager.mjs.map +1 -0
- package/dist/contracts/deepbook/big_vector.mjs +43 -0
- package/dist/contracts/deepbook/big_vector.mjs.map +1 -0
- package/dist/contracts/deepbook/book.mjs +29 -0
- package/dist/contracts/deepbook/book.mjs.map +1 -0
- package/dist/contracts/deepbook/deep_price.d.mts +3 -3
- package/dist/contracts/deepbook/deep_price.d.mts.map +1 -1
- package/dist/contracts/deepbook/deep_price.mjs +1 -1
- package/dist/contracts/deepbook/deps/std/type_name.mjs +17 -0
- package/dist/contracts/deepbook/deps/std/type_name.mjs.map +1 -0
- package/dist/contracts/deepbook/deps/sui/bag.mjs +43 -0
- package/dist/contracts/deepbook/deps/sui/bag.mjs.map +1 -0
- package/dist/contracts/deepbook/deps/sui/balance.mjs +21 -0
- package/dist/contracts/deepbook/deps/sui/balance.mjs.map +1 -0
- package/dist/contracts/deepbook/deps/sui/table.mjs +38 -0
- package/dist/contracts/deepbook/deps/sui/table.mjs.map +1 -0
- package/dist/contracts/deepbook/deps/sui/vec_map.mjs +37 -0
- package/dist/contracts/deepbook/deps/sui/vec_map.mjs.map +1 -0
- package/dist/contracts/deepbook/deps/sui/versioned.mjs +19 -0
- package/dist/contracts/deepbook/deps/sui/versioned.mjs.map +1 -0
- package/dist/contracts/deepbook/governance.mjs +49 -0
- package/dist/contracts/deepbook/governance.mjs.map +1 -0
- package/dist/contracts/deepbook/history.mjs +56 -0
- package/dist/contracts/deepbook/history.mjs.map +1 -0
- package/dist/contracts/deepbook/order.d.mts +12 -12
- package/dist/contracts/deepbook/pool.mjs +1739 -0
- package/dist/contracts/deepbook/pool.mjs.map +1 -0
- package/dist/contracts/deepbook/registry.mjs +295 -0
- package/dist/contracts/deepbook/registry.mjs.map +1 -0
- package/dist/contracts/deepbook/state.mjs +89 -0
- package/dist/contracts/deepbook/state.mjs.map +1 -0
- package/dist/contracts/deepbook/trade_params.mjs +21 -0
- package/dist/contracts/deepbook/trade_params.mjs.map +1 -0
- package/dist/contracts/deepbook/vault.mjs +42 -0
- package/dist/contracts/deepbook/vault.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/deps/deepbook/balance_manager.mjs +53 -0
- package/dist/contracts/deepbook_margin/deps/deepbook/balance_manager.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/deps/std/type_name.mjs +17 -0
- package/dist/contracts/deepbook_margin/deps/std/type_name.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/deps/sui/bag.mjs +43 -0
- package/dist/contracts/deepbook_margin/deps/sui/bag.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/deps/sui/balance.mjs +21 -0
- package/dist/contracts/deepbook_margin/deps/sui/balance.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/deps/sui/table.mjs +38 -0
- package/dist/contracts/deepbook_margin/deps/sui/table.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/deps/sui/vec_map.mjs +37 -0
- package/dist/contracts/deepbook_margin/deps/sui/vec_map.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/deps/sui/vec_set.mjs +26 -0
- package/dist/contracts/deepbook_margin/deps/sui/vec_set.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/deps/sui/versioned.mjs +19 -0
- package/dist/contracts/deepbook_margin/deps/sui/versioned.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/margin_manager.mjs +989 -0
- package/dist/contracts/deepbook_margin/margin_manager.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/margin_pool.mjs +550 -0
- package/dist/contracts/deepbook_margin/margin_pool.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/margin_registry.mjs +786 -0
- package/dist/contracts/deepbook_margin/margin_registry.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/margin_state.mjs +30 -0
- package/dist/contracts/deepbook_margin/margin_state.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/oracle.mjs +82 -0
- package/dist/contracts/deepbook_margin/oracle.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/pool_proxy.mjs +644 -0
- package/dist/contracts/deepbook_margin/pool_proxy.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/position_manager.mjs +32 -0
- package/dist/contracts/deepbook_margin/position_manager.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/protocol_config.mjs +122 -0
- package/dist/contracts/deepbook_margin/protocol_config.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/protocol_fees.mjs +58 -0
- package/dist/contracts/deepbook_margin/protocol_fees.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/rate_limiter.mjs +26 -0
- package/dist/contracts/deepbook_margin/rate_limiter.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/tpsl.mjs +171 -0
- package/dist/contracts/deepbook_margin/tpsl.mjs.map +1 -0
- package/dist/contracts/margin_liquidation/deps/sui/bag.mjs +43 -0
- package/dist/contracts/margin_liquidation/deps/sui/bag.mjs.map +1 -0
- package/dist/contracts/margin_liquidation/liquidation_vault.mjs +179 -0
- package/dist/contracts/margin_liquidation/liquidation_vault.mjs.map +1 -0
- package/dist/contracts/utils/index.d.mts +1 -1
- package/dist/contracts/utils/index.mjs +92 -3
- package/dist/contracts/utils/index.mjs.map +1 -1
- package/dist/queries/registryQueries.mjs +13 -0
- package/dist/queries/registryQueries.mjs.map +1 -1
- package/dist/transactions/balanceManager.d.mts.map +1 -1
- package/dist/transactions/balanceManager.mjs +119 -100
- package/dist/transactions/balanceManager.mjs.map +1 -1
- package/dist/transactions/deepbook.d.mts.map +1 -1
- package/dist/transactions/deepbook.mjs +464 -439
- package/dist/transactions/deepbook.mjs.map +1 -1
- package/dist/transactions/deepbookAdmin.d.mts.map +1 -1
- package/dist/transactions/deepbookAdmin.mjs +151 -135
- package/dist/transactions/deepbookAdmin.mjs.map +1 -1
- package/dist/transactions/flashLoans.d.mts.map +1 -1
- package/dist/transactions/flashLoans.mjs +29 -22
- package/dist/transactions/flashLoans.mjs.map +1 -1
- package/dist/transactions/governance.d.mts.map +1 -1
- package/dist/transactions/governance.mjs +34 -33
- package/dist/transactions/governance.mjs.map +1 -1
- package/dist/transactions/marginAdmin.d.mts +17 -7
- package/dist/transactions/marginAdmin.d.mts.map +1 -1
- package/dist/transactions/marginAdmin.mjs +186 -169
- package/dist/transactions/marginAdmin.mjs.map +1 -1
- package/dist/transactions/marginLiquidations.d.mts +3 -3
- package/dist/transactions/marginLiquidations.d.mts.map +1 -1
- package/dist/transactions/marginLiquidations.mjs +53 -54
- package/dist/transactions/marginLiquidations.mjs.map +1 -1
- package/dist/transactions/marginMaintainer.d.mts +5 -5
- package/dist/transactions/marginMaintainer.d.mts.map +1 -1
- package/dist/transactions/marginMaintainer.mjs +83 -83
- package/dist/transactions/marginMaintainer.mjs.map +1 -1
- package/dist/transactions/marginManager.d.mts +32 -32
- package/dist/transactions/marginManager.d.mts.map +1 -1
- package/dist/transactions/marginManager.mjs +330 -317
- package/dist/transactions/marginManager.mjs.map +1 -1
- package/dist/transactions/marginPool.d.mts +18 -18
- package/dist/transactions/marginPool.d.mts.map +1 -1
- package/dist/transactions/marginPool.mjs +93 -89
- package/dist/transactions/marginPool.mjs.map +1 -1
- package/dist/transactions/marginRegistry.d.mts +22 -15
- package/dist/transactions/marginRegistry.d.mts.map +1 -1
- package/dist/transactions/marginRegistry.mjs +101 -68
- package/dist/transactions/marginRegistry.mjs.map +1 -1
- package/dist/transactions/marginTPSL.d.mts +27 -9
- package/dist/transactions/marginTPSL.d.mts.map +1 -1
- package/dist/transactions/marginTPSL.mjs +108 -82
- package/dist/transactions/marginTPSL.mjs.map +1 -1
- package/dist/transactions/poolProxy.d.mts +37 -5
- package/dist/transactions/poolProxy.d.mts.map +1 -1
- package/dist/transactions/poolProxy.mjs +269 -189
- package/dist/transactions/poolProxy.mjs.map +1 -1
- package/dist/utils/constants.mjs +4 -4
- package/dist/utils/constants.mjs.map +1 -1
- package/package.json +3 -3
- package/src/client.ts +8 -0
- package/src/contracts/deepbook/balance_manager.ts +46 -5
- package/src/contracts/deepbook/constants.ts +13 -0
- package/src/contracts/deepbook/pool.ts +133 -0
- package/src/contracts/deepbook/registry.ts +136 -1
- package/src/contracts/deepbook_margin/deps/deepbook/balance_manager.ts +49 -0
- package/src/contracts/deepbook_margin/deps/std/type_name.ts +24 -0
- package/src/contracts/deepbook_margin/deps/sui/bag.ts +41 -0
- package/src/contracts/deepbook_margin/deps/sui/balance.ts +19 -0
- package/src/contracts/deepbook_margin/deps/sui/table.ts +36 -0
- package/src/contracts/deepbook_margin/deps/sui/vec_map.ts +33 -0
- package/src/contracts/deepbook_margin/deps/sui/vec_set.ts +22 -0
- package/src/contracts/deepbook_margin/deps/sui/versioned.ts +13 -0
- package/src/contracts/deepbook_margin/margin_constants.ts +329 -0
- package/src/contracts/deepbook_margin/margin_manager.ts +1772 -0
- package/src/contracts/deepbook_margin/margin_pool.ts +1129 -0
- package/src/contracts/deepbook_margin/margin_registry.ts +1207 -0
- package/src/contracts/deepbook_margin/margin_state.ts +26 -0
- package/src/contracts/deepbook_margin/oracle.ts +99 -0
- package/src/contracts/deepbook_margin/pool_proxy.ts +1298 -0
- package/src/contracts/deepbook_margin/position_manager.ts +28 -0
- package/src/contracts/deepbook_margin/protocol_config.ts +163 -0
- package/src/contracts/deepbook_margin/protocol_fees.ts +153 -0
- package/src/contracts/deepbook_margin/rate_limiter.ts +80 -0
- package/src/contracts/deepbook_margin/tpsl.ts +559 -0
- package/src/contracts/margin_liquidation/deps/sui/bag.ts +41 -0
- package/src/contracts/margin_liquidation/liquidation_vault.ts +401 -0
- package/src/queries/registryQueries.ts +15 -0
- package/src/transactions/balanceManager.ts +140 -90
- package/src/transactions/deepbook.ts +586 -494
- package/src/transactions/deepbookAdmin.ts +154 -146
- package/src/transactions/flashLoans.ts +29 -20
- package/src/transactions/governance.ts +50 -37
- package/src/transactions/marginAdmin.ts +247 -188
- package/src/transactions/marginLiquidations.ts +70 -55
- package/src/transactions/marginMaintainer.ts +106 -88
- package/src/transactions/marginManager.ts +414 -348
- package/src/transactions/marginPool.ts +140 -103
- package/src/transactions/marginRegistry.ts +103 -70
- package/src/transactions/marginTPSL.ts +151 -87
- package/src/transactions/poolProxy.ts +384 -205
- package/src/utils/constants.ts +4 -4
|
@@ -0,0 +1,550 @@
|
|
|
1
|
+
import { MoveStruct, normalizeMoveArguments } from "../utils/index.mjs";
|
|
2
|
+
import { VecSet } from "./deps/sui/vec_set.mjs";
|
|
3
|
+
import { VecMap } from "./deps/sui/vec_map.mjs";
|
|
4
|
+
import { Balance } from "./deps/sui/balance.mjs";
|
|
5
|
+
import { State } from "./margin_state.mjs";
|
|
6
|
+
import { InterestConfig, MarginPoolConfig, ProtocolConfig } from "./protocol_config.mjs";
|
|
7
|
+
import { ProtocolFees } from "./protocol_fees.mjs";
|
|
8
|
+
import { PositionManager } from "./position_manager.mjs";
|
|
9
|
+
import { RateLimiter } from "./rate_limiter.mjs";
|
|
10
|
+
import { TypeName } from "./deps/std/type_name.mjs";
|
|
11
|
+
import { bcs } from "@mysten/sui/bcs";
|
|
12
|
+
|
|
13
|
+
//#region src/contracts/deepbook_margin/margin_pool.ts
|
|
14
|
+
/**************************************************************
|
|
15
|
+
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
16
|
+
**************************************************************/
|
|
17
|
+
const $moduleName = "@deepbook/margin::margin_pool";
|
|
18
|
+
const MarginPool = new MoveStruct({
|
|
19
|
+
name: `${$moduleName}::MarginPool<phantom Asset>`,
|
|
20
|
+
fields: {
|
|
21
|
+
id: bcs.Address,
|
|
22
|
+
vault: Balance,
|
|
23
|
+
state: State,
|
|
24
|
+
config: ProtocolConfig,
|
|
25
|
+
protocol_fees: ProtocolFees,
|
|
26
|
+
positions: PositionManager,
|
|
27
|
+
allowed_deepbook_pools: VecSet(bcs.Address),
|
|
28
|
+
rate_limiter: RateLimiter,
|
|
29
|
+
extra_fields: VecMap(bcs.string(), bcs.u64())
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
const SupplierCap = new MoveStruct({
|
|
33
|
+
name: `${$moduleName}::SupplierCap`,
|
|
34
|
+
fields: { id: bcs.Address }
|
|
35
|
+
});
|
|
36
|
+
const MarginPoolCreated = new MoveStruct({
|
|
37
|
+
name: `${$moduleName}::MarginPoolCreated`,
|
|
38
|
+
fields: {
|
|
39
|
+
margin_pool_id: bcs.Address,
|
|
40
|
+
maintainer_cap_id: bcs.Address,
|
|
41
|
+
asset_type: TypeName,
|
|
42
|
+
config: ProtocolConfig,
|
|
43
|
+
timestamp: bcs.u64()
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
const MaintainerFeesWithdrawn = new MoveStruct({
|
|
47
|
+
name: `${$moduleName}::MaintainerFeesWithdrawn`,
|
|
48
|
+
fields: {
|
|
49
|
+
margin_pool_id: bcs.Address,
|
|
50
|
+
margin_pool_cap_id: bcs.Address,
|
|
51
|
+
maintainer_fees: bcs.u64(),
|
|
52
|
+
timestamp: bcs.u64()
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
const ProtocolFeesWithdrawn = new MoveStruct({
|
|
56
|
+
name: `${$moduleName}::ProtocolFeesWithdrawn`,
|
|
57
|
+
fields: {
|
|
58
|
+
margin_pool_id: bcs.Address,
|
|
59
|
+
protocol_fees: bcs.u64(),
|
|
60
|
+
timestamp: bcs.u64()
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
const DeepbookPoolUpdated = new MoveStruct({
|
|
64
|
+
name: `${$moduleName}::DeepbookPoolUpdated`,
|
|
65
|
+
fields: {
|
|
66
|
+
margin_pool_id: bcs.Address,
|
|
67
|
+
deepbook_pool_id: bcs.Address,
|
|
68
|
+
pool_cap_id: bcs.Address,
|
|
69
|
+
enabled: bcs.bool(),
|
|
70
|
+
timestamp: bcs.u64()
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
const InterestParamsUpdated = new MoveStruct({
|
|
74
|
+
name: `${$moduleName}::InterestParamsUpdated`,
|
|
75
|
+
fields: {
|
|
76
|
+
margin_pool_id: bcs.Address,
|
|
77
|
+
pool_cap_id: bcs.Address,
|
|
78
|
+
interest_config: InterestConfig,
|
|
79
|
+
timestamp: bcs.u64()
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
const MarginPoolConfigUpdated = new MoveStruct({
|
|
83
|
+
name: `${$moduleName}::MarginPoolConfigUpdated`,
|
|
84
|
+
fields: {
|
|
85
|
+
margin_pool_id: bcs.Address,
|
|
86
|
+
pool_cap_id: bcs.Address,
|
|
87
|
+
margin_pool_config: MarginPoolConfig,
|
|
88
|
+
timestamp: bcs.u64()
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
const AssetSupplied = new MoveStruct({
|
|
92
|
+
name: `${$moduleName}::AssetSupplied`,
|
|
93
|
+
fields: {
|
|
94
|
+
margin_pool_id: bcs.Address,
|
|
95
|
+
asset_type: TypeName,
|
|
96
|
+
supplier_cap_id: bcs.Address,
|
|
97
|
+
supply_amount: bcs.u64(),
|
|
98
|
+
supply_shares: bcs.u64(),
|
|
99
|
+
timestamp: bcs.u64()
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
const AssetWithdrawn = new MoveStruct({
|
|
103
|
+
name: `${$moduleName}::AssetWithdrawn`,
|
|
104
|
+
fields: {
|
|
105
|
+
margin_pool_id: bcs.Address,
|
|
106
|
+
asset_type: TypeName,
|
|
107
|
+
supplier_cap_id: bcs.Address,
|
|
108
|
+
withdraw_amount: bcs.u64(),
|
|
109
|
+
withdraw_shares: bcs.u64(),
|
|
110
|
+
timestamp: bcs.u64()
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
const SupplierCapMinted = new MoveStruct({
|
|
114
|
+
name: `${$moduleName}::SupplierCapMinted`,
|
|
115
|
+
fields: {
|
|
116
|
+
supplier_cap_id: bcs.Address,
|
|
117
|
+
timestamp: bcs.u64()
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
const SupplyReferralMinted = new MoveStruct({
|
|
121
|
+
name: `${$moduleName}::SupplyReferralMinted`,
|
|
122
|
+
fields: {
|
|
123
|
+
margin_pool_id: bcs.Address,
|
|
124
|
+
supply_referral_id: bcs.Address,
|
|
125
|
+
owner: bcs.Address,
|
|
126
|
+
timestamp: bcs.u64()
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
/**
|
|
130
|
+
* Creates and registers a new margin pool. If a same asset pool already exists,
|
|
131
|
+
* abort. Sends a `MarginPoolCap` to the pool creator. Returns the created margin
|
|
132
|
+
* pool id.
|
|
133
|
+
*/
|
|
134
|
+
function createMarginPool(options) {
|
|
135
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
136
|
+
const argumentsTypes = [
|
|
137
|
+
null,
|
|
138
|
+
null,
|
|
139
|
+
null,
|
|
140
|
+
"0x2::clock::Clock"
|
|
141
|
+
];
|
|
142
|
+
const parameterNames = [
|
|
143
|
+
"registry",
|
|
144
|
+
"config",
|
|
145
|
+
"maintainerCap"
|
|
146
|
+
];
|
|
147
|
+
return (tx) => tx.moveCall({
|
|
148
|
+
package: packageAddress,
|
|
149
|
+
module: "margin_pool",
|
|
150
|
+
function: "create_margin_pool",
|
|
151
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
152
|
+
typeArguments: options.typeArguments
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
/** Allow a margin manager tied to a deepbook pool to borrow from the margin pool. */
|
|
156
|
+
function enableDeepbookPoolForLoan(options) {
|
|
157
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
158
|
+
const argumentsTypes = [
|
|
159
|
+
null,
|
|
160
|
+
null,
|
|
161
|
+
"0x2::object::ID",
|
|
162
|
+
null,
|
|
163
|
+
"0x2::clock::Clock"
|
|
164
|
+
];
|
|
165
|
+
const parameterNames = [
|
|
166
|
+
"self",
|
|
167
|
+
"registry",
|
|
168
|
+
"deepbookPoolId",
|
|
169
|
+
"marginPoolCap"
|
|
170
|
+
];
|
|
171
|
+
return (tx) => tx.moveCall({
|
|
172
|
+
package: packageAddress,
|
|
173
|
+
module: "margin_pool",
|
|
174
|
+
function: "enable_deepbook_pool_for_loan",
|
|
175
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
176
|
+
typeArguments: options.typeArguments
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Disable a margin manager tied to a deepbook pool from borrowing from the margin
|
|
181
|
+
* pool.
|
|
182
|
+
*/
|
|
183
|
+
function disableDeepbookPoolForLoan(options) {
|
|
184
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
185
|
+
const argumentsTypes = [
|
|
186
|
+
null,
|
|
187
|
+
null,
|
|
188
|
+
"0x2::object::ID",
|
|
189
|
+
null,
|
|
190
|
+
"0x2::clock::Clock"
|
|
191
|
+
];
|
|
192
|
+
const parameterNames = [
|
|
193
|
+
"self",
|
|
194
|
+
"registry",
|
|
195
|
+
"deepbookPoolId",
|
|
196
|
+
"marginPoolCap"
|
|
197
|
+
];
|
|
198
|
+
return (tx) => tx.moveCall({
|
|
199
|
+
package: packageAddress,
|
|
200
|
+
module: "margin_pool",
|
|
201
|
+
function: "disable_deepbook_pool_for_loan",
|
|
202
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
203
|
+
typeArguments: options.typeArguments
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
/** Updates interest params for the margin pool */
|
|
207
|
+
function updateInterestParams(options) {
|
|
208
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
209
|
+
const argumentsTypes = [
|
|
210
|
+
null,
|
|
211
|
+
null,
|
|
212
|
+
null,
|
|
213
|
+
null,
|
|
214
|
+
"0x2::clock::Clock"
|
|
215
|
+
];
|
|
216
|
+
const parameterNames = [
|
|
217
|
+
"self",
|
|
218
|
+
"registry",
|
|
219
|
+
"interestConfig",
|
|
220
|
+
"marginPoolCap"
|
|
221
|
+
];
|
|
222
|
+
return (tx) => tx.moveCall({
|
|
223
|
+
package: packageAddress,
|
|
224
|
+
module: "margin_pool",
|
|
225
|
+
function: "update_interest_params",
|
|
226
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
227
|
+
typeArguments: options.typeArguments
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
/** Updates margin pool config */
|
|
231
|
+
function updateMarginPoolConfig(options) {
|
|
232
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
233
|
+
const argumentsTypes = [
|
|
234
|
+
null,
|
|
235
|
+
null,
|
|
236
|
+
null,
|
|
237
|
+
null,
|
|
238
|
+
"0x2::clock::Clock"
|
|
239
|
+
];
|
|
240
|
+
const parameterNames = [
|
|
241
|
+
"self",
|
|
242
|
+
"registry",
|
|
243
|
+
"marginPoolConfig",
|
|
244
|
+
"marginPoolCap"
|
|
245
|
+
];
|
|
246
|
+
return (tx) => tx.moveCall({
|
|
247
|
+
package: packageAddress,
|
|
248
|
+
module: "margin_pool",
|
|
249
|
+
function: "update_margin_pool_config",
|
|
250
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
251
|
+
typeArguments: options.typeArguments
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Mint a new SupplierCap, which is used to supply and withdraw from margin pools.
|
|
256
|
+
* One SupplierCap can be used to supply and withdraw from multiple margin pools.
|
|
257
|
+
*/
|
|
258
|
+
function mintSupplierCap(options) {
|
|
259
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
260
|
+
const argumentsTypes = [null, "0x2::clock::Clock"];
|
|
261
|
+
const parameterNames = ["registry"];
|
|
262
|
+
return (tx) => tx.moveCall({
|
|
263
|
+
package: packageAddress,
|
|
264
|
+
module: "margin_pool",
|
|
265
|
+
function: "mint_supplier_cap",
|
|
266
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames)
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
/** Withdraw from the margin pool using a SupplierCap. Returns the withdrawn coin. */
|
|
270
|
+
function withdraw(options) {
|
|
271
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
272
|
+
const argumentsTypes = [
|
|
273
|
+
null,
|
|
274
|
+
null,
|
|
275
|
+
null,
|
|
276
|
+
"0x1::option::Option<u64>",
|
|
277
|
+
"0x2::clock::Clock"
|
|
278
|
+
];
|
|
279
|
+
const parameterNames = [
|
|
280
|
+
"self",
|
|
281
|
+
"registry",
|
|
282
|
+
"supplierCap",
|
|
283
|
+
"amount"
|
|
284
|
+
];
|
|
285
|
+
return (tx) => tx.moveCall({
|
|
286
|
+
package: packageAddress,
|
|
287
|
+
module: "margin_pool",
|
|
288
|
+
function: "withdraw",
|
|
289
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
290
|
+
typeArguments: options.typeArguments
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
/** Mint a supply referral. */
|
|
294
|
+
function mintSupplyReferral(options) {
|
|
295
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
296
|
+
const argumentsTypes = [
|
|
297
|
+
null,
|
|
298
|
+
null,
|
|
299
|
+
"0x2::clock::Clock"
|
|
300
|
+
];
|
|
301
|
+
const parameterNames = ["self", "registry"];
|
|
302
|
+
return (tx) => tx.moveCall({
|
|
303
|
+
package: packageAddress,
|
|
304
|
+
module: "margin_pool",
|
|
305
|
+
function: "mint_supply_referral",
|
|
306
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
307
|
+
typeArguments: options.typeArguments
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
/** Withdraw the referral fees. */
|
|
311
|
+
function withdrawReferralFees(options) {
|
|
312
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
313
|
+
const argumentsTypes = [
|
|
314
|
+
null,
|
|
315
|
+
null,
|
|
316
|
+
null
|
|
317
|
+
];
|
|
318
|
+
const parameterNames = [
|
|
319
|
+
"self",
|
|
320
|
+
"registry",
|
|
321
|
+
"referral"
|
|
322
|
+
];
|
|
323
|
+
return (tx) => tx.moveCall({
|
|
324
|
+
package: packageAddress,
|
|
325
|
+
module: "margin_pool",
|
|
326
|
+
function: "withdraw_referral_fees",
|
|
327
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
328
|
+
typeArguments: options.typeArguments
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Withdraw the default referral fees (admin only). The default referral at 0x0
|
|
333
|
+
* doesn't have a SupplyReferral object,
|
|
334
|
+
*/
|
|
335
|
+
function adminWithdrawDefaultReferralFees(options) {
|
|
336
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
337
|
+
const argumentsTypes = [
|
|
338
|
+
null,
|
|
339
|
+
null,
|
|
340
|
+
null
|
|
341
|
+
];
|
|
342
|
+
const parameterNames = [
|
|
343
|
+
"self",
|
|
344
|
+
"registry",
|
|
345
|
+
"AdminCap"
|
|
346
|
+
];
|
|
347
|
+
return (tx) => tx.moveCall({
|
|
348
|
+
package: packageAddress,
|
|
349
|
+
module: "margin_pool",
|
|
350
|
+
function: "admin_withdraw_default_referral_fees",
|
|
351
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
352
|
+
typeArguments: options.typeArguments
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
/** Return the ID of the margin pool. */
|
|
356
|
+
function id(options) {
|
|
357
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
358
|
+
const argumentsTypes = [null];
|
|
359
|
+
const parameterNames = ["self"];
|
|
360
|
+
return (tx) => tx.moveCall({
|
|
361
|
+
package: packageAddress,
|
|
362
|
+
module: "margin_pool",
|
|
363
|
+
function: "id",
|
|
364
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
365
|
+
typeArguments: options.typeArguments
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Return whether a margin manager for a given deepbook pool is allowed to borrow
|
|
370
|
+
* from the margin pool.
|
|
371
|
+
*/
|
|
372
|
+
function deepbookPoolAllowed(options) {
|
|
373
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
374
|
+
const argumentsTypes = [null, "0x2::object::ID"];
|
|
375
|
+
const parameterNames = ["self", "deepbookPoolId"];
|
|
376
|
+
return (tx) => tx.moveCall({
|
|
377
|
+
package: packageAddress,
|
|
378
|
+
module: "margin_pool",
|
|
379
|
+
function: "deepbook_pool_allowed",
|
|
380
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
381
|
+
typeArguments: options.typeArguments
|
|
382
|
+
});
|
|
383
|
+
}
|
|
384
|
+
/** Return the current total supply of the margin pool. */
|
|
385
|
+
function totalSupply(options) {
|
|
386
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
387
|
+
const argumentsTypes = [null];
|
|
388
|
+
const parameterNames = ["self"];
|
|
389
|
+
return (tx) => tx.moveCall({
|
|
390
|
+
package: packageAddress,
|
|
391
|
+
module: "margin_pool",
|
|
392
|
+
function: "total_supply",
|
|
393
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
394
|
+
typeArguments: options.typeArguments
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
/** Return the current total supply shares of the margin pool. */
|
|
398
|
+
function supplyShares(options) {
|
|
399
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
400
|
+
const argumentsTypes = [null];
|
|
401
|
+
const parameterNames = ["self"];
|
|
402
|
+
return (tx) => tx.moveCall({
|
|
403
|
+
package: packageAddress,
|
|
404
|
+
module: "margin_pool",
|
|
405
|
+
function: "supply_shares",
|
|
406
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
407
|
+
typeArguments: options.typeArguments
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
/** Return the current total borrow of the margin pool. */
|
|
411
|
+
function totalBorrow(options) {
|
|
412
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
413
|
+
const argumentsTypes = [null];
|
|
414
|
+
const parameterNames = ["self"];
|
|
415
|
+
return (tx) => tx.moveCall({
|
|
416
|
+
package: packageAddress,
|
|
417
|
+
module: "margin_pool",
|
|
418
|
+
function: "total_borrow",
|
|
419
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
420
|
+
typeArguments: options.typeArguments
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
/** Return the current total borrow shares of the margin pool. */
|
|
424
|
+
function borrowShares(options) {
|
|
425
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
426
|
+
const argumentsTypes = [null];
|
|
427
|
+
const parameterNames = ["self"];
|
|
428
|
+
return (tx) => tx.moveCall({
|
|
429
|
+
package: packageAddress,
|
|
430
|
+
module: "margin_pool",
|
|
431
|
+
function: "borrow_shares",
|
|
432
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
433
|
+
typeArguments: options.typeArguments
|
|
434
|
+
});
|
|
435
|
+
}
|
|
436
|
+
/** Return the last update timestamp of the margin pool. */
|
|
437
|
+
function lastUpdateTimestamp(options) {
|
|
438
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
439
|
+
const argumentsTypes = [null];
|
|
440
|
+
const parameterNames = ["self"];
|
|
441
|
+
return (tx) => tx.moveCall({
|
|
442
|
+
package: packageAddress,
|
|
443
|
+
module: "margin_pool",
|
|
444
|
+
function: "last_update_timestamp",
|
|
445
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
446
|
+
typeArguments: options.typeArguments
|
|
447
|
+
});
|
|
448
|
+
}
|
|
449
|
+
/** Return the supply cap of the margin pool. */
|
|
450
|
+
function supplyCap(options) {
|
|
451
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
452
|
+
const argumentsTypes = [null];
|
|
453
|
+
const parameterNames = ["self"];
|
|
454
|
+
return (tx) => tx.moveCall({
|
|
455
|
+
package: packageAddress,
|
|
456
|
+
module: "margin_pool",
|
|
457
|
+
function: "supply_cap",
|
|
458
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
459
|
+
typeArguments: options.typeArguments
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
/** Return the current max utilization rate of the margin pool. */
|
|
463
|
+
function maxUtilizationRate(options) {
|
|
464
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
465
|
+
const argumentsTypes = [null];
|
|
466
|
+
const parameterNames = ["self"];
|
|
467
|
+
return (tx) => tx.moveCall({
|
|
468
|
+
package: packageAddress,
|
|
469
|
+
module: "margin_pool",
|
|
470
|
+
function: "max_utilization_rate",
|
|
471
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
472
|
+
typeArguments: options.typeArguments
|
|
473
|
+
});
|
|
474
|
+
}
|
|
475
|
+
/** Return the current protocol spread of the margin pool. */
|
|
476
|
+
function protocolSpread(options) {
|
|
477
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
478
|
+
const argumentsTypes = [null];
|
|
479
|
+
const parameterNames = ["self"];
|
|
480
|
+
return (tx) => tx.moveCall({
|
|
481
|
+
package: packageAddress,
|
|
482
|
+
module: "margin_pool",
|
|
483
|
+
function: "protocol_spread",
|
|
484
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
485
|
+
typeArguments: options.typeArguments
|
|
486
|
+
});
|
|
487
|
+
}
|
|
488
|
+
/** Return the current min borrow of the margin pool. */
|
|
489
|
+
function minBorrow(options) {
|
|
490
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
491
|
+
const argumentsTypes = [null];
|
|
492
|
+
const parameterNames = ["self"];
|
|
493
|
+
return (tx) => tx.moveCall({
|
|
494
|
+
package: packageAddress,
|
|
495
|
+
module: "margin_pool",
|
|
496
|
+
function: "min_borrow",
|
|
497
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
498
|
+
typeArguments: options.typeArguments
|
|
499
|
+
});
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Return the current interest rate of the margin pool. Represented in 9 decimal
|
|
503
|
+
* places.
|
|
504
|
+
*/
|
|
505
|
+
function interestRate(options) {
|
|
506
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
507
|
+
const argumentsTypes = [null];
|
|
508
|
+
const parameterNames = ["self"];
|
|
509
|
+
return (tx) => tx.moveCall({
|
|
510
|
+
package: packageAddress,
|
|
511
|
+
module: "margin_pool",
|
|
512
|
+
function: "interest_rate",
|
|
513
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
514
|
+
typeArguments: options.typeArguments
|
|
515
|
+
});
|
|
516
|
+
}
|
|
517
|
+
/** Return the current user supply shares of the margin pool. */
|
|
518
|
+
function userSupplyShares(options) {
|
|
519
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
520
|
+
const argumentsTypes = [null, "0x2::object::ID"];
|
|
521
|
+
const parameterNames = ["self", "supplierCapId"];
|
|
522
|
+
return (tx) => tx.moveCall({
|
|
523
|
+
package: packageAddress,
|
|
524
|
+
module: "margin_pool",
|
|
525
|
+
function: "user_supply_shares",
|
|
526
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
527
|
+
typeArguments: options.typeArguments
|
|
528
|
+
});
|
|
529
|
+
}
|
|
530
|
+
/** Return the current user supply amount of the margin pool. */
|
|
531
|
+
function userSupplyAmount(options) {
|
|
532
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
533
|
+
const argumentsTypes = [
|
|
534
|
+
null,
|
|
535
|
+
"0x2::object::ID",
|
|
536
|
+
"0x2::clock::Clock"
|
|
537
|
+
];
|
|
538
|
+
const parameterNames = ["self", "supplierCapId"];
|
|
539
|
+
return (tx) => tx.moveCall({
|
|
540
|
+
package: packageAddress,
|
|
541
|
+
module: "margin_pool",
|
|
542
|
+
function: "user_supply_amount",
|
|
543
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
544
|
+
typeArguments: options.typeArguments
|
|
545
|
+
});
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
//#endregion
|
|
549
|
+
export { adminWithdrawDefaultReferralFees, borrowShares, createMarginPool, deepbookPoolAllowed, disableDeepbookPoolForLoan, enableDeepbookPoolForLoan, id, interestRate, lastUpdateTimestamp, maxUtilizationRate, minBorrow, mintSupplierCap, mintSupplyReferral, protocolSpread, supplyCap, supplyShares, totalBorrow, totalSupply, updateInterestParams, updateMarginPoolConfig, userSupplyAmount, userSupplyShares, withdraw, withdrawReferralFees };
|
|
550
|
+
//# sourceMappingURL=margin_pool.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"margin_pool.mjs","names":["balance.Balance","margin_state.State","protocol_config.ProtocolConfig","protocol_fees.ProtocolFees","position_manager.PositionManager","vec_set.VecSet","rate_limiter.RateLimiter","vec_map.VecMap","type_name.TypeName","protocol_config.InterestConfig","protocol_config.MarginPoolConfig"],"sources":["../../../src/contracts/deepbook_margin/margin_pool.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';\nimport * as balance from './deps/sui/balance.js';\nimport * as margin_state from './margin_state.js';\nimport * as protocol_config from './protocol_config.js';\nimport * as protocol_fees from './protocol_fees.js';\nimport * as position_manager from './position_manager.js';\nimport * as vec_set from './deps/sui/vec_set.js';\nimport * as rate_limiter from './rate_limiter.js';\nimport * as vec_map from './deps/sui/vec_map.js';\nimport * as type_name from './deps/std/type_name.js';\nconst $moduleName = '@deepbook/margin::margin_pool';\nexport const MarginPool = new MoveStruct({\n\tname: `${$moduleName}::MarginPool<phantom Asset>`,\n\tfields: {\n\t\tid: bcs.Address,\n\t\tvault: balance.Balance,\n\t\tstate: margin_state.State,\n\t\tconfig: protocol_config.ProtocolConfig,\n\t\tprotocol_fees: protocol_fees.ProtocolFees,\n\t\tpositions: position_manager.PositionManager,\n\t\tallowed_deepbook_pools: vec_set.VecSet(bcs.Address),\n\t\trate_limiter: rate_limiter.RateLimiter,\n\t\textra_fields: vec_map.VecMap(bcs.string(), bcs.u64()),\n\t},\n});\nexport const SupplierCap = new MoveStruct({\n\tname: `${$moduleName}::SupplierCap`,\n\tfields: {\n\t\tid: bcs.Address,\n\t},\n});\nexport const MarginPoolCreated = new MoveStruct({\n\tname: `${$moduleName}::MarginPoolCreated`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tmaintainer_cap_id: bcs.Address,\n\t\tasset_type: type_name.TypeName,\n\t\tconfig: protocol_config.ProtocolConfig,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const MaintainerFeesWithdrawn = new MoveStruct({\n\tname: `${$moduleName}::MaintainerFeesWithdrawn`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tmargin_pool_cap_id: bcs.Address,\n\t\tmaintainer_fees: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const ProtocolFeesWithdrawn = new MoveStruct({\n\tname: `${$moduleName}::ProtocolFeesWithdrawn`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tprotocol_fees: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const DeepbookPoolUpdated = new MoveStruct({\n\tname: `${$moduleName}::DeepbookPoolUpdated`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tdeepbook_pool_id: bcs.Address,\n\t\tpool_cap_id: bcs.Address,\n\t\tenabled: bcs.bool(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const InterestParamsUpdated = new MoveStruct({\n\tname: `${$moduleName}::InterestParamsUpdated`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tpool_cap_id: bcs.Address,\n\t\tinterest_config: protocol_config.InterestConfig,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const MarginPoolConfigUpdated = new MoveStruct({\n\tname: `${$moduleName}::MarginPoolConfigUpdated`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tpool_cap_id: bcs.Address,\n\t\tmargin_pool_config: protocol_config.MarginPoolConfig,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const AssetSupplied = new MoveStruct({\n\tname: `${$moduleName}::AssetSupplied`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tasset_type: type_name.TypeName,\n\t\tsupplier_cap_id: bcs.Address,\n\t\tsupply_amount: bcs.u64(),\n\t\tsupply_shares: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const AssetWithdrawn = new MoveStruct({\n\tname: `${$moduleName}::AssetWithdrawn`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tasset_type: type_name.TypeName,\n\t\tsupplier_cap_id: bcs.Address,\n\t\twithdraw_amount: bcs.u64(),\n\t\twithdraw_shares: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const SupplierCapMinted = new MoveStruct({\n\tname: `${$moduleName}::SupplierCapMinted`,\n\tfields: {\n\t\tsupplier_cap_id: bcs.Address,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const SupplyReferralMinted = new MoveStruct({\n\tname: `${$moduleName}::SupplyReferralMinted`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tsupply_referral_id: bcs.Address,\n\t\towner: bcs.Address,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport interface CreateMarginPoolArguments {\n\tregistry: RawTransactionArgument<string>;\n\tconfig: TransactionArgument;\n\tmaintainerCap: RawTransactionArgument<string>;\n}\nexport interface CreateMarginPoolOptions {\n\tpackage?: string;\n\targuments:\n\t\t| CreateMarginPoolArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tconfig: TransactionArgument,\n\t\t\t\tmaintainerCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Creates and registers a new margin pool. If a same asset pool already exists,\n * abort. Sends a `MarginPoolCap` to the pool creator. Returns the created margin\n * pool id.\n */\nexport function createMarginPool(options: CreateMarginPoolOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'config', 'maintainerCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'create_margin_pool',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface EnableDeepbookPoolForLoanArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n\tmarginPoolCap: RawTransactionArgument<string>;\n}\nexport interface EnableDeepbookPoolForLoanOptions {\n\tpackage?: string;\n\targuments:\n\t\t| EnableDeepbookPoolForLoanArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tdeepbookPoolId: RawTransactionArgument<string>,\n\t\t\t\tmarginPoolCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Allow a margin manager tied to a deepbook pool to borrow from the margin pool. */\nexport function enableDeepbookPoolForLoan(options: EnableDeepbookPoolForLoanOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, '0x2::object::ID', null, '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['self', 'registry', 'deepbookPoolId', 'marginPoolCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'enable_deepbook_pool_for_loan',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface DisableDeepbookPoolForLoanArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n\tmarginPoolCap: RawTransactionArgument<string>;\n}\nexport interface DisableDeepbookPoolForLoanOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DisableDeepbookPoolForLoanArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tdeepbookPoolId: RawTransactionArgument<string>,\n\t\t\t\tmarginPoolCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Disable a margin manager tied to a deepbook pool from borrowing from the margin\n * pool.\n */\nexport function disableDeepbookPoolForLoan(options: DisableDeepbookPoolForLoanOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, '0x2::object::ID', null, '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['self', 'registry', 'deepbookPoolId', 'marginPoolCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'disable_deepbook_pool_for_loan',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface UpdateInterestParamsArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tinterestConfig: TransactionArgument;\n\tmarginPoolCap: RawTransactionArgument<string>;\n}\nexport interface UpdateInterestParamsOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UpdateInterestParamsArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tinterestConfig: TransactionArgument,\n\t\t\t\tmarginPoolCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Updates interest params for the margin pool */\nexport function updateInterestParams(options: UpdateInterestParamsOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'interestConfig', 'marginPoolCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'update_interest_params',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface UpdateMarginPoolConfigArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tmarginPoolConfig: TransactionArgument;\n\tmarginPoolCap: RawTransactionArgument<string>;\n}\nexport interface UpdateMarginPoolConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UpdateMarginPoolConfigArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginPoolConfig: TransactionArgument,\n\t\t\t\tmarginPoolCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Updates margin pool config */\nexport function updateMarginPoolConfig(options: UpdateMarginPoolConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'marginPoolConfig', 'marginPoolCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'update_margin_pool_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface AdminInjectCapitalArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tcoin: RawTransactionArgument<string>;\n}\nexport interface AdminInjectCapitalOptions {\n\tpackage?: string;\n\targuments:\n\t\t| AdminInjectCapitalArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tcoin: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Inject capital into the margin pool without minting supplier shares. */\nexport function adminInjectCapital(options: AdminInjectCapitalOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'coin'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'admin_inject_capital',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface MintSupplierCapArguments {\n\tregistry: RawTransactionArgument<string>;\n}\nexport interface MintSupplierCapOptions {\n\tpackage?: string;\n\targuments: MintSupplierCapArguments | [registry: RawTransactionArgument<string>];\n}\n/**\n * Mint a new SupplierCap, which is used to supply and withdraw from margin pools.\n * One SupplierCap can be used to supply and withdraw from multiple margin pools.\n */\nexport function mintSupplierCap(options: MintSupplierCapOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['registry'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'mint_supplier_cap',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface SupplyArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tsupplierCap: RawTransactionArgument<string>;\n\tcoin: RawTransactionArgument<string>;\n\treferral: RawTransactionArgument<string | null>;\n}\nexport interface SupplyOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SupplyArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tsupplierCap: RawTransactionArgument<string>,\n\t\t\t\tcoin: RawTransactionArgument<string>,\n\t\t\t\treferral: RawTransactionArgument<string | null>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Supply to the margin pool using a SupplierCap. Returns the new supply shares.\n * The `referral` parameter should be the ID of a SupplyReferral object if referral\n * tracking is desired.\n */\nexport function supply(options: SupplyOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'0x1::option::Option<0x2::object::ID>',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'supplierCap', 'coin', 'referral'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'supply',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tsupplierCap: RawTransactionArgument<string>;\n\tamount: RawTransactionArgument<number | bigint | null>;\n}\nexport interface WithdrawOptions {\n\tpackage?: string;\n\targuments:\n\t\t| WithdrawArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tsupplierCap: RawTransactionArgument<string>,\n\t\t\t\tamount: RawTransactionArgument<number | bigint | null>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Withdraw from the margin pool using a SupplierCap. Returns the withdrawn coin. */\nexport function withdraw(options: WithdrawOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'0x1::option::Option<u64>',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'supplierCap', 'amount'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'withdraw',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface MintSupplyReferralArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n}\nexport interface MintSupplyReferralOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MintSupplyReferralArguments\n\t\t| [self: RawTransactionArgument<string>, registry: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Mint a supply referral. */\nexport function mintSupplyReferral(options: MintSupplyReferralOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'mint_supply_referral',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawReferralFeesArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\treferral: RawTransactionArgument<string>;\n}\nexport interface WithdrawReferralFeesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| WithdrawReferralFeesArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\treferral: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Withdraw the referral fees. */\nexport function withdrawReferralFees(options: WithdrawReferralFeesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'referral'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'withdraw_referral_fees',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface AdminWithdrawDefaultReferralFeesArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface AdminWithdrawDefaultReferralFeesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| AdminWithdrawDefaultReferralFeesArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Withdraw the default referral fees (admin only). The default referral at 0x0\n * doesn't have a SupplyReferral object,\n */\nexport function adminWithdrawDefaultReferralFees(options: AdminWithdrawDefaultReferralFeesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'admin_withdraw_default_referral_fees',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawMaintainerFeesArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tmarginPoolCap: RawTransactionArgument<string>;\n}\nexport interface WithdrawMaintainerFeesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| WithdrawMaintainerFeesArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginPoolCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Withdraw the maintainer fees. The `margin_pool_cap` parameter is used to ensure\n * the correct margin pool is being withdrawn from.\n */\nexport function withdrawMaintainerFees(options: WithdrawMaintainerFeesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'marginPoolCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'withdraw_maintainer_fees',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawProtocolFeesArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface WithdrawProtocolFeesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| WithdrawProtocolFeesArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Withdraw the protocol fees. */\nexport function withdrawProtocolFees(options: WithdrawProtocolFeesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'withdraw_protocol_fees',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface IdArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface IdOptions {\n\tpackage?: string;\n\targuments: IdArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the ID of the margin pool. */\nexport function id(options: IdOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'id',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface DeepbookPoolAllowedArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface DeepbookPoolAllowedOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DeepbookPoolAllowedArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/**\n * Return whether a margin manager for a given deepbook pool is allowed to borrow\n * from the margin pool.\n */\nexport function deepbookPoolAllowed(options: DeepbookPoolAllowedOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'deepbook_pool_allowed',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface TotalSupplyArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface TotalSupplyOptions {\n\tpackage?: string;\n\targuments: TotalSupplyArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current total supply of the margin pool. */\nexport function totalSupply(options: TotalSupplyOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'total_supply',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface TotalSupplyWithInterestArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface TotalSupplyWithInterestOptions {\n\tpackage?: string;\n\targuments: TotalSupplyWithInterestArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current total supply of the margin pool including accrued interest. */\nexport function totalSupplyWithInterest(options: TotalSupplyWithInterestOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'total_supply_with_interest',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SupplySharesArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface SupplySharesOptions {\n\tpackage?: string;\n\targuments: SupplySharesArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current total supply shares of the margin pool. */\nexport function supplyShares(options: SupplySharesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'supply_shares',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SupplyRatioArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface SupplyRatioOptions {\n\tpackage?: string;\n\targuments: SupplyRatioArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current supply ratio of the margin pool. */\nexport function supplyRatio(options: SupplyRatioOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'supply_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface TotalBorrowArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface TotalBorrowOptions {\n\tpackage?: string;\n\targuments: TotalBorrowArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current total borrow of the margin pool. */\nexport function totalBorrow(options: TotalBorrowOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'total_borrow',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface BorrowSharesArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface BorrowSharesOptions {\n\tpackage?: string;\n\targuments: BorrowSharesArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current total borrow shares of the margin pool. */\nexport function borrowShares(options: BorrowSharesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'borrow_shares',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface BorrowRatioArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface BorrowRatioOptions {\n\tpackage?: string;\n\targuments: BorrowRatioArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current borrow ratio of the margin pool. */\nexport function borrowRatio(options: BorrowRatioOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'borrow_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LastUpdateTimestampArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface LastUpdateTimestampOptions {\n\tpackage?: string;\n\targuments: LastUpdateTimestampArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the last update timestamp of the margin pool. */\nexport function lastUpdateTimestamp(options: LastUpdateTimestampOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'last_update_timestamp',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SupplyCapArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface SupplyCapOptions {\n\tpackage?: string;\n\targuments: SupplyCapArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the supply cap of the margin pool. */\nexport function supplyCap(options: SupplyCapOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'supply_cap',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ProtocolFeesArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface ProtocolFeesOptions {\n\tpackage?: string;\n\targuments: ProtocolFeesArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current protocol fees of the margin pool. */\nexport function protocolFees(options: ProtocolFeesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'protocol_fees',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface MaxUtilizationRateArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface MaxUtilizationRateOptions {\n\tpackage?: string;\n\targuments: MaxUtilizationRateArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current max utilization rate of the margin pool. */\nexport function maxUtilizationRate(options: MaxUtilizationRateOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'max_utilization_rate',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ProtocolSpreadArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface ProtocolSpreadOptions {\n\tpackage?: string;\n\targuments: ProtocolSpreadArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current protocol spread of the margin pool. */\nexport function protocolSpread(options: ProtocolSpreadOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'protocol_spread',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface MinBorrowArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface MinBorrowOptions {\n\tpackage?: string;\n\targuments: MinBorrowArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current min borrow of the margin pool. */\nexport function minBorrow(options: MinBorrowOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'min_borrow',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface InterestRateArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface InterestRateOptions {\n\tpackage?: string;\n\targuments: InterestRateArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/**\n * Return the current interest rate of the margin pool. Represented in 9 decimal\n * places.\n */\nexport function interestRate(options: InterestRateOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'interest_rate',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface TrueInterestRateArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface TrueInterestRateOptions {\n\tpackage?: string;\n\targuments: TrueInterestRateArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\nexport function trueInterestRate(options: TrueInterestRateOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'true_interest_rate',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface UserSupplySharesArguments {\n\tself: RawTransactionArgument<string>;\n\tsupplierCapId: RawTransactionArgument<string>;\n}\nexport interface UserSupplySharesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UserSupplySharesArguments\n\t\t| [self: RawTransactionArgument<string>, supplierCapId: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current user supply shares of the margin pool. */\nexport function userSupplyShares(options: UserSupplySharesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'supplierCapId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'user_supply_shares',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface VaultBalanceArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface VaultBalanceOptions {\n\tpackage?: string;\n\targuments: VaultBalanceArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current vault balance of the margin pool. */\nexport function vaultBalance(options: VaultBalanceOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'vault_balance',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface UserSupplyAmountArguments {\n\tself: RawTransactionArgument<string>;\n\tsupplierCapId: RawTransactionArgument<string>;\n}\nexport interface UserSupplyAmountOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UserSupplyAmountArguments\n\t\t| [self: RawTransactionArgument<string>, supplierCapId: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current user supply amount of the margin pool. */\nexport function userSupplyAmount(options: UserSupplyAmountOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID', '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'supplierCapId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'user_supply_amount',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface GetAvailableWithdrawalArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface GetAvailableWithdrawalOptions {\n\tpackage?: string;\n\targuments: GetAvailableWithdrawalArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Returns the maximum amount that can be withdrawn without hitting rate limits */\nexport function getAvailableWithdrawal(options: GetAvailableWithdrawalOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'get_available_withdrawal',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface IsRateLimitEnabledArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface IsRateLimitEnabledOptions {\n\tpackage?: string;\n\targuments: IsRateLimitEnabledArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Returns whether rate limiting is enabled */\nexport function isRateLimitEnabled(options: IsRateLimitEnabledOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'is_rate_limit_enabled',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface RateLimitCapacityArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface RateLimitCapacityOptions {\n\tpackage?: string;\n\targuments: RateLimitCapacityArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Returns the rate limit capacity (max bucket size) */\nexport function rateLimitCapacity(options: RateLimitCapacityOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'rate_limit_capacity',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface RateLimitRefillRatePerMsArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface RateLimitRefillRatePerMsOptions {\n\tpackage?: string;\n\targuments: RateLimitRefillRatePerMsArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Returns the rate limit refill rate per millisecond */\nexport function rateLimitRefillRatePerMs(options: RateLimitRefillRatePerMsOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'rate_limit_refill_rate_per_ms',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\n"],"mappings":"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"}
|