@mysten/deepbook-v3 0.5.0 → 0.6.0
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 +14 -0
- package/dist/cjs/transactions/deepbookAdmin.d.ts +6 -0
- package/dist/cjs/transactions/deepbookAdmin.js +20 -6
- package/dist/cjs/transactions/deepbookAdmin.js.map +2 -2
- package/dist/cjs/utils/config.d.ts +0 -1
- package/dist/cjs/utils/config.js +1 -3
- package/dist/cjs/utils/config.js.map +2 -2
- package/dist/cjs/utils/constants.js +17 -7
- package/dist/cjs/utils/constants.js.map +2 -2
- package/dist/esm/transactions/deepbookAdmin.d.ts +6 -0
- package/dist/esm/transactions/deepbookAdmin.js +21 -7
- package/dist/esm/transactions/deepbookAdmin.js.map +2 -2
- package/dist/esm/utils/config.d.ts +0 -1
- package/dist/esm/utils/config.js +1 -3
- package/dist/esm/utils/config.js.map +2 -2
- package/dist/esm/utils/constants.js +17 -7
- package/dist/esm/utils/constants.js.map +2 -2
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/transactions/deepbookAdmin.ts +22 -6
- package/src/utils/config.ts +0 -1
- package/src/utils/constants.ts +17 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @mysten/deepbook-v3
|
|
2
2
|
|
|
3
|
+
## 0.6.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- ebe2ae8: Admin function updates, package constant updates
|
|
8
|
+
|
|
9
|
+
## 0.5.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies [2c96b06]
|
|
14
|
+
- Updated dependencies [1fd22cc]
|
|
15
|
+
- @mysten/sui@1.9.0
|
|
16
|
+
|
|
3
17
|
## 0.5.0
|
|
4
18
|
|
|
5
19
|
### Minor Changes
|
|
@@ -40,4 +40,10 @@ export declare class DeepBookAdminContract {
|
|
|
40
40
|
* @returns A function that takes a Transaction object
|
|
41
41
|
*/
|
|
42
42
|
disableVersion: (version: number) => (tx: Transaction) => void;
|
|
43
|
+
/**
|
|
44
|
+
* @description Sets the treasury address where pool creation fees will be sent
|
|
45
|
+
* @param {string} treasuryAddress The treasury address
|
|
46
|
+
* @returns A function that takes a Transaction object
|
|
47
|
+
*/
|
|
48
|
+
setTreasuryAddress: (treasuryAddress: string) => (tx: Transaction) => void;
|
|
43
49
|
}
|
|
@@ -29,7 +29,6 @@ __export(deepbookAdmin_exports, {
|
|
|
29
29
|
DeepBookAdminContract: () => DeepBookAdminContract
|
|
30
30
|
});
|
|
31
31
|
module.exports = __toCommonJS(deepbookAdmin_exports);
|
|
32
|
-
var import_transactions = require("@mysten/sui/transactions");
|
|
33
32
|
var import_config = require("../utils/config.js");
|
|
34
33
|
var _config, _DeepBookAdminContract_instances, adminCap_fn;
|
|
35
34
|
class DeepBookAdminContract {
|
|
@@ -49,8 +48,6 @@ class DeepBookAdminContract {
|
|
|
49
48
|
const { baseCoinKey, quoteCoinKey, tickSize, lotSize, minSize, whitelisted, stablePool } = params;
|
|
50
49
|
const baseCoin = __privateGet(this, _config).getCoin(baseCoinKey);
|
|
51
50
|
const quoteCoin = __privateGet(this, _config).getCoin(quoteCoinKey);
|
|
52
|
-
const deepCoinType = __privateGet(this, _config).getCoin("DEEP").type;
|
|
53
|
-
const creationFee = (0, import_transactions.coinWithBalance)({ type: deepCoinType, balance: import_config.POOL_CREATION_FEE });
|
|
54
51
|
const baseScalar = baseCoin.scalar;
|
|
55
52
|
const quoteScalar = quoteCoin.scalar;
|
|
56
53
|
const adjustedTickSize = tickSize * import_config.FLOAT_SCALAR * quoteScalar / baseScalar;
|
|
@@ -67,8 +64,6 @@ class DeepBookAdminContract {
|
|
|
67
64
|
// adjusted lot_size
|
|
68
65
|
tx.pure.u64(adjustedMinSize),
|
|
69
66
|
// adjusted min_size
|
|
70
|
-
creationFee,
|
|
71
|
-
// 0x2::balance::Balance<0x2::sui::SUI>
|
|
72
67
|
tx.pure.bool(whitelisted),
|
|
73
68
|
tx.pure.bool(stablePool),
|
|
74
69
|
tx.object(__privateMethod(this, _DeepBookAdminContract_instances, adminCap_fn).call(this))
|
|
@@ -87,7 +82,11 @@ class DeepBookAdminContract {
|
|
|
87
82
|
const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
|
|
88
83
|
tx.moveCall({
|
|
89
84
|
target: `${__privateGet(this, _config).DEEPBOOK_PACKAGE_ID}::pool::unregister_pool_admin`,
|
|
90
|
-
arguments: [
|
|
85
|
+
arguments: [
|
|
86
|
+
tx.object(pool.address),
|
|
87
|
+
tx.object(__privateGet(this, _config).REGISTRY_ID),
|
|
88
|
+
tx.object(__privateMethod(this, _DeepBookAdminContract_instances, adminCap_fn).call(this))
|
|
89
|
+
],
|
|
91
90
|
typeArguments: [baseCoin.type, quoteCoin.type]
|
|
92
91
|
});
|
|
93
92
|
};
|
|
@@ -140,6 +139,21 @@ class DeepBookAdminContract {
|
|
|
140
139
|
]
|
|
141
140
|
});
|
|
142
141
|
};
|
|
142
|
+
/**
|
|
143
|
+
* @description Sets the treasury address where pool creation fees will be sent
|
|
144
|
+
* @param {string} treasuryAddress The treasury address
|
|
145
|
+
* @returns A function that takes a Transaction object
|
|
146
|
+
*/
|
|
147
|
+
this.setTreasuryAddress = (treasuryAddress) => (tx) => {
|
|
148
|
+
tx.moveCall({
|
|
149
|
+
target: `${__privateGet(this, _config).DEEPBOOK_PACKAGE_ID}::registry::set_treasury_address`,
|
|
150
|
+
arguments: [
|
|
151
|
+
tx.object(__privateGet(this, _config).REGISTRY_ID),
|
|
152
|
+
tx.pure.address(treasuryAddress),
|
|
153
|
+
tx.object(__privateMethod(this, _DeepBookAdminContract_instances, adminCap_fn).call(this))
|
|
154
|
+
]
|
|
155
|
+
});
|
|
156
|
+
};
|
|
143
157
|
__privateSet(this, _config, config);
|
|
144
158
|
}
|
|
145
159
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/transactions/deepbookAdmin.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Transaction } from '@mysten/sui/transactions';\n\nimport type { CreatePoolAdminParams } from '../types/index.js';\nimport type { DeepBookConfig } from '../utils/config.js';\nimport { FLOAT_SCALAR } from '../utils/config.js';\n\n/**\n * DeepBookAdminContract class for managing admin actions.\n */\nexport class DeepBookAdminContract {\n\t#config: DeepBookConfig;\n\n\t/**\n\t * @param {DeepBookConfig} config Configuration for DeepBookAdminContract\n\t */\n\tconstructor(config: DeepBookConfig) {\n\t\tthis.#config = config;\n\t}\n\n\t/**\n\t * @returns The admin capability required for admin operations\n\t * @throws Error if the admin capability is not set\n\t */\n\t#adminCap() {\n\t\tconst adminCap = this.#config.adminCap;\n\t\tif (!adminCap) {\n\t\t\tthrow new Error('ADMIN_CAP environment variable not set');\n\t\t}\n\t\treturn adminCap;\n\t}\n\n\t/**\n\t * @description Create a new pool as admin\n\t * @param {CreatePoolAdminParams} params Parameters for creating pool as admin\n\t * @returns A function that takes a Transaction object\n\t */\n\tcreatePoolAdmin = (params: CreatePoolAdminParams) => (tx: Transaction) => {\n\t\ttx.setSenderIfNotSet(this.#config.address);\n\t\tconst { baseCoinKey, quoteCoinKey, tickSize, lotSize, minSize, whitelisted, stablePool } =\n\t\t\tparams;\n\t\tconst baseCoin = this.#config.getCoin(baseCoinKey);\n\t\tconst quoteCoin = this.#config.getCoin(quoteCoinKey);\n\n\t\tconst baseScalar = baseCoin.scalar;\n\t\tconst quoteScalar = quoteCoin.scalar;\n\n\t\tconst adjustedTickSize = (tickSize * FLOAT_SCALAR * quoteScalar) / baseScalar;\n\t\tconst adjustedLotSize = lotSize * baseScalar;\n\t\tconst adjustedMinSize = minSize * baseScalar;\n\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::pool::create_pool_admin`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.REGISTRY_ID), // registry_id\n\t\t\t\ttx.pure.u64(adjustedTickSize), // adjusted tick_size\n\t\t\t\ttx.pure.u64(adjustedLotSize), // adjusted lot_size\n\t\t\t\ttx.pure.u64(adjustedMinSize), // adjusted min_size\n\t\t\t\ttx.pure.bool(whitelisted),\n\t\t\t\ttx.pure.bool(stablePool),\n\t\t\t\ttx.object(this.#adminCap()),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Unregister a pool as admin\n\t * @param {string} poolKey The key of the pool to be unregistered by admin\n\t * @returns A function that takes a Transaction object\n\t */\n\tunregisterPoolAdmin = (poolKey: string) => (tx: Transaction) => {\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::pool::unregister_pool_admin`,\n\t\t\targuments: [\n\t\t\t\ttx.object(pool.address),\n\t\t\t\ttx.object(this.#config.REGISTRY_ID),\n\t\t\t\ttx.object(this.#adminCap()),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Update the allowed versions for a pool\n\t * @param {string} poolKey The key of the pool to be updated\n\t * @returns A function that takes a Transaction object\n\t */\n\tupdateAllowedVersions = (poolKey: string) => (tx: Transaction) => {\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::pool::update_allowed_versions`,\n\t\t\targuments: [\n\t\t\t\ttx.object(pool.address),\n\t\t\t\ttx.object(this.#config.REGISTRY_ID),\n\t\t\t\ttx.object(this.#adminCap()),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Enable a specific version\n\t * @param {number} version The version to be enabled\n\t * @returns A function that takes a Transaction object\n\t */\n\tenableVersion = (version: number) => (tx: Transaction) => {\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::registry::enable_version`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.REGISTRY_ID),\n\t\t\t\ttx.pure.u64(version),\n\t\t\t\ttx.object(this.#adminCap()),\n\t\t\t],\n\t\t});\n\t};\n\n\t/**\n\t * @description Disable a specific version\n\t * @param {number} version The version to be disabled\n\t * @returns A function that takes a Transaction object\n\t */\n\tdisableVersion = (version: number) => (tx: Transaction) => {\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::registry::disable_version`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.REGISTRY_ID),\n\t\t\t\ttx.pure.u64(version),\n\t\t\t\ttx.object(this.#adminCap()),\n\t\t\t],\n\t\t});\n\t};\n\n\t/**\n\t * @description Sets the treasury address where pool creation fees will be sent\n\t * @param {string} treasuryAddress The treasury address\n\t * @returns A function that takes a Transaction object\n\t */\n\tsetTreasuryAddress = (treasuryAddress: string) => (tx: Transaction) => {\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::registry::set_treasury_address`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.REGISTRY_ID),\n\t\t\t\ttx.pure.address(treasuryAddress),\n\t\t\t\ttx.object(this.#adminCap()),\n\t\t\t],\n\t\t});\n\t};\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,7 +2,6 @@ import { BalanceManagerContract } from '../transactions/balanceManager.js';
|
|
|
2
2
|
import type { BalanceManager, Environment } from '../types/index.js';
|
|
3
3
|
import type { CoinMap, PoolMap } from './constants.js';
|
|
4
4
|
export declare const FLOAT_SCALAR = 1000000000;
|
|
5
|
-
export declare const POOL_CREATION_FEE: number;
|
|
6
5
|
export declare const MAX_TIMESTAMP = 1844674407370955161n;
|
|
7
6
|
export declare const GAS_BUDGET: number;
|
|
8
7
|
export declare const DEEP_SCALAR = 1000000;
|
package/dist/cjs/utils/config.js
CHANGED
|
@@ -29,8 +29,7 @@ __export(config_exports, {
|
|
|
29
29
|
DeepBookConfig: () => DeepBookConfig,
|
|
30
30
|
FLOAT_SCALAR: () => FLOAT_SCALAR,
|
|
31
31
|
GAS_BUDGET: () => GAS_BUDGET,
|
|
32
|
-
MAX_TIMESTAMP: () => MAX_TIMESTAMP
|
|
33
|
-
POOL_CREATION_FEE: () => POOL_CREATION_FEE
|
|
32
|
+
MAX_TIMESTAMP: () => MAX_TIMESTAMP
|
|
34
33
|
});
|
|
35
34
|
module.exports = __toCommonJS(config_exports);
|
|
36
35
|
var import_utils = require("@mysten/sui/utils");
|
|
@@ -38,7 +37,6 @@ var import_balanceManager = require("../transactions/balanceManager.js");
|
|
|
38
37
|
var import_constants = require("./constants.js");
|
|
39
38
|
var _coins, _pools;
|
|
40
39
|
const FLOAT_SCALAR = 1e9;
|
|
41
|
-
const POOL_CREATION_FEE = 1e4 * 1e6;
|
|
42
40
|
const MAX_TIMESTAMP = 1844674407370955161n;
|
|
43
41
|
const GAS_BUDGET = 0.5 * 5e8;
|
|
44
42
|
const DEEP_SCALAR = 1e6;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/utils/config.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\n\nimport { BalanceManagerContract } from '../transactions/balanceManager.js';\nimport type { BalanceManager, Environment } from '../types/index.js';\nimport type { CoinMap, PoolMap } from './constants.js';\nimport {\n\tmainnetCoins,\n\tmainnetPackageIds,\n\tmainnetPools,\n\ttestnetCoins,\n\ttestnetPackageIds,\n\ttestnetPools,\n} from './constants.js';\n\nexport const FLOAT_SCALAR = 1000000000;\nexport const
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\n\nimport { BalanceManagerContract } from '../transactions/balanceManager.js';\nimport type { BalanceManager, Environment } from '../types/index.js';\nimport type { CoinMap, PoolMap } from './constants.js';\nimport {\n\tmainnetCoins,\n\tmainnetPackageIds,\n\tmainnetPools,\n\ttestnetCoins,\n\ttestnetPackageIds,\n\ttestnetPools,\n} from './constants.js';\n\nexport const FLOAT_SCALAR = 1000000000;\nexport const MAX_TIMESTAMP = 1844674407370955161n;\nexport const GAS_BUDGET = 0.5 * 500000000; // Adjust based on benchmarking\nexport const DEEP_SCALAR = 1000000;\n\nexport class DeepBookConfig {\n\t#coins: CoinMap;\n\t#pools: PoolMap;\n\tbalanceManagers: { [key: string]: BalanceManager };\n\taddress: string;\n\n\tDEEPBOOK_PACKAGE_ID: string;\n\tREGISTRY_ID: string;\n\tDEEP_TREASURY_ID: string;\n\tadminCap?: string;\n\n\tbalanceManager: BalanceManagerContract;\n\n\tconstructor({\n\t\tenv,\n\t\taddress,\n\t\tadminCap,\n\t\tbalanceManagers,\n\t\tcoins,\n\t\tpools,\n\t}: {\n\t\tenv: Environment;\n\t\taddress: string;\n\t\tadminCap?: string;\n\t\tbalanceManagers?: { [key: string]: BalanceManager };\n\t\tcoins?: CoinMap;\n\t\tpools?: PoolMap;\n\t}) {\n\t\tthis.address = normalizeSuiAddress(address);\n\t\tthis.adminCap = adminCap;\n\t\tthis.balanceManagers = balanceManagers || {};\n\n\t\tif (env === 'mainnet') {\n\t\t\tthis.#coins = coins || mainnetCoins;\n\t\t\tthis.#pools = pools || mainnetPools;\n\t\t\tthis.DEEPBOOK_PACKAGE_ID = mainnetPackageIds.DEEPBOOK_PACKAGE_ID;\n\t\t\tthis.REGISTRY_ID = mainnetPackageIds.REGISTRY_ID;\n\t\t\tthis.DEEP_TREASURY_ID = mainnetPackageIds.DEEP_TREASURY_ID;\n\t\t} else {\n\t\t\tthis.#coins = coins || testnetCoins;\n\t\t\tthis.#pools = pools || testnetPools;\n\t\t\tthis.DEEPBOOK_PACKAGE_ID = testnetPackageIds.DEEPBOOK_PACKAGE_ID;\n\t\t\tthis.REGISTRY_ID = testnetPackageIds.REGISTRY_ID;\n\t\t\tthis.DEEP_TREASURY_ID = testnetPackageIds.DEEP_TREASURY_ID;\n\t\t}\n\n\t\tthis.balanceManager = new BalanceManagerContract(this);\n\t}\n\n\t// Getters\n\tgetCoin(key: string) {\n\t\tconst coin = this.#coins[key];\n\t\tif (!coin) {\n\t\t\tthrow new Error(`Coin not found for key: ${key}`);\n\t\t}\n\n\t\treturn coin;\n\t}\n\n\tgetPool(key: string) {\n\t\tconst pool = this.#pools[key];\n\t\tif (!pool) {\n\t\t\tthrow new Error(`Pool not found for key: ${key}`);\n\t\t}\n\n\t\treturn pool;\n\t}\n\n\t/**\n\t * @description Get the balance manager by key\n\t * @param managerKey Key of the balance manager\n\t * @returns The BalanceManager object\n\t */\n\tgetBalanceManager(managerKey: string): BalanceManager {\n\t\tif (!Object.hasOwn(this.balanceManagers, managerKey)) {\n\t\t\tthrow new Error(`Balance manager with key ${managerKey} not found.`);\n\t\t}\n\n\t\treturn this.balanceManagers[managerKey];\n\t}\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAoC;AAEpC,4BAAuC;AAGvC,uBAOO;AAdP;AAgBO,MAAM,eAAe;AACrB,MAAM,gBAAgB;AACtB,MAAM,aAAa,MAAM;AACzB,MAAM,cAAc;AAEpB,MAAM,eAAe;AAAA,EAa3B,YAAY;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,GAOG;AA1BH;AACA;AA0BC,SAAK,cAAU,kCAAoB,OAAO;AAC1C,SAAK,WAAW;AAChB,SAAK,kBAAkB,mBAAmB,CAAC;AAE3C,QAAI,QAAQ,WAAW;AACtB,yBAAK,QAAS,SAAS;AACvB,yBAAK,QAAS,SAAS;AACvB,WAAK,sBAAsB,mCAAkB;AAC7C,WAAK,cAAc,mCAAkB;AACrC,WAAK,mBAAmB,mCAAkB;AAAA,IAC3C,OAAO;AACN,yBAAK,QAAS,SAAS;AACvB,yBAAK,QAAS,SAAS;AACvB,WAAK,sBAAsB,mCAAkB;AAC7C,WAAK,cAAc,mCAAkB;AACrC,WAAK,mBAAmB,mCAAkB;AAAA,IAC3C;AAEA,SAAK,iBAAiB,IAAI,6CAAuB,IAAI;AAAA,EACtD;AAAA;AAAA,EAGA,QAAQ,KAAa;AACpB,UAAM,OAAO,mBAAK,QAAO,GAAG;AAC5B,QAAI,CAAC,MAAM;AACV,YAAM,IAAI,MAAM,2BAA2B,GAAG,EAAE;AAAA,IACjD;AAEA,WAAO;AAAA,EACR;AAAA,EAEA,QAAQ,KAAa;AACpB,UAAM,OAAO,mBAAK,QAAO,GAAG;AAC5B,QAAI,CAAC,MAAM;AACV,YAAM,IAAI,MAAM,2BAA2B,GAAG,EAAE;AAAA,IACjD;AAEA,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,kBAAkB,YAAoC;AACrD,QAAI,CAAC,OAAO,OAAO,KAAK,iBAAiB,UAAU,GAAG;AACrD,YAAM,IAAI,MAAM,4BAA4B,UAAU,aAAa;AAAA,IACpE;AAEA,WAAO,KAAK,gBAAgB,UAAU;AAAA,EACvC;AACD;AA/EC;AACA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -27,8 +27,8 @@ __export(constants_exports, {
|
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(constants_exports);
|
|
29
29
|
const testnetPackageIds = {
|
|
30
|
-
DEEPBOOK_PACKAGE_ID: "
|
|
31
|
-
REGISTRY_ID: "
|
|
30
|
+
DEEPBOOK_PACKAGE_ID: "0x48cc688a15bdda6017c730a3c65b30414e642d041f2931ef14e08f6b0b2a1b7f",
|
|
31
|
+
REGISTRY_ID: "0x60517d0cae6f1168c1ba94cb45c06191f9837ec695d0d465d594b2f6287534f0",
|
|
32
32
|
DEEP_TREASURY_ID: "0x69fffdae0075f8f71f4fa793549c11079266910e8905169845af1f5d00e09dcb"
|
|
33
33
|
};
|
|
34
34
|
const mainnetPackageIds = {
|
|
@@ -70,6 +70,11 @@ const mainnetCoins = {
|
|
|
70
70
|
scalar: 1e9
|
|
71
71
|
},
|
|
72
72
|
USDC: {
|
|
73
|
+
address: ``,
|
|
74
|
+
type: ``,
|
|
75
|
+
scalar: 0
|
|
76
|
+
},
|
|
77
|
+
WUSDC: {
|
|
73
78
|
address: `0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf`,
|
|
74
79
|
type: `0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN`,
|
|
75
80
|
scalar: 1e6
|
|
@@ -79,7 +84,12 @@ const mainnetCoins = {
|
|
|
79
84
|
type: `0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5::coin::COIN`,
|
|
80
85
|
scalar: 1e8
|
|
81
86
|
},
|
|
82
|
-
|
|
87
|
+
WBTC: {
|
|
88
|
+
address: `0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881`,
|
|
89
|
+
type: `0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN`,
|
|
90
|
+
scalar: 0
|
|
91
|
+
},
|
|
92
|
+
WUSDT: {
|
|
83
93
|
address: `0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c`,
|
|
84
94
|
type: `0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN`,
|
|
85
95
|
scalar: 1e6
|
|
@@ -87,22 +97,22 @@ const mainnetCoins = {
|
|
|
87
97
|
};
|
|
88
98
|
const testnetPools = {
|
|
89
99
|
DEEP_SUI: {
|
|
90
|
-
address: `
|
|
100
|
+
address: `0x877c81b2d760a91a405dc12974742ba2401dc1da727681d2de32c861f807ec28`,
|
|
91
101
|
baseCoin: "DEEP",
|
|
92
102
|
quoteCoin: "SUI"
|
|
93
103
|
},
|
|
94
104
|
SUI_DBUSDC: {
|
|
95
|
-
address: `
|
|
105
|
+
address: `0x966c99a5ce0ce3e09dacac0a42cc2b888d9e1a0c5f39b69f556c38f38ef0b81d`,
|
|
96
106
|
baseCoin: "SUI",
|
|
97
107
|
quoteCoin: "DBUSDC"
|
|
98
108
|
},
|
|
99
109
|
DEEP_DBUSDC: {
|
|
100
|
-
address: `
|
|
110
|
+
address: `0x6546ae819e61770c6070962157a2868c012c121ef4e6dd93e81e98900c61b799`,
|
|
101
111
|
baseCoin: "DEEP",
|
|
102
112
|
quoteCoin: "DBUSDC"
|
|
103
113
|
},
|
|
104
114
|
DBUSDT_DBUSDC: {
|
|
105
|
-
address: `
|
|
115
|
+
address: `0x9c0a6ef057b5f81d9f2d95a38ad753b8b5b8f535f9c10bb3e7d7256296eb4e18`,
|
|
106
116
|
baseCoin: "DBUSDT",
|
|
107
117
|
quoteCoin: "DBUSDC"
|
|
108
118
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/utils/constants.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Coin, Pool } from '../types/index.js';\n\nexport type CoinMap = Record<string, Coin>;\nexport type PoolMap = Record<string, Pool>;\nexport interface DeepbookPackageIds {\n\tDEEPBOOK_PACKAGE_ID: string;\n\tREGISTRY_ID: string;\n\tDEEP_TREASURY_ID: string;\n}\n\nexport const testnetPackageIds = {\n\tDEEPBOOK_PACKAGE_ID: '
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaO,MAAM,oBAAoB;AAAA,EAChC,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,kBAAkB;AACnB;AAEO,MAAM,oBAAoB;AAAA,EAChC,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,kBAAkB;AACnB;AAEO,MAAM,eAAwB;AAAA,EACpC,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,KAAK;AAAA,IACJ,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,QAAQ;AAAA,IACP,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,QAAQ;AAAA,IACP,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AACD;AAEO,MAAM,eAAwB;AAAA,EACpC,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,KAAK;AAAA,IACJ,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AACD;AAEO,MAAM,eAAwB;AAAA,EACpC,UAAU;AAAA,IACT,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,IACX,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,aAAa;AAAA,IACZ,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,eAAe;AAAA,IACd,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AACD;AAEO,MAAM,eAAwB;AAAA,EACpC,UAAU;AAAA,IACT,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AACD;",
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Coin, Pool } from '../types/index.js';\n\nexport type CoinMap = Record<string, Coin>;\nexport type PoolMap = Record<string, Pool>;\nexport interface DeepbookPackageIds {\n\tDEEPBOOK_PACKAGE_ID: string;\n\tREGISTRY_ID: string;\n\tDEEP_TREASURY_ID: string;\n}\n\nexport const testnetPackageIds = {\n\tDEEPBOOK_PACKAGE_ID: '0x48cc688a15bdda6017c730a3c65b30414e642d041f2931ef14e08f6b0b2a1b7f',\n\tREGISTRY_ID: '0x60517d0cae6f1168c1ba94cb45c06191f9837ec695d0d465d594b2f6287534f0',\n\tDEEP_TREASURY_ID: '0x69fffdae0075f8f71f4fa793549c11079266910e8905169845af1f5d00e09dcb',\n} satisfies DeepbookPackageIds;\n\nexport const mainnetPackageIds = {\n\tDEEPBOOK_PACKAGE_ID: '',\n\tREGISTRY_ID: '',\n\tDEEP_TREASURY_ID: '',\n};\n\nexport const testnetCoins: CoinMap = {\n\tDEEP: {\n\t\taddress: `0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8`,\n\t\ttype: `0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8::deep::DEEP`,\n\t\tscalar: 1000000,\n\t},\n\tSUI: {\n\t\taddress: `0x0000000000000000000000000000000000000000000000000000000000000002`,\n\t\ttype: `0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI`,\n\t\tscalar: 1000000000,\n\t},\n\tDBUSDC: {\n\t\taddress: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7`,\n\t\ttype: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7::DBUSDC::DBUSDC`,\n\t\tscalar: 1000000,\n\t},\n\tDBUSDT: {\n\t\taddress: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7`,\n\t\ttype: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7::DBUSDT::DBUSDT`,\n\t\tscalar: 1000000,\n\t},\n};\n\nexport const mainnetCoins: CoinMap = {\n\tDEEP: {\n\t\taddress: `0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270`,\n\t\ttype: `0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP`,\n\t\tscalar: 1000000,\n\t},\n\tSUI: {\n\t\taddress: `0x0000000000000000000000000000000000000000000000000000000000000002`,\n\t\ttype: `0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI`,\n\t\tscalar: 1000000000,\n\t},\n\tUSDC: {\n\t\taddress: ``,\n\t\ttype: ``,\n\t\tscalar: 0,\n\t},\n\tWUSDC: {\n\t\taddress: `0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf`,\n\t\ttype: `0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN`,\n\t\tscalar: 1000000,\n\t},\n\tWETH: {\n\t\taddress: `0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5`,\n\t\ttype: `0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5::coin::COIN`,\n\t\tscalar: 100000000,\n\t},\n\tWBTC: {\n\t\taddress: `0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881`,\n\t\ttype: `0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN`,\n\t\tscalar: 0,\n\t},\n\tWUSDT: {\n\t\taddress: `0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c`,\n\t\ttype: `0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN`,\n\t\tscalar: 1000000,\n\t},\n};\n\nexport const testnetPools: PoolMap = {\n\tDEEP_SUI: {\n\t\taddress: `0x877c81b2d760a91a405dc12974742ba2401dc1da727681d2de32c861f807ec28`,\n\t\tbaseCoin: 'DEEP',\n\t\tquoteCoin: 'SUI',\n\t},\n\tSUI_DBUSDC: {\n\t\taddress: `0x966c99a5ce0ce3e09dacac0a42cc2b888d9e1a0c5f39b69f556c38f38ef0b81d`,\n\t\tbaseCoin: 'SUI',\n\t\tquoteCoin: 'DBUSDC',\n\t},\n\tDEEP_DBUSDC: {\n\t\taddress: `0x6546ae819e61770c6070962157a2868c012c121ef4e6dd93e81e98900c61b799`,\n\t\tbaseCoin: 'DEEP',\n\t\tquoteCoin: 'DBUSDC',\n\t},\n\tDBUSDT_DBUSDC: {\n\t\taddress: `0x9c0a6ef057b5f81d9f2d95a38ad753b8b5b8f535f9c10bb3e7d7256296eb4e18`,\n\t\tbaseCoin: 'DBUSDT',\n\t\tquoteCoin: 'DBUSDC',\n\t},\n};\n\nexport const mainnetPools: PoolMap = {\n\tDEEP_SUI: {\n\t\taddress: ``,\n\t\tbaseCoin: 'DEEP',\n\t\tquoteCoin: 'SUI',\n\t},\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaO,MAAM,oBAAoB;AAAA,EAChC,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,kBAAkB;AACnB;AAEO,MAAM,oBAAoB;AAAA,EAChC,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,kBAAkB;AACnB;AAEO,MAAM,eAAwB;AAAA,EACpC,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,KAAK;AAAA,IACJ,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,QAAQ;AAAA,IACP,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,QAAQ;AAAA,IACP,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AACD;AAEO,MAAM,eAAwB;AAAA,EACpC,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,KAAK;AAAA,IACJ,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,OAAO;AAAA,IACN,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,OAAO;AAAA,IACN,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AACD;AAEO,MAAM,eAAwB;AAAA,EACpC,UAAU;AAAA,IACT,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,IACX,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,aAAa;AAAA,IACZ,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,eAAe;AAAA,IACd,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AACD;AAEO,MAAM,eAAwB;AAAA,EACpC,UAAU;AAAA,IACT,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AACD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -40,4 +40,10 @@ export declare class DeepBookAdminContract {
|
|
|
40
40
|
* @returns A function that takes a Transaction object
|
|
41
41
|
*/
|
|
42
42
|
disableVersion: (version: number) => (tx: Transaction) => void;
|
|
43
|
+
/**
|
|
44
|
+
* @description Sets the treasury address where pool creation fees will be sent
|
|
45
|
+
* @param {string} treasuryAddress The treasury address
|
|
46
|
+
* @returns A function that takes a Transaction object
|
|
47
|
+
*/
|
|
48
|
+
setTreasuryAddress: (treasuryAddress: string) => (tx: Transaction) => void;
|
|
43
49
|
}
|
|
@@ -7,8 +7,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
7
7
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
8
|
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
9
9
|
var _config, _DeepBookAdminContract_instances, adminCap_fn;
|
|
10
|
-
import {
|
|
11
|
-
import { FLOAT_SCALAR, POOL_CREATION_FEE } from "../utils/config.js";
|
|
10
|
+
import { FLOAT_SCALAR } from "../utils/config.js";
|
|
12
11
|
class DeepBookAdminContract {
|
|
13
12
|
/**
|
|
14
13
|
* @param {DeepBookConfig} config Configuration for DeepBookAdminContract
|
|
@@ -26,8 +25,6 @@ class DeepBookAdminContract {
|
|
|
26
25
|
const { baseCoinKey, quoteCoinKey, tickSize, lotSize, minSize, whitelisted, stablePool } = params;
|
|
27
26
|
const baseCoin = __privateGet(this, _config).getCoin(baseCoinKey);
|
|
28
27
|
const quoteCoin = __privateGet(this, _config).getCoin(quoteCoinKey);
|
|
29
|
-
const deepCoinType = __privateGet(this, _config).getCoin("DEEP").type;
|
|
30
|
-
const creationFee = coinWithBalance({ type: deepCoinType, balance: POOL_CREATION_FEE });
|
|
31
28
|
const baseScalar = baseCoin.scalar;
|
|
32
29
|
const quoteScalar = quoteCoin.scalar;
|
|
33
30
|
const adjustedTickSize = tickSize * FLOAT_SCALAR * quoteScalar / baseScalar;
|
|
@@ -44,8 +41,6 @@ class DeepBookAdminContract {
|
|
|
44
41
|
// adjusted lot_size
|
|
45
42
|
tx.pure.u64(adjustedMinSize),
|
|
46
43
|
// adjusted min_size
|
|
47
|
-
creationFee,
|
|
48
|
-
// 0x2::balance::Balance<0x2::sui::SUI>
|
|
49
44
|
tx.pure.bool(whitelisted),
|
|
50
45
|
tx.pure.bool(stablePool),
|
|
51
46
|
tx.object(__privateMethod(this, _DeepBookAdminContract_instances, adminCap_fn).call(this))
|
|
@@ -64,7 +59,11 @@ class DeepBookAdminContract {
|
|
|
64
59
|
const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
|
|
65
60
|
tx.moveCall({
|
|
66
61
|
target: `${__privateGet(this, _config).DEEPBOOK_PACKAGE_ID}::pool::unregister_pool_admin`,
|
|
67
|
-
arguments: [
|
|
62
|
+
arguments: [
|
|
63
|
+
tx.object(pool.address),
|
|
64
|
+
tx.object(__privateGet(this, _config).REGISTRY_ID),
|
|
65
|
+
tx.object(__privateMethod(this, _DeepBookAdminContract_instances, adminCap_fn).call(this))
|
|
66
|
+
],
|
|
68
67
|
typeArguments: [baseCoin.type, quoteCoin.type]
|
|
69
68
|
});
|
|
70
69
|
};
|
|
@@ -117,6 +116,21 @@ class DeepBookAdminContract {
|
|
|
117
116
|
]
|
|
118
117
|
});
|
|
119
118
|
};
|
|
119
|
+
/**
|
|
120
|
+
* @description Sets the treasury address where pool creation fees will be sent
|
|
121
|
+
* @param {string} treasuryAddress The treasury address
|
|
122
|
+
* @returns A function that takes a Transaction object
|
|
123
|
+
*/
|
|
124
|
+
this.setTreasuryAddress = (treasuryAddress) => (tx) => {
|
|
125
|
+
tx.moveCall({
|
|
126
|
+
target: `${__privateGet(this, _config).DEEPBOOK_PACKAGE_ID}::registry::set_treasury_address`,
|
|
127
|
+
arguments: [
|
|
128
|
+
tx.object(__privateGet(this, _config).REGISTRY_ID),
|
|
129
|
+
tx.pure.address(treasuryAddress),
|
|
130
|
+
tx.object(__privateMethod(this, _DeepBookAdminContract_instances, adminCap_fn).call(this))
|
|
131
|
+
]
|
|
132
|
+
});
|
|
133
|
+
};
|
|
120
134
|
__privateSet(this, _config, config);
|
|
121
135
|
}
|
|
122
136
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/transactions/deepbookAdmin.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport
|
|
5
|
-
"mappings": ";;;;;;;;AAAA;
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Transaction } from '@mysten/sui/transactions';\n\nimport type { CreatePoolAdminParams } from '../types/index.js';\nimport type { DeepBookConfig } from '../utils/config.js';\nimport { FLOAT_SCALAR } from '../utils/config.js';\n\n/**\n * DeepBookAdminContract class for managing admin actions.\n */\nexport class DeepBookAdminContract {\n\t#config: DeepBookConfig;\n\n\t/**\n\t * @param {DeepBookConfig} config Configuration for DeepBookAdminContract\n\t */\n\tconstructor(config: DeepBookConfig) {\n\t\tthis.#config = config;\n\t}\n\n\t/**\n\t * @returns The admin capability required for admin operations\n\t * @throws Error if the admin capability is not set\n\t */\n\t#adminCap() {\n\t\tconst adminCap = this.#config.adminCap;\n\t\tif (!adminCap) {\n\t\t\tthrow new Error('ADMIN_CAP environment variable not set');\n\t\t}\n\t\treturn adminCap;\n\t}\n\n\t/**\n\t * @description Create a new pool as admin\n\t * @param {CreatePoolAdminParams} params Parameters for creating pool as admin\n\t * @returns A function that takes a Transaction object\n\t */\n\tcreatePoolAdmin = (params: CreatePoolAdminParams) => (tx: Transaction) => {\n\t\ttx.setSenderIfNotSet(this.#config.address);\n\t\tconst { baseCoinKey, quoteCoinKey, tickSize, lotSize, minSize, whitelisted, stablePool } =\n\t\t\tparams;\n\t\tconst baseCoin = this.#config.getCoin(baseCoinKey);\n\t\tconst quoteCoin = this.#config.getCoin(quoteCoinKey);\n\n\t\tconst baseScalar = baseCoin.scalar;\n\t\tconst quoteScalar = quoteCoin.scalar;\n\n\t\tconst adjustedTickSize = (tickSize * FLOAT_SCALAR * quoteScalar) / baseScalar;\n\t\tconst adjustedLotSize = lotSize * baseScalar;\n\t\tconst adjustedMinSize = minSize * baseScalar;\n\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::pool::create_pool_admin`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.REGISTRY_ID), // registry_id\n\t\t\t\ttx.pure.u64(adjustedTickSize), // adjusted tick_size\n\t\t\t\ttx.pure.u64(adjustedLotSize), // adjusted lot_size\n\t\t\t\ttx.pure.u64(adjustedMinSize), // adjusted min_size\n\t\t\t\ttx.pure.bool(whitelisted),\n\t\t\t\ttx.pure.bool(stablePool),\n\t\t\t\ttx.object(this.#adminCap()),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Unregister a pool as admin\n\t * @param {string} poolKey The key of the pool to be unregistered by admin\n\t * @returns A function that takes a Transaction object\n\t */\n\tunregisterPoolAdmin = (poolKey: string) => (tx: Transaction) => {\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::pool::unregister_pool_admin`,\n\t\t\targuments: [\n\t\t\t\ttx.object(pool.address),\n\t\t\t\ttx.object(this.#config.REGISTRY_ID),\n\t\t\t\ttx.object(this.#adminCap()),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Update the allowed versions for a pool\n\t * @param {string} poolKey The key of the pool to be updated\n\t * @returns A function that takes a Transaction object\n\t */\n\tupdateAllowedVersions = (poolKey: string) => (tx: Transaction) => {\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::pool::update_allowed_versions`,\n\t\t\targuments: [\n\t\t\t\ttx.object(pool.address),\n\t\t\t\ttx.object(this.#config.REGISTRY_ID),\n\t\t\t\ttx.object(this.#adminCap()),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Enable a specific version\n\t * @param {number} version The version to be enabled\n\t * @returns A function that takes a Transaction object\n\t */\n\tenableVersion = (version: number) => (tx: Transaction) => {\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::registry::enable_version`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.REGISTRY_ID),\n\t\t\t\ttx.pure.u64(version),\n\t\t\t\ttx.object(this.#adminCap()),\n\t\t\t],\n\t\t});\n\t};\n\n\t/**\n\t * @description Disable a specific version\n\t * @param {number} version The version to be disabled\n\t * @returns A function that takes a Transaction object\n\t */\n\tdisableVersion = (version: number) => (tx: Transaction) => {\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::registry::disable_version`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.REGISTRY_ID),\n\t\t\t\ttx.pure.u64(version),\n\t\t\t\ttx.object(this.#adminCap()),\n\t\t\t],\n\t\t});\n\t};\n\n\t/**\n\t * @description Sets the treasury address where pool creation fees will be sent\n\t * @param {string} treasuryAddress The treasury address\n\t * @returns A function that takes a Transaction object\n\t */\n\tsetTreasuryAddress = (treasuryAddress: string) => (tx: Transaction) => {\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::registry::set_treasury_address`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.REGISTRY_ID),\n\t\t\t\ttx.pure.address(treasuryAddress),\n\t\t\t\ttx.object(this.#adminCap()),\n\t\t\t],\n\t\t});\n\t};\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,7 +2,6 @@ import { BalanceManagerContract } from '../transactions/balanceManager.js';
|
|
|
2
2
|
import type { BalanceManager, Environment } from '../types/index.js';
|
|
3
3
|
import type { CoinMap, PoolMap } from './constants.js';
|
|
4
4
|
export declare const FLOAT_SCALAR = 1000000000;
|
|
5
|
-
export declare const POOL_CREATION_FEE: number;
|
|
6
5
|
export declare const MAX_TIMESTAMP = 1844674407370955161n;
|
|
7
6
|
export declare const GAS_BUDGET: number;
|
|
8
7
|
export declare const DEEP_SCALAR = 1000000;
|
package/dist/esm/utils/config.js
CHANGED
|
@@ -17,7 +17,6 @@ import {
|
|
|
17
17
|
testnetPools
|
|
18
18
|
} from "./constants.js";
|
|
19
19
|
const FLOAT_SCALAR = 1e9;
|
|
20
|
-
const POOL_CREATION_FEE = 1e4 * 1e6;
|
|
21
20
|
const MAX_TIMESTAMP = 1844674407370955161n;
|
|
22
21
|
const GAS_BUDGET = 0.5 * 5e8;
|
|
23
22
|
const DEEP_SCALAR = 1e6;
|
|
@@ -84,7 +83,6 @@ export {
|
|
|
84
83
|
DeepBookConfig,
|
|
85
84
|
FLOAT_SCALAR,
|
|
86
85
|
GAS_BUDGET,
|
|
87
|
-
MAX_TIMESTAMP
|
|
88
|
-
POOL_CREATION_FEE
|
|
86
|
+
MAX_TIMESTAMP
|
|
89
87
|
};
|
|
90
88
|
//# sourceMappingURL=config.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/utils/config.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\n\nimport { BalanceManagerContract } from '../transactions/balanceManager.js';\nimport type { BalanceManager, Environment } from '../types/index.js';\nimport type { CoinMap, PoolMap } from './constants.js';\nimport {\n\tmainnetCoins,\n\tmainnetPackageIds,\n\tmainnetPools,\n\ttestnetCoins,\n\ttestnetPackageIds,\n\ttestnetPools,\n} from './constants.js';\n\nexport const FLOAT_SCALAR = 1000000000;\nexport const
|
|
5
|
-
"mappings": ";;;;;;;AAAA;AAEA,SAAS,2BAA2B;AAEpC,SAAS,8BAA8B;AAGvC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAEA,MAAM,eAAe;AACrB,MAAM,
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\n\nimport { BalanceManagerContract } from '../transactions/balanceManager.js';\nimport type { BalanceManager, Environment } from '../types/index.js';\nimport type { CoinMap, PoolMap } from './constants.js';\nimport {\n\tmainnetCoins,\n\tmainnetPackageIds,\n\tmainnetPools,\n\ttestnetCoins,\n\ttestnetPackageIds,\n\ttestnetPools,\n} from './constants.js';\n\nexport const FLOAT_SCALAR = 1000000000;\nexport const MAX_TIMESTAMP = 1844674407370955161n;\nexport const GAS_BUDGET = 0.5 * 500000000; // Adjust based on benchmarking\nexport const DEEP_SCALAR = 1000000;\n\nexport class DeepBookConfig {\n\t#coins: CoinMap;\n\t#pools: PoolMap;\n\tbalanceManagers: { [key: string]: BalanceManager };\n\taddress: string;\n\n\tDEEPBOOK_PACKAGE_ID: string;\n\tREGISTRY_ID: string;\n\tDEEP_TREASURY_ID: string;\n\tadminCap?: string;\n\n\tbalanceManager: BalanceManagerContract;\n\n\tconstructor({\n\t\tenv,\n\t\taddress,\n\t\tadminCap,\n\t\tbalanceManagers,\n\t\tcoins,\n\t\tpools,\n\t}: {\n\t\tenv: Environment;\n\t\taddress: string;\n\t\tadminCap?: string;\n\t\tbalanceManagers?: { [key: string]: BalanceManager };\n\t\tcoins?: CoinMap;\n\t\tpools?: PoolMap;\n\t}) {\n\t\tthis.address = normalizeSuiAddress(address);\n\t\tthis.adminCap = adminCap;\n\t\tthis.balanceManagers = balanceManagers || {};\n\n\t\tif (env === 'mainnet') {\n\t\t\tthis.#coins = coins || mainnetCoins;\n\t\t\tthis.#pools = pools || mainnetPools;\n\t\t\tthis.DEEPBOOK_PACKAGE_ID = mainnetPackageIds.DEEPBOOK_PACKAGE_ID;\n\t\t\tthis.REGISTRY_ID = mainnetPackageIds.REGISTRY_ID;\n\t\t\tthis.DEEP_TREASURY_ID = mainnetPackageIds.DEEP_TREASURY_ID;\n\t\t} else {\n\t\t\tthis.#coins = coins || testnetCoins;\n\t\t\tthis.#pools = pools || testnetPools;\n\t\t\tthis.DEEPBOOK_PACKAGE_ID = testnetPackageIds.DEEPBOOK_PACKAGE_ID;\n\t\t\tthis.REGISTRY_ID = testnetPackageIds.REGISTRY_ID;\n\t\t\tthis.DEEP_TREASURY_ID = testnetPackageIds.DEEP_TREASURY_ID;\n\t\t}\n\n\t\tthis.balanceManager = new BalanceManagerContract(this);\n\t}\n\n\t// Getters\n\tgetCoin(key: string) {\n\t\tconst coin = this.#coins[key];\n\t\tif (!coin) {\n\t\t\tthrow new Error(`Coin not found for key: ${key}`);\n\t\t}\n\n\t\treturn coin;\n\t}\n\n\tgetPool(key: string) {\n\t\tconst pool = this.#pools[key];\n\t\tif (!pool) {\n\t\t\tthrow new Error(`Pool not found for key: ${key}`);\n\t\t}\n\n\t\treturn pool;\n\t}\n\n\t/**\n\t * @description Get the balance manager by key\n\t * @param managerKey Key of the balance manager\n\t * @returns The BalanceManager object\n\t */\n\tgetBalanceManager(managerKey: string): BalanceManager {\n\t\tif (!Object.hasOwn(this.balanceManagers, managerKey)) {\n\t\t\tthrow new Error(`Balance manager with key ${managerKey} not found.`);\n\t\t}\n\n\t\treturn this.balanceManagers[managerKey];\n\t}\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAAA;AAEA,SAAS,2BAA2B;AAEpC,SAAS,8BAA8B;AAGvC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAEA,MAAM,eAAe;AACrB,MAAM,gBAAgB;AACtB,MAAM,aAAa,MAAM;AACzB,MAAM,cAAc;AAEpB,MAAM,eAAe;AAAA,EAa3B,YAAY;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,GAOG;AA1BH;AACA;AA0BC,SAAK,UAAU,oBAAoB,OAAO;AAC1C,SAAK,WAAW;AAChB,SAAK,kBAAkB,mBAAmB,CAAC;AAE3C,QAAI,QAAQ,WAAW;AACtB,yBAAK,QAAS,SAAS;AACvB,yBAAK,QAAS,SAAS;AACvB,WAAK,sBAAsB,kBAAkB;AAC7C,WAAK,cAAc,kBAAkB;AACrC,WAAK,mBAAmB,kBAAkB;AAAA,IAC3C,OAAO;AACN,yBAAK,QAAS,SAAS;AACvB,yBAAK,QAAS,SAAS;AACvB,WAAK,sBAAsB,kBAAkB;AAC7C,WAAK,cAAc,kBAAkB;AACrC,WAAK,mBAAmB,kBAAkB;AAAA,IAC3C;AAEA,SAAK,iBAAiB,IAAI,uBAAuB,IAAI;AAAA,EACtD;AAAA;AAAA,EAGA,QAAQ,KAAa;AACpB,UAAM,OAAO,mBAAK,QAAO,GAAG;AAC5B,QAAI,CAAC,MAAM;AACV,YAAM,IAAI,MAAM,2BAA2B,GAAG,EAAE;AAAA,IACjD;AAEA,WAAO;AAAA,EACR;AAAA,EAEA,QAAQ,KAAa;AACpB,UAAM,OAAO,mBAAK,QAAO,GAAG;AAC5B,QAAI,CAAC,MAAM;AACV,YAAM,IAAI,MAAM,2BAA2B,GAAG,EAAE;AAAA,IACjD;AAEA,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,kBAAkB,YAAoC;AACrD,QAAI,CAAC,OAAO,OAAO,KAAK,iBAAiB,UAAU,GAAG;AACrD,YAAM,IAAI,MAAM,4BAA4B,UAAU,aAAa;AAAA,IACpE;AAEA,WAAO,KAAK,gBAAgB,UAAU;AAAA,EACvC;AACD;AA/EC;AACA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const testnetPackageIds = {
|
|
2
|
-
DEEPBOOK_PACKAGE_ID: "
|
|
3
|
-
REGISTRY_ID: "
|
|
2
|
+
DEEPBOOK_PACKAGE_ID: "0x48cc688a15bdda6017c730a3c65b30414e642d041f2931ef14e08f6b0b2a1b7f",
|
|
3
|
+
REGISTRY_ID: "0x60517d0cae6f1168c1ba94cb45c06191f9837ec695d0d465d594b2f6287534f0",
|
|
4
4
|
DEEP_TREASURY_ID: "0x69fffdae0075f8f71f4fa793549c11079266910e8905169845af1f5d00e09dcb"
|
|
5
5
|
};
|
|
6
6
|
const mainnetPackageIds = {
|
|
@@ -42,6 +42,11 @@ const mainnetCoins = {
|
|
|
42
42
|
scalar: 1e9
|
|
43
43
|
},
|
|
44
44
|
USDC: {
|
|
45
|
+
address: ``,
|
|
46
|
+
type: ``,
|
|
47
|
+
scalar: 0
|
|
48
|
+
},
|
|
49
|
+
WUSDC: {
|
|
45
50
|
address: `0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf`,
|
|
46
51
|
type: `0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN`,
|
|
47
52
|
scalar: 1e6
|
|
@@ -51,7 +56,12 @@ const mainnetCoins = {
|
|
|
51
56
|
type: `0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5::coin::COIN`,
|
|
52
57
|
scalar: 1e8
|
|
53
58
|
},
|
|
54
|
-
|
|
59
|
+
WBTC: {
|
|
60
|
+
address: `0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881`,
|
|
61
|
+
type: `0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN`,
|
|
62
|
+
scalar: 0
|
|
63
|
+
},
|
|
64
|
+
WUSDT: {
|
|
55
65
|
address: `0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c`,
|
|
56
66
|
type: `0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN`,
|
|
57
67
|
scalar: 1e6
|
|
@@ -59,22 +69,22 @@ const mainnetCoins = {
|
|
|
59
69
|
};
|
|
60
70
|
const testnetPools = {
|
|
61
71
|
DEEP_SUI: {
|
|
62
|
-
address: `
|
|
72
|
+
address: `0x877c81b2d760a91a405dc12974742ba2401dc1da727681d2de32c861f807ec28`,
|
|
63
73
|
baseCoin: "DEEP",
|
|
64
74
|
quoteCoin: "SUI"
|
|
65
75
|
},
|
|
66
76
|
SUI_DBUSDC: {
|
|
67
|
-
address: `
|
|
77
|
+
address: `0x966c99a5ce0ce3e09dacac0a42cc2b888d9e1a0c5f39b69f556c38f38ef0b81d`,
|
|
68
78
|
baseCoin: "SUI",
|
|
69
79
|
quoteCoin: "DBUSDC"
|
|
70
80
|
},
|
|
71
81
|
DEEP_DBUSDC: {
|
|
72
|
-
address: `
|
|
82
|
+
address: `0x6546ae819e61770c6070962157a2868c012c121ef4e6dd93e81e98900c61b799`,
|
|
73
83
|
baseCoin: "DEEP",
|
|
74
84
|
quoteCoin: "DBUSDC"
|
|
75
85
|
},
|
|
76
86
|
DBUSDT_DBUSDC: {
|
|
77
|
-
address: `
|
|
87
|
+
address: `0x9c0a6ef057b5f81d9f2d95a38ad753b8b5b8f535f9c10bb3e7d7256296eb4e18`,
|
|
78
88
|
baseCoin: "DBUSDT",
|
|
79
89
|
quoteCoin: "DBUSDC"
|
|
80
90
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/utils/constants.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Coin, Pool } from '../types/index.js';\n\nexport type CoinMap = Record<string, Coin>;\nexport type PoolMap = Record<string, Pool>;\nexport interface DeepbookPackageIds {\n\tDEEPBOOK_PACKAGE_ID: string;\n\tREGISTRY_ID: string;\n\tDEEP_TREASURY_ID: string;\n}\n\nexport const testnetPackageIds = {\n\tDEEPBOOK_PACKAGE_ID: '
|
|
5
|
-
"mappings": "AAaO,MAAM,oBAAoB;AAAA,EAChC,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,kBAAkB;AACnB;AAEO,MAAM,oBAAoB;AAAA,EAChC,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,kBAAkB;AACnB;AAEO,MAAM,eAAwB;AAAA,EACpC,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,KAAK;AAAA,IACJ,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,QAAQ;AAAA,IACP,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,QAAQ;AAAA,IACP,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AACD;AAEO,MAAM,eAAwB;AAAA,EACpC,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,KAAK;AAAA,IACJ,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AACD;AAEO,MAAM,eAAwB;AAAA,EACpC,UAAU;AAAA,IACT,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,IACX,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,aAAa;AAAA,IACZ,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,eAAe;AAAA,IACd,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AACD;AAEO,MAAM,eAAwB;AAAA,EACpC,UAAU;AAAA,IACT,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AACD;",
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Coin, Pool } from '../types/index.js';\n\nexport type CoinMap = Record<string, Coin>;\nexport type PoolMap = Record<string, Pool>;\nexport interface DeepbookPackageIds {\n\tDEEPBOOK_PACKAGE_ID: string;\n\tREGISTRY_ID: string;\n\tDEEP_TREASURY_ID: string;\n}\n\nexport const testnetPackageIds = {\n\tDEEPBOOK_PACKAGE_ID: '0x48cc688a15bdda6017c730a3c65b30414e642d041f2931ef14e08f6b0b2a1b7f',\n\tREGISTRY_ID: '0x60517d0cae6f1168c1ba94cb45c06191f9837ec695d0d465d594b2f6287534f0',\n\tDEEP_TREASURY_ID: '0x69fffdae0075f8f71f4fa793549c11079266910e8905169845af1f5d00e09dcb',\n} satisfies DeepbookPackageIds;\n\nexport const mainnetPackageIds = {\n\tDEEPBOOK_PACKAGE_ID: '',\n\tREGISTRY_ID: '',\n\tDEEP_TREASURY_ID: '',\n};\n\nexport const testnetCoins: CoinMap = {\n\tDEEP: {\n\t\taddress: `0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8`,\n\t\ttype: `0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8::deep::DEEP`,\n\t\tscalar: 1000000,\n\t},\n\tSUI: {\n\t\taddress: `0x0000000000000000000000000000000000000000000000000000000000000002`,\n\t\ttype: `0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI`,\n\t\tscalar: 1000000000,\n\t},\n\tDBUSDC: {\n\t\taddress: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7`,\n\t\ttype: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7::DBUSDC::DBUSDC`,\n\t\tscalar: 1000000,\n\t},\n\tDBUSDT: {\n\t\taddress: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7`,\n\t\ttype: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7::DBUSDT::DBUSDT`,\n\t\tscalar: 1000000,\n\t},\n};\n\nexport const mainnetCoins: CoinMap = {\n\tDEEP: {\n\t\taddress: `0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270`,\n\t\ttype: `0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP`,\n\t\tscalar: 1000000,\n\t},\n\tSUI: {\n\t\taddress: `0x0000000000000000000000000000000000000000000000000000000000000002`,\n\t\ttype: `0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI`,\n\t\tscalar: 1000000000,\n\t},\n\tUSDC: {\n\t\taddress: ``,\n\t\ttype: ``,\n\t\tscalar: 0,\n\t},\n\tWUSDC: {\n\t\taddress: `0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf`,\n\t\ttype: `0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN`,\n\t\tscalar: 1000000,\n\t},\n\tWETH: {\n\t\taddress: `0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5`,\n\t\ttype: `0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5::coin::COIN`,\n\t\tscalar: 100000000,\n\t},\n\tWBTC: {\n\t\taddress: `0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881`,\n\t\ttype: `0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN`,\n\t\tscalar: 0,\n\t},\n\tWUSDT: {\n\t\taddress: `0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c`,\n\t\ttype: `0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN`,\n\t\tscalar: 1000000,\n\t},\n};\n\nexport const testnetPools: PoolMap = {\n\tDEEP_SUI: {\n\t\taddress: `0x877c81b2d760a91a405dc12974742ba2401dc1da727681d2de32c861f807ec28`,\n\t\tbaseCoin: 'DEEP',\n\t\tquoteCoin: 'SUI',\n\t},\n\tSUI_DBUSDC: {\n\t\taddress: `0x966c99a5ce0ce3e09dacac0a42cc2b888d9e1a0c5f39b69f556c38f38ef0b81d`,\n\t\tbaseCoin: 'SUI',\n\t\tquoteCoin: 'DBUSDC',\n\t},\n\tDEEP_DBUSDC: {\n\t\taddress: `0x6546ae819e61770c6070962157a2868c012c121ef4e6dd93e81e98900c61b799`,\n\t\tbaseCoin: 'DEEP',\n\t\tquoteCoin: 'DBUSDC',\n\t},\n\tDBUSDT_DBUSDC: {\n\t\taddress: `0x9c0a6ef057b5f81d9f2d95a38ad753b8b5b8f535f9c10bb3e7d7256296eb4e18`,\n\t\tbaseCoin: 'DBUSDT',\n\t\tquoteCoin: 'DBUSDC',\n\t},\n};\n\nexport const mainnetPools: PoolMap = {\n\tDEEP_SUI: {\n\t\taddress: ``,\n\t\tbaseCoin: 'DEEP',\n\t\tquoteCoin: 'SUI',\n\t},\n};\n"],
|
|
5
|
+
"mappings": "AAaO,MAAM,oBAAoB;AAAA,EAChC,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,kBAAkB;AACnB;AAEO,MAAM,oBAAoB;AAAA,EAChC,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,kBAAkB;AACnB;AAEO,MAAM,eAAwB;AAAA,EACpC,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,KAAK;AAAA,IACJ,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,QAAQ;AAAA,IACP,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,QAAQ;AAAA,IACP,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AACD;AAEO,MAAM,eAAwB;AAAA,EACpC,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,KAAK;AAAA,IACJ,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,OAAO;AAAA,IACN,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,MAAM;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AAAA,EACA,OAAO;AAAA,IACN,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACT;AACD;AAEO,MAAM,eAAwB;AAAA,EACpC,UAAU;AAAA,IACT,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,IACX,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,aAAa;AAAA,IACZ,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,eAAe;AAAA,IACd,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AACD;AAEO,MAAM,eAAwB;AAAA,EACpC,UAAU;AAAA,IACT,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AACD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|