@mysten/deepbook-v3 1.6.7 → 2.0.1
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 +69 -0
- package/dist/_virtual/rolldown_runtime.mjs +18 -0
- package/dist/client.d.mts +9 -6
- package/dist/client.d.mts.map +1 -1
- package/dist/client.mjs +3 -2
- package/dist/client.mjs.map +1 -1
- package/dist/contracts/deepbook/account.d.mts +18 -18
- package/dist/contracts/deepbook/account.d.mts.map +1 -1
- package/dist/contracts/deepbook/balance_manager.mjs.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 +1 -319
- package/dist/contracts/deepbook_margin/margin_manager.mjs.map +1 -1
- package/dist/contracts/deepbook_margin/margin_manager_upgraded.mjs +386 -0
- package/dist/contracts/deepbook_margin/margin_manager_upgraded.mjs.map +1 -0
- 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/oracle.mjs +9 -0
- package/dist/contracts/deepbook_margin/oracle.mjs.map +1 -1
- package/dist/contracts/deepbook_margin/pool_proxy.mjs +1 -383
- package/dist/contracts/deepbook_margin/pool_proxy.mjs.map +1 -1
- package/dist/contracts/deepbook_margin/pool_proxy_upgraded.mjs +340 -0
- package/dist/contracts/deepbook_margin/pool_proxy_upgraded.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/protocol_config.mjs.map +1 -1
- package/dist/contracts/deepbook_margin/tpsl.mjs.map +1 -1
- package/dist/contracts/margin_liquidation/liquidation_vault.mjs +33 -17
- package/dist/contracts/margin_liquidation/liquidation_vault.mjs.map +1 -1
- package/dist/index.d.mts +4 -3
- package/dist/index.mjs +2 -2
- package/dist/pyth/PriceServiceConnection.d.mts +18 -3
- package/dist/pyth/PriceServiceConnection.d.mts.map +1 -1
- package/dist/pyth/PriceServiceConnection.mjs +35 -4
- package/dist/pyth/PriceServiceConnection.mjs.map +1 -1
- package/dist/queries/priceFeedQueries.mjs +50 -18
- package/dist/queries/priceFeedQueries.mjs.map +1 -1
- package/dist/transactions/balanceManager.d.mts +12 -12
- package/dist/transactions/balanceManager.d.mts.map +1 -1
- package/dist/transactions/deepbook.d.mts +20 -20
- package/dist/transactions/deepbook.d.mts.map +1 -1
- package/dist/transactions/deepbookAdmin.d.mts +4 -4
- package/dist/transactions/marginAdmin.d.mts +7 -7
- package/dist/transactions/marginAdmin.d.mts.map +1 -1
- package/dist/transactions/marginAdmin.mjs +2 -2
- package/dist/transactions/marginAdmin.mjs.map +1 -1
- package/dist/transactions/marginLiquidations.d.mts.map +1 -1
- package/dist/transactions/marginLiquidations.mjs +19 -7
- package/dist/transactions/marginLiquidations.mjs.map +1 -1
- package/dist/transactions/marginMaintainer.d.mts +5 -5
- package/dist/transactions/marginManager.d.mts +32 -32
- package/dist/transactions/marginManager.d.mts.map +1 -1
- package/dist/transactions/marginManager.mjs +43 -34
- package/dist/transactions/marginManager.mjs.map +1 -1
- package/dist/transactions/marginPool.d.mts +18 -18
- package/dist/transactions/marginTPSL.d.mts +10 -10
- package/dist/transactions/marginTPSL.d.mts.map +1 -1
- package/dist/transactions/marginTPSL.mjs +19 -10
- package/dist/transactions/marginTPSL.mjs.map +1 -1
- package/dist/transactions/poolProxy.d.mts +8 -8
- package/dist/transactions/poolProxy.d.mts.map +1 -1
- package/dist/transactions/poolProxy.mjs +34 -27
- package/dist/transactions/poolProxy.mjs.map +1 -1
- package/dist/types/index.d.mts +16 -1
- package/dist/types/index.d.mts.map +1 -1
- package/dist/types/index.mjs.map +1 -1
- package/dist/utils/config.d.mts +30 -10
- package/dist/utils/config.d.mts.map +1 -1
- package/dist/utils/config.mjs +33 -4
- package/dist/utils/config.mjs.map +1 -1
- package/dist/utils/constants.d.mts +32 -1
- package/dist/utils/constants.d.mts.map +1 -1
- package/dist/utils/constants.mjs +55 -24
- package/dist/utils/constants.mjs.map +1 -1
- package/package.json +10 -10
- package/src/client.ts +9 -1
- 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 +149 -28
- package/src/contracts/deepbook_margin/margin_manager_upgraded.ts +646 -0
- 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/oracle.ts +59 -0
- package/src/contracts/deepbook_margin/pool_proxy.ts +597 -584
- package/src/contracts/deepbook_margin/pool_proxy_upgraded.ts +614 -0
- package/src/contracts/deepbook_margin/protocol_config.ts +1 -2
- package/src/contracts/deepbook_margin/tpsl.ts +1 -2
- package/src/contracts/margin_liquidation/liquidation_vault.ts +144 -4
- package/src/contracts/pyth/pyth.ts +2 -4
- package/src/index.ts +4 -0
- package/src/pyth/PriceServiceConnection.ts +69 -8
- package/src/queries/priceFeedQueries.ts +74 -24
- package/src/transactions/marginAdmin.ts +2 -4
- package/src/transactions/marginLiquidations.ts +20 -6
- package/src/transactions/marginManager.ts +43 -33
- package/src/transactions/marginTPSL.ts +19 -9
- package/src/transactions/poolProxy.ts +34 -30
- package/src/types/index.ts +17 -2
- package/src/utils/config.ts +69 -9
- package/src/utils/constants.ts +83 -26
|
@@ -36,6 +36,65 @@ export const ConversionConfig = new MoveStruct({
|
|
|
36
36
|
pyth_decimals: bcs.u8(),
|
|
37
37
|
},
|
|
38
38
|
});
|
|
39
|
+
export const PythReading = new MoveStruct({
|
|
40
|
+
name: `${$moduleName}::PythReading`,
|
|
41
|
+
fields: {
|
|
42
|
+
price: bcs.u64(),
|
|
43
|
+
decimals: bcs.u8(),
|
|
44
|
+
/**
|
|
45
|
+
* `some` only for validated reads. The confidence bound is a _pricing_ guard, not
|
|
46
|
+
* a read guard: it is asserted in `price_config`, so a reading taken purely for
|
|
47
|
+
* telemetry (the deposit event) is never rejected for a wide interval. Unvalidated
|
|
48
|
+
* reads carry `none` and skip the check, as they always have.
|
|
49
|
+
*/
|
|
50
|
+
conf: bcs.option(bcs.u64()),
|
|
51
|
+
/**
|
|
52
|
+
* The asset this price is _for_, stamped by the reader from the same config row
|
|
53
|
+
* the feed id was checked against. `price_config` asserts it matches the type it
|
|
54
|
+
* is being consumed as, so a reading routed to the wrong leg aborts instead of
|
|
55
|
+
* silently mis-pricing. Without it, transposing the base and quote readings at a
|
|
56
|
+
* call site is invisible: both are well-formed, both pass every other guard.
|
|
57
|
+
*/
|
|
58
|
+
coin_type: type_name.TypeName,
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
export interface NewCoinTypeDataArguments {
|
|
62
|
+
CoinMetadata: RawTransactionArgument<string>;
|
|
63
|
+
PriceFeedId: RawTransactionArgument<Array<number>>;
|
|
64
|
+
MaxConfBps: RawTransactionArgument<number | bigint>;
|
|
65
|
+
MaxEwmaDifferenceBps: RawTransactionArgument<number | bigint>;
|
|
66
|
+
}
|
|
67
|
+
export interface NewCoinTypeDataOptions {
|
|
68
|
+
package?: string;
|
|
69
|
+
arguments:
|
|
70
|
+
| NewCoinTypeDataArguments
|
|
71
|
+
| [
|
|
72
|
+
CoinMetadata: RawTransactionArgument<string>,
|
|
73
|
+
PriceFeedId: RawTransactionArgument<Array<number>>,
|
|
74
|
+
MaxConfBps: RawTransactionArgument<number | bigint>,
|
|
75
|
+
MaxEwmaDifferenceBps: RawTransactionArgument<number | bigint>,
|
|
76
|
+
];
|
|
77
|
+
typeArguments: [string];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Superseded by `new_coin_type_data_from_currency`, which reads decimals from
|
|
81
|
+
* `Currency` instead of trusting the caller-supplied `CoinMetadata`. Retained as
|
|
82
|
+
* an aborting stub because it is public in the deployed package: a `compatible`
|
|
83
|
+
* upgrade cannot drop a public function.
|
|
84
|
+
*/
|
|
85
|
+
export function newCoinTypeData(options: NewCoinTypeDataOptions) {
|
|
86
|
+
const packageAddress = options.package ?? '@deepbook/margin';
|
|
87
|
+
const argumentsTypes = [null, 'vector<u8>', 'u64', 'u64'] satisfies (string | null)[];
|
|
88
|
+
const parameterNames = ['CoinMetadata', 'PriceFeedId', 'MaxConfBps', 'MaxEwmaDifferenceBps'];
|
|
89
|
+
return (tx: Transaction) =>
|
|
90
|
+
tx.moveCall({
|
|
91
|
+
package: packageAddress,
|
|
92
|
+
module: 'oracle',
|
|
93
|
+
function: 'new_coin_type_data',
|
|
94
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
95
|
+
typeArguments: options.typeArguments,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
39
98
|
export interface NewCoinTypeDataFromCurrencyArguments {
|
|
40
99
|
currency: RawTransactionArgument<string>;
|
|
41
100
|
priceFeedId: RawTransactionArgument<Array<number>>;
|