@mysten/deepbook-v3 1.3.0 → 1.3.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 +17 -0
- package/dist/contracts/deepbook/account.d.mts +1 -1
- package/dist/contracts/deepbook/account.mjs.map +1 -1
- package/dist/contracts/deepbook/deep_price.d.mts +1 -1
- package/dist/contracts/deepbook/deep_price.mjs.map +1 -1
- package/dist/contracts/deepbook/order.d.mts +1 -1
- package/dist/contracts/deepbook/order.mjs.map +1 -1
- package/dist/contracts/pyth/data_source.mjs.map +1 -1
- package/dist/contracts/pyth/i64.mjs.map +1 -1
- package/dist/contracts/pyth/price.mjs.map +1 -1
- package/dist/contracts/pyth/price_feed.mjs.map +1 -1
- package/dist/contracts/pyth/price_identifier.mjs.map +1 -1
- package/dist/contracts/pyth/price_info.mjs.map +1 -1
- package/dist/contracts/pyth/state.mjs.map +1 -1
- package/dist/contracts/utils/index.d.mts.map +1 -1
- package/dist/contracts/utils/index.mjs.map +1 -1
- package/dist/queries/accountQueries.mjs +3 -0
- package/dist/queries/accountQueries.mjs.map +1 -1
- package/dist/queries/balanceManagerQueries.mjs +5 -0
- package/dist/queries/balanceManagerQueries.mjs.map +1 -1
- package/dist/queries/marginManagerQueries.mjs +15 -0
- package/dist/queries/marginManagerQueries.mjs.map +1 -1
- package/dist/queries/marginPoolQueries.mjs +14 -0
- package/dist/queries/marginPoolQueries.mjs.map +1 -1
- package/dist/queries/orderQueries.mjs +7 -0
- package/dist/queries/orderQueries.mjs.map +1 -1
- package/dist/queries/poolQueries.mjs +15 -0
- package/dist/queries/poolQueries.mjs.map +1 -1
- package/dist/queries/quantityQueries.mjs +9 -0
- package/dist/queries/quantityQueries.mjs.map +1 -1
- package/dist/queries/referralQueries.mjs +5 -0
- package/dist/queries/referralQueries.mjs.map +1 -1
- package/dist/queries/registryQueries.mjs +12 -0
- package/dist/queries/registryQueries.mjs.map +1 -1
- package/dist/queries/tpslQueries.mjs +3 -0
- package/dist/queries/tpslQueries.mjs.map +1 -1
- package/package.json +4 -4
- package/src/contracts/deepbook/account.ts +20 -20
- package/src/contracts/deepbook/balance_manager.ts +3 -3
- package/src/contracts/deepbook/deep_price.ts +6 -6
- package/src/contracts/deepbook/fill.ts +34 -34
- package/src/contracts/deepbook/math.ts +2 -2
- package/src/contracts/deepbook/order.ts +24 -24
- package/src/contracts/deepbook/order_info.ts +46 -46
- package/src/contracts/deepbook/order_query.ts +5 -5
- package/src/contracts/deepbook/pool.ts +119 -33
- package/src/contracts/deepbook/registry.ts +3 -3
- package/src/contracts/pyth/batch_price_attestation.ts +5 -5
- package/src/contracts/pyth/contract_upgrade.ts +3 -3
- package/src/contracts/pyth/data_source.ts +4 -4
- package/src/contracts/pyth/deserialize.ts +8 -8
- package/src/contracts/pyth/governance.ts +7 -7
- package/src/contracts/pyth/governance_action.ts +2 -2
- package/src/contracts/pyth/governance_instruction.ts +6 -6
- package/src/contracts/pyth/hot_potato_vector.ts +5 -5
- package/src/contracts/pyth/i64.ts +4 -4
- package/src/contracts/pyth/merkle_tree.ts +3 -7
- package/src/contracts/pyth/migrate.ts +2 -2
- package/src/contracts/pyth/price.ts +7 -7
- package/src/contracts/pyth/price_feed.ts +7 -11
- package/src/contracts/pyth/price_identifier.ts +3 -3
- package/src/contracts/pyth/price_info.ts +9 -9
- package/src/contracts/pyth/price_status.ts +2 -2
- package/src/contracts/pyth/pyth.ts +12 -12
- package/src/contracts/pyth/set.ts +4 -4
- package/src/contracts/pyth/state.ts +5 -5
- package/src/contracts/utils/index.ts +3 -1
- package/src/queries/accountQueries.ts +3 -0
- package/src/queries/balanceManagerQueries.ts +5 -0
- package/src/queries/marginManagerQueries.ts +15 -0
- package/src/queries/marginPoolQueries.ts +14 -0
- package/src/queries/orderQueries.ts +7 -0
- package/src/queries/poolQueries.ts +15 -0
- package/src/queries/quantityQueries.ts +9 -0
- package/src/queries/referralQueries.ts +5 -0
- package/src/queries/registryQueries.ts +12 -0
- package/src/queries/tpslQueries.ts +3 -0
|
@@ -11,6 +11,7 @@ var PoolQueries = class {
|
|
|
11
11
|
}
|
|
12
12
|
async whitelisted(poolKey) {
|
|
13
13
|
const tx = new Transaction();
|
|
14
|
+
tx.setSender(this.#ctx.address);
|
|
14
15
|
tx.add(this.#ctx.deepBook.whitelisted(poolKey));
|
|
15
16
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
16
17
|
transaction: tx,
|
|
@@ -23,6 +24,7 @@ var PoolQueries = class {
|
|
|
23
24
|
}
|
|
24
25
|
async vaultBalances(poolKey) {
|
|
25
26
|
const tx = new Transaction();
|
|
27
|
+
tx.setSender(this.#ctx.address);
|
|
26
28
|
const pool = this.#ctx.config.getPool(poolKey);
|
|
27
29
|
const baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;
|
|
28
30
|
const quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;
|
|
@@ -45,6 +47,7 @@ var PoolQueries = class {
|
|
|
45
47
|
}
|
|
46
48
|
async getPoolIdByAssets(baseType, quoteType) {
|
|
47
49
|
const tx = new Transaction();
|
|
50
|
+
tx.setSender(this.#ctx.address);
|
|
48
51
|
tx.add(this.#ctx.deepBook.getPoolIdByAssets(baseType, quoteType));
|
|
49
52
|
const res = await this.#ctx.client.core.simulateTransaction({
|
|
50
53
|
transaction: tx,
|
|
@@ -57,6 +60,7 @@ var PoolQueries = class {
|
|
|
57
60
|
}
|
|
58
61
|
async midPrice(poolKey) {
|
|
59
62
|
const tx = new Transaction();
|
|
63
|
+
tx.setSender(this.#ctx.address);
|
|
60
64
|
const pool = this.#ctx.config.getPool(poolKey);
|
|
61
65
|
tx.add(this.#ctx.deepBook.midPrice(poolKey));
|
|
62
66
|
const baseCoin = this.#ctx.config.getCoin(pool.baseCoin);
|
|
@@ -73,6 +77,7 @@ var PoolQueries = class {
|
|
|
73
77
|
}
|
|
74
78
|
async poolTradeParams(poolKey) {
|
|
75
79
|
const tx = new Transaction();
|
|
80
|
+
tx.setSender(this.#ctx.address);
|
|
76
81
|
tx.add(this.#ctx.deepBook.poolTradeParams(poolKey));
|
|
77
82
|
const res = await this.#ctx.client.core.simulateTransaction({
|
|
78
83
|
transaction: tx,
|
|
@@ -92,6 +97,7 @@ var PoolQueries = class {
|
|
|
92
97
|
}
|
|
93
98
|
async poolBookParams(poolKey) {
|
|
94
99
|
const tx = new Transaction();
|
|
100
|
+
tx.setSender(this.#ctx.address);
|
|
95
101
|
const pool = this.#ctx.config.getPool(poolKey);
|
|
96
102
|
const baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;
|
|
97
103
|
const quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;
|
|
@@ -114,6 +120,7 @@ var PoolQueries = class {
|
|
|
114
120
|
}
|
|
115
121
|
async stablePool(poolKey) {
|
|
116
122
|
const tx = new Transaction();
|
|
123
|
+
tx.setSender(this.#ctx.address);
|
|
117
124
|
tx.add(this.#ctx.deepBook.stablePool(poolKey));
|
|
118
125
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
119
126
|
transaction: tx,
|
|
@@ -126,6 +133,7 @@ var PoolQueries = class {
|
|
|
126
133
|
}
|
|
127
134
|
async registeredPool(poolKey) {
|
|
128
135
|
const tx = new Transaction();
|
|
136
|
+
tx.setSender(this.#ctx.address);
|
|
129
137
|
tx.add(this.#ctx.deepBook.registeredPool(poolKey));
|
|
130
138
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
131
139
|
transaction: tx,
|
|
@@ -138,6 +146,7 @@ var PoolQueries = class {
|
|
|
138
146
|
}
|
|
139
147
|
async poolTradeParamsNext(poolKey) {
|
|
140
148
|
const tx = new Transaction();
|
|
149
|
+
tx.setSender(this.#ctx.address);
|
|
141
150
|
tx.add(this.#ctx.deepBook.poolTradeParamsNext(poolKey));
|
|
142
151
|
const res = await this.#ctx.client.core.simulateTransaction({
|
|
143
152
|
transaction: tx,
|
|
@@ -157,6 +166,7 @@ var PoolQueries = class {
|
|
|
157
166
|
}
|
|
158
167
|
async quorum(poolKey) {
|
|
159
168
|
const tx = new Transaction();
|
|
169
|
+
tx.setSender(this.#ctx.address);
|
|
160
170
|
tx.add(this.#ctx.deepBook.quorum(poolKey));
|
|
161
171
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
162
172
|
transaction: tx,
|
|
@@ -169,6 +179,7 @@ var PoolQueries = class {
|
|
|
169
179
|
}
|
|
170
180
|
async poolId(poolKey) {
|
|
171
181
|
const tx = new Transaction();
|
|
182
|
+
tx.setSender(this.#ctx.address);
|
|
172
183
|
tx.add(this.#ctx.deepBook.poolId(poolKey));
|
|
173
184
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
174
185
|
transaction: tx,
|
|
@@ -181,6 +192,7 @@ var PoolQueries = class {
|
|
|
181
192
|
}
|
|
182
193
|
async canPlaceLimitOrder(params) {
|
|
183
194
|
const tx = new Transaction();
|
|
195
|
+
tx.setSender(this.#ctx.address);
|
|
184
196
|
tx.add(this.#ctx.deepBook.canPlaceLimitOrder(params));
|
|
185
197
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
186
198
|
transaction: tx,
|
|
@@ -193,6 +205,7 @@ var PoolQueries = class {
|
|
|
193
205
|
}
|
|
194
206
|
async canPlaceMarketOrder(params) {
|
|
195
207
|
const tx = new Transaction();
|
|
208
|
+
tx.setSender(this.#ctx.address);
|
|
196
209
|
tx.add(this.#ctx.deepBook.canPlaceMarketOrder(params));
|
|
197
210
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
198
211
|
transaction: tx,
|
|
@@ -205,6 +218,7 @@ var PoolQueries = class {
|
|
|
205
218
|
}
|
|
206
219
|
async checkMarketOrderParams(poolKey, quantity) {
|
|
207
220
|
const tx = new Transaction();
|
|
221
|
+
tx.setSender(this.#ctx.address);
|
|
208
222
|
tx.add(this.#ctx.deepBook.checkMarketOrderParams(poolKey, quantity));
|
|
209
223
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
210
224
|
transaction: tx,
|
|
@@ -217,6 +231,7 @@ var PoolQueries = class {
|
|
|
217
231
|
}
|
|
218
232
|
async checkLimitOrderParams(poolKey, price, quantity, expireTimestamp) {
|
|
219
233
|
const tx = new Transaction();
|
|
234
|
+
tx.setSender(this.#ctx.address);
|
|
220
235
|
tx.add(this.#ctx.deepBook.checkLimitOrderParams(poolKey, price, quantity, expireTimestamp));
|
|
221
236
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
222
237
|
transaction: tx,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poolQueries.mjs","names":["#ctx"],"sources":["../../src/queries/poolQueries.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@mysten/sui/bcs';\nimport { Transaction } from '@mysten/sui/transactions';\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\n\nimport type {\n\tCanPlaceLimitOrderParams,\n\tCanPlaceMarketOrderParams,\n\tPoolBookParams,\n\tPoolTradeParams,\n\tVaultBalances,\n} from '../types/index.js';\nimport { DEEP_SCALAR, FLOAT_SCALAR } from '../utils/config.js';\nimport type { QueryContext } from './context.js';\n\nexport class PoolQueries {\n\t#ctx: QueryContext;\n\n\tconstructor(ctx: QueryContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\tasync whitelisted(poolKey: string): Promise<boolean> {\n\t\tconst tx = new Transaction();\n\n\t\ttx.add(this.#ctx.deepBook.whitelisted(poolKey));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.Bool.parse(bytes);\n\t}\n\n\tasync vaultBalances(poolKey: string): Promise<VaultBalances> {\n\t\tconst tx = new Transaction();\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.vaultBalances(poolKey));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseInVault = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteInVault = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepInVault = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tbase: Number((baseInVault / baseScalar).toFixed(9)),\n\t\t\tquote: Number((quoteInVault / quoteScalar).toFixed(9)),\n\t\t\tdeep: Number((deepInVault / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getPoolIdByAssets(baseType: string, quoteType: string): Promise<string> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.deepBook.getPoolIdByAssets(baseType, quoteType));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\treturn bcs.Address.parse(res.commandResults![0].returnValues[0].bcs);\n\t}\n\n\tasync midPrice(poolKey: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\ttx.add(this.#ctx.deepBook.midPrice(poolKey));\n\n\t\tconst baseCoin = this.#ctx.config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#ctx.config.getCoin(pool.quoteCoin);\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst parsed_mid_price = Number(bcs.U64.parse(bytes));\n\t\tconst adjusted_mid_price =\n\t\t\t(parsed_mid_price * baseCoin.scalar) / quoteCoin.scalar / FLOAT_SCALAR;\n\n\t\treturn Number(adjusted_mid_price.toFixed(9));\n\t}\n\n\tasync poolTradeParams(poolKey: string): Promise<PoolTradeParams> {\n\t\tconst tx = new Transaction();\n\n\t\ttx.add(this.#ctx.deepBook.poolTradeParams(poolKey));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst takerFee = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst makerFee = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst stakeRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\ttakerFee: Number(takerFee / FLOAT_SCALAR),\n\t\t\tmakerFee: Number(makerFee / FLOAT_SCALAR),\n\t\t\tstakeRequired: Number(stakeRequired / DEEP_SCALAR),\n\t\t};\n\t}\n\n\tasync poolBookParams(poolKey: string): Promise<PoolBookParams> {\n\t\tconst tx = new Transaction();\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.poolBookParams(poolKey));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst tickSize = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst lotSize = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst minSize = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\ttickSize: Number((tickSize * baseScalar) / quoteScalar / FLOAT_SCALAR),\n\t\t\tlotSize: Number(lotSize / baseScalar),\n\t\t\tminSize: Number(minSize / baseScalar),\n\t\t};\n\t}\n\n\tasync stablePool(poolKey: string): Promise<boolean> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.deepBook.stablePool(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.bool().parse(bytes);\n\t}\n\n\tasync registeredPool(poolKey: string): Promise<boolean> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.deepBook.registeredPool(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.bool().parse(bytes);\n\t}\n\n\tasync poolTradeParamsNext(poolKey: string): Promise<PoolTradeParams> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.deepBook.poolTradeParamsNext(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst takerFee = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst makerFee = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst stakeRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\ttakerFee: takerFee / FLOAT_SCALAR,\n\t\t\tmakerFee: makerFee / FLOAT_SCALAR,\n\t\t\tstakeRequired: stakeRequired / DEEP_SCALAR,\n\t\t};\n\t}\n\n\tasync quorum(poolKey: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.deepBook.quorum(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst quorum = Number(bcs.U64.parse(bytes));\n\t\treturn quorum / DEEP_SCALAR;\n\t}\n\n\tasync poolId(poolKey: string): Promise<string> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.deepBook.poolId(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn normalizeSuiAddress(bcs.Address.parse(bytes));\n\t}\n\n\tasync canPlaceLimitOrder(params: CanPlaceLimitOrderParams): Promise<boolean> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.deepBook.canPlaceLimitOrder(params));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.bool().parse(bytes);\n\t}\n\n\tasync canPlaceMarketOrder(params: CanPlaceMarketOrderParams): Promise<boolean> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.deepBook.canPlaceMarketOrder(params));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.bool().parse(bytes);\n\t}\n\n\tasync checkMarketOrderParams(poolKey: string, quantity: number | bigint): Promise<boolean> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.deepBook.checkMarketOrderParams(poolKey, quantity));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.bool().parse(bytes);\n\t}\n\n\tasync checkLimitOrderParams(\n\t\tpoolKey: string,\n\t\tprice: number | bigint,\n\t\tquantity: number | bigint,\n\t\texpireTimestamp: number,\n\t): Promise<boolean> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.deepBook.checkLimitOrderParams(poolKey, price, quantity, expireTimestamp));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.bool().parse(bytes);\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"poolQueries.mjs","names":["#ctx"],"sources":["../../src/queries/poolQueries.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@mysten/sui/bcs';\nimport { Transaction } from '@mysten/sui/transactions';\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\n\nimport type {\n\tCanPlaceLimitOrderParams,\n\tCanPlaceMarketOrderParams,\n\tPoolBookParams,\n\tPoolTradeParams,\n\tVaultBalances,\n} from '../types/index.js';\nimport { DEEP_SCALAR, FLOAT_SCALAR } from '../utils/config.js';\nimport type { QueryContext } from './context.js';\n\nexport class PoolQueries {\n\t#ctx: QueryContext;\n\n\tconstructor(ctx: QueryContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\tasync whitelisted(poolKey: string): Promise<boolean> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\n\t\ttx.add(this.#ctx.deepBook.whitelisted(poolKey));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.Bool.parse(bytes);\n\t}\n\n\tasync vaultBalances(poolKey: string): Promise<VaultBalances> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.vaultBalances(poolKey));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseInVault = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteInVault = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepInVault = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tbase: Number((baseInVault / baseScalar).toFixed(9)),\n\t\t\tquote: Number((quoteInVault / quoteScalar).toFixed(9)),\n\t\t\tdeep: Number((deepInVault / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getPoolIdByAssets(baseType: string, quoteType: string): Promise<string> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.deepBook.getPoolIdByAssets(baseType, quoteType));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\treturn bcs.Address.parse(res.commandResults![0].returnValues[0].bcs);\n\t}\n\n\tasync midPrice(poolKey: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\ttx.add(this.#ctx.deepBook.midPrice(poolKey));\n\n\t\tconst baseCoin = this.#ctx.config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#ctx.config.getCoin(pool.quoteCoin);\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst parsed_mid_price = Number(bcs.U64.parse(bytes));\n\t\tconst adjusted_mid_price =\n\t\t\t(parsed_mid_price * baseCoin.scalar) / quoteCoin.scalar / FLOAT_SCALAR;\n\n\t\treturn Number(adjusted_mid_price.toFixed(9));\n\t}\n\n\tasync poolTradeParams(poolKey: string): Promise<PoolTradeParams> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\n\t\ttx.add(this.#ctx.deepBook.poolTradeParams(poolKey));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst takerFee = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst makerFee = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst stakeRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\ttakerFee: Number(takerFee / FLOAT_SCALAR),\n\t\t\tmakerFee: Number(makerFee / FLOAT_SCALAR),\n\t\t\tstakeRequired: Number(stakeRequired / DEEP_SCALAR),\n\t\t};\n\t}\n\n\tasync poolBookParams(poolKey: string): Promise<PoolBookParams> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.poolBookParams(poolKey));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst tickSize = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst lotSize = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst minSize = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\ttickSize: Number((tickSize * baseScalar) / quoteScalar / FLOAT_SCALAR),\n\t\t\tlotSize: Number(lotSize / baseScalar),\n\t\t\tminSize: Number(minSize / baseScalar),\n\t\t};\n\t}\n\n\tasync stablePool(poolKey: string): Promise<boolean> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.deepBook.stablePool(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.bool().parse(bytes);\n\t}\n\n\tasync registeredPool(poolKey: string): Promise<boolean> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.deepBook.registeredPool(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.bool().parse(bytes);\n\t}\n\n\tasync poolTradeParamsNext(poolKey: string): Promise<PoolTradeParams> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.deepBook.poolTradeParamsNext(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst takerFee = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst makerFee = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst stakeRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\ttakerFee: takerFee / FLOAT_SCALAR,\n\t\t\tmakerFee: makerFee / FLOAT_SCALAR,\n\t\t\tstakeRequired: stakeRequired / DEEP_SCALAR,\n\t\t};\n\t}\n\n\tasync quorum(poolKey: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.deepBook.quorum(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst quorum = Number(bcs.U64.parse(bytes));\n\t\treturn quorum / DEEP_SCALAR;\n\t}\n\n\tasync poolId(poolKey: string): Promise<string> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.deepBook.poolId(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn normalizeSuiAddress(bcs.Address.parse(bytes));\n\t}\n\n\tasync canPlaceLimitOrder(params: CanPlaceLimitOrderParams): Promise<boolean> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.deepBook.canPlaceLimitOrder(params));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.bool().parse(bytes);\n\t}\n\n\tasync canPlaceMarketOrder(params: CanPlaceMarketOrderParams): Promise<boolean> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.deepBook.canPlaceMarketOrder(params));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.bool().parse(bytes);\n\t}\n\n\tasync checkMarketOrderParams(poolKey: string, quantity: number | bigint): Promise<boolean> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.deepBook.checkMarketOrderParams(poolKey, quantity));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.bool().parse(bytes);\n\t}\n\n\tasync checkLimitOrderParams(\n\t\tpoolKey: string,\n\t\tprice: number | bigint,\n\t\tquantity: number | bigint,\n\t\texpireTimestamp: number,\n\t): Promise<boolean> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.deepBook.checkLimitOrderParams(poolKey, price, quantity, expireTimestamp));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.bool().parse(bytes);\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ var QuantityQueries = class {
|
|
|
10
10
|
}
|
|
11
11
|
async getQuoteQuantityOut(poolKey, baseQuantity) {
|
|
12
12
|
const tx = new Transaction();
|
|
13
|
+
tx.setSender(this.#ctx.address);
|
|
13
14
|
const pool = this.#ctx.config.getPool(poolKey);
|
|
14
15
|
const baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;
|
|
15
16
|
const quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;
|
|
@@ -33,6 +34,7 @@ var QuantityQueries = class {
|
|
|
33
34
|
}
|
|
34
35
|
async getBaseQuantityOut(poolKey, quoteQuantity) {
|
|
35
36
|
const tx = new Transaction();
|
|
37
|
+
tx.setSender(this.#ctx.address);
|
|
36
38
|
const pool = this.#ctx.config.getPool(poolKey);
|
|
37
39
|
const baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;
|
|
38
40
|
const quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;
|
|
@@ -56,6 +58,7 @@ var QuantityQueries = class {
|
|
|
56
58
|
}
|
|
57
59
|
async getQuantityOut(poolKey, baseQuantity, quoteQuantity) {
|
|
58
60
|
const tx = new Transaction();
|
|
61
|
+
tx.setSender(this.#ctx.address);
|
|
59
62
|
const pool = this.#ctx.config.getPool(poolKey);
|
|
60
63
|
const baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;
|
|
61
64
|
const quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;
|
|
@@ -80,6 +83,7 @@ var QuantityQueries = class {
|
|
|
80
83
|
}
|
|
81
84
|
async getQuoteQuantityOutInputFee(poolKey, baseQuantity) {
|
|
82
85
|
const tx = new Transaction();
|
|
86
|
+
tx.setSender(this.#ctx.address);
|
|
83
87
|
const pool = this.#ctx.config.getPool(poolKey);
|
|
84
88
|
const baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;
|
|
85
89
|
const quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;
|
|
@@ -103,6 +107,7 @@ var QuantityQueries = class {
|
|
|
103
107
|
}
|
|
104
108
|
async getBaseQuantityOutInputFee(poolKey, quoteQuantity) {
|
|
105
109
|
const tx = new Transaction();
|
|
110
|
+
tx.setSender(this.#ctx.address);
|
|
106
111
|
const pool = this.#ctx.config.getPool(poolKey);
|
|
107
112
|
const baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;
|
|
108
113
|
const quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;
|
|
@@ -126,6 +131,7 @@ var QuantityQueries = class {
|
|
|
126
131
|
}
|
|
127
132
|
async getQuantityOutInputFee(poolKey, baseQuantity, quoteQuantity) {
|
|
128
133
|
const tx = new Transaction();
|
|
134
|
+
tx.setSender(this.#ctx.address);
|
|
129
135
|
const pool = this.#ctx.config.getPool(poolKey);
|
|
130
136
|
const baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;
|
|
131
137
|
const quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;
|
|
@@ -150,6 +156,7 @@ var QuantityQueries = class {
|
|
|
150
156
|
}
|
|
151
157
|
async getBaseQuantityIn(poolKey, targetQuoteQuantity, payWithDeep) {
|
|
152
158
|
const tx = new Transaction();
|
|
159
|
+
tx.setSender(this.#ctx.address);
|
|
153
160
|
const pool = this.#ctx.config.getPool(poolKey);
|
|
154
161
|
const baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;
|
|
155
162
|
const quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;
|
|
@@ -172,6 +179,7 @@ var QuantityQueries = class {
|
|
|
172
179
|
}
|
|
173
180
|
async getQuoteQuantityIn(poolKey, targetBaseQuantity, payWithDeep) {
|
|
174
181
|
const tx = new Transaction();
|
|
182
|
+
tx.setSender(this.#ctx.address);
|
|
175
183
|
const pool = this.#ctx.config.getPool(poolKey);
|
|
176
184
|
const baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;
|
|
177
185
|
const quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;
|
|
@@ -194,6 +202,7 @@ var QuantityQueries = class {
|
|
|
194
202
|
}
|
|
195
203
|
async getOrderDeepRequired(poolKey, baseQuantity, price) {
|
|
196
204
|
const tx = new Transaction();
|
|
205
|
+
tx.setSender(this.#ctx.address);
|
|
197
206
|
tx.add(this.#ctx.deepBook.getOrderDeepRequired(poolKey, baseQuantity, price));
|
|
198
207
|
const res = await this.#ctx.client.core.simulateTransaction({
|
|
199
208
|
transaction: tx,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quantityQueries.mjs","names":["#ctx"],"sources":["../../src/queries/quantityQueries.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@mysten/sui/bcs';\nimport { Transaction } from '@mysten/sui/transactions';\n\nimport type {\n\tBaseQuantityIn,\n\tBaseQuantityOut,\n\tOrderDeepRequiredResult,\n\tQuantityOut,\n\tQuoteQuantityIn,\n\tQuoteQuantityOut,\n} from '../types/index.js';\nimport { DEEP_SCALAR } from '../utils/config.js';\nimport type { QueryContext } from './context.js';\n\nexport class QuantityQueries {\n\t#ctx: QueryContext;\n\n\tconstructor(ctx: QueryContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\tasync getQuoteQuantityOut(\n\t\tpoolKey: string,\n\t\tbaseQuantity: number | bigint,\n\t): Promise<QuoteQuantityOut> {\n\t\tconst tx = new Transaction();\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getQuoteQuantityOut(poolKey, baseQuantity));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tbaseQuantity: Number(baseQuantity),\n\t\t\tbaseOut: Number((baseOut / baseScalar).toFixed(9)),\n\t\t\tquoteOut: Number((quoteOut / quoteScalar).toFixed(9)),\n\t\t\tdeepRequired: Number((deepRequired / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getBaseQuantityOut(\n\t\tpoolKey: string,\n\t\tquoteQuantity: number | bigint,\n\t): Promise<BaseQuantityOut> {\n\t\tconst tx = new Transaction();\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getBaseQuantityOut(poolKey, quoteQuantity));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tquoteQuantity: Number(quoteQuantity),\n\t\t\tbaseOut: Number((baseOut / baseScalar).toFixed(9)),\n\t\t\tquoteOut: Number((quoteOut / quoteScalar).toFixed(9)),\n\t\t\tdeepRequired: Number((deepRequired / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getQuantityOut(\n\t\tpoolKey: string,\n\t\tbaseQuantity: number | bigint,\n\t\tquoteQuantity: number | bigint,\n\t): Promise<QuantityOut> {\n\t\tconst tx = new Transaction();\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getQuantityOut(poolKey, baseQuantity, quoteQuantity));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tbaseQuantity: Number(baseQuantity),\n\t\t\tquoteQuantity: Number(quoteQuantity),\n\t\t\tbaseOut: Number((baseOut / baseScalar).toFixed(9)),\n\t\t\tquoteOut: Number((quoteOut / quoteScalar).toFixed(9)),\n\t\t\tdeepRequired: Number((deepRequired / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getQuoteQuantityOutInputFee(\n\t\tpoolKey: string,\n\t\tbaseQuantity: number | bigint,\n\t): Promise<QuoteQuantityOut> {\n\t\tconst tx = new Transaction();\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getQuoteQuantityOutInputFee(poolKey, baseQuantity));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tbaseQuantity: Number(baseQuantity),\n\t\t\tbaseOut: Number((baseOut / baseScalar).toFixed(9)),\n\t\t\tquoteOut: Number((quoteOut / quoteScalar).toFixed(9)),\n\t\t\tdeepRequired: Number((deepRequired / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getBaseQuantityOutInputFee(\n\t\tpoolKey: string,\n\t\tquoteQuantity: number | bigint,\n\t): Promise<BaseQuantityOut> {\n\t\tconst tx = new Transaction();\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getBaseQuantityOutInputFee(poolKey, quoteQuantity));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tquoteQuantity: Number(quoteQuantity),\n\t\t\tbaseOut: Number((baseOut / baseScalar).toFixed(9)),\n\t\t\tquoteOut: Number((quoteOut / quoteScalar).toFixed(9)),\n\t\t\tdeepRequired: Number((deepRequired / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getQuantityOutInputFee(\n\t\tpoolKey: string,\n\t\tbaseQuantity: number | bigint,\n\t\tquoteQuantity: number | bigint,\n\t): Promise<QuantityOut> {\n\t\tconst tx = new Transaction();\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getQuantityOutInputFee(poolKey, baseQuantity, quoteQuantity));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tbaseQuantity: Number(baseQuantity),\n\t\t\tquoteQuantity: Number(quoteQuantity),\n\t\t\tbaseOut: Number((baseOut / baseScalar).toFixed(9)),\n\t\t\tquoteOut: Number((quoteOut / quoteScalar).toFixed(9)),\n\t\t\tdeepRequired: Number((deepRequired / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getBaseQuantityIn(\n\t\tpoolKey: string,\n\t\ttargetQuoteQuantity: number | bigint,\n\t\tpayWithDeep: boolean,\n\t): Promise<BaseQuantityIn> {\n\t\tconst tx = new Transaction();\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getBaseQuantityIn(poolKey, targetQuoteQuantity, payWithDeep));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseIn = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tbaseIn: Number((baseIn / baseScalar).toFixed(9)),\n\t\t\tquoteOut: Number((quoteOut / quoteScalar).toFixed(9)),\n\t\t\tdeepRequired: Number((deepRequired / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getQuoteQuantityIn(\n\t\tpoolKey: string,\n\t\ttargetBaseQuantity: number | bigint,\n\t\tpayWithDeep: boolean,\n\t): Promise<QuoteQuantityIn> {\n\t\tconst tx = new Transaction();\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getQuoteQuantityIn(poolKey, targetBaseQuantity, payWithDeep));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteIn = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tbaseOut: Number((baseOut / baseScalar).toFixed(9)),\n\t\t\tquoteIn: Number((quoteIn / quoteScalar).toFixed(9)),\n\t\t\tdeepRequired: Number((deepRequired / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getOrderDeepRequired(\n\t\tpoolKey: string,\n\t\tbaseQuantity: number | bigint,\n\t\tprice: number | bigint,\n\t): Promise<OrderDeepRequiredResult> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.deepBook.getOrderDeepRequired(poolKey, baseQuantity, price));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst deepRequiredTaker = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst deepRequiredMaker = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\n\t\treturn {\n\t\t\tdeepRequiredTaker: Number((deepRequiredTaker / DEEP_SCALAR).toFixed(9)),\n\t\t\tdeepRequiredMaker: Number((deepRequiredMaker / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n}\n"],"mappings":";;;;;AAiBA,IAAa,kBAAb,MAA6B;CAC5B;CAEA,YAAY,KAAmB;AAC9B,QAAKA,MAAO;;CAGb,MAAM,oBACL,SACA,cAC4B;EAC5B,MAAM,KAAK,IAAI,aAAa;EAC5B,MAAM,OAAO,MAAKA,IAAK,OAAO,QAAQ,QAAQ;EAC9C,MAAM,aAAa,MAAKA,IAAK,OAAO,QAAQ,KAAK,SAAS,CAAC;EAC3D,MAAM,cAAc,MAAKA,IAAK,OAAO,QAAQ,KAAK,UAAU,CAAC;AAE7D,KAAG,IAAI,MAAKA,IAAK,SAAS,oBAAoB,SAAS,aAAa,CAAC;EACrE,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;EAEF,MAAM,UAAU,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;EACjF,MAAM,WAAW,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;EAClF,MAAM,eAAe,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;AAEtF,SAAO;GACN,cAAc,OAAO,aAAa;GAClC,SAAS,QAAQ,UAAU,YAAY,QAAQ,EAAE,CAAC;GAClD,UAAU,QAAQ,WAAW,aAAa,QAAQ,EAAE,CAAC;GACrD,cAAc,QAAQ,eAAe,aAAa,QAAQ,EAAE,CAAC;GAC7D;;CAGF,MAAM,mBACL,SACA,eAC2B;EAC3B,MAAM,KAAK,IAAI,aAAa;EAC5B,MAAM,OAAO,MAAKA,IAAK,OAAO,QAAQ,QAAQ;EAC9C,MAAM,aAAa,MAAKA,IAAK,OAAO,QAAQ,KAAK,SAAS,CAAC;EAC3D,MAAM,cAAc,MAAKA,IAAK,OAAO,QAAQ,KAAK,UAAU,CAAC;AAE7D,KAAG,IAAI,MAAKA,IAAK,SAAS,mBAAmB,SAAS,cAAc,CAAC;EACrE,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;EAEF,MAAM,UAAU,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;EACjF,MAAM,WAAW,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;EAClF,MAAM,eAAe,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;AAEtF,SAAO;GACN,eAAe,OAAO,cAAc;GACpC,SAAS,QAAQ,UAAU,YAAY,QAAQ,EAAE,CAAC;GAClD,UAAU,QAAQ,WAAW,aAAa,QAAQ,EAAE,CAAC;GACrD,cAAc,QAAQ,eAAe,aAAa,QAAQ,EAAE,CAAC;GAC7D;;CAGF,MAAM,eACL,SACA,cACA,eACuB;EACvB,MAAM,KAAK,IAAI,aAAa;EAC5B,MAAM,OAAO,MAAKA,IAAK,OAAO,QAAQ,QAAQ;EAC9C,MAAM,aAAa,MAAKA,IAAK,OAAO,QAAQ,KAAK,SAAS,CAAC;EAC3D,MAAM,cAAc,MAAKA,IAAK,OAAO,QAAQ,KAAK,UAAU,CAAC;AAE7D,KAAG,IAAI,MAAKA,IAAK,SAAS,eAAe,SAAS,cAAc,cAAc,CAAC;EAC/E,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;EAEF,MAAM,UAAU,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;EACjF,MAAM,WAAW,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;EAClF,MAAM,eAAe,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;AAEtF,SAAO;GACN,cAAc,OAAO,aAAa;GAClC,eAAe,OAAO,cAAc;GACpC,SAAS,QAAQ,UAAU,YAAY,QAAQ,EAAE,CAAC;GAClD,UAAU,QAAQ,WAAW,aAAa,QAAQ,EAAE,CAAC;GACrD,cAAc,QAAQ,eAAe,aAAa,QAAQ,EAAE,CAAC;GAC7D;;CAGF,MAAM,4BACL,SACA,cAC4B;EAC5B,MAAM,KAAK,IAAI,aAAa;EAC5B,MAAM,OAAO,MAAKA,IAAK,OAAO,QAAQ,QAAQ;EAC9C,MAAM,aAAa,MAAKA,IAAK,OAAO,QAAQ,KAAK,SAAS,CAAC;EAC3D,MAAM,cAAc,MAAKA,IAAK,OAAO,QAAQ,KAAK,UAAU,CAAC;AAE7D,KAAG,IAAI,MAAKA,IAAK,SAAS,4BAA4B,SAAS,aAAa,CAAC;EAC7E,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;EAEF,MAAM,UAAU,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;EACjF,MAAM,WAAW,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;EAClF,MAAM,eAAe,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;AAEtF,SAAO;GACN,cAAc,OAAO,aAAa;GAClC,SAAS,QAAQ,UAAU,YAAY,QAAQ,EAAE,CAAC;GAClD,UAAU,QAAQ,WAAW,aAAa,QAAQ,EAAE,CAAC;GACrD,cAAc,QAAQ,eAAe,aAAa,QAAQ,EAAE,CAAC;GAC7D;;CAGF,MAAM,2BACL,SACA,eAC2B;EAC3B,MAAM,KAAK,IAAI,aAAa;EAC5B,MAAM,OAAO,MAAKA,IAAK,OAAO,QAAQ,QAAQ;EAC9C,MAAM,aAAa,MAAKA,IAAK,OAAO,QAAQ,KAAK,SAAS,CAAC;EAC3D,MAAM,cAAc,MAAKA,IAAK,OAAO,QAAQ,KAAK,UAAU,CAAC;AAE7D,KAAG,IAAI,MAAKA,IAAK,SAAS,2BAA2B,SAAS,cAAc,CAAC;EAC7E,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;EAEF,MAAM,UAAU,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;EACjF,MAAM,WAAW,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;EAClF,MAAM,eAAe,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;AAEtF,SAAO;GACN,eAAe,OAAO,cAAc;GACpC,SAAS,QAAQ,UAAU,YAAY,QAAQ,EAAE,CAAC;GAClD,UAAU,QAAQ,WAAW,aAAa,QAAQ,EAAE,CAAC;GACrD,cAAc,QAAQ,eAAe,aAAa,QAAQ,EAAE,CAAC;GAC7D;;CAGF,MAAM,uBACL,SACA,cACA,eACuB;EACvB,MAAM,KAAK,IAAI,aAAa;EAC5B,MAAM,OAAO,MAAKA,IAAK,OAAO,QAAQ,QAAQ;EAC9C,MAAM,aAAa,MAAKA,IAAK,OAAO,QAAQ,KAAK,SAAS,CAAC;EAC3D,MAAM,cAAc,MAAKA,IAAK,OAAO,QAAQ,KAAK,UAAU,CAAC;AAE7D,KAAG,IAAI,MAAKA,IAAK,SAAS,uBAAuB,SAAS,cAAc,cAAc,CAAC;EACvF,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;EAEF,MAAM,UAAU,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;EACjF,MAAM,WAAW,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;EAClF,MAAM,eAAe,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;AAEtF,SAAO;GACN,cAAc,OAAO,aAAa;GAClC,eAAe,OAAO,cAAc;GACpC,SAAS,QAAQ,UAAU,YAAY,QAAQ,EAAE,CAAC;GAClD,UAAU,QAAQ,WAAW,aAAa,QAAQ,EAAE,CAAC;GACrD,cAAc,QAAQ,eAAe,aAAa,QAAQ,EAAE,CAAC;GAC7D;;CAGF,MAAM,kBACL,SACA,qBACA,aAC0B;EAC1B,MAAM,KAAK,IAAI,aAAa;EAC5B,MAAM,OAAO,MAAKA,IAAK,OAAO,QAAQ,QAAQ;EAC9C,MAAM,aAAa,MAAKA,IAAK,OAAO,QAAQ,KAAK,SAAS,CAAC;EAC3D,MAAM,cAAc,MAAKA,IAAK,OAAO,QAAQ,KAAK,UAAU,CAAC;AAE7D,KAAG,IAAI,MAAKA,IAAK,SAAS,kBAAkB,SAAS,qBAAqB,YAAY,CAAC;EACvF,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;EAEF,MAAM,SAAS,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;EAChF,MAAM,WAAW,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;EAClF,MAAM,eAAe,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;AAEtF,SAAO;GACN,QAAQ,QAAQ,SAAS,YAAY,QAAQ,EAAE,CAAC;GAChD,UAAU,QAAQ,WAAW,aAAa,QAAQ,EAAE,CAAC;GACrD,cAAc,QAAQ,eAAe,aAAa,QAAQ,EAAE,CAAC;GAC7D;;CAGF,MAAM,mBACL,SACA,oBACA,aAC2B;EAC3B,MAAM,KAAK,IAAI,aAAa;EAC5B,MAAM,OAAO,MAAKA,IAAK,OAAO,QAAQ,QAAQ;EAC9C,MAAM,aAAa,MAAKA,IAAK,OAAO,QAAQ,KAAK,SAAS,CAAC;EAC3D,MAAM,cAAc,MAAKA,IAAK,OAAO,QAAQ,KAAK,UAAU,CAAC;AAE7D,KAAG,IAAI,MAAKA,IAAK,SAAS,mBAAmB,SAAS,oBAAoB,YAAY,CAAC;EACvF,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;EAEF,MAAM,UAAU,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;EACjF,MAAM,UAAU,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;EACjF,MAAM,eAAe,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;AAEtF,SAAO;GACN,SAAS,QAAQ,UAAU,YAAY,QAAQ,EAAE,CAAC;GAClD,SAAS,QAAQ,UAAU,aAAa,QAAQ,EAAE,CAAC;GACnD,cAAc,QAAQ,eAAe,aAAa,QAAQ,EAAE,CAAC;GAC7D;;CAGF,MAAM,qBACL,SACA,cACA,OACmC;EACnC,MAAM,KAAK,IAAI,aAAa;AAC5B,KAAG,IAAI,MAAKA,IAAK,SAAS,qBAAqB,SAAS,cAAc,MAAM,CAAC;EAE7E,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;EAEF,MAAM,oBAAoB,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;EAC3F,MAAM,oBAAoB,OAAO,IAAI,IAAI,MAAM,IAAI,eAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;AAE3F,SAAO;GACN,mBAAmB,QAAQ,oBAAoB,aAAa,QAAQ,EAAE,CAAC;GACvE,mBAAmB,QAAQ,oBAAoB,aAAa,QAAQ,EAAE,CAAC;GACvE"}
|
|
1
|
+
{"version":3,"file":"quantityQueries.mjs","names":["#ctx"],"sources":["../../src/queries/quantityQueries.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@mysten/sui/bcs';\nimport { Transaction } from '@mysten/sui/transactions';\n\nimport type {\n\tBaseQuantityIn,\n\tBaseQuantityOut,\n\tOrderDeepRequiredResult,\n\tQuantityOut,\n\tQuoteQuantityIn,\n\tQuoteQuantityOut,\n} from '../types/index.js';\nimport { DEEP_SCALAR } from '../utils/config.js';\nimport type { QueryContext } from './context.js';\n\nexport class QuantityQueries {\n\t#ctx: QueryContext;\n\n\tconstructor(ctx: QueryContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\tasync getQuoteQuantityOut(\n\t\tpoolKey: string,\n\t\tbaseQuantity: number | bigint,\n\t): Promise<QuoteQuantityOut> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getQuoteQuantityOut(poolKey, baseQuantity));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tbaseQuantity: Number(baseQuantity),\n\t\t\tbaseOut: Number((baseOut / baseScalar).toFixed(9)),\n\t\t\tquoteOut: Number((quoteOut / quoteScalar).toFixed(9)),\n\t\t\tdeepRequired: Number((deepRequired / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getBaseQuantityOut(\n\t\tpoolKey: string,\n\t\tquoteQuantity: number | bigint,\n\t): Promise<BaseQuantityOut> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getBaseQuantityOut(poolKey, quoteQuantity));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tquoteQuantity: Number(quoteQuantity),\n\t\t\tbaseOut: Number((baseOut / baseScalar).toFixed(9)),\n\t\t\tquoteOut: Number((quoteOut / quoteScalar).toFixed(9)),\n\t\t\tdeepRequired: Number((deepRequired / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getQuantityOut(\n\t\tpoolKey: string,\n\t\tbaseQuantity: number | bigint,\n\t\tquoteQuantity: number | bigint,\n\t): Promise<QuantityOut> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getQuantityOut(poolKey, baseQuantity, quoteQuantity));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tbaseQuantity: Number(baseQuantity),\n\t\t\tquoteQuantity: Number(quoteQuantity),\n\t\t\tbaseOut: Number((baseOut / baseScalar).toFixed(9)),\n\t\t\tquoteOut: Number((quoteOut / quoteScalar).toFixed(9)),\n\t\t\tdeepRequired: Number((deepRequired / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getQuoteQuantityOutInputFee(\n\t\tpoolKey: string,\n\t\tbaseQuantity: number | bigint,\n\t): Promise<QuoteQuantityOut> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getQuoteQuantityOutInputFee(poolKey, baseQuantity));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tbaseQuantity: Number(baseQuantity),\n\t\t\tbaseOut: Number((baseOut / baseScalar).toFixed(9)),\n\t\t\tquoteOut: Number((quoteOut / quoteScalar).toFixed(9)),\n\t\t\tdeepRequired: Number((deepRequired / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getBaseQuantityOutInputFee(\n\t\tpoolKey: string,\n\t\tquoteQuantity: number | bigint,\n\t): Promise<BaseQuantityOut> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getBaseQuantityOutInputFee(poolKey, quoteQuantity));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tquoteQuantity: Number(quoteQuantity),\n\t\t\tbaseOut: Number((baseOut / baseScalar).toFixed(9)),\n\t\t\tquoteOut: Number((quoteOut / quoteScalar).toFixed(9)),\n\t\t\tdeepRequired: Number((deepRequired / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getQuantityOutInputFee(\n\t\tpoolKey: string,\n\t\tbaseQuantity: number | bigint,\n\t\tquoteQuantity: number | bigint,\n\t): Promise<QuantityOut> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getQuantityOutInputFee(poolKey, baseQuantity, quoteQuantity));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tbaseQuantity: Number(baseQuantity),\n\t\t\tquoteQuantity: Number(quoteQuantity),\n\t\t\tbaseOut: Number((baseOut / baseScalar).toFixed(9)),\n\t\t\tquoteOut: Number((quoteOut / quoteScalar).toFixed(9)),\n\t\t\tdeepRequired: Number((deepRequired / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getBaseQuantityIn(\n\t\tpoolKey: string,\n\t\ttargetQuoteQuantity: number | bigint,\n\t\tpayWithDeep: boolean,\n\t): Promise<BaseQuantityIn> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getBaseQuantityIn(poolKey, targetQuoteQuantity, payWithDeep));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseIn = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tbaseIn: Number((baseIn / baseScalar).toFixed(9)),\n\t\t\tquoteOut: Number((quoteOut / quoteScalar).toFixed(9)),\n\t\t\tdeepRequired: Number((deepRequired / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getQuoteQuantityIn(\n\t\tpoolKey: string,\n\t\ttargetBaseQuantity: number | bigint,\n\t\tpayWithDeep: boolean,\n\t): Promise<QuoteQuantityIn> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getQuoteQuantityIn(poolKey, targetBaseQuantity, payWithDeep));\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseOut = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst quoteIn = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\t\tconst deepRequired = Number(bcs.U64.parse(res.commandResults![0].returnValues[2].bcs));\n\n\t\treturn {\n\t\t\tbaseOut: Number((baseOut / baseScalar).toFixed(9)),\n\t\t\tquoteIn: Number((quoteIn / quoteScalar).toFixed(9)),\n\t\t\tdeepRequired: Number((deepRequired / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n\n\tasync getOrderDeepRequired(\n\t\tpoolKey: string,\n\t\tbaseQuantity: number | bigint,\n\t\tprice: number | bigint,\n\t): Promise<OrderDeepRequiredResult> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.deepBook.getOrderDeepRequired(poolKey, baseQuantity, price));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst deepRequiredTaker = Number(bcs.U64.parse(res.commandResults![0].returnValues[0].bcs));\n\t\tconst deepRequiredMaker = Number(bcs.U64.parse(res.commandResults![0].returnValues[1].bcs));\n\n\t\treturn {\n\t\t\tdeepRequiredTaker: Number((deepRequiredTaker / DEEP_SCALAR).toFixed(9)),\n\t\t\tdeepRequiredMaker: Number((deepRequiredMaker / DEEP_SCALAR).toFixed(9)),\n\t\t};\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ var ReferralQueries = class {
|
|
|
11
11
|
}
|
|
12
12
|
async balanceManagerReferralOwner(referral) {
|
|
13
13
|
const tx = new Transaction();
|
|
14
|
+
tx.setSender(this.#ctx.address);
|
|
14
15
|
tx.add(this.#ctx.balanceManager.balanceManagerReferralOwner(referral));
|
|
15
16
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
16
17
|
transaction: tx,
|
|
@@ -23,6 +24,7 @@ var ReferralQueries = class {
|
|
|
23
24
|
}
|
|
24
25
|
async getPoolReferralBalances(poolKey, referral) {
|
|
25
26
|
const tx = new Transaction();
|
|
27
|
+
tx.setSender(this.#ctx.address);
|
|
26
28
|
const pool = this.#ctx.config.getPool(poolKey);
|
|
27
29
|
const baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;
|
|
28
30
|
const quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;
|
|
@@ -48,6 +50,7 @@ var ReferralQueries = class {
|
|
|
48
50
|
}
|
|
49
51
|
async balanceManagerReferralPoolId(referral) {
|
|
50
52
|
const tx = new Transaction();
|
|
53
|
+
tx.setSender(this.#ctx.address);
|
|
51
54
|
tx.add(this.#ctx.balanceManager.balanceManagerReferralPoolId(referral));
|
|
52
55
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
53
56
|
transaction: tx,
|
|
@@ -60,6 +63,7 @@ var ReferralQueries = class {
|
|
|
60
63
|
}
|
|
61
64
|
async poolReferralMultiplier(poolKey, referral) {
|
|
62
65
|
const tx = new Transaction();
|
|
66
|
+
tx.setSender(this.#ctx.address);
|
|
63
67
|
tx.add(this.#ctx.deepBook.poolReferralMultiplier(poolKey, referral));
|
|
64
68
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
65
69
|
transaction: tx,
|
|
@@ -72,6 +76,7 @@ var ReferralQueries = class {
|
|
|
72
76
|
}
|
|
73
77
|
async getBalanceManagerReferralId(managerKey, poolKey) {
|
|
74
78
|
const tx = new Transaction();
|
|
79
|
+
tx.setSender(this.#ctx.address);
|
|
75
80
|
tx.add(this.#ctx.balanceManager.getBalanceManagerReferralId(managerKey, poolKey));
|
|
76
81
|
const res = await this.#ctx.client.core.simulateTransaction({
|
|
77
82
|
transaction: tx,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referralQueries.mjs","names":["#ctx"],"sources":["../../src/queries/referralQueries.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@mysten/sui/bcs';\nimport { Transaction } from '@mysten/sui/transactions';\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\n\nimport type { ReferralBalances } from '../types/index.js';\nimport { DEEP_SCALAR, FLOAT_SCALAR } from '../utils/config.js';\nimport type { QueryContext } from './context.js';\n\nexport class ReferralQueries {\n\t#ctx: QueryContext;\n\n\tconstructor(ctx: QueryContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\tasync balanceManagerReferralOwner(referral: string): Promise<string> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.balanceManager.balanceManagerReferralOwner(referral));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.Address.parse(bytes);\n\t}\n\n\tasync getPoolReferralBalances(poolKey: string, referral: string): Promise<ReferralBalances> {\n\t\tconst tx = new Transaction();\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getPoolReferralBalances(poolKey, referral));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseBytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst quoteBytes = res.commandResults![0].returnValues[1].bcs;\n\t\tconst deepBytes = res.commandResults![0].returnValues[2].bcs;\n\n\t\tconst baseBalance = Number(bcs.U64.parse(baseBytes));\n\t\tconst quoteBalance = Number(bcs.U64.parse(quoteBytes));\n\t\tconst deepBalance = Number(bcs.U64.parse(deepBytes));\n\n\t\treturn {\n\t\t\tbase: baseBalance / baseScalar,\n\t\t\tquote: quoteBalance / quoteScalar,\n\t\t\tdeep: deepBalance / DEEP_SCALAR,\n\t\t};\n\t}\n\n\tasync balanceManagerReferralPoolId(referral: string): Promise<string> {\n\t\tconst tx = new Transaction();\n\n\t\ttx.add(this.#ctx.balanceManager.balanceManagerReferralPoolId(referral));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst poolId = bcs.Address.parse(bytes);\n\n\t\treturn normalizeSuiAddress(poolId);\n\t}\n\n\tasync poolReferralMultiplier(poolKey: string, referral: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\n\t\ttx.add(this.#ctx.deepBook.poolReferralMultiplier(poolKey, referral));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst multiplier = Number(bcs.U64.parse(bytes));\n\n\t\treturn multiplier / FLOAT_SCALAR;\n\t}\n\n\tasync getBalanceManagerReferralId(managerKey: string, poolKey: string): Promise<string | null> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.balanceManager.getBalanceManagerReferralId(managerKey, poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\ttry {\n\t\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\t\tconst optionId = bcs.option(bcs.Address).parse(bytes);\n\t\t\tif (optionId === null) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn normalizeSuiAddress(optionId);\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;AAWA,IAAa,kBAAb,MAA6B;CAC5B;CAEA,YAAY,KAAmB;AAC9B,QAAKA,MAAO;;CAGb,MAAM,4BAA4B,UAAmC;EACpE,MAAM,KAAK,IAAI,aAAa;AAC5B,KAAG,IAAI,MAAKA,IAAK,eAAe,4BAA4B,SAAS,CAAC;EAOtE,MAAM,SALM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC,EAEgB,eAAgB,GAAG,aAAa,GAAG;AACrD,SAAO,IAAI,QAAQ,MAAM,MAAM;;CAGhC,MAAM,wBAAwB,SAAiB,UAA6C;EAC3F,MAAM,KAAK,IAAI,aAAa;
|
|
1
|
+
{"version":3,"file":"referralQueries.mjs","names":["#ctx"],"sources":["../../src/queries/referralQueries.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@mysten/sui/bcs';\nimport { Transaction } from '@mysten/sui/transactions';\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\n\nimport type { ReferralBalances } from '../types/index.js';\nimport { DEEP_SCALAR, FLOAT_SCALAR } from '../utils/config.js';\nimport type { QueryContext } from './context.js';\n\nexport class ReferralQueries {\n\t#ctx: QueryContext;\n\n\tconstructor(ctx: QueryContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\tasync balanceManagerReferralOwner(referral: string): Promise<string> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.balanceManager.balanceManagerReferralOwner(referral));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.Address.parse(bytes);\n\t}\n\n\tasync getPoolReferralBalances(poolKey: string, referral: string): Promise<ReferralBalances> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\tconst pool = this.#ctx.config.getPool(poolKey);\n\t\tconst baseScalar = this.#ctx.config.getCoin(pool.baseCoin).scalar;\n\t\tconst quoteScalar = this.#ctx.config.getCoin(pool.quoteCoin).scalar;\n\n\t\ttx.add(this.#ctx.deepBook.getPoolReferralBalances(poolKey, referral));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst baseBytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst quoteBytes = res.commandResults![0].returnValues[1].bcs;\n\t\tconst deepBytes = res.commandResults![0].returnValues[2].bcs;\n\n\t\tconst baseBalance = Number(bcs.U64.parse(baseBytes));\n\t\tconst quoteBalance = Number(bcs.U64.parse(quoteBytes));\n\t\tconst deepBalance = Number(bcs.U64.parse(deepBytes));\n\n\t\treturn {\n\t\t\tbase: baseBalance / baseScalar,\n\t\t\tquote: quoteBalance / quoteScalar,\n\t\t\tdeep: deepBalance / DEEP_SCALAR,\n\t\t};\n\t}\n\n\tasync balanceManagerReferralPoolId(referral: string): Promise<string> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\n\t\ttx.add(this.#ctx.balanceManager.balanceManagerReferralPoolId(referral));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst poolId = bcs.Address.parse(bytes);\n\n\t\treturn normalizeSuiAddress(poolId);\n\t}\n\n\tasync poolReferralMultiplier(poolKey: string, referral: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\n\t\ttx.add(this.#ctx.deepBook.poolReferralMultiplier(poolKey, referral));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst multiplier = Number(bcs.U64.parse(bytes));\n\n\t\treturn multiplier / FLOAT_SCALAR;\n\t}\n\n\tasync getBalanceManagerReferralId(managerKey: string, poolKey: string): Promise<string | null> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.balanceManager.getBalanceManagerReferralId(managerKey, poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\ttry {\n\t\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\t\tconst optionId = bcs.option(bcs.Address).parse(bytes);\n\t\t\tif (optionId === null) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn normalizeSuiAddress(optionId);\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ var RegistryQueries = class {
|
|
|
13
13
|
}
|
|
14
14
|
async isPoolEnabledForMargin(poolKey) {
|
|
15
15
|
const tx = new Transaction();
|
|
16
|
+
tx.setSender(this.#ctx.address);
|
|
16
17
|
tx.add(this.#ctx.marginRegistry.poolEnabled(poolKey));
|
|
17
18
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
18
19
|
transaction: tx,
|
|
@@ -25,6 +26,7 @@ var RegistryQueries = class {
|
|
|
25
26
|
}
|
|
26
27
|
async getMarginManagerIdsForOwner(owner) {
|
|
27
28
|
const tx = new Transaction();
|
|
29
|
+
tx.setSender(this.#ctx.address);
|
|
28
30
|
tx.add(this.#ctx.marginRegistry.getMarginManagerIds(owner));
|
|
29
31
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
30
32
|
transaction: tx,
|
|
@@ -37,6 +39,7 @@ var RegistryQueries = class {
|
|
|
37
39
|
}
|
|
38
40
|
async getBaseMarginPoolId(poolKey) {
|
|
39
41
|
const tx = new Transaction();
|
|
42
|
+
tx.setSender(this.#ctx.address);
|
|
40
43
|
tx.add(this.#ctx.marginRegistry.baseMarginPoolId(poolKey));
|
|
41
44
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
42
45
|
transaction: tx,
|
|
@@ -49,6 +52,7 @@ var RegistryQueries = class {
|
|
|
49
52
|
}
|
|
50
53
|
async getQuoteMarginPoolId(poolKey) {
|
|
51
54
|
const tx = new Transaction();
|
|
55
|
+
tx.setSender(this.#ctx.address);
|
|
52
56
|
tx.add(this.#ctx.marginRegistry.quoteMarginPoolId(poolKey));
|
|
53
57
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
54
58
|
transaction: tx,
|
|
@@ -61,6 +65,7 @@ var RegistryQueries = class {
|
|
|
61
65
|
}
|
|
62
66
|
async getMinWithdrawRiskRatio(poolKey) {
|
|
63
67
|
const tx = new Transaction();
|
|
68
|
+
tx.setSender(this.#ctx.address);
|
|
64
69
|
tx.add(this.#ctx.marginRegistry.minWithdrawRiskRatio(poolKey));
|
|
65
70
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
66
71
|
transaction: tx,
|
|
@@ -73,6 +78,7 @@ var RegistryQueries = class {
|
|
|
73
78
|
}
|
|
74
79
|
async getMinBorrowRiskRatio(poolKey) {
|
|
75
80
|
const tx = new Transaction();
|
|
81
|
+
tx.setSender(this.#ctx.address);
|
|
76
82
|
tx.add(this.#ctx.marginRegistry.minBorrowRiskRatio(poolKey));
|
|
77
83
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
78
84
|
transaction: tx,
|
|
@@ -85,6 +91,7 @@ var RegistryQueries = class {
|
|
|
85
91
|
}
|
|
86
92
|
async getLiquidationRiskRatio(poolKey) {
|
|
87
93
|
const tx = new Transaction();
|
|
94
|
+
tx.setSender(this.#ctx.address);
|
|
88
95
|
tx.add(this.#ctx.marginRegistry.liquidationRiskRatio(poolKey));
|
|
89
96
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
90
97
|
transaction: tx,
|
|
@@ -97,6 +104,7 @@ var RegistryQueries = class {
|
|
|
97
104
|
}
|
|
98
105
|
async getTargetLiquidationRiskRatio(poolKey) {
|
|
99
106
|
const tx = new Transaction();
|
|
107
|
+
tx.setSender(this.#ctx.address);
|
|
100
108
|
tx.add(this.#ctx.marginRegistry.targetLiquidationRiskRatio(poolKey));
|
|
101
109
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
102
110
|
transaction: tx,
|
|
@@ -109,6 +117,7 @@ var RegistryQueries = class {
|
|
|
109
117
|
}
|
|
110
118
|
async getUserLiquidationReward(poolKey) {
|
|
111
119
|
const tx = new Transaction();
|
|
120
|
+
tx.setSender(this.#ctx.address);
|
|
112
121
|
tx.add(this.#ctx.marginRegistry.userLiquidationReward(poolKey));
|
|
113
122
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
114
123
|
transaction: tx,
|
|
@@ -121,6 +130,7 @@ var RegistryQueries = class {
|
|
|
121
130
|
}
|
|
122
131
|
async getPoolLiquidationReward(poolKey) {
|
|
123
132
|
const tx = new Transaction();
|
|
133
|
+
tx.setSender(this.#ctx.address);
|
|
124
134
|
tx.add(this.#ctx.marginRegistry.poolLiquidationReward(poolKey));
|
|
125
135
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
126
136
|
transaction: tx,
|
|
@@ -133,6 +143,7 @@ var RegistryQueries = class {
|
|
|
133
143
|
}
|
|
134
144
|
async getAllowedMaintainers() {
|
|
135
145
|
const tx = new Transaction();
|
|
146
|
+
tx.setSender(this.#ctx.address);
|
|
136
147
|
tx.add(this.#ctx.marginRegistry.allowedMaintainers());
|
|
137
148
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
138
149
|
transaction: tx,
|
|
@@ -145,6 +156,7 @@ var RegistryQueries = class {
|
|
|
145
156
|
}
|
|
146
157
|
async getAllowedPauseCaps() {
|
|
147
158
|
const tx = new Transaction();
|
|
159
|
+
tx.setSender(this.#ctx.address);
|
|
148
160
|
tx.add(this.#ctx.marginRegistry.allowedPauseCaps());
|
|
149
161
|
const bytes = (await this.#ctx.client.core.simulateTransaction({
|
|
150
162
|
transaction: tx,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registryQueries.mjs","names":["#ctx"],"sources":["../../src/queries/registryQueries.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@mysten/sui/bcs';\nimport { Transaction } from '@mysten/sui/transactions';\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\n\nimport { VecSet } from '../types/bcs.js';\nimport { FLOAT_SCALAR } from '../utils/config.js';\nimport type { QueryContext } from './context.js';\n\nexport class RegistryQueries {\n\t#ctx: QueryContext;\n\n\tconstructor(ctx: QueryContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\tasync isPoolEnabledForMargin(poolKey: string): Promise<boolean> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginRegistry.poolEnabled(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.Bool.parse(bytes);\n\t}\n\n\tasync getMarginManagerIdsForOwner(owner: string): Promise<string[]> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginRegistry.getMarginManagerIds(owner));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst vecSet = VecSet(bcs.Address).parse(bytes);\n\t\treturn vecSet.contents.map((id) => normalizeSuiAddress(id));\n\t}\n\n\tasync getBaseMarginPoolId(poolKey: string): Promise<string> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginRegistry.baseMarginPoolId(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst id = bcs.Address.parse(bytes);\n\t\treturn '0x' + id;\n\t}\n\n\tasync getQuoteMarginPoolId(poolKey: string): Promise<string> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginRegistry.quoteMarginPoolId(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst id = bcs.Address.parse(bytes);\n\t\treturn '0x' + id;\n\t}\n\n\tasync getMinWithdrawRiskRatio(poolKey: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginRegistry.minWithdrawRiskRatio(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst ratio = Number(bcs.U64.parse(bytes));\n\t\treturn ratio / FLOAT_SCALAR;\n\t}\n\n\tasync getMinBorrowRiskRatio(poolKey: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginRegistry.minBorrowRiskRatio(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst ratio = Number(bcs.U64.parse(bytes));\n\t\treturn ratio / FLOAT_SCALAR;\n\t}\n\n\tasync getLiquidationRiskRatio(poolKey: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginRegistry.liquidationRiskRatio(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst ratio = Number(bcs.U64.parse(bytes));\n\t\treturn ratio / FLOAT_SCALAR;\n\t}\n\n\tasync getTargetLiquidationRiskRatio(poolKey: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginRegistry.targetLiquidationRiskRatio(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst ratio = Number(bcs.U64.parse(bytes));\n\t\treturn ratio / FLOAT_SCALAR;\n\t}\n\n\tasync getUserLiquidationReward(poolKey: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginRegistry.userLiquidationReward(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst reward = Number(bcs.U64.parse(bytes));\n\t\treturn reward / FLOAT_SCALAR;\n\t}\n\n\tasync getPoolLiquidationReward(poolKey: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginRegistry.poolLiquidationReward(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst reward = Number(bcs.U64.parse(bytes));\n\t\treturn reward / FLOAT_SCALAR;\n\t}\n\n\tasync getAllowedMaintainers(): Promise<string[]> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginRegistry.allowedMaintainers());\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst vecSet = VecSet(bcs.Address).parse(bytes);\n\t\treturn vecSet.contents.map((id) => normalizeSuiAddress(id));\n\t}\n\n\tasync getAllowedPauseCaps(): Promise<string[]> {\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginRegistry.allowedPauseCaps());\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst vecSet = VecSet(bcs.Address).parse(bytes);\n\t\treturn vecSet.contents.map((id) => normalizeSuiAddress(id));\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registryQueries.mjs","names":["#ctx"],"sources":["../../src/queries/registryQueries.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@mysten/sui/bcs';\nimport { Transaction } from '@mysten/sui/transactions';\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\n\nimport { VecSet } from '../types/bcs.js';\nimport { FLOAT_SCALAR } from '../utils/config.js';\nimport type { QueryContext } from './context.js';\n\nexport class RegistryQueries {\n\t#ctx: QueryContext;\n\n\tconstructor(ctx: QueryContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\tasync isPoolEnabledForMargin(poolKey: string): Promise<boolean> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.marginRegistry.poolEnabled(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\treturn bcs.Bool.parse(bytes);\n\t}\n\n\tasync getMarginManagerIdsForOwner(owner: string): Promise<string[]> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.marginRegistry.getMarginManagerIds(owner));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst vecSet = VecSet(bcs.Address).parse(bytes);\n\t\treturn vecSet.contents.map((id) => normalizeSuiAddress(id));\n\t}\n\n\tasync getBaseMarginPoolId(poolKey: string): Promise<string> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.marginRegistry.baseMarginPoolId(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst id = bcs.Address.parse(bytes);\n\t\treturn '0x' + id;\n\t}\n\n\tasync getQuoteMarginPoolId(poolKey: string): Promise<string> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.marginRegistry.quoteMarginPoolId(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst id = bcs.Address.parse(bytes);\n\t\treturn '0x' + id;\n\t}\n\n\tasync getMinWithdrawRiskRatio(poolKey: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.marginRegistry.minWithdrawRiskRatio(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst ratio = Number(bcs.U64.parse(bytes));\n\t\treturn ratio / FLOAT_SCALAR;\n\t}\n\n\tasync getMinBorrowRiskRatio(poolKey: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.marginRegistry.minBorrowRiskRatio(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst ratio = Number(bcs.U64.parse(bytes));\n\t\treturn ratio / FLOAT_SCALAR;\n\t}\n\n\tasync getLiquidationRiskRatio(poolKey: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.marginRegistry.liquidationRiskRatio(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst ratio = Number(bcs.U64.parse(bytes));\n\t\treturn ratio / FLOAT_SCALAR;\n\t}\n\n\tasync getTargetLiquidationRiskRatio(poolKey: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.marginRegistry.targetLiquidationRiskRatio(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst ratio = Number(bcs.U64.parse(bytes));\n\t\treturn ratio / FLOAT_SCALAR;\n\t}\n\n\tasync getUserLiquidationReward(poolKey: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.marginRegistry.userLiquidationReward(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst reward = Number(bcs.U64.parse(bytes));\n\t\treturn reward / FLOAT_SCALAR;\n\t}\n\n\tasync getPoolLiquidationReward(poolKey: string): Promise<number> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.marginRegistry.poolLiquidationReward(poolKey));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst reward = Number(bcs.U64.parse(bytes));\n\t\treturn reward / FLOAT_SCALAR;\n\t}\n\n\tasync getAllowedMaintainers(): Promise<string[]> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.marginRegistry.allowedMaintainers());\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst vecSet = VecSet(bcs.Address).parse(bytes);\n\t\treturn vecSet.contents.map((id) => normalizeSuiAddress(id));\n\t}\n\n\tasync getAllowedPauseCaps(): Promise<string[]> {\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.marginRegistry.allowedPauseCaps());\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tconst bytes = res.commandResults![0].returnValues[0].bcs;\n\t\tconst vecSet = VecSet(bcs.Address).parse(bytes);\n\t\treturn vecSet.contents.map((id) => normalizeSuiAddress(id));\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ var TPSLQueries = class {
|
|
|
10
10
|
async getConditionalOrderIds(marginManagerKey) {
|
|
11
11
|
const manager = this.#ctx.config.getMarginManager(marginManagerKey);
|
|
12
12
|
const tx = new Transaction();
|
|
13
|
+
tx.setSender(this.#ctx.address);
|
|
13
14
|
tx.add(this.#ctx.marginTPSL.conditionalOrderIds(manager.poolKey, manager.address));
|
|
14
15
|
const res = await this.#ctx.client.core.simulateTransaction({
|
|
15
16
|
transaction: tx,
|
|
@@ -26,6 +27,7 @@ var TPSLQueries = class {
|
|
|
26
27
|
async getLowestTriggerAbovePrice(marginManagerKey) {
|
|
27
28
|
const manager = this.#ctx.config.getMarginManager(marginManagerKey);
|
|
28
29
|
const tx = new Transaction();
|
|
30
|
+
tx.setSender(this.#ctx.address);
|
|
29
31
|
tx.add(this.#ctx.marginTPSL.lowestTriggerAbovePrice(manager.poolKey, manager.address));
|
|
30
32
|
const res = await this.#ctx.client.core.simulateTransaction({
|
|
31
33
|
transaction: tx,
|
|
@@ -42,6 +44,7 @@ var TPSLQueries = class {
|
|
|
42
44
|
async getHighestTriggerBelowPrice(marginManagerKey) {
|
|
43
45
|
const manager = this.#ctx.config.getMarginManager(marginManagerKey);
|
|
44
46
|
const tx = new Transaction();
|
|
47
|
+
tx.setSender(this.#ctx.address);
|
|
45
48
|
tx.add(this.#ctx.marginTPSL.highestTriggerBelowPrice(manager.poolKey, manager.address));
|
|
46
49
|
const res = await this.#ctx.client.core.simulateTransaction({
|
|
47
50
|
transaction: tx,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tpslQueries.mjs","names":["#ctx"],"sources":["../../src/queries/tpslQueries.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@mysten/sui/bcs';\nimport { Transaction } from '@mysten/sui/transactions';\n\nimport type { QueryContext } from './context.js';\n\nexport class TPSLQueries {\n\t#ctx: QueryContext;\n\n\tconstructor(ctx: QueryContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\tasync getConditionalOrderIds(marginManagerKey: string): Promise<string[]> {\n\t\tconst manager = this.#ctx.config.getMarginManager(marginManagerKey);\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginTPSL.conditionalOrderIds(manager.poolKey, manager.address));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tif (res.FailedTransaction) {\n\t\t\tthrow new Error(\n\t\t\t\t`Transaction failed: ${res.FailedTransaction.status.error?.message || 'Unknown error'}`,\n\t\t\t);\n\t\t}\n\n\t\tif (!res.commandResults || !res.commandResults[0] || !res.commandResults[0].returnValues) {\n\t\t\tthrow new Error(`Failed to get conditional order IDs: Unknown error`);\n\t\t}\n\n\t\tconst bytes = res.commandResults[0].returnValues[0].bcs;\n\t\tconst orderIds = bcs.vector(bcs.u64()).parse(bytes);\n\t\treturn orderIds.map((id) => id.toString());\n\t}\n\n\tasync getLowestTriggerAbovePrice(marginManagerKey: string): Promise<bigint> {\n\t\tconst manager = this.#ctx.config.getMarginManager(marginManagerKey);\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginTPSL.lowestTriggerAbovePrice(manager.poolKey, manager.address));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tif (res.FailedTransaction) {\n\t\t\tthrow new Error(\n\t\t\t\t`Transaction failed: ${res.FailedTransaction.status.error?.message || 'Unknown error'}`,\n\t\t\t);\n\t\t}\n\n\t\tif (!res.commandResults || !res.commandResults[0] || !res.commandResults[0].returnValues) {\n\t\t\tthrow new Error(`Failed to get lowest trigger above price: Unknown error`);\n\t\t}\n\n\t\tconst bytes = res.commandResults[0].returnValues[0].bcs;\n\t\treturn BigInt(bcs.U64.parse(bytes));\n\t}\n\n\tasync getHighestTriggerBelowPrice(marginManagerKey: string): Promise<bigint> {\n\t\tconst manager = this.#ctx.config.getMarginManager(marginManagerKey);\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginTPSL.highestTriggerBelowPrice(manager.poolKey, manager.address));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tif (res.FailedTransaction) {\n\t\t\tthrow new Error(\n\t\t\t\t`Transaction failed: ${res.FailedTransaction.status.error?.message || 'Unknown error'}`,\n\t\t\t);\n\t\t}\n\n\t\tif (!res.commandResults || !res.commandResults[0] || !res.commandResults[0].returnValues) {\n\t\t\tthrow new Error(`Failed to get highest trigger below price: Unknown error`);\n\t\t}\n\n\t\tconst bytes = res.commandResults[0].returnValues[0].bcs;\n\t\treturn BigInt(bcs.U64.parse(bytes));\n\t}\n}\n"],"mappings":";;;;AAQA,IAAa,cAAb,MAAyB;CACxB;CAEA,YAAY,KAAmB;AAC9B,QAAKA,MAAO;;CAGb,MAAM,uBAAuB,kBAA6C;EACzE,MAAM,UAAU,MAAKA,IAAK,OAAO,iBAAiB,iBAAiB;EACnE,MAAM,KAAK,IAAI,aAAa;AAC5B,KAAG,IAAI,MAAKA,IAAK,WAAW,oBAAoB,QAAQ,SAAS,QAAQ,QAAQ,CAAC;EAElF,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;AAEF,MAAI,IAAI,kBACP,OAAM,IAAI,MACT,uBAAuB,IAAI,kBAAkB,OAAO,OAAO,WAAW,kBACtE;AAGF,MAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,eAAe,MAAM,CAAC,IAAI,eAAe,GAAG,aAC3E,OAAM,IAAI,MAAM,qDAAqD;EAGtE,MAAM,QAAQ,IAAI,eAAe,GAAG,aAAa,GAAG;AAEpD,SADiB,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,MAAM,MAAM,CACnC,KAAK,OAAO,GAAG,UAAU,CAAC;;CAG3C,MAAM,2BAA2B,kBAA2C;EAC3E,MAAM,UAAU,MAAKA,IAAK,OAAO,iBAAiB,iBAAiB;EACnE,MAAM,KAAK,IAAI,aAAa;AAC5B,KAAG,IAAI,MAAKA,IAAK,WAAW,wBAAwB,QAAQ,SAAS,QAAQ,QAAQ,CAAC;EAEtF,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;AAEF,MAAI,IAAI,kBACP,OAAM,IAAI,MACT,uBAAuB,IAAI,kBAAkB,OAAO,OAAO,WAAW,kBACtE;AAGF,MAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,eAAe,MAAM,CAAC,IAAI,eAAe,GAAG,aAC3E,OAAM,IAAI,MAAM,0DAA0D;EAG3E,MAAM,QAAQ,IAAI,eAAe,GAAG,aAAa,GAAG;AACpD,SAAO,OAAO,IAAI,IAAI,MAAM,MAAM,CAAC;;CAGpC,MAAM,4BAA4B,kBAA2C;EAC5E,MAAM,UAAU,MAAKA,IAAK,OAAO,iBAAiB,iBAAiB;EACnE,MAAM,KAAK,IAAI,aAAa;AAC5B,KAAG,IAAI,MAAKA,IAAK,WAAW,yBAAyB,QAAQ,SAAS,QAAQ,QAAQ,CAAC;EAEvF,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;AAEF,MAAI,IAAI,kBACP,OAAM,IAAI,MACT,uBAAuB,IAAI,kBAAkB,OAAO,OAAO,WAAW,kBACtE;AAGF,MAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,eAAe,MAAM,CAAC,IAAI,eAAe,GAAG,aAC3E,OAAM,IAAI,MAAM,2DAA2D;EAG5E,MAAM,QAAQ,IAAI,eAAe,GAAG,aAAa,GAAG;AACpD,SAAO,OAAO,IAAI,IAAI,MAAM,MAAM,CAAC"}
|
|
1
|
+
{"version":3,"file":"tpslQueries.mjs","names":["#ctx"],"sources":["../../src/queries/tpslQueries.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@mysten/sui/bcs';\nimport { Transaction } from '@mysten/sui/transactions';\n\nimport type { QueryContext } from './context.js';\n\nexport class TPSLQueries {\n\t#ctx: QueryContext;\n\n\tconstructor(ctx: QueryContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\tasync getConditionalOrderIds(marginManagerKey: string): Promise<string[]> {\n\t\tconst manager = this.#ctx.config.getMarginManager(marginManagerKey);\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.marginTPSL.conditionalOrderIds(manager.poolKey, manager.address));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tif (res.FailedTransaction) {\n\t\t\tthrow new Error(\n\t\t\t\t`Transaction failed: ${res.FailedTransaction.status.error?.message || 'Unknown error'}`,\n\t\t\t);\n\t\t}\n\n\t\tif (!res.commandResults || !res.commandResults[0] || !res.commandResults[0].returnValues) {\n\t\t\tthrow new Error(`Failed to get conditional order IDs: Unknown error`);\n\t\t}\n\n\t\tconst bytes = res.commandResults[0].returnValues[0].bcs;\n\t\tconst orderIds = bcs.vector(bcs.u64()).parse(bytes);\n\t\treturn orderIds.map((id) => id.toString());\n\t}\n\n\tasync getLowestTriggerAbovePrice(marginManagerKey: string): Promise<bigint> {\n\t\tconst manager = this.#ctx.config.getMarginManager(marginManagerKey);\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.marginTPSL.lowestTriggerAbovePrice(manager.poolKey, manager.address));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tif (res.FailedTransaction) {\n\t\t\tthrow new Error(\n\t\t\t\t`Transaction failed: ${res.FailedTransaction.status.error?.message || 'Unknown error'}`,\n\t\t\t);\n\t\t}\n\n\t\tif (!res.commandResults || !res.commandResults[0] || !res.commandResults[0].returnValues) {\n\t\t\tthrow new Error(`Failed to get lowest trigger above price: Unknown error`);\n\t\t}\n\n\t\tconst bytes = res.commandResults[0].returnValues[0].bcs;\n\t\treturn BigInt(bcs.U64.parse(bytes));\n\t}\n\n\tasync getHighestTriggerBelowPrice(marginManagerKey: string): Promise<bigint> {\n\t\tconst manager = this.#ctx.config.getMarginManager(marginManagerKey);\n\t\tconst tx = new Transaction();\n\t\ttx.setSender(this.#ctx.address);\n\t\ttx.add(this.#ctx.marginTPSL.highestTriggerBelowPrice(manager.poolKey, manager.address));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tif (res.FailedTransaction) {\n\t\t\tthrow new Error(\n\t\t\t\t`Transaction failed: ${res.FailedTransaction.status.error?.message || 'Unknown error'}`,\n\t\t\t);\n\t\t}\n\n\t\tif (!res.commandResults || !res.commandResults[0] || !res.commandResults[0].returnValues) {\n\t\t\tthrow new Error(`Failed to get highest trigger below price: Unknown error`);\n\t\t}\n\n\t\tconst bytes = res.commandResults[0].returnValues[0].bcs;\n\t\treturn BigInt(bcs.U64.parse(bytes));\n\t}\n}\n"],"mappings":";;;;AAQA,IAAa,cAAb,MAAyB;CACxB;CAEA,YAAY,KAAmB;AAC9B,QAAKA,MAAO;;CAGb,MAAM,uBAAuB,kBAA6C;EACzE,MAAM,UAAU,MAAKA,IAAK,OAAO,iBAAiB,iBAAiB;EACnE,MAAM,KAAK,IAAI,aAAa;AAC5B,KAAG,UAAU,MAAKA,IAAK,QAAQ;AAC/B,KAAG,IAAI,MAAKA,IAAK,WAAW,oBAAoB,QAAQ,SAAS,QAAQ,QAAQ,CAAC;EAElF,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;AAEF,MAAI,IAAI,kBACP,OAAM,IAAI,MACT,uBAAuB,IAAI,kBAAkB,OAAO,OAAO,WAAW,kBACtE;AAGF,MAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,eAAe,MAAM,CAAC,IAAI,eAAe,GAAG,aAC3E,OAAM,IAAI,MAAM,qDAAqD;EAGtE,MAAM,QAAQ,IAAI,eAAe,GAAG,aAAa,GAAG;AAEpD,SADiB,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,MAAM,MAAM,CACnC,KAAK,OAAO,GAAG,UAAU,CAAC;;CAG3C,MAAM,2BAA2B,kBAA2C;EAC3E,MAAM,UAAU,MAAKA,IAAK,OAAO,iBAAiB,iBAAiB;EACnE,MAAM,KAAK,IAAI,aAAa;AAC5B,KAAG,UAAU,MAAKA,IAAK,QAAQ;AAC/B,KAAG,IAAI,MAAKA,IAAK,WAAW,wBAAwB,QAAQ,SAAS,QAAQ,QAAQ,CAAC;EAEtF,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;AAEF,MAAI,IAAI,kBACP,OAAM,IAAI,MACT,uBAAuB,IAAI,kBAAkB,OAAO,OAAO,WAAW,kBACtE;AAGF,MAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,eAAe,MAAM,CAAC,IAAI,eAAe,GAAG,aAC3E,OAAM,IAAI,MAAM,0DAA0D;EAG3E,MAAM,QAAQ,IAAI,eAAe,GAAG,aAAa,GAAG;AACpD,SAAO,OAAO,IAAI,IAAI,MAAM,MAAM,CAAC;;CAGpC,MAAM,4BAA4B,kBAA2C;EAC5E,MAAM,UAAU,MAAKA,IAAK,OAAO,iBAAiB,iBAAiB;EACnE,MAAM,KAAK,IAAI,aAAa;AAC5B,KAAG,UAAU,MAAKA,IAAK,QAAQ;AAC/B,KAAG,IAAI,MAAKA,IAAK,WAAW,yBAAyB,QAAQ,SAAS,QAAQ,QAAQ,CAAC;EAEvF,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;AAEF,MAAI,IAAI,kBACP,OAAM,IAAI,MACT,uBAAuB,IAAI,kBAAkB,OAAO,OAAO,WAAW,kBACtE;AAGF,MAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,eAAe,MAAM,CAAC,IAAI,eAAe,GAAG,aAC3E,OAAM,IAAI,MAAM,2DAA2D;EAG5E,MAAM,QAAQ,IAAI,eAAe,GAAG,aAAa,GAAG;AACpD,SAAO,OAAO,IAAI,IAAI,MAAM,MAAM,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@mysten/deepbook-v3",
|
|
3
3
|
"author": "Mysten Labs <build@mystenlabs.com>",
|
|
4
4
|
"description": "Sui Deepbook SDK",
|
|
5
|
-
"version": "1.3.
|
|
5
|
+
"version": "1.3.1",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "./dist/index.mjs",
|
|
@@ -46,11 +46,11 @@
|
|
|
46
46
|
"vite": "^8.0.5",
|
|
47
47
|
"vitest": "^4.0.17",
|
|
48
48
|
"wait-on": "^9.0.3",
|
|
49
|
-
"@mysten/codegen": "^0.
|
|
50
|
-
"@mysten/sui": "^2.
|
|
49
|
+
"@mysten/codegen": "^0.9.0",
|
|
50
|
+
"@mysten/sui": "^2.16.0"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
|
-
"@mysten/sui": "^2.
|
|
53
|
+
"@mysten/sui": "^2.16.0"
|
|
54
54
|
},
|
|
55
55
|
"scripts": {
|
|
56
56
|
"clean": "rm -rf tsconfig.tsbuildinfo ./dist",
|