@mysten/deepbook-v3 2.0.0 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +100 -0
- package/PREDICT.md +256 -0
- package/README.md +116 -0
- package/dist/account.d.mts +139 -0
- package/dist/account.d.mts.map +1 -0
- package/dist/account.mjs +181 -0
- package/dist/account.mjs.map +1 -0
- package/dist/bcs/integers.mjs +23 -0
- package/dist/bcs/integers.mjs.map +1 -0
- package/dist/contracts/account/account.d.mts +382 -0
- package/dist/contracts/account/account.d.mts.map +1 -0
- package/dist/contracts/account/account.mjs +443 -0
- package/dist/contracts/account/account.mjs.map +1 -0
- package/dist/contracts/account/account_events.d.mts +41 -0
- package/dist/contracts/account/account_events.d.mts.map +1 -0
- package/dist/contracts/account/account_events.mjs +72 -0
- package/dist/contracts/account/account_events.mjs.map +1 -0
- package/dist/contracts/account/account_registry.d.mts +210 -0
- package/dist/contracts/account/account_registry.d.mts.map +1 -0
- package/dist/contracts/account/account_registry.mjs +263 -0
- package/dist/contracts/account/account_registry.mjs.map +1 -0
- package/dist/contracts/account/config-arguments.d.mts +10 -0
- package/dist/contracts/account/config-arguments.d.mts.map +1 -0
- package/dist/contracts/account/deps/sui/bag.mjs +44 -0
- package/dist/contracts/account/deps/sui/bag.mjs.map +1 -0
- package/dist/contracts/deepbook/account.d.mts +18 -18
- package/dist/contracts/deepbook/balance_manager.mjs.map +1 -1
- package/dist/contracts/deepbook/balances.d.mts +4 -4
- package/dist/contracts/deepbook/balances.d.mts.map +1 -1
- 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/order.d.mts +12 -12
- package/dist/contracts/deepbook/pool.mjs.map +1 -1
- package/dist/contracts/deepbook/registry.mjs.map +1 -1
- package/dist/contracts/deepbook_margin/margin_manager.mjs.map +1 -1
- package/dist/contracts/deepbook_margin/margin_manager_upgraded.mjs.map +1 -1
- package/dist/contracts/deepbook_margin/margin_pool.mjs.map +1 -1
- package/dist/contracts/deepbook_margin/margin_registry.mjs.map +1 -1
- package/dist/contracts/deepbook_margin/pool_proxy.mjs.map +1 -1
- package/dist/contracts/deepbook_margin/protocol_config.mjs.map +1 -1
- package/dist/contracts/deepbook_margin/tpsl.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/builder_code_events.mjs +38 -0
- package/dist/contracts/deepbook_predict/builder_code_events.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/config-arguments.d.mts +13 -0
- package/dist/contracts/deepbook_predict/config-arguments.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/deps/fixed_math/i64.mjs +25 -0
- package/dist/contracts/deepbook_predict/deps/fixed_math/i64.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/deps/sui/balance.mjs +25 -0
- package/dist/contracts/deepbook_predict/deps/sui/balance.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/deps/sui/coin.mjs +24 -0
- package/dist/contracts/deepbook_predict/deps/sui/coin.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/deps/sui/table.mjs +39 -0
- package/dist/contracts/deepbook_predict/deps/sui/table.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/deps/sui/vec_set.mjs +26 -0
- package/dist/contracts/deepbook_predict/deps/sui/vec_set.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/ewma.mjs +29 -0
- package/dist/contracts/deepbook_predict/ewma.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/expiry_cash.mjs +27 -0
- package/dist/contracts/deepbook_predict/expiry_cash.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/expiry_market.mjs +367 -0
- package/dist/contracts/deepbook_predict/expiry_market.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/lp_book.mjs +92 -0
- package/dist/contracts/deepbook_predict/lp_book.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/market_manager.mjs +59 -0
- package/dist/contracts/deepbook_predict/market_manager.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/order.mjs +26 -0
- package/dist/contracts/deepbook_predict/order.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/order_events.mjs +84 -0
- package/dist/contracts/deepbook_predict/order_events.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/plp.mjs +284 -0
- package/dist/contracts/deepbook_predict/plp.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/pool_accounting.mjs +58 -0
- package/dist/contracts/deepbook_predict/pool_accounting.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/predict_account.mjs +106 -0
- package/dist/contracts/deepbook_predict/predict_account.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/pricing.mjs +80 -0
- package/dist/contracts/deepbook_predict/pricing.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/range_codec.mjs +41 -0
- package/dist/contracts/deepbook_predict/range_codec.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/registry.mjs +55 -0
- package/dist/contracts/deepbook_predict/registry.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/strike_exposure.mjs +65 -0
- package/dist/contracts/deepbook_predict/strike_exposure.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/strike_exposure_config.mjs +33 -0
- package/dist/contracts/deepbook_predict/strike_exposure_config.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/strike_payout_tree.mjs +72 -0
- package/dist/contracts/deepbook_predict/strike_payout_tree.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/vault_events.mjs +184 -0
- package/dist/contracts/deepbook_predict/vault_events.mjs.map +1 -0
- package/dist/contracts/deepbook_sessions/config-arguments.d.mts +10 -0
- package/dist/contracts/deepbook_sessions/config-arguments.d.mts.map +1 -0
- package/dist/contracts/deepbook_sessions/deps/sui/vec_map.mjs +37 -0
- package/dist/contracts/deepbook_sessions/deps/sui/vec_map.mjs.map +1 -0
- package/dist/contracts/deepbook_sessions/session_config.d.mts +63 -0
- package/dist/contracts/deepbook_sessions/session_config.d.mts.map +1 -0
- package/dist/contracts/deepbook_sessions/session_config.mjs +82 -0
- package/dist/contracts/deepbook_sessions/session_config.mjs.map +1 -0
- package/dist/contracts/deepbook_sessions/sessions.d.mts +275 -0
- package/dist/contracts/deepbook_sessions/sessions.d.mts.map +1 -0
- package/dist/contracts/deepbook_sessions/sessions.mjs +443 -0
- package/dist/contracts/deepbook_sessions/sessions.mjs.map +1 -0
- package/dist/contracts/margin_liquidation/liquidation_vault.mjs.map +1 -1
- package/dist/contracts/utils/index.d.mts +18 -1
- package/dist/contracts/utils/index.d.mts.map +1 -1
- package/dist/deployments/index.d.mts +31 -0
- package/dist/deployments/index.d.mts.map +1 -0
- package/dist/deployments/index.mjs +30 -0
- package/dist/deployments/index.mjs.map +1 -0
- package/dist/deployments/testnet.d.mts +14 -0
- package/dist/deployments/testnet.d.mts.map +1 -0
- package/dist/deployments/testnet.mjs +73 -0
- package/dist/deployments/testnet.mjs.map +1 -0
- package/dist/deployments/types.d.mts +36 -0
- package/dist/deployments/types.d.mts.map +1 -0
- package/dist/index.mjs +0 -1
- package/dist/predict/client.d.mts +255 -0
- package/dist/predict/client.d.mts.map +1 -0
- package/dist/predict/client.mjs +436 -0
- package/dist/predict/client.mjs.map +1 -0
- package/dist/predict/config/generated.d.mts +29 -0
- package/dist/predict/config/generated.d.mts.map +1 -0
- package/dist/predict/config/generated.mjs +16 -0
- package/dist/predict/config/generated.mjs.map +1 -0
- package/dist/predict/config/index.d.mts +10 -0
- package/dist/predict/config/index.d.mts.map +1 -0
- package/dist/predict/config/index.mjs +13 -0
- package/dist/predict/config/index.mjs.map +1 -0
- package/dist/predict/config/testnet.d.mts +17 -0
- package/dist/predict/config/testnet.d.mts.map +1 -0
- package/dist/predict/config/testnet.mjs +26 -0
- package/dist/predict/config/testnet.mjs.map +1 -0
- package/dist/predict/config/types.d.mts +55 -0
- package/dist/predict/config/types.d.mts.map +1 -0
- package/dist/predict/decode.d.mts +162 -0
- package/dist/predict/decode.d.mts.map +1 -0
- package/dist/predict/decode.mjs +175 -0
- package/dist/predict/decode.mjs.map +1 -0
- package/dist/predict/errors.d.mts +42 -0
- package/dist/predict/errors.d.mts.map +1 -0
- package/dist/predict/errors.mjs +37 -0
- package/dist/predict/errors.mjs.map +1 -0
- package/dist/predict/index.d.mts +18 -0
- package/dist/predict/index.mjs +14 -0
- package/dist/predict/pricing.d.mts +73 -0
- package/dist/predict/pricing.d.mts.map +1 -0
- package/dist/predict/pricing.mjs +129 -0
- package/dist/predict/pricing.mjs.map +1 -0
- package/dist/predict/reads/balances.mjs +41 -0
- package/dist/predict/reads/balances.mjs.map +1 -0
- package/dist/predict/reads/inspect.d.mts +8 -0
- package/dist/predict/reads/inspect.d.mts.map +1 -0
- package/dist/predict/reads/inspect.mjs +37 -0
- package/dist/predict/reads/inspect.mjs.map +1 -0
- package/dist/predict/reads/markets.mjs +130 -0
- package/dist/predict/reads/markets.mjs.map +1 -0
- package/dist/predict/reads/parse.mjs +20 -0
- package/dist/predict/reads/parse.mjs.map +1 -0
- package/dist/predict/reads/pool.mjs +26 -0
- package/dist/predict/reads/pool.mjs.map +1 -0
- package/dist/predict/reads/positions.d.mts +12 -0
- package/dist/predict/reads/positions.d.mts.map +1 -0
- package/dist/predict/reads/positions.mjs +77 -0
- package/dist/predict/reads/positions.mjs.map +1 -0
- package/dist/predict/reads/pricing.d.mts +20 -0
- package/dist/predict/reads/pricing.d.mts.map +1 -0
- package/dist/predict/reads/pricing.mjs +43 -0
- package/dist/predict/reads/pricing.mjs.map +1 -0
- package/dist/predict/ticks.d.mts +11 -0
- package/dist/predict/ticks.d.mts.map +1 -0
- package/dist/predict/ticks.mjs +21 -0
- package/dist/predict/ticks.mjs.map +1 -0
- package/dist/predict/tx/authed.mjs +18 -0
- package/dist/predict/tx/authed.mjs.map +1 -0
- package/dist/predict/tx/common.d.mts +18 -0
- package/dist/predict/tx/common.d.mts.map +1 -0
- package/dist/predict/tx/common.mjs +52 -0
- package/dist/predict/tx/common.mjs.map +1 -0
- package/dist/predict/tx/trade.d.mts +15 -0
- package/dist/predict/tx/trade.d.mts.map +1 -0
- package/dist/predict/tx/trade.mjs +86 -0
- package/dist/predict/tx/trade.mjs.map +1 -0
- package/dist/predict/units.d.mts +11 -0
- package/dist/predict/units.d.mts.map +1 -0
- package/dist/predict/units.mjs +44 -0
- package/dist/predict/units.mjs.map +1 -0
- package/dist/queries/accountQueries.mjs +0 -1
- package/dist/queries/accountQueries.mjs.map +1 -1
- package/dist/queries/orderQueries.mjs +0 -1
- package/dist/queries/orderQueries.mjs.map +1 -1
- package/dist/queries/registryQueries.mjs +0 -1
- package/dist/queries/registryQueries.mjs.map +1 -1
- package/dist/sessions.d.mts +244 -0
- package/dist/sessions.d.mts.map +1 -0
- package/dist/sessions.mjs +291 -0
- package/dist/sessions.mjs.map +1 -0
- package/dist/transactions/balanceManager.d.mts +12 -12
- package/dist/transactions/deepbook.d.mts +20 -20
- package/dist/transactions/deepbookAdmin.d.mts +4 -4
- package/dist/transactions/deepbookAdmin.d.mts.map +1 -1
- package/dist/transactions/marginAdmin.d.mts +7 -7
- package/dist/transactions/marginLiquidations.d.mts +3 -3
- package/dist/transactions/marginMaintainer.d.mts +5 -5
- package/dist/transactions/marginManager.d.mts +32 -32
- package/dist/transactions/marginPool.d.mts +18 -18
- package/dist/transactions/marginRegistry.d.mts +16 -16
- package/dist/transactions/marginTPSL.d.mts +10 -10
- package/dist/transactions/poolProxy.d.mts +8 -8
- package/dist/types/index.d.mts.map +1 -1
- package/dist/types/index.mjs.map +1 -1
- package/dist/utils/constants.d.mts.map +1 -1
- package/dist/utils/constants.mjs +1 -1
- package/dist/utils/constants.mjs.map +1 -1
- package/package.json +33 -12
- package/src/account.ts +239 -0
- package/src/bcs/integers.ts +35 -0
- package/src/contracts/account/account.ts +706 -0
- package/src/contracts/account/account_events.ts +64 -0
- package/src/contracts/account/account_registry.ts +468 -0
- package/src/contracts/account/config-arguments.ts +8 -0
- package/src/contracts/account/deps/sui/bag.ts +42 -0
- package/src/contracts/deepbook/balance_manager.ts +1 -2
- package/src/contracts/deepbook/pool.ts +12 -24
- package/src/contracts/deepbook/registry.ts +1 -2
- package/src/contracts/deepbook_margin/margin_manager.ts +9 -18
- package/src/contracts/deepbook_margin/margin_manager_upgraded.ts +5 -10
- package/src/contracts/deepbook_margin/margin_pool.ts +2 -4
- package/src/contracts/deepbook_margin/margin_registry.ts +3 -6
- package/src/contracts/deepbook_margin/pool_proxy.ts +3 -6
- package/src/contracts/deepbook_margin/protocol_config.ts +1 -2
- package/src/contracts/deepbook_margin/tpsl.ts +1 -2
- package/src/contracts/deepbook_predict/admin.ts +44 -0
- package/src/contracts/deepbook_predict/builder_code.ts +155 -0
- package/src/contracts/deepbook_predict/builder_code_events.ts +34 -0
- package/src/contracts/deepbook_predict/config-arguments.ts +11 -0
- package/src/contracts/deepbook_predict/config_events.ts +140 -0
- package/src/contracts/deepbook_predict/deps/fixed_math/i64.ts +21 -0
- package/src/contracts/deepbook_predict/deps/sui/balance.ts +25 -0
- package/src/contracts/deepbook_predict/deps/sui/coin.ts +20 -0
- package/src/contracts/deepbook_predict/deps/sui/table.ts +37 -0
- package/src/contracts/deepbook_predict/deps/sui/vec_set.ts +22 -0
- package/src/contracts/deepbook_predict/ewma.ts +26 -0
- package/src/contracts/deepbook_predict/ewma_config.ts +28 -0
- package/src/contracts/deepbook_predict/expiry_cash.ts +24 -0
- package/src/contracts/deepbook_predict/expiry_market.ts +1549 -0
- package/src/contracts/deepbook_predict/lp_book.ts +105 -0
- package/src/contracts/deepbook_predict/market_lifecycle_cap.ts +75 -0
- package/src/contracts/deepbook_predict/market_manager.ts +218 -0
- package/src/contracts/deepbook_predict/order.ts +24 -0
- package/src/contracts/deepbook_predict/order_events.ts +129 -0
- package/src/contracts/deepbook_predict/pause_cap.ts +68 -0
- package/src/contracts/deepbook_predict/plp.ts +987 -0
- package/src/contracts/deepbook_predict/pool_accounting.ts +79 -0
- package/src/contracts/deepbook_predict/predict_account.ts +180 -0
- package/src/contracts/deepbook_predict/pricing.ts +124 -0
- package/src/contracts/deepbook_predict/pricing_config.ts +41 -0
- package/src/contracts/deepbook_predict/protocol_config.ts +1066 -0
- package/src/contracts/deepbook_predict/range_codec.ts +53 -0
- package/src/contracts/deepbook_predict/registry.ts +694 -0
- package/src/contracts/deepbook_predict/strike_exposure.ts +77 -0
- package/src/contracts/deepbook_predict/strike_exposure_config.ts +46 -0
- package/src/contracts/deepbook_predict/strike_payout_tree.ts +89 -0
- package/src/contracts/deepbook_predict/vault_events.ts +222 -0
- package/src/contracts/deepbook_sessions/config-arguments.ts +8 -0
- package/src/contracts/deepbook_sessions/deps/sui/vec_map.ts +33 -0
- package/src/contracts/deepbook_sessions/session_config.ts +130 -0
- package/src/contracts/deepbook_sessions/sessions.ts +663 -0
- package/src/contracts/margin_liquidation/liquidation_vault.ts +2 -4
- package/src/contracts/propbook/block_scholes_store.ts +842 -0
- package/src/contracts/propbook/deps/sui/table.ts +37 -0
- package/src/contracts/propbook/oracle_lane.ts +170 -0
- package/src/contracts/propbook/pyth_feed.ts +414 -0
- package/src/contracts/propbook/registry.ts +596 -0
- package/src/contracts/pyth/pyth.ts +2 -4
- package/src/deployments/index.ts +73 -0
- package/src/deployments/testnet.ts +107 -0
- package/src/deployments/types.ts +81 -0
- package/src/index.ts +5 -0
- package/src/predict/client.ts +941 -0
- package/src/predict/config/generated.ts +39 -0
- package/src/predict/config/index.ts +25 -0
- package/src/predict/config/testnet.ts +27 -0
- package/src/predict/config/types.ts +52 -0
- package/src/predict/decode.ts +476 -0
- package/src/predict/errors.ts +83 -0
- package/src/predict/index.ts +94 -0
- package/src/predict/pricing.ts +199 -0
- package/src/predict/reads/balances.ts +55 -0
- package/src/predict/reads/inspect.ts +78 -0
- package/src/predict/reads/markets.ts +222 -0
- package/src/predict/reads/parse.ts +30 -0
- package/src/predict/reads/pool.ts +37 -0
- package/src/predict/reads/positions.ts +144 -0
- package/src/predict/reads/pricing.ts +79 -0
- package/src/predict/ticks.ts +42 -0
- package/src/predict/tx/authed.ts +20 -0
- package/src/predict/tx/common.ts +92 -0
- package/src/predict/tx/trade.ts +183 -0
- package/src/predict/units.ts +49 -0
- package/src/sessions.ts +471 -0
- package/src/types/index.ts +1 -2
- package/src/utils/constants.ts +1 -7
- package/dist/types/bcs.mjs +0 -7
|
@@ -0,0 +1,443 @@
|
|
|
1
|
+
import { __exportAll } from "../../_virtual/rolldown_runtime.mjs";
|
|
2
|
+
import { MoveStruct, normalizeMoveArguments } from "../utils/index.mjs";
|
|
3
|
+
import { U64 } from "../../bcs/integers.mjs";
|
|
4
|
+
import { VecMap } from "./deps/sui/vec_map.mjs";
|
|
5
|
+
import { bcs } from "@mysten/sui/bcs";
|
|
6
|
+
|
|
7
|
+
//#region src/contracts/deepbook_sessions/sessions.ts
|
|
8
|
+
/**************************************************************
|
|
9
|
+
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
10
|
+
**************************************************************/
|
|
11
|
+
/**
|
|
12
|
+
* Owns time-limited trading session grants attached to canonical Accounts. Account
|
|
13
|
+
* owners grant and revoke sessions; an active session can only generate app auth
|
|
14
|
+
* inside the Predict and DeepBook spot wrappers exposed here.
|
|
15
|
+
*/
|
|
16
|
+
var sessions_exports = /* @__PURE__ */ __exportAll({
|
|
17
|
+
SessionAuthorized: () => SessionAuthorized,
|
|
18
|
+
SessionRevoked: () => SessionRevoked,
|
|
19
|
+
SessionsApp: () => SessionsApp,
|
|
20
|
+
SessionsData: () => SessionsData,
|
|
21
|
+
authorizeSession: () => authorizeSession,
|
|
22
|
+
cancelLiveOrder: () => cancelLiveOrder,
|
|
23
|
+
cancelLiveOrders: () => cancelLiveOrders,
|
|
24
|
+
mintExactAmount: () => mintExactAmount,
|
|
25
|
+
mintExactQuantity: () => mintExactQuantity,
|
|
26
|
+
placeLimitOrder: () => placeLimitOrder,
|
|
27
|
+
placeMarketOrder: () => placeMarketOrder,
|
|
28
|
+
redeemLive: () => redeemLive,
|
|
29
|
+
redeemSettled: () => redeemSettled,
|
|
30
|
+
revokeSession: () => revokeSession,
|
|
31
|
+
sessionExpirationMs: () => sessionExpirationMs,
|
|
32
|
+
withdrawSettledAmounts: () => withdrawSettledAmounts
|
|
33
|
+
});
|
|
34
|
+
const $moduleName = "@local-pkg/deepbook_sessions::sessions";
|
|
35
|
+
const SessionsApp = new MoveStruct({
|
|
36
|
+
name: `${$moduleName}::SessionsApp`,
|
|
37
|
+
fields: { dummy_field: bcs.bool() }
|
|
38
|
+
});
|
|
39
|
+
const SessionsData = new MoveStruct({
|
|
40
|
+
name: `${$moduleName}::SessionsData`,
|
|
41
|
+
fields: { sessions: VecMap(bcs.Address, U64) }
|
|
42
|
+
});
|
|
43
|
+
const SessionAuthorized = new MoveStruct({
|
|
44
|
+
name: `${$moduleName}::SessionAuthorized`,
|
|
45
|
+
fields: {
|
|
46
|
+
account_id: bcs.Address,
|
|
47
|
+
session: bcs.Address,
|
|
48
|
+
expires_at_ms: U64
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
const SessionRevoked = new MoveStruct({
|
|
52
|
+
name: `${$moduleName}::SessionRevoked`,
|
|
53
|
+
fields: {
|
|
54
|
+
account_id: bcs.Address,
|
|
55
|
+
session: bcs.Address,
|
|
56
|
+
expires_at_ms: U64
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
/** Return a known session's expiration timestamp for SDK and devInspect reads. */
|
|
60
|
+
function sessionExpirationMs(options) {
|
|
61
|
+
const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
|
|
62
|
+
const argumentsTypes = [null, "address"];
|
|
63
|
+
const parameterNames = ["wrapper", "session"];
|
|
64
|
+
return (tx) => tx.moveCall({
|
|
65
|
+
package: packageAddress,
|
|
66
|
+
module: "sessions",
|
|
67
|
+
function: "session_expiration_ms",
|
|
68
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames)
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Authorize `session` from execution time for at most 30 days. Accounts may store
|
|
73
|
+
* at most 20 addresses; reauthorization replaces in place.
|
|
74
|
+
*/
|
|
75
|
+
function authorizeSession(options) {
|
|
76
|
+
const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
|
|
77
|
+
const argumentsTypes = [
|
|
78
|
+
null,
|
|
79
|
+
null,
|
|
80
|
+
"address",
|
|
81
|
+
"u64",
|
|
82
|
+
"0x2::clock::Clock"
|
|
83
|
+
];
|
|
84
|
+
const parameterNames = [
|
|
85
|
+
"wrapper",
|
|
86
|
+
"sessionsConfig",
|
|
87
|
+
"session",
|
|
88
|
+
"durationMs"
|
|
89
|
+
];
|
|
90
|
+
return (tx) => tx.moveCall({
|
|
91
|
+
package: packageAddress,
|
|
92
|
+
module: "sessions",
|
|
93
|
+
function: "authorize_session",
|
|
94
|
+
arguments: normalizeMoveArguments({
|
|
95
|
+
...options.arguments,
|
|
96
|
+
sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig
|
|
97
|
+
}, argumentsTypes, parameterNames)
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Revoke `session` if it is present. Only the Account owner may call this
|
|
102
|
+
* function.
|
|
103
|
+
*/
|
|
104
|
+
function revokeSession(options) {
|
|
105
|
+
const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
|
|
106
|
+
const argumentsTypes = [null, "address"];
|
|
107
|
+
const parameterNames = ["wrapper", "session"];
|
|
108
|
+
return (tx) => tx.moveCall({
|
|
109
|
+
package: packageAddress,
|
|
110
|
+
module: "sessions",
|
|
111
|
+
function: "revoke_session",
|
|
112
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames)
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
/** Place a DeepBook spot limit order for an Account with an active session. */
|
|
116
|
+
function placeLimitOrder(options) {
|
|
117
|
+
const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
|
|
118
|
+
const argumentsTypes = [
|
|
119
|
+
null,
|
|
120
|
+
null,
|
|
121
|
+
null,
|
|
122
|
+
null,
|
|
123
|
+
null,
|
|
124
|
+
"u64",
|
|
125
|
+
"u8",
|
|
126
|
+
"u8",
|
|
127
|
+
"u64",
|
|
128
|
+
"u64",
|
|
129
|
+
"bool",
|
|
130
|
+
"bool",
|
|
131
|
+
"u64",
|
|
132
|
+
"0x2::accumulator::AccumulatorRoot",
|
|
133
|
+
"0x2::clock::Clock"
|
|
134
|
+
];
|
|
135
|
+
const parameterNames = [
|
|
136
|
+
"pool",
|
|
137
|
+
"deepbookRegistry",
|
|
138
|
+
"accountRegistry",
|
|
139
|
+
"wrapper",
|
|
140
|
+
"sessionsConfig",
|
|
141
|
+
"clientOrderId",
|
|
142
|
+
"orderType",
|
|
143
|
+
"selfMatchingOption",
|
|
144
|
+
"price",
|
|
145
|
+
"quantity",
|
|
146
|
+
"isBid",
|
|
147
|
+
"payWithDeep",
|
|
148
|
+
"expireTimestamp"
|
|
149
|
+
];
|
|
150
|
+
return (tx) => tx.moveCall({
|
|
151
|
+
package: packageAddress,
|
|
152
|
+
module: "sessions",
|
|
153
|
+
function: "place_limit_order",
|
|
154
|
+
arguments: normalizeMoveArguments({
|
|
155
|
+
...options.arguments,
|
|
156
|
+
sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig
|
|
157
|
+
}, argumentsTypes, parameterNames),
|
|
158
|
+
typeArguments: options.typeArguments
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
/** Place a DeepBook spot market order for an Account with an active session. */
|
|
162
|
+
function placeMarketOrder(options) {
|
|
163
|
+
const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
|
|
164
|
+
const argumentsTypes = [
|
|
165
|
+
null,
|
|
166
|
+
null,
|
|
167
|
+
null,
|
|
168
|
+
null,
|
|
169
|
+
null,
|
|
170
|
+
"u64",
|
|
171
|
+
"u8",
|
|
172
|
+
"u64",
|
|
173
|
+
"u64",
|
|
174
|
+
"bool",
|
|
175
|
+
"bool",
|
|
176
|
+
"0x2::accumulator::AccumulatorRoot",
|
|
177
|
+
"0x2::clock::Clock"
|
|
178
|
+
];
|
|
179
|
+
const parameterNames = [
|
|
180
|
+
"pool",
|
|
181
|
+
"deepbookRegistry",
|
|
182
|
+
"accountRegistry",
|
|
183
|
+
"wrapper",
|
|
184
|
+
"sessionsConfig",
|
|
185
|
+
"clientOrderId",
|
|
186
|
+
"selfMatchingOption",
|
|
187
|
+
"quantity",
|
|
188
|
+
"priceLimit",
|
|
189
|
+
"isBid",
|
|
190
|
+
"payWithDeep"
|
|
191
|
+
];
|
|
192
|
+
return (tx) => tx.moveCall({
|
|
193
|
+
package: packageAddress,
|
|
194
|
+
module: "sessions",
|
|
195
|
+
function: "place_market_order",
|
|
196
|
+
arguments: normalizeMoveArguments({
|
|
197
|
+
...options.arguments,
|
|
198
|
+
sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig
|
|
199
|
+
}, argumentsTypes, parameterNames),
|
|
200
|
+
typeArguments: options.typeArguments
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
/** Cancel a DeepBook spot order for an Account with an active session. */
|
|
204
|
+
function cancelLiveOrder(options) {
|
|
205
|
+
const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
|
|
206
|
+
const argumentsTypes = [
|
|
207
|
+
null,
|
|
208
|
+
null,
|
|
209
|
+
null,
|
|
210
|
+
null,
|
|
211
|
+
"u128",
|
|
212
|
+
"0x2::clock::Clock"
|
|
213
|
+
];
|
|
214
|
+
const parameterNames = [
|
|
215
|
+
"pool",
|
|
216
|
+
"accountRegistry",
|
|
217
|
+
"wrapper",
|
|
218
|
+
"sessionsConfig",
|
|
219
|
+
"orderId"
|
|
220
|
+
];
|
|
221
|
+
return (tx) => tx.moveCall({
|
|
222
|
+
package: packageAddress,
|
|
223
|
+
module: "sessions",
|
|
224
|
+
function: "cancel_live_order",
|
|
225
|
+
arguments: normalizeMoveArguments({
|
|
226
|
+
...options.arguments,
|
|
227
|
+
sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig
|
|
228
|
+
}, argumentsTypes, parameterNames),
|
|
229
|
+
typeArguments: options.typeArguments
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
/** Cancel multiple DeepBook spot orders for an Account with an active session. */
|
|
233
|
+
function cancelLiveOrders(options) {
|
|
234
|
+
const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
|
|
235
|
+
const argumentsTypes = [
|
|
236
|
+
null,
|
|
237
|
+
null,
|
|
238
|
+
null,
|
|
239
|
+
null,
|
|
240
|
+
"vector<u128>",
|
|
241
|
+
"0x2::clock::Clock"
|
|
242
|
+
];
|
|
243
|
+
const parameterNames = [
|
|
244
|
+
"pool",
|
|
245
|
+
"accountRegistry",
|
|
246
|
+
"wrapper",
|
|
247
|
+
"sessionsConfig",
|
|
248
|
+
"orderIds"
|
|
249
|
+
];
|
|
250
|
+
return (tx) => tx.moveCall({
|
|
251
|
+
package: packageAddress,
|
|
252
|
+
module: "sessions",
|
|
253
|
+
function: "cancel_live_orders",
|
|
254
|
+
arguments: normalizeMoveArguments({
|
|
255
|
+
...options.arguments,
|
|
256
|
+
sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig
|
|
257
|
+
}, argumentsTypes, parameterNames),
|
|
258
|
+
typeArguments: options.typeArguments
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
/** Sweep settled DeepBook spot proceeds into an Account with an active session. */
|
|
262
|
+
function withdrawSettledAmounts(options) {
|
|
263
|
+
const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
|
|
264
|
+
const argumentsTypes = [
|
|
265
|
+
null,
|
|
266
|
+
null,
|
|
267
|
+
null,
|
|
268
|
+
null,
|
|
269
|
+
"0x2::clock::Clock"
|
|
270
|
+
];
|
|
271
|
+
const parameterNames = [
|
|
272
|
+
"pool",
|
|
273
|
+
"accountRegistry",
|
|
274
|
+
"wrapper",
|
|
275
|
+
"sessionsConfig"
|
|
276
|
+
];
|
|
277
|
+
return (tx) => tx.moveCall({
|
|
278
|
+
package: packageAddress,
|
|
279
|
+
module: "sessions",
|
|
280
|
+
function: "withdraw_settled_amounts",
|
|
281
|
+
arguments: normalizeMoveArguments({
|
|
282
|
+
...options.arguments,
|
|
283
|
+
sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig
|
|
284
|
+
}, argumentsTypes, parameterNames),
|
|
285
|
+
typeArguments: options.typeArguments
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
/** Mint an exact Predict position quantity for an Account with an active session. */
|
|
289
|
+
function mintExactQuantity(options) {
|
|
290
|
+
const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
|
|
291
|
+
const argumentsTypes = [
|
|
292
|
+
null,
|
|
293
|
+
null,
|
|
294
|
+
null,
|
|
295
|
+
null,
|
|
296
|
+
null,
|
|
297
|
+
null,
|
|
298
|
+
"u64",
|
|
299
|
+
"u64",
|
|
300
|
+
"u64",
|
|
301
|
+
"u64",
|
|
302
|
+
"u64",
|
|
303
|
+
"0x2::accumulator::AccumulatorRoot",
|
|
304
|
+
"0x2::clock::Clock"
|
|
305
|
+
];
|
|
306
|
+
const parameterNames = [
|
|
307
|
+
"market",
|
|
308
|
+
"accountRegistry",
|
|
309
|
+
"wrapper",
|
|
310
|
+
"sessionsConfig",
|
|
311
|
+
"config",
|
|
312
|
+
"pricer",
|
|
313
|
+
"lowerTick",
|
|
314
|
+
"higherTick",
|
|
315
|
+
"quantity",
|
|
316
|
+
"maxCost",
|
|
317
|
+
"maxProbability"
|
|
318
|
+
];
|
|
319
|
+
return (tx) => tx.moveCall({
|
|
320
|
+
package: packageAddress,
|
|
321
|
+
module: "sessions",
|
|
322
|
+
function: "mint_exact_quantity",
|
|
323
|
+
arguments: normalizeMoveArguments({
|
|
324
|
+
...options.arguments,
|
|
325
|
+
sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig
|
|
326
|
+
}, argumentsTypes, parameterNames)
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
/** Mint a budget-sized Predict position for an Account with an active session. */
|
|
330
|
+
function mintExactAmount(options) {
|
|
331
|
+
const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
|
|
332
|
+
const argumentsTypes = [
|
|
333
|
+
null,
|
|
334
|
+
null,
|
|
335
|
+
null,
|
|
336
|
+
null,
|
|
337
|
+
null,
|
|
338
|
+
null,
|
|
339
|
+
"u64",
|
|
340
|
+
"u64",
|
|
341
|
+
"u64",
|
|
342
|
+
"u64",
|
|
343
|
+
"u64",
|
|
344
|
+
"0x2::accumulator::AccumulatorRoot",
|
|
345
|
+
"0x2::clock::Clock"
|
|
346
|
+
];
|
|
347
|
+
const parameterNames = [
|
|
348
|
+
"market",
|
|
349
|
+
"accountRegistry",
|
|
350
|
+
"wrapper",
|
|
351
|
+
"sessionsConfig",
|
|
352
|
+
"config",
|
|
353
|
+
"pricer",
|
|
354
|
+
"lowerTick",
|
|
355
|
+
"higherTick",
|
|
356
|
+
"maxPremium",
|
|
357
|
+
"minQuantity",
|
|
358
|
+
"maxCost"
|
|
359
|
+
];
|
|
360
|
+
return (tx) => tx.moveCall({
|
|
361
|
+
package: packageAddress,
|
|
362
|
+
module: "sessions",
|
|
363
|
+
function: "mint_exact_amount",
|
|
364
|
+
arguments: normalizeMoveArguments({
|
|
365
|
+
...options.arguments,
|
|
366
|
+
sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig
|
|
367
|
+
}, argumentsTypes, parameterNames)
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
/** Redeem a live Predict order for an Account with an active session. */
|
|
371
|
+
function redeemLive(options) {
|
|
372
|
+
const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
|
|
373
|
+
const argumentsTypes = [
|
|
374
|
+
null,
|
|
375
|
+
null,
|
|
376
|
+
null,
|
|
377
|
+
null,
|
|
378
|
+
null,
|
|
379
|
+
null,
|
|
380
|
+
"u256",
|
|
381
|
+
"u64",
|
|
382
|
+
"u64",
|
|
383
|
+
"u64",
|
|
384
|
+
"0x2::accumulator::AccumulatorRoot",
|
|
385
|
+
"0x2::clock::Clock"
|
|
386
|
+
];
|
|
387
|
+
const parameterNames = [
|
|
388
|
+
"market",
|
|
389
|
+
"accountRegistry",
|
|
390
|
+
"wrapper",
|
|
391
|
+
"sessionsConfig",
|
|
392
|
+
"config",
|
|
393
|
+
"pricer",
|
|
394
|
+
"orderId",
|
|
395
|
+
"closeQuantity",
|
|
396
|
+
"minProbability",
|
|
397
|
+
"minProceeds"
|
|
398
|
+
];
|
|
399
|
+
return (tx) => tx.moveCall({
|
|
400
|
+
package: packageAddress,
|
|
401
|
+
module: "sessions",
|
|
402
|
+
function: "redeem_live",
|
|
403
|
+
arguments: normalizeMoveArguments({
|
|
404
|
+
...options.arguments,
|
|
405
|
+
sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig
|
|
406
|
+
}, argumentsTypes, parameterNames)
|
|
407
|
+
});
|
|
408
|
+
}
|
|
409
|
+
/** Redeem a settled Predict order for an Account with an active session. */
|
|
410
|
+
function redeemSettled(options) {
|
|
411
|
+
const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
|
|
412
|
+
const argumentsTypes = [
|
|
413
|
+
null,
|
|
414
|
+
null,
|
|
415
|
+
null,
|
|
416
|
+
null,
|
|
417
|
+
null,
|
|
418
|
+
"u256",
|
|
419
|
+
"0x2::accumulator::AccumulatorRoot",
|
|
420
|
+
"0x2::clock::Clock"
|
|
421
|
+
];
|
|
422
|
+
const parameterNames = [
|
|
423
|
+
"market",
|
|
424
|
+
"accountRegistry",
|
|
425
|
+
"wrapper",
|
|
426
|
+
"sessionsConfig",
|
|
427
|
+
"config",
|
|
428
|
+
"orderId"
|
|
429
|
+
];
|
|
430
|
+
return (tx) => tx.moveCall({
|
|
431
|
+
package: packageAddress,
|
|
432
|
+
module: "sessions",
|
|
433
|
+
function: "redeem_settled",
|
|
434
|
+
arguments: normalizeMoveArguments({
|
|
435
|
+
...options.arguments,
|
|
436
|
+
sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig
|
|
437
|
+
}, argumentsTypes, parameterNames)
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
//#endregion
|
|
442
|
+
export { SessionAuthorized, SessionRevoked, SessionsApp, SessionsData, authorizeSession, mintExactAmount, mintExactQuantity, redeemLive, redeemSettled, revokeSession, sessionExpirationMs, sessions_exports };
|
|
443
|
+
//# sourceMappingURL=sessions.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.mjs","names":["vec_map.VecMap"],"sources":["../../../src/contracts/deepbook_sessions/sessions.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/**\n * Owns time-limited trading session grants attached to canonical Accounts. Account\n * owners grant and revoke sessions; an active session can only generate app auth\n * inside the Predict and DeepBook spot wrappers exposed here.\n */\n\nimport {\n\tMoveStruct,\n\tnormalizeMoveArguments,\n\ttype RawTransactionArgument,\n\ttype ConfigValue,\n} from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { U64 } from '../../bcs/integers.js';\nimport { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';\nimport * as vec_map from './deps/sui/vec_map.js';\nconst $moduleName = '@local-pkg/deepbook_sessions::sessions';\nexport const SessionsApp = new MoveStruct({\n\tname: `${$moduleName}::SessionsApp`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const SessionsData = new MoveStruct({\n\tname: `${$moduleName}::SessionsData`,\n\tfields: {\n\t\tsessions: vec_map.VecMap(bcs.Address, U64),\n\t},\n});\nexport const SessionAuthorized = new MoveStruct({\n\tname: `${$moduleName}::SessionAuthorized`,\n\tfields: {\n\t\taccount_id: bcs.Address,\n\t\tsession: bcs.Address,\n\t\texpires_at_ms: U64,\n\t},\n});\nexport const SessionRevoked = new MoveStruct({\n\tname: `${$moduleName}::SessionRevoked`,\n\tfields: {\n\t\taccount_id: bcs.Address,\n\t\tsession: bcs.Address,\n\t\texpires_at_ms: U64,\n\t},\n});\nexport interface SessionExpirationMsArguments {\n\twrapper: RawTransactionArgument<string>;\n\tsession: RawTransactionArgument<string>;\n}\nexport interface SessionExpirationMsOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SessionExpirationMsArguments\n\t\t| [wrapper: RawTransactionArgument<string>, session: RawTransactionArgument<string>];\n\tconfig?: {\n\t\tsessionsPackageId?: string;\n\t};\n}\n/** Return a known session's expiration timestamp for SDK and devInspect reads. */\nexport function sessionExpirationMs(options: SessionExpirationMsOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';\n\tconst argumentsTypes = [null, 'address'] satisfies (string | null)[];\n\tconst parameterNames = ['wrapper', 'session'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'sessions',\n\t\t\tfunction: 'session_expiration_ms',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface AuthorizeSessionArguments {\n\twrapper: RawTransactionArgument<string>;\n\tsessionsConfig?: RawTransactionArgument<string>;\n\tsession: RawTransactionArgument<string>;\n\tdurationMs: RawTransactionArgument<number | bigint>;\n}\nexport interface AuthorizeSessionOptions {\n\tpackage?: string;\n\targuments: AuthorizeSessionArguments;\n\tconfig?: {\n\t\tsessionsConfig: ConfigValue;\n\t\tsessionsPackageId?: string;\n\t};\n}\n/**\n * Authorize `session` from execution time for at most 30 days. Accounts may store\n * at most 20 addresses; reauthorization replaces in place.\n */\nexport function authorizeSession(options: AuthorizeSessionOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';\n\tconst argumentsTypes = [null, null, 'address', 'u64', '0x2::clock::Clock'] satisfies (\n\t\tstring | null\n\t)[];\n\tconst parameterNames = ['wrapper', 'sessionsConfig', 'session', 'durationMs'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'sessions',\n\t\t\tfunction: 'authorize_session',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tsessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface RevokeSessionArguments {\n\twrapper: RawTransactionArgument<string>;\n\tsession: RawTransactionArgument<string>;\n}\nexport interface RevokeSessionOptions {\n\tpackage?: string;\n\targuments:\n\t\t| RevokeSessionArguments\n\t\t| [wrapper: RawTransactionArgument<string>, session: RawTransactionArgument<string>];\n\tconfig?: {\n\t\tsessionsPackageId?: string;\n\t};\n}\n/**\n * Revoke `session` if it is present. Only the Account owner may call this\n * function.\n */\nexport function revokeSession(options: RevokeSessionOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';\n\tconst argumentsTypes = [null, 'address'] satisfies (string | null)[];\n\tconst parameterNames = ['wrapper', 'session'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'sessions',\n\t\t\tfunction: 'revoke_session',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface PlaceLimitOrderArguments {\n\tpool: RawTransactionArgument<string>;\n\tdeepbookRegistry: RawTransactionArgument<string>;\n\taccountRegistry: RawTransactionArgument<string>;\n\twrapper: RawTransactionArgument<string>;\n\tsessionsConfig?: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\torderType: RawTransactionArgument<number>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tprice: RawTransactionArgument<number | bigint>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n\texpireTimestamp: RawTransactionArgument<number | bigint>;\n}\nexport interface PlaceLimitOrderOptions {\n\tpackage?: string;\n\targuments: PlaceLimitOrderArguments;\n\tconfig?: {\n\t\tsessionsConfig: ConfigValue;\n\t\tsessionsPackageId?: string;\n\t};\n\ttypeArguments: [string, string];\n}\n/** Place a DeepBook spot limit order for an Account with an active session. */\nexport function placeLimitOrder(options: PlaceLimitOrderOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u8',\n\t\t'u64',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'u64',\n\t\t'0x2::accumulator::AccumulatorRoot',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'pool',\n\t\t'deepbookRegistry',\n\t\t'accountRegistry',\n\t\t'wrapper',\n\t\t'sessionsConfig',\n\t\t'clientOrderId',\n\t\t'orderType',\n\t\t'selfMatchingOption',\n\t\t'price',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t\t'expireTimestamp',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'sessions',\n\t\t\tfunction: 'place_limit_order',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tsessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceMarketOrderArguments {\n\tpool: RawTransactionArgument<string>;\n\tdeepbookRegistry: RawTransactionArgument<string>;\n\taccountRegistry: RawTransactionArgument<string>;\n\twrapper: RawTransactionArgument<string>;\n\tsessionsConfig?: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tpriceLimit: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n}\nexport interface PlaceMarketOrderOptions {\n\tpackage?: string;\n\targuments: PlaceMarketOrderArguments;\n\tconfig?: {\n\t\tsessionsConfig: ConfigValue;\n\t\tsessionsPackageId?: string;\n\t};\n\ttypeArguments: [string, string];\n}\n/** Place a DeepBook spot market order for an Account with an active session. */\nexport function placeMarketOrder(options: PlaceMarketOrderOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u64',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'0x2::accumulator::AccumulatorRoot',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'pool',\n\t\t'deepbookRegistry',\n\t\t'accountRegistry',\n\t\t'wrapper',\n\t\t'sessionsConfig',\n\t\t'clientOrderId',\n\t\t'selfMatchingOption',\n\t\t'quantity',\n\t\t'priceLimit',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'sessions',\n\t\t\tfunction: 'place_market_order',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tsessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface CancelLiveOrderArguments {\n\tpool: RawTransactionArgument<string>;\n\taccountRegistry: RawTransactionArgument<string>;\n\twrapper: RawTransactionArgument<string>;\n\tsessionsConfig?: RawTransactionArgument<string>;\n\torderId: RawTransactionArgument<number | bigint>;\n}\nexport interface CancelLiveOrderOptions {\n\tpackage?: string;\n\targuments: CancelLiveOrderArguments;\n\tconfig?: {\n\t\tsessionsConfig: ConfigValue;\n\t\tsessionsPackageId?: string;\n\t};\n\ttypeArguments: [string, string];\n}\n/** Cancel a DeepBook spot order for an Account with an active session. */\nexport function cancelLiveOrder(options: CancelLiveOrderOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';\n\tconst argumentsTypes = [null, null, null, null, 'u128', '0x2::clock::Clock'] satisfies (\n\t\tstring | null\n\t)[];\n\tconst parameterNames = ['pool', 'accountRegistry', 'wrapper', 'sessionsConfig', 'orderId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'sessions',\n\t\t\tfunction: 'cancel_live_order',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tsessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface CancelLiveOrdersArguments {\n\tpool: RawTransactionArgument<string>;\n\taccountRegistry: RawTransactionArgument<string>;\n\twrapper: RawTransactionArgument<string>;\n\tsessionsConfig?: RawTransactionArgument<string>;\n\torderIds: RawTransactionArgument<Array<number | bigint>>;\n}\nexport interface CancelLiveOrdersOptions {\n\tpackage?: string;\n\targuments: CancelLiveOrdersArguments;\n\tconfig?: {\n\t\tsessionsConfig: ConfigValue;\n\t\tsessionsPackageId?: string;\n\t};\n\ttypeArguments: [string, string];\n}\n/** Cancel multiple DeepBook spot orders for an Account with an active session. */\nexport function cancelLiveOrders(options: CancelLiveOrdersOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';\n\tconst argumentsTypes = [null, null, null, null, 'vector<u128>', '0x2::clock::Clock'] satisfies (\n\t\tstring | null\n\t)[];\n\tconst parameterNames = ['pool', 'accountRegistry', 'wrapper', 'sessionsConfig', 'orderIds'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'sessions',\n\t\t\tfunction: 'cancel_live_orders',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tsessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawSettledAmountsArguments {\n\tpool: RawTransactionArgument<string>;\n\taccountRegistry: RawTransactionArgument<string>;\n\twrapper: RawTransactionArgument<string>;\n\tsessionsConfig?: RawTransactionArgument<string>;\n}\nexport interface WithdrawSettledAmountsOptions {\n\tpackage?: string;\n\targuments: WithdrawSettledAmountsArguments;\n\tconfig?: {\n\t\tsessionsConfig: ConfigValue;\n\t\tsessionsPackageId?: string;\n\t};\n\ttypeArguments: [string, string];\n}\n/** Sweep settled DeepBook spot proceeds into an Account with an active session. */\nexport function withdrawSettledAmounts(options: WithdrawSettledAmountsOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';\n\tconst argumentsTypes = [null, null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['pool', 'accountRegistry', 'wrapper', 'sessionsConfig'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'sessions',\n\t\t\tfunction: 'withdraw_settled_amounts',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tsessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface MintExactQuantityArguments {\n\tmarket: RawTransactionArgument<string>;\n\taccountRegistry: RawTransactionArgument<string>;\n\twrapper: RawTransactionArgument<string>;\n\tsessionsConfig?: RawTransactionArgument<string>;\n\tconfig: RawTransactionArgument<string>;\n\tpricer: TransactionArgument;\n\tlowerTick: RawTransactionArgument<number | bigint>;\n\thigherTick: RawTransactionArgument<number | bigint>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tmaxCost: RawTransactionArgument<number | bigint>;\n\tmaxProbability: RawTransactionArgument<number | bigint>;\n}\nexport interface MintExactQuantityOptions {\n\tpackage?: string;\n\targuments: MintExactQuantityArguments;\n\tconfig?: {\n\t\tsessionsConfig: ConfigValue;\n\t\tsessionsPackageId?: string;\n\t};\n}\n/** Mint an exact Predict position quantity for an Account with an active session. */\nexport function mintExactQuantity(options: MintExactQuantityOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u64',\n\t\t'u64',\n\t\t'u64',\n\t\t'u64',\n\t\t'0x2::accumulator::AccumulatorRoot',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'market',\n\t\t'accountRegistry',\n\t\t'wrapper',\n\t\t'sessionsConfig',\n\t\t'config',\n\t\t'pricer',\n\t\t'lowerTick',\n\t\t'higherTick',\n\t\t'quantity',\n\t\t'maxCost',\n\t\t'maxProbability',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'sessions',\n\t\t\tfunction: 'mint_exact_quantity',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tsessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface MintExactAmountArguments {\n\tmarket: RawTransactionArgument<string>;\n\taccountRegistry: RawTransactionArgument<string>;\n\twrapper: RawTransactionArgument<string>;\n\tsessionsConfig?: RawTransactionArgument<string>;\n\tconfig: RawTransactionArgument<string>;\n\tpricer: TransactionArgument;\n\tlowerTick: RawTransactionArgument<number | bigint>;\n\thigherTick: RawTransactionArgument<number | bigint>;\n\tmaxPremium: RawTransactionArgument<number | bigint>;\n\tminQuantity: RawTransactionArgument<number | bigint>;\n\tmaxCost: RawTransactionArgument<number | bigint>;\n}\nexport interface MintExactAmountOptions {\n\tpackage?: string;\n\targuments: MintExactAmountArguments;\n\tconfig?: {\n\t\tsessionsConfig: ConfigValue;\n\t\tsessionsPackageId?: string;\n\t};\n}\n/** Mint a budget-sized Predict position for an Account with an active session. */\nexport function mintExactAmount(options: MintExactAmountOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u64',\n\t\t'u64',\n\t\t'u64',\n\t\t'u64',\n\t\t'0x2::accumulator::AccumulatorRoot',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'market',\n\t\t'accountRegistry',\n\t\t'wrapper',\n\t\t'sessionsConfig',\n\t\t'config',\n\t\t'pricer',\n\t\t'lowerTick',\n\t\t'higherTick',\n\t\t'maxPremium',\n\t\t'minQuantity',\n\t\t'maxCost',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'sessions',\n\t\t\tfunction: 'mint_exact_amount',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tsessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface RedeemLiveArguments {\n\tmarket: RawTransactionArgument<string>;\n\taccountRegistry: RawTransactionArgument<string>;\n\twrapper: RawTransactionArgument<string>;\n\tsessionsConfig?: RawTransactionArgument<string>;\n\tconfig: RawTransactionArgument<string>;\n\tpricer: TransactionArgument;\n\torderId: RawTransactionArgument<number | bigint>;\n\tcloseQuantity: RawTransactionArgument<number | bigint>;\n\tminProbability: RawTransactionArgument<number | bigint>;\n\tminProceeds: RawTransactionArgument<number | bigint>;\n}\nexport interface RedeemLiveOptions {\n\tpackage?: string;\n\targuments: RedeemLiveArguments;\n\tconfig?: {\n\t\tsessionsConfig: ConfigValue;\n\t\tsessionsPackageId?: string;\n\t};\n}\n/** Redeem a live Predict order for an Account with an active session. */\nexport function redeemLive(options: RedeemLiveOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u256',\n\t\t'u64',\n\t\t'u64',\n\t\t'u64',\n\t\t'0x2::accumulator::AccumulatorRoot',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'market',\n\t\t'accountRegistry',\n\t\t'wrapper',\n\t\t'sessionsConfig',\n\t\t'config',\n\t\t'pricer',\n\t\t'orderId',\n\t\t'closeQuantity',\n\t\t'minProbability',\n\t\t'minProceeds',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'sessions',\n\t\t\tfunction: 'redeem_live',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tsessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface RedeemSettledArguments {\n\tmarket: RawTransactionArgument<string>;\n\taccountRegistry: RawTransactionArgument<string>;\n\twrapper: RawTransactionArgument<string>;\n\tsessionsConfig?: RawTransactionArgument<string>;\n\tconfig: RawTransactionArgument<string>;\n\torderId: RawTransactionArgument<number | bigint>;\n}\nexport interface RedeemSettledOptions {\n\tpackage?: string;\n\targuments: RedeemSettledArguments;\n\tconfig?: {\n\t\tsessionsConfig: ConfigValue;\n\t\tsessionsPackageId?: string;\n\t};\n}\n/** Redeem a settled Predict order for an Account with an active session. */\nexport function redeemSettled(options: RedeemSettledOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u256',\n\t\t'0x2::accumulator::AccumulatorRoot',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'market',\n\t\t'accountRegistry',\n\t\t'wrapper',\n\t\t'sessionsConfig',\n\t\t'config',\n\t\t'orderId',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'sessions',\n\t\t\tfunction: 'redeem_settled',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tsessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liquidation_vault.mjs","names":["bag.Bag"],"sources":["../../../src/contracts/margin_liquidation/liquidation_vault.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 } from '@mysten/sui/transactions';\nimport * as bag from './deps/sui/bag.js';\nconst $moduleName = '@deepbook/margin-liquidation::liquidation_vault';\nexport const LIQUIDATION_VAULT = new MoveStruct({\n\tname: `${$moduleName}::LIQUIDATION_VAULT`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const LiquidationVault = new MoveStruct({\n\tname: `${$moduleName}::LiquidationVault`,\n\tfields: {\n\t\tid: bcs.Address,\n\t\tvault: bag.Bag,\n\t},\n});\nexport const BalanceKey = new MoveStruct({\n\tname: `${$moduleName}::BalanceKey<phantom T>`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const AuthorizedTradersKey = new MoveStruct({\n\tname: `${$moduleName}::AuthorizedTradersKey`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const LiquidationAdminCap = new MoveStruct({\n\tname: `${$moduleName}::LiquidationAdminCap`,\n\tfields: {\n\t\tid: bcs.Address,\n\t},\n});\nexport const LiquidationByVault = new MoveStruct({\n\tname: `${$moduleName}::LiquidationByVault`,\n\tfields: {\n\t\tvault_id: bcs.Address,\n\t\tmargin_manager_id: bcs.Address,\n\t\tmargin_pool_id: bcs.Address,\n\t\tbase_in: bcs.u64(),\n\t\tbase_out: bcs.u64(),\n\t\tquote_in: bcs.u64(),\n\t\tquote_out: bcs.u64(),\n\t\trepay_balance_remaining: bcs.u64(),\n\t\tbase_liquidation: bcs.bool(),\n\t},\n});\nexport interface DepositArguments {\n\tself: RawTransactionArgument<string>;\n\tLiquidationCap: RawTransactionArgument<string>;\n\tcoin: RawTransactionArgument<string>;\n}\nexport interface DepositOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DepositArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tLiquidationCap: RawTransactionArgument<string>,\n\t\t\t\tcoin: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\nexport function deposit(options: DepositOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'LiquidationCap', 'coin'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'deposit',\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\tLiquidationCap: RawTransactionArgument<string>;\n\tamount: RawTransactionArgument<number | bigint>;\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\tLiquidationCap: RawTransactionArgument<string>,\n\t\t\t\tamount: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string];\n}\nexport function withdraw(options: WithdrawOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'LiquidationCap', 'amount'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\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 CreateLiquidationVaultArguments {\n\tLiquidationCap: RawTransactionArgument<string>;\n}\nexport interface CreateLiquidationVaultOptions {\n\tpackage?: string;\n\targuments: CreateLiquidationVaultArguments | [LiquidationCap: RawTransactionArgument<string>];\n}\nexport function createLiquidationVault(options: CreateLiquidationVaultOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['LiquidationCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'create_liquidation_vault',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface AuthorizeTraderArguments {\n\tself: RawTransactionArgument<string>;\n\tLiquidationCap: RawTransactionArgument<string>;\n\tauthorizedAddress: RawTransactionArgument<string>;\n}\nexport interface AuthorizeTraderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| AuthorizeTraderArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tLiquidationCap: RawTransactionArgument<string>,\n\t\t\t\tauthorizedAddress: RawTransactionArgument<string>,\n\t\t ];\n}\nexport function authorizeTrader(options: AuthorizeTraderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'address'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'LiquidationCap', 'authorizedAddress'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'authorize_trader',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface DeauthorizeTraderArguments {\n\tself: RawTransactionArgument<string>;\n\tLiquidationCap: RawTransactionArgument<string>;\n\tauthorizedAddress: RawTransactionArgument<string>;\n}\nexport interface DeauthorizeTraderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DeauthorizeTraderArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tLiquidationCap: RawTransactionArgument<string>,\n\t\t\t\tauthorizedAddress: RawTransactionArgument<string>,\n\t\t ];\n}\nexport function deauthorizeTrader(options: DeauthorizeTraderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'address'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'LiquidationCap', 'authorizedAddress'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'deauthorize_trader',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface SwapBaseToQuoteArguments {\n\tself: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseIn: RawTransactionArgument<number | bigint>;\n\tdeepIn: RawTransactionArgument<number | bigint>;\n\tminQuoteOut: RawTransactionArgument<number | bigint>;\n}\nexport interface SwapBaseToQuoteOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SwapBaseToQuoteArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseIn: RawTransactionArgument<number | bigint>,\n\t\t\t\tdeepIn: RawTransactionArgument<number | bigint>,\n\t\t\t\tminQuoteOut: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\nexport function swapBaseToQuote(options: SwapBaseToQuoteOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'u64', 'u64', 'u64', '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['self', 'pool', 'baseIn', 'deepIn', 'minQuoteOut'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'swap_base_to_quote',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SwapQuoteToBaseArguments {\n\tself: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tquoteIn: RawTransactionArgument<number | bigint>;\n\tdeepIn: RawTransactionArgument<number | bigint>;\n\tminBaseOut: RawTransactionArgument<number | bigint>;\n}\nexport interface SwapQuoteToBaseOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SwapQuoteToBaseArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tquoteIn: RawTransactionArgument<number | bigint>,\n\t\t\t\tdeepIn: RawTransactionArgument<number | bigint>,\n\t\t\t\tminBaseOut: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\nexport function swapQuoteToBase(options: SwapQuoteToBaseOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'u64', 'u64', 'u64', '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['self', 'pool', 'quoteIn', 'deepIn', 'minBaseOut'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'swap_quote_to_base',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LiquidateBaseArguments {\n\tself: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\trepayAmount: RawTransactionArgument<number | bigint | null>;\n}\nexport interface LiquidateBaseOptions {\n\tpackage?: string;\n\targuments:\n\t\t| LiquidateBaseArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\trepayAmount: RawTransactionArgument<number | bigint | null>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `liquidate_base_upgraded`. Edit both. */\nexport function liquidateBase(options: LiquidateBaseOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\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 = [\n\t\t'self',\n\t\t'marginManager',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'pool',\n\t\t'repayAmount',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'liquidate_base',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LiquidateQuoteArguments {\n\tself: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\trepayAmount: RawTransactionArgument<number | bigint | null>;\n}\nexport interface LiquidateQuoteOptions {\n\tpackage?: string;\n\targuments:\n\t\t| LiquidateQuoteArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\trepayAmount: RawTransactionArgument<number | bigint | null>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `liquidate_quote_upgraded`. Edit both. */\nexport function liquidateQuote(options: LiquidateQuoteOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\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 = [\n\t\t'self',\n\t\t'marginManager',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'pool',\n\t\t'repayAmount',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'liquidate_quote',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface BalanceArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface BalanceOptions {\n\tpackage?: string;\n\targuments: BalanceArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\nexport function balance(options: BalanceOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\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: 'liquidation_vault',\n\t\t\tfunction: 'balance',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LiquidateBaseUpgradedArguments {\n\tself: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\trepayAmount: RawTransactionArgument<number | bigint | null>;\n}\nexport interface LiquidateBaseUpgradedOptions {\n\tpackage?: string;\n\targuments:\n\t\t| LiquidateBaseUpgradedArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\trepayAmount: RawTransactionArgument<number | bigint | null>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * `liquidate_base` against Pyth's upgraded Core.\n *\n * Pyth is replacing Core with a separately published package, so its\n * `PriceInfoObject` is a distinct Move type and `liquidate_base`'s frozen\n * signature can never accept it. Once Pyth stops publishing legacy Core the legacy\n * entry aborts on staleness by itself, and this becomes the only way the vault can\n * liquidate. The gate (`should_liquidate`) and the settlement\n * (`settle_base_liquidation`) are shared with the legacy entry; the body between\n * them is duplicated, because the two `PriceInfoObject` types cannot be unified.\n * Twin: `liquidate_base`. Edit both.\n */\nexport function liquidateBaseUpgraded(options: LiquidateBaseUpgradedOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\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 = [\n\t\t'self',\n\t\t'marginManager',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'pool',\n\t\t'repayAmount',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'liquidate_base_upgraded',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LiquidateQuoteUpgradedArguments {\n\tself: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\trepayAmount: RawTransactionArgument<number | bigint | null>;\n}\nexport interface LiquidateQuoteUpgradedOptions {\n\tpackage?: string;\n\targuments:\n\t\t| LiquidateQuoteUpgradedArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\trepayAmount: RawTransactionArgument<number | bigint | null>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * `liquidate_quote` against Pyth's upgraded Core. See `liquidate_base_upgraded`.\n * Twin: `liquidate_quote`. Edit both.\n */\nexport function liquidateQuoteUpgraded(options: LiquidateQuoteUpgradedOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\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 = [\n\t\t'self',\n\t\t'marginManager',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'pool',\n\t\t'repayAmount',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'liquidate_quote_upgraded',\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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"}
|
|
1
|
+
{"version":3,"file":"liquidation_vault.mjs","names":["bag.Bag"],"sources":["../../../src/contracts/margin_liquidation/liquidation_vault.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 } from '@mysten/sui/transactions';\nimport * as bag from './deps/sui/bag.js';\nconst $moduleName = '@deepbook/margin-liquidation::liquidation_vault';\nexport const LIQUIDATION_VAULT = new MoveStruct({\n\tname: `${$moduleName}::LIQUIDATION_VAULT`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const LiquidationVault = new MoveStruct({\n\tname: `${$moduleName}::LiquidationVault`,\n\tfields: {\n\t\tid: bcs.Address,\n\t\tvault: bag.Bag,\n\t},\n});\nexport const BalanceKey = new MoveStruct({\n\tname: `${$moduleName}::BalanceKey<phantom T>`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const AuthorizedTradersKey = new MoveStruct({\n\tname: `${$moduleName}::AuthorizedTradersKey`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const LiquidationAdminCap = new MoveStruct({\n\tname: `${$moduleName}::LiquidationAdminCap`,\n\tfields: {\n\t\tid: bcs.Address,\n\t},\n});\nexport const LiquidationByVault = new MoveStruct({\n\tname: `${$moduleName}::LiquidationByVault`,\n\tfields: {\n\t\tvault_id: bcs.Address,\n\t\tmargin_manager_id: bcs.Address,\n\t\tmargin_pool_id: bcs.Address,\n\t\tbase_in: bcs.u64(),\n\t\tbase_out: bcs.u64(),\n\t\tquote_in: bcs.u64(),\n\t\tquote_out: bcs.u64(),\n\t\trepay_balance_remaining: bcs.u64(),\n\t\tbase_liquidation: bcs.bool(),\n\t},\n});\nexport interface DepositArguments {\n\tself: RawTransactionArgument<string>;\n\tLiquidationCap: RawTransactionArgument<string>;\n\tcoin: RawTransactionArgument<string>;\n}\nexport interface DepositOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DepositArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tLiquidationCap: RawTransactionArgument<string>,\n\t\t\t\tcoin: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\nexport function deposit(options: DepositOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'LiquidationCap', 'coin'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'deposit',\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\tLiquidationCap: RawTransactionArgument<string>;\n\tamount: RawTransactionArgument<number | bigint>;\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\tLiquidationCap: RawTransactionArgument<string>,\n\t\t\t\tamount: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string];\n}\nexport function withdraw(options: WithdrawOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'LiquidationCap', 'amount'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\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 CreateLiquidationVaultArguments {\n\tLiquidationCap: RawTransactionArgument<string>;\n}\nexport interface CreateLiquidationVaultOptions {\n\tpackage?: string;\n\targuments: CreateLiquidationVaultArguments | [LiquidationCap: RawTransactionArgument<string>];\n}\nexport function createLiquidationVault(options: CreateLiquidationVaultOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['LiquidationCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'create_liquidation_vault',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface AuthorizeTraderArguments {\n\tself: RawTransactionArgument<string>;\n\tLiquidationCap: RawTransactionArgument<string>;\n\tauthorizedAddress: RawTransactionArgument<string>;\n}\nexport interface AuthorizeTraderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| AuthorizeTraderArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tLiquidationCap: RawTransactionArgument<string>,\n\t\t\t\tauthorizedAddress: RawTransactionArgument<string>,\n\t\t ];\n}\nexport function authorizeTrader(options: AuthorizeTraderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'address'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'LiquidationCap', 'authorizedAddress'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'authorize_trader',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface DeauthorizeTraderArguments {\n\tself: RawTransactionArgument<string>;\n\tLiquidationCap: RawTransactionArgument<string>;\n\tauthorizedAddress: RawTransactionArgument<string>;\n}\nexport interface DeauthorizeTraderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DeauthorizeTraderArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tLiquidationCap: RawTransactionArgument<string>,\n\t\t\t\tauthorizedAddress: RawTransactionArgument<string>,\n\t\t ];\n}\nexport function deauthorizeTrader(options: DeauthorizeTraderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'address'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'LiquidationCap', 'authorizedAddress'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'deauthorize_trader',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface SwapBaseToQuoteArguments {\n\tself: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseIn: RawTransactionArgument<number | bigint>;\n\tdeepIn: RawTransactionArgument<number | bigint>;\n\tminQuoteOut: RawTransactionArgument<number | bigint>;\n}\nexport interface SwapBaseToQuoteOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SwapBaseToQuoteArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseIn: RawTransactionArgument<number | bigint>,\n\t\t\t\tdeepIn: RawTransactionArgument<number | bigint>,\n\t\t\t\tminQuoteOut: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\nexport function swapBaseToQuote(options: SwapBaseToQuoteOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'u64', 'u64', 'u64', '0x2::clock::Clock'] satisfies (\n\t\tstring | null\n\t)[];\n\tconst parameterNames = ['self', 'pool', 'baseIn', 'deepIn', 'minQuoteOut'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'swap_base_to_quote',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SwapQuoteToBaseArguments {\n\tself: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tquoteIn: RawTransactionArgument<number | bigint>;\n\tdeepIn: RawTransactionArgument<number | bigint>;\n\tminBaseOut: RawTransactionArgument<number | bigint>;\n}\nexport interface SwapQuoteToBaseOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SwapQuoteToBaseArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tquoteIn: RawTransactionArgument<number | bigint>,\n\t\t\t\tdeepIn: RawTransactionArgument<number | bigint>,\n\t\t\t\tminBaseOut: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\nexport function swapQuoteToBase(options: SwapQuoteToBaseOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'u64', 'u64', 'u64', '0x2::clock::Clock'] satisfies (\n\t\tstring | null\n\t)[];\n\tconst parameterNames = ['self', 'pool', 'quoteIn', 'deepIn', 'minBaseOut'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'swap_quote_to_base',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LiquidateBaseArguments {\n\tself: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\trepayAmount: RawTransactionArgument<number | bigint | null>;\n}\nexport interface LiquidateBaseOptions {\n\tpackage?: string;\n\targuments:\n\t\t| LiquidateBaseArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\trepayAmount: RawTransactionArgument<number | bigint | null>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `liquidate_base_upgraded`. Edit both. */\nexport function liquidateBase(options: LiquidateBaseOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\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 = [\n\t\t'self',\n\t\t'marginManager',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'pool',\n\t\t'repayAmount',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'liquidate_base',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LiquidateQuoteArguments {\n\tself: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\trepayAmount: RawTransactionArgument<number | bigint | null>;\n}\nexport interface LiquidateQuoteOptions {\n\tpackage?: string;\n\targuments:\n\t\t| LiquidateQuoteArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\trepayAmount: RawTransactionArgument<number | bigint | null>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `liquidate_quote_upgraded`. Edit both. */\nexport function liquidateQuote(options: LiquidateQuoteOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\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 = [\n\t\t'self',\n\t\t'marginManager',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'pool',\n\t\t'repayAmount',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'liquidate_quote',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface BalanceArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface BalanceOptions {\n\tpackage?: string;\n\targuments: BalanceArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\nexport function balance(options: BalanceOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\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: 'liquidation_vault',\n\t\t\tfunction: 'balance',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LiquidateBaseUpgradedArguments {\n\tself: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\trepayAmount: RawTransactionArgument<number | bigint | null>;\n}\nexport interface LiquidateBaseUpgradedOptions {\n\tpackage?: string;\n\targuments:\n\t\t| LiquidateBaseUpgradedArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\trepayAmount: RawTransactionArgument<number | bigint | null>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * `liquidate_base` against Pyth's upgraded Core.\n *\n * Pyth is replacing Core with a separately published package, so its\n * `PriceInfoObject` is a distinct Move type and `liquidate_base`'s frozen\n * signature can never accept it. Once Pyth stops publishing legacy Core the legacy\n * entry aborts on staleness by itself, and this becomes the only way the vault can\n * liquidate. The gate (`should_liquidate`) and the settlement\n * (`settle_base_liquidation`) are shared with the legacy entry; the body between\n * them is duplicated, because the two `PriceInfoObject` types cannot be unified.\n * Twin: `liquidate_base`. Edit both.\n */\nexport function liquidateBaseUpgraded(options: LiquidateBaseUpgradedOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\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 = [\n\t\t'self',\n\t\t'marginManager',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'pool',\n\t\t'repayAmount',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'liquidate_base_upgraded',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LiquidateQuoteUpgradedArguments {\n\tself: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\trepayAmount: RawTransactionArgument<number | bigint | null>;\n}\nexport interface LiquidateQuoteUpgradedOptions {\n\tpackage?: string;\n\targuments:\n\t\t| LiquidateQuoteUpgradedArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\trepayAmount: RawTransactionArgument<number | bigint | null>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * `liquidate_quote` against Pyth's upgraded Core. See `liquidate_base_upgraded`.\n * Twin: `liquidate_quote`. Edit both.\n */\nexport function liquidateQuoteUpgraded(options: LiquidateQuoteUpgradedOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\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 = [\n\t\t'self',\n\t\t'marginManager',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'pool',\n\t\t'repayAmount',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'liquidate_quote_upgraded',\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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"}
|
|
@@ -3,12 +3,23 @@ import { TransactionArgument, TransactionObjectArgument } from "@mysten/sui/tran
|
|
|
3
3
|
import { ClientWithCoreApi, SuiClientTypes } from "@mysten/sui/client";
|
|
4
4
|
|
|
5
5
|
//#region src/contracts/utils/index.d.ts
|
|
6
|
+
type RawTransactionArgument<T> = T | TransactionArgument;
|
|
6
7
|
type GetOptions<Include extends Omit<SuiClientTypes.ObjectInclude, 'content'> = {}> = SuiClientTypes.GetObjectOptions<Include> & {
|
|
7
8
|
client: ClientWithCoreApi;
|
|
8
9
|
};
|
|
9
10
|
type GetManyOptions<Include extends Omit<SuiClientTypes.ObjectInclude, 'content'> = {}> = SuiClientTypes.GetObjectsOptions<Include> & {
|
|
10
11
|
client: ClientWithCoreApi;
|
|
11
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* A non-callback transaction argument in a generated config object, used for keys whose matched
|
|
15
|
+
* parameter can't be supplied as an object id string.
|
|
16
|
+
*/
|
|
17
|
+
type ConfigObjectValue = Exclude<TransactionObjectArgument, (...args: never[]) => unknown>;
|
|
18
|
+
/**
|
|
19
|
+
* A plain value in a generated config object: an object id or a non-callback transaction
|
|
20
|
+
* argument. Keys that can resolve multiple bindings are typed as resolver functions instead.
|
|
21
|
+
*/
|
|
22
|
+
type ConfigValue = string | ConfigObjectValue;
|
|
12
23
|
/** A type argument: a type tag string, or a BCS type whose name is a Move type. */
|
|
13
24
|
type TypeArgument = string | BcsType<any>;
|
|
14
25
|
interface TypeTagOptions {
|
|
@@ -64,6 +75,12 @@ declare class MoveStruct<T extends Record<string, BcsType<any>>, const Name exte
|
|
|
64
75
|
json: BcsStruct<T>['$inferType'];
|
|
65
76
|
}>>;
|
|
66
77
|
}
|
|
78
|
+
declare class MoveTuple<const T extends readonly BcsType<any>[], const Name extends string> extends BcsTuple<T, Name> {
|
|
79
|
+
/** Build the type tag for this struct. See `MoveStruct.typeTag` for semantics. */
|
|
80
|
+
typeTag(...args: TypeTagParams<Name>): string;
|
|
81
|
+
/** Build and resolve the type tag for this struct. See `MoveStruct.resolveTypeTag`. */
|
|
82
|
+
resolveTypeTag(options: ResolveTypeTagOptions<Name>): Promise<string>;
|
|
83
|
+
}
|
|
67
84
|
//#endregion
|
|
68
|
-
export { MoveStruct };
|
|
85
|
+
export { ConfigValue, MoveStruct, MoveTuple, RawTransactionArgument };
|
|
69
86
|
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/contracts/utils/index.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/contracts/utils/index.ts"],"mappings":";;;;;KAoBY,sBAAA,MAA4B,CAAA,GAAI,mBAAA;AAAA,KAEhC,UAAA,iBAA2B,IAAA,CAAK,cAAA,CAAe,aAAA,qBAC1D,cAAA,CAAe,gBAAA,CAAiB,OAAA;EAAa,MAAA,EAAQ,iBAAA;AAAA;AAAA,KAE1C,cAAA,iBAA+B,IAAA,CAAK,cAAA,CAAe,aAAA,qBAC9D,cAAA,CAAe,iBAAA,CAAkB,OAAA;EAAa,MAAA,EAAQ,iBAAA;AAAA;;;;;KA4K3C,iBAAA,GAAoB,OAAA,CAAQ,yBAAA,MAA+B,IAAA;;;;;KAM3D,WAAA,YAAuB,iBAAA;;KAKvB,YAAA,YAAwB,OAAA;AAAA,UAEnB,cAAA;EAChB,OAAA;EACA,aAAA,YAAyB,YAAA;AAAA;;;;;;KAQrB,aAAA,wBAAqC,IAAA,yCACtC,OAAA,EAAS,cAAA;EAAmB,aAAA,WAAwB,YAAA;AAAA,MACpD,OAAA,GAAU,cAAA;AAAA,KAET,qBAAA;EACJ,MAAA,EAAQ,iBAAA;AAAA,KACJ,IAAA,wCACF,cAAA;EAAmB,aAAA,WAAwB,YAAA;AAAA,IAC3C,cAAA;AAAA,cAqFU,UAAA,WACF,MAAA,SAAe,OAAA,oDAEhB,SAAA,CAAU,CAAA,EAAG,IAAA;EAvHiB;;;;AAMxC;;;;EA0HC,OAAA,CAAA,GAAW,IAAA,EAAM,aAAA,CAAc,IAAA;EArHpB;;;;;AAEZ;EA6HO,cAAA,CAAe,OAAA,EAAS,qBAAA,CAAsB,IAAA,IAAQ,OAAA;EAOtD,GAAA,iBAAoB,IAAA,CAAK,cAAA,CAAe,aAAA,2BAAA,CAAA;IAC7C,QAAA;IAAA,GACG;EAAA,GACD,UAAA,CAAW,OAAA,IAAW,OAAA,CACxB,cAAA,CAAe,MAAA,CAAO,OAAA;IAAY,OAAA;IAAe,IAAA;EAAA;IAChD,IAAA,EAAM,SAAA,CAAU,CAAA;EAAA;EAeZ,OAAA,iBAAwB,IAAA,CAAK,cAAA,CAAe,aAAA,2BAAA,CAAA;IACjD,MAAA;IAAA,GACG;EAAA,GACD,cAAA,CAAe,OAAA,IAAW,OAAA,CAC5B,KAAA,CACC,cAAA,CAAe,MAAA,CAAO,OAAA;IAAY,OAAA;IAAe,IAAA;EAAA;IAChD,IAAA,EAAM,SAAA,CAAU,CAAA;EAAA;AAAA;AAAA,cA2CP,SAAA,0BACa,OAAA,4CAEhB,QAAA,CAAS,CAAA,EAAG,IAAA;EAjMU;EAmM/B,OAAA,CAAA,GAAW,IAAA,EAAM,aAAA,CAAc,IAAA;EAlM5B;EAuMG,cAAA,CAAe,OAAA,EAAS,qBAAA,CAAsB,IAAA,IAAQ,OAAA;AAAA"}
|