@mysten/deepbook-v3 1.0.12 → 1.1.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.
@@ -1,5 +1,5 @@
1
1
  import { DeepBookConfig } from "../utils/config.mjs";
2
- import * as _mysten_sui_transactions114 from "@mysten/sui/transactions";
2
+ import * as _mysten_sui_transactions92 from "@mysten/sui/transactions";
3
3
  import { Transaction } from "@mysten/sui/transactions";
4
4
 
5
5
  //#region src/transactions/marginLiquidations.d.ts
@@ -35,7 +35,7 @@ declare class MarginLiquidationsContract {
35
35
  * @param {number} amount The amount to withdraw
36
36
  * @returns A function that takes a Transaction object and returns the withdrawn coin
37
37
  */
38
- withdraw: (vaultId: string, liquidationAdminCap: string, coinKey: string, amount: number) => (tx: Transaction) => _mysten_sui_transactions114.TransactionResult;
38
+ withdraw: (vaultId: string, liquidationAdminCap: string, coinKey: string, amount: number) => (tx: Transaction) => _mysten_sui_transactions92.TransactionResult;
39
39
  /**
40
40
  * @description Liquidate a margin manager by repaying base debt
41
41
  * @param {string} vaultId The liquidation vault object ID
@@ -60,7 +60,7 @@ declare class MarginLiquidationsContract {
60
60
  * @param {string} coinKey The key to identify the coin type
61
61
  * @returns A function that takes a Transaction object
62
62
  */
63
- balance: (vaultId: string, coinKey: string) => (tx: Transaction) => _mysten_sui_transactions114.TransactionResult;
63
+ balance: (vaultId: string, coinKey: string) => (tx: Transaction) => _mysten_sui_transactions92.TransactionResult;
64
64
  }
65
65
  //#endregion
66
66
  export { MarginLiquidationsContract };
@@ -1 +1 @@
1
- {"version":3,"file":"marginLiquidations.d.mts","names":[],"sources":["../../src/transactions/marginLiquidations.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAUa,cAAA,0BAAA,CAA0B;EAMlB,CAAA,OAAA;EAS2C;;;EAwC9C,WAAA,CAAA,MAAA,EAjDG,cAiDH;EAuBX;;;;;gEA/DyD;;;;;;;;;mGAiBzD;;;;;;;;;oGAuBA,gBAAW,2BAAA,CAAA;;;;;;;;;0GAuBX;;;;;;;;;2GAwCA;;;;;;;sDAsC+C,gBAAW,2BAAA,CAAA"}
1
+ {"version":3,"file":"marginLiquidations.d.mts","names":[],"sources":["../../src/transactions/marginLiquidations.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAUa,cAAA,0BAAA,CAA0B;EAMlB,CAAA,OAAA;EAS2C;;;EAwC9C,WAAA,CAAA,MAAA,EAjDG,cAiDH;EAuBX;;;;;gEA/DyD;;;;;;;;;mGAiBzD;;;;;;;;;oGAuBA,gBAAW,0BAAA,CAAA;;;;;;;;;0GAuBX;;;;;;;;;2GAwCA;;;;;;;sDAsC+C,gBAAW,0BAAA,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { DeepBookConfig } from "../utils/config.mjs";
2
- import * as _mysten_sui_transactions116 from "@mysten/sui/transactions";
2
+ import * as _mysten_sui_transactions94 from "@mysten/sui/transactions";
3
3
  import { Transaction } from "@mysten/sui/transactions";
4
4
 
5
5
  //#region src/transactions/marginRegistry.d.ts
@@ -17,83 +17,83 @@ declare class MarginRegistryContract {
17
17
  * @param {string} poolKey The key to identify the pool
18
18
  * @returns A function that takes a Transaction object
19
19
  */
20
- poolEnabled: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions116.TransactionResult;
20
+ poolEnabled: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions94.TransactionResult;
21
21
  /**
22
22
  * @description Get the margin pool ID for a given asset
23
23
  * @param {string} coinKey The key to identify the coin
24
24
  * @returns A function that takes a Transaction object
25
25
  */
26
- getMarginPoolId: (coinKey: string) => (tx: Transaction) => _mysten_sui_transactions116.TransactionResult;
26
+ getMarginPoolId: (coinKey: string) => (tx: Transaction) => _mysten_sui_transactions94.TransactionResult;
27
27
  /**
28
28
  * @description Get the margin pool IDs (base and quote) for a deepbook pool
29
29
  * @param {string} poolKey The key to identify the pool
30
30
  * @returns A function that takes a Transaction object
31
31
  */
32
- getDeepbookPoolMarginPoolIds: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions116.TransactionResult;
32
+ getDeepbookPoolMarginPoolIds: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions94.TransactionResult;
33
33
  /**
34
34
  * @description Get the margin manager IDs for a given owner
35
35
  * @param {string} owner The owner address
36
36
  * @returns A function that takes a Transaction object
37
37
  */
38
- getMarginManagerIds: (owner: string) => (tx: Transaction) => _mysten_sui_transactions116.TransactionResult;
38
+ getMarginManagerIds: (owner: string) => (tx: Transaction) => _mysten_sui_transactions94.TransactionResult;
39
39
  /**
40
40
  * @description Get the base margin pool ID for a deepbook pool
41
41
  * @param {string} poolKey The key to identify the pool
42
42
  * @returns A function that takes a Transaction object
43
43
  */
44
- baseMarginPoolId: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions116.TransactionResult;
44
+ baseMarginPoolId: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions94.TransactionResult;
45
45
  /**
46
46
  * @description Get the quote margin pool ID for a deepbook pool
47
47
  * @param {string} poolKey The key to identify the pool
48
48
  * @returns A function that takes a Transaction object
49
49
  */
50
- quoteMarginPoolId: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions116.TransactionResult;
50
+ quoteMarginPoolId: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions94.TransactionResult;
51
51
  /**
52
52
  * @description Get the minimum withdraw risk ratio for a deepbook pool
53
53
  * @param {string} poolKey The key to identify the pool
54
54
  * @returns A function that takes a Transaction object
55
55
  */
56
- minWithdrawRiskRatio: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions116.TransactionResult;
56
+ minWithdrawRiskRatio: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions94.TransactionResult;
57
57
  /**
58
58
  * @description Get the minimum borrow risk ratio for a deepbook pool
59
59
  * @param {string} poolKey The key to identify the pool
60
60
  * @returns A function that takes a Transaction object
61
61
  */
62
- minBorrowRiskRatio: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions116.TransactionResult;
62
+ minBorrowRiskRatio: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions94.TransactionResult;
63
63
  /**
64
64
  * @description Get the liquidation risk ratio for a deepbook pool
65
65
  * @param {string} poolKey The key to identify the pool
66
66
  * @returns A function that takes a Transaction object
67
67
  */
68
- liquidationRiskRatio: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions116.TransactionResult;
68
+ liquidationRiskRatio: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions94.TransactionResult;
69
69
  /**
70
70
  * @description Get the target liquidation risk ratio for a deepbook pool
71
71
  * @param {string} poolKey The key to identify the pool
72
72
  * @returns A function that takes a Transaction object
73
73
  */
74
- targetLiquidationRiskRatio: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions116.TransactionResult;
74
+ targetLiquidationRiskRatio: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions94.TransactionResult;
75
75
  /**
76
76
  * @description Get the user liquidation reward for a deepbook pool
77
77
  * @param {string} poolKey The key to identify the pool
78
78
  * @returns A function that takes a Transaction object
79
79
  */
80
- userLiquidationReward: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions116.TransactionResult;
80
+ userLiquidationReward: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions94.TransactionResult;
81
81
  /**
82
82
  * @description Get the pool liquidation reward for a deepbook pool
83
83
  * @param {string} poolKey The key to identify the pool
84
84
  * @returns A function that takes a Transaction object
85
85
  */
86
- poolLiquidationReward: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions116.TransactionResult;
86
+ poolLiquidationReward: (poolKey: string) => (tx: Transaction) => _mysten_sui_transactions94.TransactionResult;
87
87
  /**
88
88
  * @description Get all allowed maintainer cap IDs
89
89
  * @returns A function that takes a Transaction object
90
90
  */
91
- allowedMaintainers: () => (tx: Transaction) => _mysten_sui_transactions116.TransactionResult;
91
+ allowedMaintainers: () => (tx: Transaction) => _mysten_sui_transactions94.TransactionResult;
92
92
  /**
93
93
  * @description Get all allowed pause cap IDs
94
94
  * @returns A function that takes a Transaction object
95
95
  */
96
- allowedPauseCaps: () => (tx: Transaction) => _mysten_sui_transactions116.TransactionResult;
96
+ allowedPauseCaps: () => (tx: Transaction) => _mysten_sui_transactions94.TransactionResult;
97
97
  }
98
98
  //#endregion
99
99
  export { MarginRegistryContract };
@@ -1 +1 @@
1
- {"version":3,"file":"marginRegistry.d.mts","names":[],"sources":["../../src/transactions/marginRegistry.ts"],"sourcesContent":[],"mappings":";;;;;;;;AASa,cAAA,sBAAA,CAAsB;EAMd,CAAA,OAAA;EASoB;;;EAgBe,WAAA,CAAA,MAAA,EAzBnC,cAyBmC;EAcE;;;;;EA2BD,WAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,CAAA,EAAA,EAzDhB,WAyDgB,EAAA,GAzDL,2BAAA,CAAA,iBAyDK;EAcV;;;;;EA4BY,eAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,CAAA,EAAA,EAnFd,WAmFc,EAAA,GAnFH,2BAAA,CAAA,iBAmFG;EAcT;;;;;EA4BY,4BAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,CAAA,EAAA,EA/GJ,WA+GI,EAAA,GA/GO,2BAAA,CAAA,iBA+GP;EAcX;;;;;EAyBT,mBAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,CAAA,EAAA,EAxIK,WAwIL,EAAA,GAxIgB,2BAAA,CAAA,iBAwIhB;EAAA;;;;;8CA3HI,gBAAW,2BAAA,CAAA;;;;;;+CAcV,gBAAW,2BAAA,CAAA;;;;;;kDAcR,gBAAW,2BAAA,CAAA;;;;;;gDAcb,gBAAW,2BAAA,CAAA;;;;;;kDAcT,gBAAW,2BAAA,CAAA;;;;;;wDAcL,gBAAW,2BAAA,CAAA;;;;;;mDAchB,gBAAW,2BAAA,CAAA;;;;;;mDAcX,gBAAW,2BAAA,CAAA;;;;;iCAa7B,gBAAW,2BAAA,CAAA;;;;;+BAYb,gBAAW,2BAAA,CAAA"}
1
+ {"version":3,"file":"marginRegistry.d.mts","names":[],"sources":["../../src/transactions/marginRegistry.ts"],"sourcesContent":[],"mappings":";;;;;;;;AASa,cAAA,sBAAA,CAAsB;EAMd,CAAA,OAAA;EASoB;;;EAgBe,WAAA,CAAA,MAAA,EAzBnC,cAyBmC;EAcE;;;;;EA2BD,WAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,CAAA,EAAA,EAzDhB,WAyDgB,EAAA,GAzDL,0BAAA,CAAA,iBAyDK;EAcV;;;;;EA4BY,eAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,CAAA,EAAA,EAnFd,WAmFc,EAAA,GAnFH,0BAAA,CAAA,iBAmFG;EAcT;;;;;EA4BY,4BAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,CAAA,EAAA,EA/GJ,WA+GI,EAAA,GA/GO,0BAAA,CAAA,iBA+GP;EAcX;;;;;EAyBT,mBAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,CAAA,EAAA,EAxIK,WAwIL,EAAA,GAxIgB,0BAAA,CAAA,iBAwIhB;EAAA;;;;;8CA3HI,gBAAW,0BAAA,CAAA;;;;;;+CAcV,gBAAW,0BAAA,CAAA;;;;;;kDAcR,gBAAW,0BAAA,CAAA;;;;;;gDAcb,gBAAW,0BAAA,CAAA;;;;;;kDAcT,gBAAW,0BAAA,CAAA;;;;;;wDAcL,gBAAW,0BAAA,CAAA;;;;;;mDAchB,gBAAW,0BAAA,CAAA;;;;;;mDAcX,gBAAW,0BAAA,CAAA;;;;;iCAa7B,gBAAW,0BAAA,CAAA;;;;;+BAYb,gBAAW,0BAAA,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { BalanceManager, Coin, MarginManager, MarginPool, Pool } from "../types/index.mjs";
2
- import { CoinMap, MarginPoolMap, PoolMap } from "./constants.mjs";
2
+ import { CoinMap, DeepbookPackageIds, MarginPoolMap, PoolMap } from "./constants.mjs";
3
3
  import { BalanceManagerContract } from "../transactions/balanceManager.mjs";
4
4
  import { SuiClientTypes } from "@mysten/sui/client";
5
5
 
@@ -44,7 +44,9 @@ declare class DeepBookConfig {
44
44
  marginManagers,
45
45
  coins,
46
46
  pools,
47
- marginPools
47
+ marginPools,
48
+ packageIds,
49
+ pyth
48
50
  }: {
49
51
  network: SuiClientTypes.Network;
50
52
  address: string;
@@ -60,7 +62,13 @@ declare class DeepBookConfig {
60
62
  coins?: CoinMap;
61
63
  pools?: PoolMap;
62
64
  marginPools?: MarginPoolMap;
65
+ packageIds?: DeepbookPackageIds;
66
+ pyth?: {
67
+ pythStateId: string;
68
+ wormholeStateId: string;
69
+ };
63
70
  });
71
+ requirePyth(): void;
64
72
  getCoin(key: string): Coin;
65
73
  getPool(key: string): Pool;
66
74
  getMarginPool(key: string): MarginPool;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.mts","names":[],"sources":["../../src/utils/config.ts"],"sourcesContent":[],"mappings":";;;;;;cAuBa,YAAA;cACA,WAAA;AADA,cAIA,aAAA,GAJY,oBAAA;AACZ,cAIA,4BAAA,GAJW,KAAA;AAGX,cAIA,UAAA,GAJa,SAAA;AACb,cAIA,sBAAA,GAJ4B,SAAA;AAG5B,cAGA,cAAA,CAHU;EACV,CAAA,OAAA;EAEA,OAAA,EAIH,cAAA,CAAe,OAJE;EAIjB,eAAe,EAAA;IACU,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,cAAA;EACD,CAAA;EAiBjB,cAAA,EAAA;IAGf,CAAA,GAAA,EAAA,MAAA,CAAA,EApBgC,aAoBhC;EACA,CAAA;EACA,OAAA,EAAA,MAAA;EACA,IAAA,EAAA;IACA,WAAA,EAAA,MAAA;IACA,eAAA,EAAA,MAAA;EACA,CAAA;EACA,mBAAA,EAAA,MAAA;EACA,WAAA,EAAA,MAAA;EACA,gBAAA,EAAA,MAAA;EAES,iBAAe,EAAA,MAAA;EAKW,kBAAA,EAAA,MAAA;EACD,sBAAA,EAAA,MAAA;EAC1B,QAAA,CAAA,EAAA,MAAA;EACA,cAAA,CAAA,EAAA,MAAA;EACM,mBAAA,CAAA,EAAA,MAAA;EA0CO,cAAA,EAjEN,sBAiEM;EASA,WAAA,CAAA;IAAA,OAAA;IAAA,OAAA;IAAA,QAAA;IAAA,cAAA;IAAA,mBAAA;IAAA,eAAA;IAAA,cAAA;IAAA,KAAA;IAAA,KAAA;IAAA;GAAA,EAAA;IASM,OAAA,EArElB,cAAA,CAAe,OAqEG;IAcW,OAAA,EAAA,MAAA;IAaD,QAAA,CAAA,EAAA,MAAA;IAAa,cAAA,CAAA,EAAA,MAAA;;;qBA3Ff;;;qBACD;;YAC1B;YACA;kBACM;;wBA0CO;wBASA;8BASM;;;;;;yCAcW;;;;;;wCAaD"}
1
+ {"version":3,"file":"config.d.mts","names":[],"sources":["../../src/utils/config.ts"],"sourcesContent":[],"mappings":";;;;;;cAuBa,YAAA;cACA,WAAA;AADA,cAIA,aAAA,GAJY,oBAAA;AACZ,cAIA,4BAAA,GAJW,KAAA;AAGX,cAIA,UAAA,GAJa,SAAA;AACb,cAIA,sBAAA,GAJ4B,SAAA;AAG5B,cAGA,cAAA,CAHU;EACV,CAAA,OAAA;EAEA,OAAA,EAIH,cAAA,CAAe,OAJE;EAIjB,eAAe,EAAA;IACU,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,cAAA;EACD,CAAA;EAiBjB,cAAA,EAAA;IAGf,CAAA,GAAA,EAAA,MAAA,CAAA,EApBgC,aAoBhC;EACA,CAAA;EACA,OAAA,EAAA,MAAA;EACA,IAAA,EAAA;IACA,WAAA,EAAA,MAAA;IACA,eAAA,EAAA,MAAA;EACA,CAAA;EACA,mBAAA,EAAA,MAAA;EACA,WAAA,EAAA,MAAA;EACA,gBAAA,EAAA,MAAA;EACA,iBAAA,EAAA,MAAA;EACA,kBAAA,EAAA,MAAA;EAES,sBAAe,EAAA,MAAA;EAKW,QAAA,CAAA,EAAA,MAAA;EACD,cAAA,CAAA,EAAA,MAAA;EAC1B,mBAAA,CAAA,EAAA,MAAA;EACA,cAAA,EAxBO,sBAwBP;EACM,WAAA,CAAA;IAAA,OAAA;IAAA,OAAA;IAAA,QAAA;IAAA,cAAA;IAAA,mBAAA;IAAA,eAAA;IAAA,cAAA;IAAA,KAAA;IAAA,KAAA;IAAA,WAAA;IAAA,UAAA;IAAA;GAAA,EAAA;IACD,OAAA,EAVJ,cAAA,CAAe,OAUX;IA8DQ,OAAA,EAAA,MAAA;IASA,QAAA,CAAA,EAAA,MAAA;IASM,cAAA,CAAA,EAAA,MAAA;IAcW,mBAAA,CAAA,EAAA,MAAA;IAaD,eAAA,CAAA,EAAA;MAAa,CAAA,GAAA,EAAA,MAAA,CAAA,EAhHf,cAgHe;;;qBA/GhB;;YAC1B;YACA;kBACM;iBACD;;;;;;;wBA8DQ;wBASA;8BASM;;;;;;yCAcW;;;;;;wCAaD"}
@@ -1,5 +1,5 @@
1
1
  import { BalanceManagerContract } from "../transactions/balanceManager.mjs";
2
- import { ErrorMessages, ResourceNotFoundError } from "./errors.mjs";
2
+ import { ConfigurationError, ErrorMessages, ResourceNotFoundError } from "./errors.mjs";
3
3
  import { mainnetCoins, mainnetMarginPools, mainnetPackageIds, mainnetPools, mainnetPythConfigs, testnetCoins, testnetMarginPools, testnetPackageIds, testnetPools, testnetPythConfigs } from "./constants.mjs";
4
4
  import { normalizeSuiAddress } from "@mysten/sui/utils";
5
5
 
@@ -14,8 +14,7 @@ var DeepBookConfig = class {
14
14
  #coins;
15
15
  #pools;
16
16
  #marginPools;
17
- constructor({ network, address, adminCap, marginAdminCap, marginMaintainerCap, balanceManagers, marginManagers, coins, pools, marginPools }) {
18
- if (network !== "mainnet" && network !== "testnet") throw new Error(`DeepBook only supports 'mainnet' and 'testnet' networks, got '${network}'`);
17
+ constructor({ network, address, adminCap, marginAdminCap, marginMaintainerCap, balanceManagers, marginManagers, coins, pools, marginPools, packageIds, pyth }) {
19
18
  this.network = network;
20
19
  this.address = normalizeSuiAddress(address);
21
20
  this.adminCap = adminCap;
@@ -23,7 +22,21 @@ var DeepBookConfig = class {
23
22
  this.marginMaintainerCap = marginMaintainerCap;
24
23
  this.balanceManagers = balanceManagers || {};
25
24
  this.marginManagers = marginManagers || {};
26
- if (network === "mainnet") {
25
+ if (packageIds) {
26
+ this.DEEPBOOK_PACKAGE_ID = packageIds.DEEPBOOK_PACKAGE_ID || "";
27
+ this.REGISTRY_ID = packageIds.REGISTRY_ID || "";
28
+ this.DEEP_TREASURY_ID = packageIds.DEEP_TREASURY_ID || "";
29
+ this.MARGIN_PACKAGE_ID = packageIds.MARGIN_PACKAGE_ID || "";
30
+ this.MARGIN_REGISTRY_ID = packageIds.MARGIN_REGISTRY_ID || "";
31
+ this.LIQUIDATION_PACKAGE_ID = packageIds.LIQUIDATION_PACKAGE_ID || "";
32
+ this.#coins = coins || {};
33
+ this.#pools = pools || {};
34
+ this.#marginPools = marginPools || {};
35
+ this.pyth = pyth || {
36
+ pythStateId: "",
37
+ wormholeStateId: ""
38
+ };
39
+ } else if (network === "mainnet") {
27
40
  this.#coins = coins || mainnetCoins;
28
41
  this.#pools = pools || mainnetPools;
29
42
  this.#marginPools = marginPools || mainnetMarginPools;
@@ -34,7 +47,7 @@ var DeepBookConfig = class {
34
47
  this.MARGIN_REGISTRY_ID = mainnetPackageIds.MARGIN_REGISTRY_ID;
35
48
  this.LIQUIDATION_PACKAGE_ID = mainnetPackageIds.LIQUIDATION_PACKAGE_ID;
36
49
  this.pyth = mainnetPythConfigs;
37
- } else {
50
+ } else if (network === "testnet") {
38
51
  this.#coins = coins || testnetCoins;
39
52
  this.#pools = pools || testnetPools;
40
53
  this.#marginPools = marginPools || testnetMarginPools;
@@ -45,9 +58,12 @@ var DeepBookConfig = class {
45
58
  this.MARGIN_REGISTRY_ID = testnetPackageIds.MARGIN_REGISTRY_ID;
46
59
  this.LIQUIDATION_PACKAGE_ID = testnetPackageIds.LIQUIDATION_PACKAGE_ID;
47
60
  this.pyth = testnetPythConfigs;
48
- }
61
+ } else throw new Error(`Network '${network}' is not supported by default. Provide custom 'packageIds' for non-standard networks.`);
49
62
  this.balanceManager = new BalanceManagerContract(this);
50
63
  }
64
+ requirePyth() {
65
+ if (!this.pyth.pythStateId || !this.pyth.wormholeStateId) throw new ConfigurationError("Pyth configuration is required for price feed operations. Provide 'pyth' when using custom packageIds.");
66
+ }
51
67
  getCoin(key) {
52
68
  const coin = this.#coins[key];
53
69
  if (!coin) throw new ResourceNotFoundError("Coin", key);
@@ -1 +1 @@
1
- {"version":3,"file":"config.mjs","names":["#coins","#pools","#marginPools"],"sources":["../../src/utils/config.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport type { SuiClientTypes } from '@mysten/sui/client';\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\n\nimport { BalanceManagerContract } from '../transactions/balanceManager.js';\nimport type { BalanceManager, MarginManager, Coin, Pool, MarginPool } from '../types/index.js';\nimport type { CoinMap, PoolMap, MarginPoolMap } from './constants.js';\nimport { ResourceNotFoundError, ErrorMessages } from './errors.js';\nimport {\n\tmainnetCoins,\n\tmainnetPackageIds,\n\tmainnetPools,\n\ttestnetCoins,\n\ttestnetPackageIds,\n\ttestnetPools,\n\tmainnetMarginPools,\n\ttestnetMarginPools,\n\tmainnetPythConfigs,\n\ttestnetPythConfigs,\n} from './constants.js';\n\n// Constants for numerical precision and scaling\nexport const FLOAT_SCALAR = 1_000_000_000; // 10^9 - Used for floating point representation\nexport const DEEP_SCALAR = 1_000_000; // 10^6 - DEEP token decimal places\n\n// Time-related constants\nexport const MAX_TIMESTAMP = 1_844_674_407_370_955_161n; // Maximum Unix timestamp (approximately year 2554)\nexport const PRICE_INFO_OBJECT_MAX_AGE_MS = 30_000; // 30 seconds in milliseconds\n\n// Transaction and fee constants\nexport const GAS_BUDGET = 250_000_000; // 0.25 SUI (0.5 * 500M MIST)\nexport const POOL_CREATION_FEE_DEEP = 500_000_000; // 500 DEEP tokens (500 * 10^6)\n\nexport class DeepBookConfig {\n\t#coins: CoinMap;\n\t#pools: PoolMap;\n\t#marginPools: MarginPoolMap;\n\tnetwork: SuiClientTypes.Network;\n\tbalanceManagers: { [key: string]: BalanceManager };\n\tmarginManagers: { [key: string]: MarginManager };\n\taddress: string;\n\tpyth: {\n\t\tpythStateId: string;\n\t\twormholeStateId: string;\n\t};\n\n\tDEEPBOOK_PACKAGE_ID: string;\n\tREGISTRY_ID: string;\n\tDEEP_TREASURY_ID: string;\n\tMARGIN_PACKAGE_ID: string;\n\tMARGIN_REGISTRY_ID: string;\n\tLIQUIDATION_PACKAGE_ID: string;\n\tadminCap?: string;\n\tmarginAdminCap?: string;\n\tmarginMaintainerCap?: string;\n\n\tbalanceManager: BalanceManagerContract;\n\n\tconstructor({\n\t\tnetwork,\n\t\taddress,\n\t\tadminCap,\n\t\tmarginAdminCap,\n\t\tmarginMaintainerCap,\n\t\tbalanceManagers,\n\t\tmarginManagers,\n\t\tcoins,\n\t\tpools,\n\t\tmarginPools,\n\t}: {\n\t\tnetwork: SuiClientTypes.Network;\n\t\taddress: string;\n\t\tadminCap?: string;\n\t\tmarginAdminCap?: string;\n\t\tmarginMaintainerCap?: string;\n\t\tbalanceManagers?: { [key: string]: BalanceManager };\n\t\tmarginManagers?: { [key: string]: MarginManager };\n\t\tcoins?: CoinMap;\n\t\tpools?: PoolMap;\n\t\tmarginPools?: MarginPoolMap;\n\t}) {\n\t\tif (network !== 'mainnet' && network !== 'testnet') {\n\t\t\tthrow new Error(`DeepBook only supports 'mainnet' and 'testnet' networks, got '${network}'`);\n\t\t}\n\n\t\tthis.network = network;\n\t\tthis.address = normalizeSuiAddress(address);\n\t\tthis.adminCap = adminCap;\n\t\tthis.marginAdminCap = marginAdminCap;\n\t\tthis.marginMaintainerCap = marginMaintainerCap;\n\t\tthis.balanceManagers = balanceManagers || {};\n\t\tthis.marginManagers = marginManagers || {};\n\n\t\tif (network === 'mainnet') {\n\t\t\tthis.#coins = coins || mainnetCoins;\n\t\t\tthis.#pools = pools || mainnetPools;\n\t\t\tthis.#marginPools = marginPools || mainnetMarginPools;\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\tthis.MARGIN_PACKAGE_ID = mainnetPackageIds.MARGIN_PACKAGE_ID;\n\t\t\tthis.MARGIN_REGISTRY_ID = mainnetPackageIds.MARGIN_REGISTRY_ID;\n\t\t\tthis.LIQUIDATION_PACKAGE_ID = mainnetPackageIds.LIQUIDATION_PACKAGE_ID;\n\t\t\tthis.pyth = mainnetPythConfigs;\n\t\t} else {\n\t\t\tthis.#coins = coins || testnetCoins;\n\t\t\tthis.#pools = pools || testnetPools;\n\t\t\tthis.#marginPools = marginPools || testnetMarginPools;\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\tthis.MARGIN_PACKAGE_ID = testnetPackageIds.MARGIN_PACKAGE_ID;\n\t\t\tthis.MARGIN_REGISTRY_ID = testnetPackageIds.MARGIN_REGISTRY_ID;\n\t\t\tthis.LIQUIDATION_PACKAGE_ID = testnetPackageIds.LIQUIDATION_PACKAGE_ID;\n\t\t\tthis.pyth = testnetPythConfigs;\n\t\t}\n\n\t\tthis.balanceManager = new BalanceManagerContract(this);\n\t}\n\n\t// Getters\n\tgetCoin(key: string): Coin {\n\t\tconst coin = this.#coins[key];\n\t\tif (!coin) {\n\t\t\tthrow new ResourceNotFoundError('Coin', key);\n\t\t}\n\n\t\treturn coin;\n\t}\n\n\tgetPool(key: string): Pool {\n\t\tconst pool = this.#pools[key];\n\t\tif (!pool) {\n\t\t\tthrow new ResourceNotFoundError('Pool', key);\n\t\t}\n\n\t\treturn pool;\n\t}\n\n\tgetMarginPool(key: string): MarginPool {\n\t\tconst pool = this.#marginPools[key];\n\t\tif (!pool) {\n\t\t\tthrow new ResourceNotFoundError('Margin pool', 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(ErrorMessages.BALANCE_MANAGER_NOT_FOUND(managerKey));\n\t\t}\n\n\t\treturn this.balanceManagers[managerKey];\n\t}\n\n\t/**\n\t * @description Get the margin manager by key\n\t * @param managerKey Key of the margin manager\n\t * @returns The MarginManager object\n\t */\n\tgetMarginManager(managerKey: string): MarginManager {\n\t\tif (!Object.hasOwn(this.marginManagers, managerKey)) {\n\t\t\tthrow new Error(ErrorMessages.MARGIN_MANAGER_NOT_FOUND(managerKey));\n\t\t}\n\n\t\treturn this.marginManagers[managerKey];\n\t}\n}\n"],"mappings":";;;;;;AAuBA,MAAa,eAAe;AAC5B,MAAa,cAAc;AAG3B,MAAa,gBAAgB;AAC7B,MAAa,+BAA+B;AAG5C,MAAa,aAAa;AAC1B,MAAa,yBAAyB;AAEtC,IAAa,iBAAb,MAA4B;CAC3B;CACA;CACA;CAsBA,YAAY,EACX,SACA,SACA,UACA,gBACA,qBACA,iBACA,gBACA,OACA,OACA,eAYE;AACF,MAAI,YAAY,aAAa,YAAY,UACxC,OAAM,IAAI,MAAM,iEAAiE,QAAQ,GAAG;AAG7F,OAAK,UAAU;AACf,OAAK,UAAU,oBAAoB,QAAQ;AAC3C,OAAK,WAAW;AAChB,OAAK,iBAAiB;AACtB,OAAK,sBAAsB;AAC3B,OAAK,kBAAkB,mBAAmB,EAAE;AAC5C,OAAK,iBAAiB,kBAAkB,EAAE;AAE1C,MAAI,YAAY,WAAW;AAC1B,SAAKA,QAAS,SAAS;AACvB,SAAKC,QAAS,SAAS;AACvB,SAAKC,cAAe,eAAe;AACnC,QAAK,sBAAsB,kBAAkB;AAC7C,QAAK,cAAc,kBAAkB;AACrC,QAAK,mBAAmB,kBAAkB;AAC1C,QAAK,oBAAoB,kBAAkB;AAC3C,QAAK,qBAAqB,kBAAkB;AAC5C,QAAK,yBAAyB,kBAAkB;AAChD,QAAK,OAAO;SACN;AACN,SAAKF,QAAS,SAAS;AACvB,SAAKC,QAAS,SAAS;AACvB,SAAKC,cAAe,eAAe;AACnC,QAAK,sBAAsB,kBAAkB;AAC7C,QAAK,cAAc,kBAAkB;AACrC,QAAK,mBAAmB,kBAAkB;AAC1C,QAAK,oBAAoB,kBAAkB;AAC3C,QAAK,qBAAqB,kBAAkB;AAC5C,QAAK,yBAAyB,kBAAkB;AAChD,QAAK,OAAO;;AAGb,OAAK,iBAAiB,IAAI,uBAAuB,KAAK;;CAIvD,QAAQ,KAAmB;EAC1B,MAAM,OAAO,MAAKF,MAAO;AACzB,MAAI,CAAC,KACJ,OAAM,IAAI,sBAAsB,QAAQ,IAAI;AAG7C,SAAO;;CAGR,QAAQ,KAAmB;EAC1B,MAAM,OAAO,MAAKC,MAAO;AACzB,MAAI,CAAC,KACJ,OAAM,IAAI,sBAAsB,QAAQ,IAAI;AAG7C,SAAO;;CAGR,cAAc,KAAyB;EACtC,MAAM,OAAO,MAAKC,YAAa;AAC/B,MAAI,CAAC,KACJ,OAAM,IAAI,sBAAsB,eAAe,IAAI;AAGpD,SAAO;;;;;;;CAQR,kBAAkB,YAAoC;AACrD,MAAI,CAAC,OAAO,OAAO,KAAK,iBAAiB,WAAW,CACnD,OAAM,IAAI,MAAM,cAAc,0BAA0B,WAAW,CAAC;AAGrE,SAAO,KAAK,gBAAgB;;;;;;;CAQ7B,iBAAiB,YAAmC;AACnD,MAAI,CAAC,OAAO,OAAO,KAAK,gBAAgB,WAAW,CAClD,OAAM,IAAI,MAAM,cAAc,yBAAyB,WAAW,CAAC;AAGpE,SAAO,KAAK,eAAe"}
1
+ {"version":3,"file":"config.mjs","names":["#coins","#pools","#marginPools"],"sources":["../../src/utils/config.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport type { SuiClientTypes } from '@mysten/sui/client';\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\n\nimport { BalanceManagerContract } from '../transactions/balanceManager.js';\nimport type { BalanceManager, MarginManager, Coin, Pool, MarginPool } from '../types/index.js';\nimport type { CoinMap, PoolMap, MarginPoolMap, DeepbookPackageIds } from './constants.js';\nimport { ResourceNotFoundError, ConfigurationError, ErrorMessages } from './errors.js';\nimport {\n\tmainnetCoins,\n\tmainnetPackageIds,\n\tmainnetPools,\n\ttestnetCoins,\n\ttestnetPackageIds,\n\ttestnetPools,\n\tmainnetMarginPools,\n\ttestnetMarginPools,\n\tmainnetPythConfigs,\n\ttestnetPythConfigs,\n} from './constants.js';\n\n// Constants for numerical precision and scaling\nexport const FLOAT_SCALAR = 1_000_000_000; // 10^9 - Used for floating point representation\nexport const DEEP_SCALAR = 1_000_000; // 10^6 - DEEP token decimal places\n\n// Time-related constants\nexport const MAX_TIMESTAMP = 1_844_674_407_370_955_161n; // Maximum Unix timestamp (approximately year 2554)\nexport const PRICE_INFO_OBJECT_MAX_AGE_MS = 30_000; // 30 seconds in milliseconds\n\n// Transaction and fee constants\nexport const GAS_BUDGET = 250_000_000; // 0.25 SUI (0.5 * 500M MIST)\nexport const POOL_CREATION_FEE_DEEP = 500_000_000; // 500 DEEP tokens (500 * 10^6)\n\nexport class DeepBookConfig {\n\t#coins: CoinMap;\n\t#pools: PoolMap;\n\t#marginPools: MarginPoolMap;\n\tnetwork: SuiClientTypes.Network;\n\tbalanceManagers: { [key: string]: BalanceManager };\n\tmarginManagers: { [key: string]: MarginManager };\n\taddress: string;\n\tpyth: {\n\t\tpythStateId: string;\n\t\twormholeStateId: string;\n\t};\n\n\tDEEPBOOK_PACKAGE_ID: string;\n\tREGISTRY_ID: string;\n\tDEEP_TREASURY_ID: string;\n\tMARGIN_PACKAGE_ID: string;\n\tMARGIN_REGISTRY_ID: string;\n\tLIQUIDATION_PACKAGE_ID: string;\n\tadminCap?: string;\n\tmarginAdminCap?: string;\n\tmarginMaintainerCap?: string;\n\n\tbalanceManager: BalanceManagerContract;\n\n\tconstructor({\n\t\tnetwork,\n\t\taddress,\n\t\tadminCap,\n\t\tmarginAdminCap,\n\t\tmarginMaintainerCap,\n\t\tbalanceManagers,\n\t\tmarginManagers,\n\t\tcoins,\n\t\tpools,\n\t\tmarginPools,\n\t\tpackageIds,\n\t\tpyth,\n\t}: {\n\t\tnetwork: SuiClientTypes.Network;\n\t\taddress: string;\n\t\tadminCap?: string;\n\t\tmarginAdminCap?: string;\n\t\tmarginMaintainerCap?: string;\n\t\tbalanceManagers?: { [key: string]: BalanceManager };\n\t\tmarginManagers?: { [key: string]: MarginManager };\n\t\tcoins?: CoinMap;\n\t\tpools?: PoolMap;\n\t\tmarginPools?: MarginPoolMap;\n\t\tpackageIds?: DeepbookPackageIds;\n\t\tpyth?: { pythStateId: string; wormholeStateId: string };\n\t}) {\n\t\tthis.network = network;\n\t\tthis.address = normalizeSuiAddress(address);\n\t\tthis.adminCap = adminCap;\n\t\tthis.marginAdminCap = marginAdminCap;\n\t\tthis.marginMaintainerCap = marginMaintainerCap;\n\t\tthis.balanceManagers = balanceManagers || {};\n\t\tthis.marginManagers = marginManagers || {};\n\n\t\tif (packageIds) {\n\t\t\tthis.DEEPBOOK_PACKAGE_ID = packageIds.DEEPBOOK_PACKAGE_ID || '';\n\t\t\tthis.REGISTRY_ID = packageIds.REGISTRY_ID || '';\n\t\t\tthis.DEEP_TREASURY_ID = packageIds.DEEP_TREASURY_ID || '';\n\t\t\tthis.MARGIN_PACKAGE_ID = packageIds.MARGIN_PACKAGE_ID || '';\n\t\t\tthis.MARGIN_REGISTRY_ID = packageIds.MARGIN_REGISTRY_ID || '';\n\t\t\tthis.LIQUIDATION_PACKAGE_ID = packageIds.LIQUIDATION_PACKAGE_ID || '';\n\t\t\tthis.#coins = coins || {};\n\t\t\tthis.#pools = pools || {};\n\t\t\tthis.#marginPools = marginPools || {};\n\t\t\tthis.pyth = pyth || { pythStateId: '', wormholeStateId: '' };\n\t\t} else if (network === 'mainnet') {\n\t\t\tthis.#coins = coins || mainnetCoins;\n\t\t\tthis.#pools = pools || mainnetPools;\n\t\t\tthis.#marginPools = marginPools || mainnetMarginPools;\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\tthis.MARGIN_PACKAGE_ID = mainnetPackageIds.MARGIN_PACKAGE_ID;\n\t\t\tthis.MARGIN_REGISTRY_ID = mainnetPackageIds.MARGIN_REGISTRY_ID;\n\t\t\tthis.LIQUIDATION_PACKAGE_ID = mainnetPackageIds.LIQUIDATION_PACKAGE_ID;\n\t\t\tthis.pyth = mainnetPythConfigs;\n\t\t} else if (network === 'testnet') {\n\t\t\tthis.#coins = coins || testnetCoins;\n\t\t\tthis.#pools = pools || testnetPools;\n\t\t\tthis.#marginPools = marginPools || testnetMarginPools;\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\tthis.MARGIN_PACKAGE_ID = testnetPackageIds.MARGIN_PACKAGE_ID;\n\t\t\tthis.MARGIN_REGISTRY_ID = testnetPackageIds.MARGIN_REGISTRY_ID;\n\t\t\tthis.LIQUIDATION_PACKAGE_ID = testnetPackageIds.LIQUIDATION_PACKAGE_ID;\n\t\t\tthis.pyth = testnetPythConfigs;\n\t\t} else {\n\t\t\tthrow new Error(\n\t\t\t\t`Network '${network}' is not supported by default. Provide custom 'packageIds' for non-standard networks.`,\n\t\t\t);\n\t\t}\n\n\t\tthis.balanceManager = new BalanceManagerContract(this);\n\t}\n\n\trequirePyth() {\n\t\tif (!this.pyth.pythStateId || !this.pyth.wormholeStateId) {\n\t\t\tthrow new ConfigurationError(\n\t\t\t\t\"Pyth configuration is required for price feed operations. Provide 'pyth' when using custom packageIds.\",\n\t\t\t);\n\t\t}\n\t}\n\n\t// Getters\n\tgetCoin(key: string): Coin {\n\t\tconst coin = this.#coins[key];\n\t\tif (!coin) {\n\t\t\tthrow new ResourceNotFoundError('Coin', key);\n\t\t}\n\n\t\treturn coin;\n\t}\n\n\tgetPool(key: string): Pool {\n\t\tconst pool = this.#pools[key];\n\t\tif (!pool) {\n\t\t\tthrow new ResourceNotFoundError('Pool', key);\n\t\t}\n\n\t\treturn pool;\n\t}\n\n\tgetMarginPool(key: string): MarginPool {\n\t\tconst pool = this.#marginPools[key];\n\t\tif (!pool) {\n\t\t\tthrow new ResourceNotFoundError('Margin pool', 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(ErrorMessages.BALANCE_MANAGER_NOT_FOUND(managerKey));\n\t\t}\n\n\t\treturn this.balanceManagers[managerKey];\n\t}\n\n\t/**\n\t * @description Get the margin manager by key\n\t * @param managerKey Key of the margin manager\n\t * @returns The MarginManager object\n\t */\n\tgetMarginManager(managerKey: string): MarginManager {\n\t\tif (!Object.hasOwn(this.marginManagers, managerKey)) {\n\t\t\tthrow new Error(ErrorMessages.MARGIN_MANAGER_NOT_FOUND(managerKey));\n\t\t}\n\n\t\treturn this.marginManagers[managerKey];\n\t}\n}\n"],"mappings":";;;;;;AAuBA,MAAa,eAAe;AAC5B,MAAa,cAAc;AAG3B,MAAa,gBAAgB;AAC7B,MAAa,+BAA+B;AAG5C,MAAa,aAAa;AAC1B,MAAa,yBAAyB;AAEtC,IAAa,iBAAb,MAA4B;CAC3B;CACA;CACA;CAsBA,YAAY,EACX,SACA,SACA,UACA,gBACA,qBACA,iBACA,gBACA,OACA,OACA,aACA,YACA,QAcE;AACF,OAAK,UAAU;AACf,OAAK,UAAU,oBAAoB,QAAQ;AAC3C,OAAK,WAAW;AAChB,OAAK,iBAAiB;AACtB,OAAK,sBAAsB;AAC3B,OAAK,kBAAkB,mBAAmB,EAAE;AAC5C,OAAK,iBAAiB,kBAAkB,EAAE;AAE1C,MAAI,YAAY;AACf,QAAK,sBAAsB,WAAW,uBAAuB;AAC7D,QAAK,cAAc,WAAW,eAAe;AAC7C,QAAK,mBAAmB,WAAW,oBAAoB;AACvD,QAAK,oBAAoB,WAAW,qBAAqB;AACzD,QAAK,qBAAqB,WAAW,sBAAsB;AAC3D,QAAK,yBAAyB,WAAW,0BAA0B;AACnE,SAAKA,QAAS,SAAS,EAAE;AACzB,SAAKC,QAAS,SAAS,EAAE;AACzB,SAAKC,cAAe,eAAe,EAAE;AACrC,QAAK,OAAO,QAAQ;IAAE,aAAa;IAAI,iBAAiB;IAAI;aAClD,YAAY,WAAW;AACjC,SAAKF,QAAS,SAAS;AACvB,SAAKC,QAAS,SAAS;AACvB,SAAKC,cAAe,eAAe;AACnC,QAAK,sBAAsB,kBAAkB;AAC7C,QAAK,cAAc,kBAAkB;AACrC,QAAK,mBAAmB,kBAAkB;AAC1C,QAAK,oBAAoB,kBAAkB;AAC3C,QAAK,qBAAqB,kBAAkB;AAC5C,QAAK,yBAAyB,kBAAkB;AAChD,QAAK,OAAO;aACF,YAAY,WAAW;AACjC,SAAKF,QAAS,SAAS;AACvB,SAAKC,QAAS,SAAS;AACvB,SAAKC,cAAe,eAAe;AACnC,QAAK,sBAAsB,kBAAkB;AAC7C,QAAK,cAAc,kBAAkB;AACrC,QAAK,mBAAmB,kBAAkB;AAC1C,QAAK,oBAAoB,kBAAkB;AAC3C,QAAK,qBAAqB,kBAAkB;AAC5C,QAAK,yBAAyB,kBAAkB;AAChD,QAAK,OAAO;QAEZ,OAAM,IAAI,MACT,YAAY,QAAQ,uFACpB;AAGF,OAAK,iBAAiB,IAAI,uBAAuB,KAAK;;CAGvD,cAAc;AACb,MAAI,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,KAAK,gBACxC,OAAM,IAAI,mBACT,yGACA;;CAKH,QAAQ,KAAmB;EAC1B,MAAM,OAAO,MAAKF,MAAO;AACzB,MAAI,CAAC,KACJ,OAAM,IAAI,sBAAsB,QAAQ,IAAI;AAG7C,SAAO;;CAGR,QAAQ,KAAmB;EAC1B,MAAM,OAAO,MAAKC,MAAO;AACzB,MAAI,CAAC,KACJ,OAAM,IAAI,sBAAsB,QAAQ,IAAI;AAG7C,SAAO;;CAGR,cAAc,KAAyB;EACtC,MAAM,OAAO,MAAKC,YAAa;AAC/B,MAAI,CAAC,KACJ,OAAM,IAAI,sBAAsB,eAAe,IAAI;AAGpD,SAAO;;;;;;;CAQR,kBAAkB,YAAoC;AACrD,MAAI,CAAC,OAAO,OAAO,KAAK,iBAAiB,WAAW,CACnD,OAAM,IAAI,MAAM,cAAc,0BAA0B,WAAW,CAAC;AAGrE,SAAO,KAAK,gBAAgB;;;;;;;CAQ7B,iBAAiB,YAAmC;AACnD,MAAI,CAAC,OAAO,OAAO,KAAK,gBAAgB,WAAW,CAClD,OAAM,IAAI,MAAM,cAAc,yBAAyB,WAAW,CAAC;AAGpE,SAAO,KAAK,eAAe"}
@@ -5,12 +5,12 @@ type CoinMap = Record<string, Coin>;
5
5
  type PoolMap = Record<string, Pool>;
6
6
  type MarginPoolMap = Record<string, MarginPool>;
7
7
  interface DeepbookPackageIds {
8
- DEEPBOOK_PACKAGE_ID: string;
9
- REGISTRY_ID: string;
10
- DEEP_TREASURY_ID: string;
11
- MARGIN_PACKAGE_ID: string;
12
- MARGIN_REGISTRY_ID: string;
13
- LIQUIDATION_PACKAGE_ID: string;
8
+ DEEPBOOK_PACKAGE_ID?: string;
9
+ REGISTRY_ID?: string;
10
+ DEEP_TREASURY_ID?: string;
11
+ MARGIN_PACKAGE_ID?: string;
12
+ MARGIN_REGISTRY_ID?: string;
13
+ LIQUIDATION_PACKAGE_ID?: string;
14
14
  }
15
15
  declare const testnetPackageIds: {
16
16
  DEEPBOOK_PACKAGE_ID: string;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.mts","names":[],"sources":["../../src/utils/constants.ts"],"sourcesContent":[],"mappings":";;;KAKY,OAAA,GAAU,eAAe;KACzB,OAAA,GAAU,eAAe;AADzB,KAEA,aAAA,GAAgB,MAFN,CAAA,MAAM,EAEe,UAFf,CAAA;AAChB,UAEK,kBAAA,CAFK;EACV,mBAAa,EAAA,MAAA;EACR,WAAA,EAAA,MAAA;EASJ,gBAAA,EAAA,MAOiB;EAEjB,iBAAA,EAAA,MAOiB;EAEjB,kBA2CZ,EAAA,MAAA;EAEY,sBA0HZ,EAAA,MA1H0B;AA4H3B;AAsCa,cAjOA,iBAiOc,EA+G1B;EAEY,mBAAA,EAiBZ,MAAA;EAEY,WAAA,EAAA,MAAA;EAuBA,gBAAA,EAAA,MAGZ;EAEY,iBAAA,EAAA,MAGZ;;;;cA3XY;;;;;;;;cASA,cAAc;cA6Cd,cAAc;cA4Hd,cAAc;cAsCd,cAAc;cAiHd;;;;;;;;;;;;;;;;;;cAmBA;;;;;;;;;;;;;;;;;;;;;;cAuBA;;;;cAKA"}
1
+ {"version":3,"file":"constants.d.mts","names":[],"sources":["../../src/utils/constants.ts"],"sourcesContent":[],"mappings":";;;KAKY,OAAA,GAAU,eAAe;KACzB,OAAA,GAAU,eAAe;AADzB,KAEA,aAAA,GAAgB,MAFN,CAAA,MAAM,EAEe,UAFf,CAAA;AAChB,UAEK,kBAAA,CAFK;EACV,mBAAa,CAAA,EAAA,MAAkB;EAC1B,WAAA,CAAA,EAAA,MAAA;EASJ,gBAAA,CAAA,EAAA,MAOiB;EAEjB,iBAAA,CAAA,EAOiB,MAAA;EAEjB,kBA2CZ,CAAA,EAAA,MA3C0B;EA6Cd,sBA0HZ,CAAA,EAAA,MA1H0B;AA4H3B;AAsCa,cAjOA,iBAiOc,EA+G1B;EAEY,mBAAA,EAiBZ,MAAA;EAEY,WAAA,EAAA,MAAA;EAuBA,gBAAA,EAAA,MAGZ;EAEY,iBAAA,EAAA,MAGZ;;;;cA3XY;;;;;;;;cASA,cAAc;cA6Cd,cAAc;cA4Hd,cAAc;cAsCd,cAAc;cAiHd;;;;;;;;;;;;;;;;;;cAmBA;;;;;;;;;;;;;;;;;;;;;;cAuBA;;;;cAKA"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.mjs","names":[],"sources":["../../src/utils/constants.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Coin, Pool, MarginPool } from '../types/index.js';\n\nexport type CoinMap = Record<string, Coin>;\nexport type PoolMap = Record<string, Pool>;\nexport type MarginPoolMap = Record<string, MarginPool>;\nexport interface DeepbookPackageIds {\n\tDEEPBOOK_PACKAGE_ID: string;\n\tREGISTRY_ID: string;\n\tDEEP_TREASURY_ID: string;\n\tMARGIN_PACKAGE_ID: string;\n\tMARGIN_REGISTRY_ID: string;\n\tLIQUIDATION_PACKAGE_ID: string;\n}\n\nexport const testnetPackageIds = {\n\tDEEPBOOK_PACKAGE_ID: '0x22be4cade64bf2d02412c7e8d0e8beea2f78828b948118d46735315409371a3c',\n\tREGISTRY_ID: '0x7c256edbda983a2cd6f946655f4bf3f00a41043993781f8674a7046e8c0e11d1',\n\tDEEP_TREASURY_ID: '0x69fffdae0075f8f71f4fa793549c11079266910e8905169845af1f5d00e09dcb',\n\tMARGIN_PACKAGE_ID: '0xd6a42f4df4db73d68cbeb52be66698d2fe6a9464f45ad113ca52b0c6ebd918b6',\n\tMARGIN_REGISTRY_ID: '0x48d7640dfae2c6e9ceeada197a7a1643984b5a24c55a0c6c023dac77e0339f75',\n\tLIQUIDATION_PACKAGE_ID: '0x8d69c3ef3ef580e5bf87b933ce28de19a5d0323588d1a44b9c60b4001741aa24',\n} satisfies DeepbookPackageIds;\n\nexport const mainnetPackageIds = {\n\tDEEPBOOK_PACKAGE_ID: '0x337f4f4f6567fcd778d5454f27c16c70e2f274cc6377ea6249ddf491482ef497',\n\tREGISTRY_ID: '0xaf16199a2dff736e9f07a845f23c5da6df6f756eddb631aed9d24a93efc4549d',\n\tDEEP_TREASURY_ID: '0x032abf8948dda67a271bcc18e776dbbcfb0d58c8d288a700ff0d5521e57a1ffe',\n\tMARGIN_PACKAGE_ID: '0xfbd322126f1452fd4c89aedbaeb9fd0c44df9b5cedbe70d76bf80dc086031377',\n\tMARGIN_REGISTRY_ID: '0x0e40998b359a9ccbab22a98ed21bd4346abf19158bc7980c8291908086b3a742',\n\tLIQUIDATION_PACKAGE_ID: '0x55718c06706bee34c9f3c39f662f10be354a4dcc719699ad72091dc343b641b8',\n} satisfies DeepbookPackageIds;\n\nexport const testnetCoins: CoinMap = {\n\tDEEP: {\n\t\taddress: `0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8`,\n\t\ttype: `0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8::deep::DEEP`,\n\t\tscalar: 1000000,\n\t\tfeed: '0x99137a18354efa7fb6840889d059fdb04c46a6ce21be97ab60d9ad93e91ac758', // DEEP uses HFT feed on testnet\n\t\tcurrencyId: '0xbf1b77e244f649c736a44898585cc8ac939fbb0bbdf1d8d2a183978cc312e613',\n\t\tpriceInfoObjectId: '0x3d52fffa2cd9e54b39bb36d282bdda560b15b8b4fdf4766a3c58499ef172bafc',\n\t},\n\tSUI: {\n\t\taddress: `0x0000000000000000000000000000000000000000000000000000000000000002`,\n\t\ttype: `0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI`,\n\t\tscalar: 1000000000,\n\t\tfeed: '0x50c67b3fd225db8912a424dd4baed60ffdde625ed2feaaf283724f9608fea266',\n\t\tcurrencyId: '0xf256d3fb6a50eaa748d94335b34f2982fbc3b63ceec78cafaa29ebc9ebaf2bbc',\n\t\tpriceInfoObjectId: '0x1ebb295c789cc42b3b2a1606482cd1c7124076a0f5676718501fda8c7fd075a0',\n\t},\n\tDBUSDC: {\n\t\taddress: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7`,\n\t\ttype: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7::DBUSDC::DBUSDC`,\n\t\tscalar: 1000000,\n\t\tfeed: '0x41f3625971ca2ed2263e78573fe5ce23e13d2558ed3f2e47ab0f84fb9e7ae722',\n\t\tcurrencyId: '0x509db0f9283c9ee4fdc5b99028a439d3639f49e9709e3d7a6de14b3bfdb0c784',\n\t\tpriceInfoObjectId: '0x9c4dd4008297ffa5e480684b8100ec21cc934405ed9a25d4e4d7b6259aad9c81',\n\t},\n\tDBTC: {\n\t\taddress: `0x6502dae813dbe5e42643c119a6450a518481f03063febc7e20238e43b6ea9e86`,\n\t\ttype: `0x6502dae813dbe5e42643c119a6450a518481f03063febc7e20238e43b6ea9e86::dbtc::DBTC`,\n\t\tscalar: 100000000,\n\t\tfeed: '0xf9c0172ba10dfa4d19088d94f5bf61d3b54d5bd7483a322a982e1373ee8ea31b',\n\t\tcurrencyId: '0x3ef2afa2126704bf721b9c8495d94288f6bd090fc454fe3e1613eb765a8a348f',\n\t\tpriceInfoObjectId: '0x72431a238277695d3f31e4425225a4462674ee6cceeea9d66447b210755fffba',\n\t},\n\tDBUSDT: {\n\t\taddress: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7`,\n\t\ttype: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7::DBUSDT::DBUSDT`,\n\t\tscalar: 1000000,\n\t},\n\tWAL: {\n\t\taddress: `0x9ef7676a9f81937a52ae4b2af8d511a28a0b080477c0c2db40b0ab8882240d76`,\n\t\ttype: `0x9ef7676a9f81937a52ae4b2af8d511a28a0b080477c0c2db40b0ab8882240d76::wal::WAL`,\n\t\tscalar: 1000000000,\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\tfeed: '0x29bdd5248234e33bd93d3b81100b5fa32eaa5997843847e2c2cb16d7c6d9f7ff',\n\t\tcurrencyId: '0x3f2afb7c5f245870a8b8a3808e6dd7042446a0e7504e9d2795372da053858cd9',\n\t\tpriceInfoObjectId: '0x8c7f3a322b94cc69db2a2ac575cbd94bf5766113324c3a3eceac91e3e88a51ed',\n\t},\n\tSUI: {\n\t\taddress: `0x0000000000000000000000000000000000000000000000000000000000000002`,\n\t\ttype: `0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI`,\n\t\tscalar: 1000000000,\n\t\tfeed: '0x23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744',\n\t\tcurrencyId: '0xf256d3fb6a50eaa748d94335b34f2982fbc3b63ceec78cafaa29ebc9ebaf2bbc',\n\t\tpriceInfoObjectId: '0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37',\n\t},\n\tUSDC: {\n\t\taddress: `0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7`,\n\t\ttype: `0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC`,\n\t\tscalar: 1000000,\n\t\tfeed: '0xeaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a',\n\t\tcurrencyId: '0x75cfbbf8c962d542e99a1d15731e6069f60a00db895407785b15d14f606f2b4a',\n\t\tpriceInfoObjectId: '0x5dec622733a204ca27f5a90d8c2fad453cc6665186fd5dff13a83d0b6c9027ab',\n\t},\n\tWAL: {\n\t\taddress: `0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59`,\n\t\ttype: `0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal::WAL`,\n\t\tscalar: 1000000000,\n\t\tfeed: '0xeba0732395fae9dec4bae12e52760b35fc1c5671e2da8b449c9af4efe5d54341',\n\t\tcurrencyId: '0xb6a0c0bacb1c87c3be4dff20c22ef1012125b5724b5b0ff424f852a2651b23fa',\n\t\tpriceInfoObjectId: '0xeb7e669f74d976c0b99b6ef9801e3a77716a95f1a15754e0f1399ce3fb60973d',\n\t},\n\tSUIUSDE: {\n\t\taddress: `0x41d587e5336f1c86cad50d38a7136db99333bb9bda91cea4ba69115defeb1402`,\n\t\ttype: `0x41d587e5336f1c86cad50d38a7136db99333bb9bda91cea4ba69115defeb1402::sui_usde::SUI_USDE`,\n\t\tscalar: 1000000,\n\t\tfeed: '0x8cead549d0e770dea8fdf5e018a85d59585265cf8bff16ba83962fc7996dbb7f',\n\t\tcurrencyId: '0x44f0959110bd9e5e91af0483364c42075ac19f173b28f708989f419ef3560576',\n\t\tpriceInfoObjectId: '0x9b2028bfc829127d2e5ead1691dc3002de9e9b8d8076b4915e5ecc7d9b99d63f',\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\tBETH: {\n\t\taddress: `0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29`,\n\t\ttype: `0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29::eth::ETH`,\n\t\tscalar: 100000000,\n\t},\n\tWBTC: {\n\t\taddress: `0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881`,\n\t\ttype: `0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN`,\n\t\tscalar: 100000000,\n\t},\n\tWUSDT: {\n\t\taddress: `0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c`,\n\t\ttype: `0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN`,\n\t\tscalar: 1000000,\n\t},\n\tNS: {\n\t\taddress: `0x5145494a5f5100e645e4b0aa950fa6b68f614e8c59e17bc5ded3495123a79178`,\n\t\ttype: `0x5145494a5f5100e645e4b0aa950fa6b68f614e8c59e17bc5ded3495123a79178::ns::NS`,\n\t\tscalar: 1000000,\n\t},\n\tTYPUS: {\n\t\taddress: `0xf82dc05634970553615eef6112a1ac4fb7bf10272bf6cbe0f80ef44a6c489385`,\n\t\ttype: `0xf82dc05634970553615eef6112a1ac4fb7bf10272bf6cbe0f80ef44a6c489385::typus::TYPUS`,\n\t\tscalar: 1000000000,\n\t},\n\tAUSD: {\n\t\taddress: `0x2053d08c1e2bd02791056171aab0fd12bd7cd7efad2ab8f6b9c8902f14df2ff2`,\n\t\ttype: `0x2053d08c1e2bd02791056171aab0fd12bd7cd7efad2ab8f6b9c8902f14df2ff2::ausd::AUSD`,\n\t\tscalar: 1000000,\n\t},\n\tDRF: {\n\t\taddress: `0x294de7579d55c110a00a7c4946e09a1b5cbeca2592fbb83fd7bfacba3cfeaf0e`,\n\t\ttype: `0x294de7579d55c110a00a7c4946e09a1b5cbeca2592fbb83fd7bfacba3cfeaf0e::drf::DRF`,\n\t\tscalar: 1000000,\n\t},\n\tSEND: {\n\t\taddress: `0xb45fcfcc2cc07ce0702cc2d229621e046c906ef14d9b25e8e4d25f6e8763fef7`,\n\t\ttype: `0xb45fcfcc2cc07ce0702cc2d229621e046c906ef14d9b25e8e4d25f6e8763fef7::send::SEND`,\n\t\tscalar: 1000000,\n\t},\n\tXBTC: {\n\t\taddress: `0x876a4b7bce8aeaef60464c11f4026903e9afacab79b9b142686158aa86560b50`,\n\t\ttype: `0x876a4b7bce8aeaef60464c11f4026903e9afacab79b9b142686158aa86560b50::xbtc::XBTC`,\n\t\tscalar: 100000000,\n\t},\n\tIKA: {\n\t\taddress: `0x7262fb2f7a3a14c888c438a3cd9b912469a58cf60f367352c46584262e8299aa`,\n\t\ttype: `0x7262fb2f7a3a14c888c438a3cd9b912469a58cf60f367352c46584262e8299aa::ika::IKA`,\n\t\tscalar: 1000000000,\n\t},\n\tALKIMI: {\n\t\taddress: `0x1a8f4bc33f8ef7fbc851f156857aa65d397a6a6fd27a7ac2ca717b51f2fd9489`,\n\t\ttype: `0x1a8f4bc33f8ef7fbc851f156857aa65d397a6a6fd27a7ac2ca717b51f2fd9489::alkimi::ALKIMI`,\n\t\tscalar: 1000000000,\n\t},\n\tLZWBTC: {\n\t\taddress: `0x0041f9f9344cac094454cd574e333c4fdb132d7bcc9379bcd4aab485b2a63942`,\n\t\ttype: `0x0041f9f9344cac094454cd574e333c4fdb132d7bcc9379bcd4aab485b2a63942::wbtc::WBTC`,\n\t\tscalar: 100000000,\n\t},\n\tUSDT: {\n\t\taddress: `0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068`,\n\t\ttype: `0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068::usdt::USDT`,\n\t\tscalar: 1000000,\n\t},\n\t// This coin is experimental\n\tWGIGA: {\n\t\taddress: `0xec32640add6d02a1d5f0425d72705eb76d9de7edfd4f34e0dba68e62ecceb05b`,\n\t\ttype: `0xec32640add6d02a1d5f0425d72705eb76d9de7edfd4f34e0dba68e62ecceb05b::coin::COIN`,\n\t\tscalar: 100000,\n\t},\n};\n\nexport const testnetPools: PoolMap = {\n\tDEEP_SUI: {\n\t\taddress: `0x48c95963e9eac37a316b7ae04a0deb761bcdcc2b67912374d6036e7f0e9bae9f`,\n\t\tbaseCoin: 'DEEP',\n\t\tquoteCoin: 'SUI',\n\t},\n\tSUI_DBUSDC: {\n\t\taddress: `0x1c19362ca52b8ffd7a33cee805a67d40f31e6ba303753fd3a4cfdfacea7163a5`,\n\t\tbaseCoin: 'SUI',\n\t\tquoteCoin: 'DBUSDC',\n\t},\n\tDEEP_DBUSDC: {\n\t\taddress: `0xe86b991f8632217505fd859445f9803967ac84a9d4a1219065bf191fcb74b622`,\n\t\tbaseCoin: 'DEEP',\n\t\tquoteCoin: 'DBUSDC',\n\t},\n\tDBUSDT_DBUSDC: {\n\t\taddress: `0x83970bb02e3636efdff8c141ab06af5e3c9a22e2f74d7f02a9c3430d0d10c1ca`,\n\t\tbaseCoin: 'DBUSDT',\n\t\tquoteCoin: 'DBUSDC',\n\t},\n\tWAL_DBUSDC: {\n\t\taddress: `0xeb524b6aea0ec4b494878582e0b78924208339d360b62aec4a8ecd4031520dbb`,\n\t\tbaseCoin: 'WAL',\n\t\tquoteCoin: 'DBUSDC',\n\t},\n\tWAL_SUI: {\n\t\taddress: `0x8c1c1b186c4fddab1ebd53e0895a36c1d1b3b9a77cd34e607bef49a38af0150a`,\n\t\tbaseCoin: 'WAL',\n\t\tquoteCoin: 'SUI',\n\t},\n\tDBTC_DBUSDC: {\n\t\taddress: `0x0dce0aa771074eb83d1f4a29d48be8248d4d2190976a5241f66b43ec18fa34de`,\n\t\tbaseCoin: 'DBTC',\n\t\tquoteCoin: 'DBUSDC',\n\t},\n};\n\nexport const mainnetPools: PoolMap = {\n\tDEEP_SUI: {\n\t\taddress: `0xb663828d6217467c8a1838a03793da896cbe745b150ebd57d82f814ca579fc22`,\n\t\tbaseCoin: 'DEEP',\n\t\tquoteCoin: 'SUI',\n\t},\n\tSUI_USDC: {\n\t\taddress: `0xe05dafb5133bcffb8d59f4e12465dc0e9faeaa05e3e342a08fe135800e3e4407`,\n\t\tbaseCoin: 'SUI',\n\t\tquoteCoin: 'USDC',\n\t},\n\tDEEP_USDC: {\n\t\taddress: `0xf948981b806057580f91622417534f491da5f61aeaf33d0ed8e69fd5691c95ce`,\n\t\tbaseCoin: 'DEEP',\n\t\tquoteCoin: 'USDC',\n\t},\n\tWUSDT_USDC: {\n\t\taddress: `0x4e2ca3988246e1d50b9bf209abb9c1cbfec65bd95afdacc620a36c67bdb8452f`,\n\t\tbaseCoin: 'WUSDT',\n\t\tquoteCoin: 'USDC',\n\t},\n\tWUSDC_USDC: {\n\t\taddress: `0xa0b9ebefb38c963fd115f52d71fa64501b79d1adcb5270563f92ce0442376545`,\n\t\tbaseCoin: 'WUSDC',\n\t\tquoteCoin: 'USDC',\n\t},\n\tBETH_USDC: {\n\t\taddress: `0x1109352b9112717bd2a7c3eb9a416fff1ba6951760f5bdd5424cf5e4e5b3e65c`,\n\t\tbaseCoin: 'BETH',\n\t\tquoteCoin: 'USDC',\n\t},\n\tNS_USDC: {\n\t\taddress: `0x0c0fdd4008740d81a8a7d4281322aee71a1b62c449eb5b142656753d89ebc060`,\n\t\tbaseCoin: 'NS',\n\t\tquoteCoin: 'USDC',\n\t},\n\tNS_SUI: {\n\t\taddress: `0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8`,\n\t\tbaseCoin: 'NS',\n\t\tquoteCoin: 'SUI',\n\t},\n\tTYPUS_SUI: {\n\t\taddress: `0xe8e56f377ab5a261449b92ac42c8ddaacd5671e9fec2179d7933dd1a91200eec`,\n\t\tbaseCoin: 'TYPUS',\n\t\tquoteCoin: 'SUI',\n\t},\n\tSUI_AUSD: {\n\t\taddress: `0x183df694ebc852a5f90a959f0f563b82ac9691e42357e9a9fe961d71a1b809c8`,\n\t\tbaseCoin: 'SUI',\n\t\tquoteCoin: 'AUSD',\n\t},\n\tAUSD_USDC: {\n\t\taddress: `0x5661fc7f88fbeb8cb881150a810758cf13700bb4e1f31274a244581b37c303c3`,\n\t\tbaseCoin: 'AUSD',\n\t\tquoteCoin: 'USDC',\n\t},\n\tDRF_SUI: {\n\t\taddress: `0x126865a0197d6ab44bfd15fd052da6db92fd2eb831ff9663451bbfa1219e2af2`,\n\t\tbaseCoin: 'DRF',\n\t\tquoteCoin: 'SUI',\n\t},\n\tSEND_USDC: {\n\t\taddress: `0x1fe7b99c28ded39774f37327b509d58e2be7fff94899c06d22b407496a6fa990`,\n\t\tbaseCoin: 'SEND',\n\t\tquoteCoin: 'USDC',\n\t},\n\tWAL_USDC: {\n\t\taddress: `0x56a1c985c1f1123181d6b881714793689321ba24301b3585eec427436eb1c76d`,\n\t\tbaseCoin: 'WAL',\n\t\tquoteCoin: 'USDC',\n\t},\n\tWAL_SUI: {\n\t\taddress: `0x81f5339934c83ea19dd6bcc75c52e83509629a5f71d3257428c2ce47cc94d08b`,\n\t\tbaseCoin: 'WAL',\n\t\tquoteCoin: 'SUI',\n\t},\n\tXBTC_USDC: {\n\t\taddress: `0x20b9a3ec7a02d4f344aa1ebc5774b7b0ccafa9a5d76230662fdc0300bb215307`,\n\t\tbaseCoin: 'XBTC',\n\t\tquoteCoin: 'USDC',\n\t},\n\tIKA_USDC: {\n\t\taddress: `0xfa732993af2b60d04d7049511f801e79426b2b6a5103e22769c0cead982b0f47`,\n\t\tbaseCoin: 'IKA',\n\t\tquoteCoin: 'USDC',\n\t},\n\tALKIMI_SUI: {\n\t\taddress: `0x84752993c6dc6fce70e25ddeb4daddb6592d6b9b0912a0a91c07cfff5a721d89`,\n\t\tbaseCoin: 'ALKIMI',\n\t\tquoteCoin: 'SUI',\n\t},\n\tLZWBTC_USDC: {\n\t\taddress: `0xf5142aafa24866107df628bf92d0358c7da6acc46c2f10951690fd2b8570f117`,\n\t\tbaseCoin: 'LZWBTC',\n\t\tquoteCoin: 'USDC',\n\t},\n\tUSDT_USDC: {\n\t\taddress: '0xfc28a2fb22579c16d672a1152039cbf671e5f4b9f103feddff4ea06ef3c2bc25',\n\t\tbaseCoin: 'USDT',\n\t\tquoteCoin: 'USDC',\n\t},\n\tSUIUSDE_USDC: {\n\t\taddress: '0x0fac1cebf35bde899cd9ecdd4371e0e33f44ba83b8a2902d69186646afa3a94b',\n\t\tbaseCoin: 'SUIUSDE',\n\t\tquoteCoin: 'USDC',\n\t},\n\tSUI_SUIUSDE: {\n\t\taddress: '0x034f3a42e7348de2084406db7a725f9d9d132a56c68324713e6e623601fb4fd7',\n\t\tbaseCoin: 'SUI',\n\t\tquoteCoin: 'SUIUSDE',\n\t},\n};\n\nexport const testnetMarginPools = {\n\tSUI: {\n\t\taddress: '0xcdbbe6a72e639b647296788e2e4b1cac5cea4246028ba388ba1332ff9a382eea',\n\t\ttype: '0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI',\n\t},\n\tDBUSDC: {\n\t\taddress: '0xf08568da93834e1ee04f09902ac7b1e78d3fdf113ab4d2106c7265e95318b14d',\n\t\ttype: '0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7::DBUSDC::DBUSDC',\n\t},\n\tDEEP: {\n\t\taddress: '0x610640613f21d9e688d6f8103d17df22315c32e0c80590ce64951a1991378b55',\n\t\ttype: '0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8::deep::DEEP',\n\t},\n\tDBTC: {\n\t\taddress: '0xf3440b4aafcc8b12fc4b242e9590c52873b8238a0d0e52fbf9dae61d2970796a',\n\t\ttype: '0x6502dae813dbe5e42643c119a6450a518481f03063febc7e20238e43b6ea9e86::dbtc::DBTC',\n\t},\n};\n\nexport const mainnetMarginPools = {\n\tSUI: {\n\t\taddress: '0x53041c6f86c4782aabbfc1d4fe234a6d37160310c7ee740c915f0a01b7127344',\n\t\ttype: '0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI',\n\t},\n\tUSDC: {\n\t\taddress: '0xba473d9ae278f10af75c50a8fa341e9c6a1c087dc91a3f23e8048baf67d0754f',\n\t\ttype: '0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC',\n\t},\n\tDEEP: {\n\t\taddress: '0x1d723c5cd113296868b55208f2ab5a905184950dd59c48eb7345607d6b5e6af7',\n\t\ttype: '0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP',\n\t},\n\tWAL: {\n\t\taddress: '0x38decd3dbb62bd4723144349bf57bc403b393aee86a51596846a824a1e0c2c01',\n\t\ttype: '0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal::WAL',\n\t},\n\tSUIUSDE: {\n\t\taddress: '0xbb990ca04a7743e6c0a25a7fb16f60fc6f6d8bf213624ff03a63f1bb04c3a12f',\n\t\ttype: '0x41d587e5336f1c86cad50d38a7136db99333bb9bda91cea4ba69115defeb1402::sui_usde::SUI_USDE',\n\t},\n};\n\nexport const testnetPythConfigs = {\n\tpythStateId: '0x243759059f4c3111179da5878c12f68d612c21a8d54d85edc86164bb18be1c7c',\n\twormholeStateId: '0x31358d198147da50db32eda2562951d53973a0c0ad5ed738e9b17d88b213d790',\n};\n\nexport const mainnetPythConfigs = {\n\tpythStateId: '0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8',\n\twormholeStateId: '0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c',\n};\n"],"mappings":";AAiBA,MAAa,oBAAoB;CAChC,qBAAqB;CACrB,aAAa;CACb,kBAAkB;CAClB,mBAAmB;CACnB,oBAAoB;CACpB,wBAAwB;CACxB;AAED,MAAa,oBAAoB;CAChC,qBAAqB;CACrB,aAAa;CACb,kBAAkB;CAClB,mBAAmB;CACnB,oBAAoB;CACpB,wBAAwB;CACxB;AAED,MAAa,eAAwB;CACpC,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,KAAK;EACJ,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,QAAQ;EACP,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,QAAQ;EACP,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,KAAK;EACJ,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD;AAED,MAAa,eAAwB;CACpC,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,KAAK;EACJ,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,KAAK;EACJ,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,SAAS;EACR,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,OAAO;EACN,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,OAAO;EACN,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,IAAI;EACH,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,OAAO;EACN,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,KAAK;EACJ,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,KAAK;EACJ,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,QAAQ;EACP,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,QAAQ;EACP,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CAED,OAAO;EACN,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD;AAED,MAAa,eAAwB;CACpC,UAAU;EACT,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,YAAY;EACX,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,aAAa;EACZ,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,eAAe;EACd,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,YAAY;EACX,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,SAAS;EACR,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,aAAa;EACZ,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD;AAED,MAAa,eAAwB;CACpC,UAAU;EACT,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,UAAU;EACT,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,WAAW;EACV,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,YAAY;EACX,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,YAAY;EACX,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,WAAW;EACV,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,SAAS;EACR,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,QAAQ;EACP,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,WAAW;EACV,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,UAAU;EACT,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,WAAW;EACV,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,SAAS;EACR,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,WAAW;EACV,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,UAAU;EACT,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,SAAS;EACR,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,WAAW;EACV,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,UAAU;EACT,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,YAAY;EACX,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,aAAa;EACZ,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,WAAW;EACV,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,cAAc;EACb,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,aAAa;EACZ,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD;AAED,MAAa,qBAAqB;CACjC,KAAK;EACJ,SAAS;EACT,MAAM;EACN;CACD,QAAQ;EACP,SAAS;EACT,MAAM;EACN;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN;CACD;AAED,MAAa,qBAAqB;CACjC,KAAK;EACJ,SAAS;EACT,MAAM;EACN;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN;CACD,KAAK;EACJ,SAAS;EACT,MAAM;EACN;CACD,SAAS;EACR,SAAS;EACT,MAAM;EACN;CACD;AAED,MAAa,qBAAqB;CACjC,aAAa;CACb,iBAAiB;CACjB;AAED,MAAa,qBAAqB;CACjC,aAAa;CACb,iBAAiB;CACjB"}
1
+ {"version":3,"file":"constants.mjs","names":[],"sources":["../../src/utils/constants.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Coin, Pool, MarginPool } from '../types/index.js';\n\nexport type CoinMap = Record<string, Coin>;\nexport type PoolMap = Record<string, Pool>;\nexport type MarginPoolMap = Record<string, MarginPool>;\nexport interface DeepbookPackageIds {\n\tDEEPBOOK_PACKAGE_ID?: string;\n\tREGISTRY_ID?: string;\n\tDEEP_TREASURY_ID?: string;\n\tMARGIN_PACKAGE_ID?: string;\n\tMARGIN_REGISTRY_ID?: string;\n\tLIQUIDATION_PACKAGE_ID?: string;\n}\n\nexport const testnetPackageIds = {\n\tDEEPBOOK_PACKAGE_ID: '0x22be4cade64bf2d02412c7e8d0e8beea2f78828b948118d46735315409371a3c',\n\tREGISTRY_ID: '0x7c256edbda983a2cd6f946655f4bf3f00a41043993781f8674a7046e8c0e11d1',\n\tDEEP_TREASURY_ID: '0x69fffdae0075f8f71f4fa793549c11079266910e8905169845af1f5d00e09dcb',\n\tMARGIN_PACKAGE_ID: '0xd6a42f4df4db73d68cbeb52be66698d2fe6a9464f45ad113ca52b0c6ebd918b6',\n\tMARGIN_REGISTRY_ID: '0x48d7640dfae2c6e9ceeada197a7a1643984b5a24c55a0c6c023dac77e0339f75',\n\tLIQUIDATION_PACKAGE_ID: '0x8d69c3ef3ef580e5bf87b933ce28de19a5d0323588d1a44b9c60b4001741aa24',\n} satisfies DeepbookPackageIds;\n\nexport const mainnetPackageIds = {\n\tDEEPBOOK_PACKAGE_ID: '0x337f4f4f6567fcd778d5454f27c16c70e2f274cc6377ea6249ddf491482ef497',\n\tREGISTRY_ID: '0xaf16199a2dff736e9f07a845f23c5da6df6f756eddb631aed9d24a93efc4549d',\n\tDEEP_TREASURY_ID: '0x032abf8948dda67a271bcc18e776dbbcfb0d58c8d288a700ff0d5521e57a1ffe',\n\tMARGIN_PACKAGE_ID: '0xfbd322126f1452fd4c89aedbaeb9fd0c44df9b5cedbe70d76bf80dc086031377',\n\tMARGIN_REGISTRY_ID: '0x0e40998b359a9ccbab22a98ed21bd4346abf19158bc7980c8291908086b3a742',\n\tLIQUIDATION_PACKAGE_ID: '0x55718c06706bee34c9f3c39f662f10be354a4dcc719699ad72091dc343b641b8',\n} satisfies DeepbookPackageIds;\n\nexport const testnetCoins: CoinMap = {\n\tDEEP: {\n\t\taddress: `0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8`,\n\t\ttype: `0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8::deep::DEEP`,\n\t\tscalar: 1000000,\n\t\tfeed: '0x99137a18354efa7fb6840889d059fdb04c46a6ce21be97ab60d9ad93e91ac758', // DEEP uses HFT feed on testnet\n\t\tcurrencyId: '0xbf1b77e244f649c736a44898585cc8ac939fbb0bbdf1d8d2a183978cc312e613',\n\t\tpriceInfoObjectId: '0x3d52fffa2cd9e54b39bb36d282bdda560b15b8b4fdf4766a3c58499ef172bafc',\n\t},\n\tSUI: {\n\t\taddress: `0x0000000000000000000000000000000000000000000000000000000000000002`,\n\t\ttype: `0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI`,\n\t\tscalar: 1000000000,\n\t\tfeed: '0x50c67b3fd225db8912a424dd4baed60ffdde625ed2feaaf283724f9608fea266',\n\t\tcurrencyId: '0xf256d3fb6a50eaa748d94335b34f2982fbc3b63ceec78cafaa29ebc9ebaf2bbc',\n\t\tpriceInfoObjectId: '0x1ebb295c789cc42b3b2a1606482cd1c7124076a0f5676718501fda8c7fd075a0',\n\t},\n\tDBUSDC: {\n\t\taddress: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7`,\n\t\ttype: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7::DBUSDC::DBUSDC`,\n\t\tscalar: 1000000,\n\t\tfeed: '0x41f3625971ca2ed2263e78573fe5ce23e13d2558ed3f2e47ab0f84fb9e7ae722',\n\t\tcurrencyId: '0x509db0f9283c9ee4fdc5b99028a439d3639f49e9709e3d7a6de14b3bfdb0c784',\n\t\tpriceInfoObjectId: '0x9c4dd4008297ffa5e480684b8100ec21cc934405ed9a25d4e4d7b6259aad9c81',\n\t},\n\tDBTC: {\n\t\taddress: `0x6502dae813dbe5e42643c119a6450a518481f03063febc7e20238e43b6ea9e86`,\n\t\ttype: `0x6502dae813dbe5e42643c119a6450a518481f03063febc7e20238e43b6ea9e86::dbtc::DBTC`,\n\t\tscalar: 100000000,\n\t\tfeed: '0xf9c0172ba10dfa4d19088d94f5bf61d3b54d5bd7483a322a982e1373ee8ea31b',\n\t\tcurrencyId: '0x3ef2afa2126704bf721b9c8495d94288f6bd090fc454fe3e1613eb765a8a348f',\n\t\tpriceInfoObjectId: '0x72431a238277695d3f31e4425225a4462674ee6cceeea9d66447b210755fffba',\n\t},\n\tDBUSDT: {\n\t\taddress: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7`,\n\t\ttype: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7::DBUSDT::DBUSDT`,\n\t\tscalar: 1000000,\n\t},\n\tWAL: {\n\t\taddress: `0x9ef7676a9f81937a52ae4b2af8d511a28a0b080477c0c2db40b0ab8882240d76`,\n\t\ttype: `0x9ef7676a9f81937a52ae4b2af8d511a28a0b080477c0c2db40b0ab8882240d76::wal::WAL`,\n\t\tscalar: 1000000000,\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\tfeed: '0x29bdd5248234e33bd93d3b81100b5fa32eaa5997843847e2c2cb16d7c6d9f7ff',\n\t\tcurrencyId: '0x3f2afb7c5f245870a8b8a3808e6dd7042446a0e7504e9d2795372da053858cd9',\n\t\tpriceInfoObjectId: '0x8c7f3a322b94cc69db2a2ac575cbd94bf5766113324c3a3eceac91e3e88a51ed',\n\t},\n\tSUI: {\n\t\taddress: `0x0000000000000000000000000000000000000000000000000000000000000002`,\n\t\ttype: `0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI`,\n\t\tscalar: 1000000000,\n\t\tfeed: '0x23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744',\n\t\tcurrencyId: '0xf256d3fb6a50eaa748d94335b34f2982fbc3b63ceec78cafaa29ebc9ebaf2bbc',\n\t\tpriceInfoObjectId: '0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37',\n\t},\n\tUSDC: {\n\t\taddress: `0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7`,\n\t\ttype: `0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC`,\n\t\tscalar: 1000000,\n\t\tfeed: '0xeaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a',\n\t\tcurrencyId: '0x75cfbbf8c962d542e99a1d15731e6069f60a00db895407785b15d14f606f2b4a',\n\t\tpriceInfoObjectId: '0x5dec622733a204ca27f5a90d8c2fad453cc6665186fd5dff13a83d0b6c9027ab',\n\t},\n\tWAL: {\n\t\taddress: `0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59`,\n\t\ttype: `0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal::WAL`,\n\t\tscalar: 1000000000,\n\t\tfeed: '0xeba0732395fae9dec4bae12e52760b35fc1c5671e2da8b449c9af4efe5d54341',\n\t\tcurrencyId: '0xb6a0c0bacb1c87c3be4dff20c22ef1012125b5724b5b0ff424f852a2651b23fa',\n\t\tpriceInfoObjectId: '0xeb7e669f74d976c0b99b6ef9801e3a77716a95f1a15754e0f1399ce3fb60973d',\n\t},\n\tSUIUSDE: {\n\t\taddress: `0x41d587e5336f1c86cad50d38a7136db99333bb9bda91cea4ba69115defeb1402`,\n\t\ttype: `0x41d587e5336f1c86cad50d38a7136db99333bb9bda91cea4ba69115defeb1402::sui_usde::SUI_USDE`,\n\t\tscalar: 1000000,\n\t\tfeed: '0x8cead549d0e770dea8fdf5e018a85d59585265cf8bff16ba83962fc7996dbb7f',\n\t\tcurrencyId: '0x44f0959110bd9e5e91af0483364c42075ac19f173b28f708989f419ef3560576',\n\t\tpriceInfoObjectId: '0x9b2028bfc829127d2e5ead1691dc3002de9e9b8d8076b4915e5ecc7d9b99d63f',\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\tBETH: {\n\t\taddress: `0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29`,\n\t\ttype: `0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29::eth::ETH`,\n\t\tscalar: 100000000,\n\t},\n\tWBTC: {\n\t\taddress: `0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881`,\n\t\ttype: `0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN`,\n\t\tscalar: 100000000,\n\t},\n\tWUSDT: {\n\t\taddress: `0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c`,\n\t\ttype: `0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN`,\n\t\tscalar: 1000000,\n\t},\n\tNS: {\n\t\taddress: `0x5145494a5f5100e645e4b0aa950fa6b68f614e8c59e17bc5ded3495123a79178`,\n\t\ttype: `0x5145494a5f5100e645e4b0aa950fa6b68f614e8c59e17bc5ded3495123a79178::ns::NS`,\n\t\tscalar: 1000000,\n\t},\n\tTYPUS: {\n\t\taddress: `0xf82dc05634970553615eef6112a1ac4fb7bf10272bf6cbe0f80ef44a6c489385`,\n\t\ttype: `0xf82dc05634970553615eef6112a1ac4fb7bf10272bf6cbe0f80ef44a6c489385::typus::TYPUS`,\n\t\tscalar: 1000000000,\n\t},\n\tAUSD: {\n\t\taddress: `0x2053d08c1e2bd02791056171aab0fd12bd7cd7efad2ab8f6b9c8902f14df2ff2`,\n\t\ttype: `0x2053d08c1e2bd02791056171aab0fd12bd7cd7efad2ab8f6b9c8902f14df2ff2::ausd::AUSD`,\n\t\tscalar: 1000000,\n\t},\n\tDRF: {\n\t\taddress: `0x294de7579d55c110a00a7c4946e09a1b5cbeca2592fbb83fd7bfacba3cfeaf0e`,\n\t\ttype: `0x294de7579d55c110a00a7c4946e09a1b5cbeca2592fbb83fd7bfacba3cfeaf0e::drf::DRF`,\n\t\tscalar: 1000000,\n\t},\n\tSEND: {\n\t\taddress: `0xb45fcfcc2cc07ce0702cc2d229621e046c906ef14d9b25e8e4d25f6e8763fef7`,\n\t\ttype: `0xb45fcfcc2cc07ce0702cc2d229621e046c906ef14d9b25e8e4d25f6e8763fef7::send::SEND`,\n\t\tscalar: 1000000,\n\t},\n\tXBTC: {\n\t\taddress: `0x876a4b7bce8aeaef60464c11f4026903e9afacab79b9b142686158aa86560b50`,\n\t\ttype: `0x876a4b7bce8aeaef60464c11f4026903e9afacab79b9b142686158aa86560b50::xbtc::XBTC`,\n\t\tscalar: 100000000,\n\t},\n\tIKA: {\n\t\taddress: `0x7262fb2f7a3a14c888c438a3cd9b912469a58cf60f367352c46584262e8299aa`,\n\t\ttype: `0x7262fb2f7a3a14c888c438a3cd9b912469a58cf60f367352c46584262e8299aa::ika::IKA`,\n\t\tscalar: 1000000000,\n\t},\n\tALKIMI: {\n\t\taddress: `0x1a8f4bc33f8ef7fbc851f156857aa65d397a6a6fd27a7ac2ca717b51f2fd9489`,\n\t\ttype: `0x1a8f4bc33f8ef7fbc851f156857aa65d397a6a6fd27a7ac2ca717b51f2fd9489::alkimi::ALKIMI`,\n\t\tscalar: 1000000000,\n\t},\n\tLZWBTC: {\n\t\taddress: `0x0041f9f9344cac094454cd574e333c4fdb132d7bcc9379bcd4aab485b2a63942`,\n\t\ttype: `0x0041f9f9344cac094454cd574e333c4fdb132d7bcc9379bcd4aab485b2a63942::wbtc::WBTC`,\n\t\tscalar: 100000000,\n\t},\n\tUSDT: {\n\t\taddress: `0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068`,\n\t\ttype: `0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068::usdt::USDT`,\n\t\tscalar: 1000000,\n\t},\n\t// This coin is experimental\n\tWGIGA: {\n\t\taddress: `0xec32640add6d02a1d5f0425d72705eb76d9de7edfd4f34e0dba68e62ecceb05b`,\n\t\ttype: `0xec32640add6d02a1d5f0425d72705eb76d9de7edfd4f34e0dba68e62ecceb05b::coin::COIN`,\n\t\tscalar: 100000,\n\t},\n};\n\nexport const testnetPools: PoolMap = {\n\tDEEP_SUI: {\n\t\taddress: `0x48c95963e9eac37a316b7ae04a0deb761bcdcc2b67912374d6036e7f0e9bae9f`,\n\t\tbaseCoin: 'DEEP',\n\t\tquoteCoin: 'SUI',\n\t},\n\tSUI_DBUSDC: {\n\t\taddress: `0x1c19362ca52b8ffd7a33cee805a67d40f31e6ba303753fd3a4cfdfacea7163a5`,\n\t\tbaseCoin: 'SUI',\n\t\tquoteCoin: 'DBUSDC',\n\t},\n\tDEEP_DBUSDC: {\n\t\taddress: `0xe86b991f8632217505fd859445f9803967ac84a9d4a1219065bf191fcb74b622`,\n\t\tbaseCoin: 'DEEP',\n\t\tquoteCoin: 'DBUSDC',\n\t},\n\tDBUSDT_DBUSDC: {\n\t\taddress: `0x83970bb02e3636efdff8c141ab06af5e3c9a22e2f74d7f02a9c3430d0d10c1ca`,\n\t\tbaseCoin: 'DBUSDT',\n\t\tquoteCoin: 'DBUSDC',\n\t},\n\tWAL_DBUSDC: {\n\t\taddress: `0xeb524b6aea0ec4b494878582e0b78924208339d360b62aec4a8ecd4031520dbb`,\n\t\tbaseCoin: 'WAL',\n\t\tquoteCoin: 'DBUSDC',\n\t},\n\tWAL_SUI: {\n\t\taddress: `0x8c1c1b186c4fddab1ebd53e0895a36c1d1b3b9a77cd34e607bef49a38af0150a`,\n\t\tbaseCoin: 'WAL',\n\t\tquoteCoin: 'SUI',\n\t},\n\tDBTC_DBUSDC: {\n\t\taddress: `0x0dce0aa771074eb83d1f4a29d48be8248d4d2190976a5241f66b43ec18fa34de`,\n\t\tbaseCoin: 'DBTC',\n\t\tquoteCoin: 'DBUSDC',\n\t},\n};\n\nexport const mainnetPools: PoolMap = {\n\tDEEP_SUI: {\n\t\taddress: `0xb663828d6217467c8a1838a03793da896cbe745b150ebd57d82f814ca579fc22`,\n\t\tbaseCoin: 'DEEP',\n\t\tquoteCoin: 'SUI',\n\t},\n\tSUI_USDC: {\n\t\taddress: `0xe05dafb5133bcffb8d59f4e12465dc0e9faeaa05e3e342a08fe135800e3e4407`,\n\t\tbaseCoin: 'SUI',\n\t\tquoteCoin: 'USDC',\n\t},\n\tDEEP_USDC: {\n\t\taddress: `0xf948981b806057580f91622417534f491da5f61aeaf33d0ed8e69fd5691c95ce`,\n\t\tbaseCoin: 'DEEP',\n\t\tquoteCoin: 'USDC',\n\t},\n\tWUSDT_USDC: {\n\t\taddress: `0x4e2ca3988246e1d50b9bf209abb9c1cbfec65bd95afdacc620a36c67bdb8452f`,\n\t\tbaseCoin: 'WUSDT',\n\t\tquoteCoin: 'USDC',\n\t},\n\tWUSDC_USDC: {\n\t\taddress: `0xa0b9ebefb38c963fd115f52d71fa64501b79d1adcb5270563f92ce0442376545`,\n\t\tbaseCoin: 'WUSDC',\n\t\tquoteCoin: 'USDC',\n\t},\n\tBETH_USDC: {\n\t\taddress: `0x1109352b9112717bd2a7c3eb9a416fff1ba6951760f5bdd5424cf5e4e5b3e65c`,\n\t\tbaseCoin: 'BETH',\n\t\tquoteCoin: 'USDC',\n\t},\n\tNS_USDC: {\n\t\taddress: `0x0c0fdd4008740d81a8a7d4281322aee71a1b62c449eb5b142656753d89ebc060`,\n\t\tbaseCoin: 'NS',\n\t\tquoteCoin: 'USDC',\n\t},\n\tNS_SUI: {\n\t\taddress: `0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8`,\n\t\tbaseCoin: 'NS',\n\t\tquoteCoin: 'SUI',\n\t},\n\tTYPUS_SUI: {\n\t\taddress: `0xe8e56f377ab5a261449b92ac42c8ddaacd5671e9fec2179d7933dd1a91200eec`,\n\t\tbaseCoin: 'TYPUS',\n\t\tquoteCoin: 'SUI',\n\t},\n\tSUI_AUSD: {\n\t\taddress: `0x183df694ebc852a5f90a959f0f563b82ac9691e42357e9a9fe961d71a1b809c8`,\n\t\tbaseCoin: 'SUI',\n\t\tquoteCoin: 'AUSD',\n\t},\n\tAUSD_USDC: {\n\t\taddress: `0x5661fc7f88fbeb8cb881150a810758cf13700bb4e1f31274a244581b37c303c3`,\n\t\tbaseCoin: 'AUSD',\n\t\tquoteCoin: 'USDC',\n\t},\n\tDRF_SUI: {\n\t\taddress: `0x126865a0197d6ab44bfd15fd052da6db92fd2eb831ff9663451bbfa1219e2af2`,\n\t\tbaseCoin: 'DRF',\n\t\tquoteCoin: 'SUI',\n\t},\n\tSEND_USDC: {\n\t\taddress: `0x1fe7b99c28ded39774f37327b509d58e2be7fff94899c06d22b407496a6fa990`,\n\t\tbaseCoin: 'SEND',\n\t\tquoteCoin: 'USDC',\n\t},\n\tWAL_USDC: {\n\t\taddress: `0x56a1c985c1f1123181d6b881714793689321ba24301b3585eec427436eb1c76d`,\n\t\tbaseCoin: 'WAL',\n\t\tquoteCoin: 'USDC',\n\t},\n\tWAL_SUI: {\n\t\taddress: `0x81f5339934c83ea19dd6bcc75c52e83509629a5f71d3257428c2ce47cc94d08b`,\n\t\tbaseCoin: 'WAL',\n\t\tquoteCoin: 'SUI',\n\t},\n\tXBTC_USDC: {\n\t\taddress: `0x20b9a3ec7a02d4f344aa1ebc5774b7b0ccafa9a5d76230662fdc0300bb215307`,\n\t\tbaseCoin: 'XBTC',\n\t\tquoteCoin: 'USDC',\n\t},\n\tIKA_USDC: {\n\t\taddress: `0xfa732993af2b60d04d7049511f801e79426b2b6a5103e22769c0cead982b0f47`,\n\t\tbaseCoin: 'IKA',\n\t\tquoteCoin: 'USDC',\n\t},\n\tALKIMI_SUI: {\n\t\taddress: `0x84752993c6dc6fce70e25ddeb4daddb6592d6b9b0912a0a91c07cfff5a721d89`,\n\t\tbaseCoin: 'ALKIMI',\n\t\tquoteCoin: 'SUI',\n\t},\n\tLZWBTC_USDC: {\n\t\taddress: `0xf5142aafa24866107df628bf92d0358c7da6acc46c2f10951690fd2b8570f117`,\n\t\tbaseCoin: 'LZWBTC',\n\t\tquoteCoin: 'USDC',\n\t},\n\tUSDT_USDC: {\n\t\taddress: '0xfc28a2fb22579c16d672a1152039cbf671e5f4b9f103feddff4ea06ef3c2bc25',\n\t\tbaseCoin: 'USDT',\n\t\tquoteCoin: 'USDC',\n\t},\n\tSUIUSDE_USDC: {\n\t\taddress: '0x0fac1cebf35bde899cd9ecdd4371e0e33f44ba83b8a2902d69186646afa3a94b',\n\t\tbaseCoin: 'SUIUSDE',\n\t\tquoteCoin: 'USDC',\n\t},\n\tSUI_SUIUSDE: {\n\t\taddress: '0x034f3a42e7348de2084406db7a725f9d9d132a56c68324713e6e623601fb4fd7',\n\t\tbaseCoin: 'SUI',\n\t\tquoteCoin: 'SUIUSDE',\n\t},\n};\n\nexport const testnetMarginPools = {\n\tSUI: {\n\t\taddress: '0xcdbbe6a72e639b647296788e2e4b1cac5cea4246028ba388ba1332ff9a382eea',\n\t\ttype: '0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI',\n\t},\n\tDBUSDC: {\n\t\taddress: '0xf08568da93834e1ee04f09902ac7b1e78d3fdf113ab4d2106c7265e95318b14d',\n\t\ttype: '0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7::DBUSDC::DBUSDC',\n\t},\n\tDEEP: {\n\t\taddress: '0x610640613f21d9e688d6f8103d17df22315c32e0c80590ce64951a1991378b55',\n\t\ttype: '0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8::deep::DEEP',\n\t},\n\tDBTC: {\n\t\taddress: '0xf3440b4aafcc8b12fc4b242e9590c52873b8238a0d0e52fbf9dae61d2970796a',\n\t\ttype: '0x6502dae813dbe5e42643c119a6450a518481f03063febc7e20238e43b6ea9e86::dbtc::DBTC',\n\t},\n};\n\nexport const mainnetMarginPools = {\n\tSUI: {\n\t\taddress: '0x53041c6f86c4782aabbfc1d4fe234a6d37160310c7ee740c915f0a01b7127344',\n\t\ttype: '0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI',\n\t},\n\tUSDC: {\n\t\taddress: '0xba473d9ae278f10af75c50a8fa341e9c6a1c087dc91a3f23e8048baf67d0754f',\n\t\ttype: '0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC',\n\t},\n\tDEEP: {\n\t\taddress: '0x1d723c5cd113296868b55208f2ab5a905184950dd59c48eb7345607d6b5e6af7',\n\t\ttype: '0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP',\n\t},\n\tWAL: {\n\t\taddress: '0x38decd3dbb62bd4723144349bf57bc403b393aee86a51596846a824a1e0c2c01',\n\t\ttype: '0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal::WAL',\n\t},\n\tSUIUSDE: {\n\t\taddress: '0xbb990ca04a7743e6c0a25a7fb16f60fc6f6d8bf213624ff03a63f1bb04c3a12f',\n\t\ttype: '0x41d587e5336f1c86cad50d38a7136db99333bb9bda91cea4ba69115defeb1402::sui_usde::SUI_USDE',\n\t},\n};\n\nexport const testnetPythConfigs = {\n\tpythStateId: '0x243759059f4c3111179da5878c12f68d612c21a8d54d85edc86164bb18be1c7c',\n\twormholeStateId: '0x31358d198147da50db32eda2562951d53973a0c0ad5ed738e9b17d88b213d790',\n};\n\nexport const mainnetPythConfigs = {\n\tpythStateId: '0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8',\n\twormholeStateId: '0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c',\n};\n"],"mappings":";AAiBA,MAAa,oBAAoB;CAChC,qBAAqB;CACrB,aAAa;CACb,kBAAkB;CAClB,mBAAmB;CACnB,oBAAoB;CACpB,wBAAwB;CACxB;AAED,MAAa,oBAAoB;CAChC,qBAAqB;CACrB,aAAa;CACb,kBAAkB;CAClB,mBAAmB;CACnB,oBAAoB;CACpB,wBAAwB;CACxB;AAED,MAAa,eAAwB;CACpC,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,KAAK;EACJ,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,QAAQ;EACP,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,QAAQ;EACP,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,KAAK;EACJ,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD;AAED,MAAa,eAAwB;CACpC,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,KAAK;EACJ,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,KAAK;EACJ,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,SAAS;EACR,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,mBAAmB;EACnB;CACD,OAAO;EACN,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,OAAO;EACN,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,IAAI;EACH,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,OAAO;EACN,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,KAAK;EACJ,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,KAAK;EACJ,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,QAAQ;EACP,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,QAAQ;EACP,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CAED,OAAO;EACN,SAAS;EACT,MAAM;EACN,QAAQ;EACR;CACD;AAED,MAAa,eAAwB;CACpC,UAAU;EACT,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,YAAY;EACX,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,aAAa;EACZ,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,eAAe;EACd,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,YAAY;EACX,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,SAAS;EACR,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,aAAa;EACZ,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD;AAED,MAAa,eAAwB;CACpC,UAAU;EACT,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,UAAU;EACT,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,WAAW;EACV,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,YAAY;EACX,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,YAAY;EACX,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,WAAW;EACV,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,SAAS;EACR,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,QAAQ;EACP,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,WAAW;EACV,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,UAAU;EACT,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,WAAW;EACV,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,SAAS;EACR,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,WAAW;EACV,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,UAAU;EACT,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,SAAS;EACR,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,WAAW;EACV,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,UAAU;EACT,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,YAAY;EACX,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,aAAa;EACZ,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,WAAW;EACV,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,cAAc;EACb,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD,aAAa;EACZ,SAAS;EACT,UAAU;EACV,WAAW;EACX;CACD;AAED,MAAa,qBAAqB;CACjC,KAAK;EACJ,SAAS;EACT,MAAM;EACN;CACD,QAAQ;EACP,SAAS;EACT,MAAM;EACN;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN;CACD;AAED,MAAa,qBAAqB;CACjC,KAAK;EACJ,SAAS;EACT,MAAM;EACN;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN;CACD,MAAM;EACL,SAAS;EACT,MAAM;EACN;CACD,KAAK;EACJ,SAAS;EACT,MAAM;EACN;CACD,SAAS;EACR,SAAS;EACT,MAAM;EACN;CACD;AAED,MAAa,qBAAqB;CACjC,aAAa;CACb,iBAAiB;CACjB;AAED,MAAa,qBAAqB;CACjC,aAAa;CACb,iBAAiB;CACjB"}
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.0.12",
5
+ "version": "1.1.0",
6
6
  "license": "Apache-2.0",
7
7
  "type": "module",
8
8
  "main": "./dist/index.mjs",
@@ -46,11 +46,11 @@
46
46
  "vite": "^7.3.1",
47
47
  "vitest": "^4.0.17",
48
48
  "wait-on": "^9.0.3",
49
- "@mysten/sui": "^2.4.0",
50
- "@mysten/codegen": "^0.8.2"
49
+ "@mysten/codegen": "^0.8.2",
50
+ "@mysten/sui": "^2.5.0"
51
51
  },
52
52
  "peerDependencies": {
53
- "@mysten/sui": "^2.4.0"
53
+ "@mysten/sui": "^2.5.0"
54
54
  },
55
55
  "scripts": {
56
56
  "clean": "rm -rf tsconfig.tsbuildinfo ./dist",
package/src/client.ts CHANGED
@@ -23,7 +23,7 @@ import {
23
23
  FLOAT_SCALAR,
24
24
  PRICE_INFO_OBJECT_MAX_AGE_MS,
25
25
  } from './utils/config.js';
26
- import type { CoinMap, PoolMap } from './utils/constants.js';
26
+ import type { CoinMap, PoolMap, DeepbookPackageIds } from './utils/constants.js';
27
27
  import { MarginAdminContract } from './transactions/marginAdmin.js';
28
28
  import { MarginMaintainerContract } from './transactions/marginMaintainer.js';
29
29
  import { MarginPoolContract } from './transactions/marginPool.js';
@@ -47,6 +47,8 @@ export interface DeepBookOptions<Name = 'deepbook'> {
47
47
  adminCap?: string;
48
48
  marginAdminCap?: string;
49
49
  marginMaintainerCap?: string;
50
+ packageIds?: DeepbookPackageIds;
51
+ pyth?: { pythStateId: string; wormholeStateId: string };
50
52
  name?: Name;
51
53
  }
52
54
 
@@ -106,6 +108,8 @@ export class DeepBookClient {
106
108
  adminCap,
107
109
  marginAdminCap,
108
110
  marginMaintainerCap,
111
+ packageIds,
112
+ pyth,
109
113
  }: DeepBookClientOptions) {
110
114
  this.#client = client;
111
115
  this.#address = normalizeSuiAddress(address);
@@ -119,6 +123,8 @@ export class DeepBookClient {
119
123
  adminCap,
120
124
  marginAdminCap,
121
125
  marginMaintainerCap,
126
+ packageIds,
127
+ pyth,
122
128
  });
123
129
  this.balanceManager = new BalanceManagerContract(this.#config);
124
130
  this.deepBook = new DeepBookContract(this.#config);
@@ -974,6 +980,7 @@ export class DeepBookClient {
974
980
  }
975
981
 
976
982
  async getPriceInfoObject(tx: Transaction, coinKey: string): Promise<string> {
983
+ this.#config.requirePyth();
977
984
  const currentTime = Date.now();
978
985
  const priceInfoObjectAge = await this.getPriceInfoObjectAge(coinKey);
979
986
  if (
@@ -1017,6 +1024,7 @@ export class DeepBookClient {
1017
1024
  * @returns {Promise<Record<string, string>>} Map of coinKey -> priceInfoObjectId
1018
1025
  */
1019
1026
  async getPriceInfoObjects(tx: Transaction, coinKeys: string[]): Promise<Record<string, string>> {
1027
+ this.#config.requirePyth();
1020
1028
  if (coinKeys.length === 0) {
1021
1029
  return {};
1022
1030
  }
@@ -5,8 +5,8 @@ import { normalizeSuiAddress } from '@mysten/sui/utils';
5
5
 
6
6
  import { BalanceManagerContract } from '../transactions/balanceManager.js';
7
7
  import type { BalanceManager, MarginManager, Coin, Pool, MarginPool } from '../types/index.js';
8
- import type { CoinMap, PoolMap, MarginPoolMap } from './constants.js';
9
- import { ResourceNotFoundError, ErrorMessages } from './errors.js';
8
+ import type { CoinMap, PoolMap, MarginPoolMap, DeepbookPackageIds } from './constants.js';
9
+ import { ResourceNotFoundError, ConfigurationError, ErrorMessages } from './errors.js';
10
10
  import {
11
11
  mainnetCoins,
12
12
  mainnetPackageIds,
@@ -68,6 +68,8 @@ export class DeepBookConfig {
68
68
  coins,
69
69
  pools,
70
70
  marginPools,
71
+ packageIds,
72
+ pyth,
71
73
  }: {
72
74
  network: SuiClientTypes.Network;
73
75
  address: string;
@@ -79,11 +81,9 @@ export class DeepBookConfig {
79
81
  coins?: CoinMap;
80
82
  pools?: PoolMap;
81
83
  marginPools?: MarginPoolMap;
84
+ packageIds?: DeepbookPackageIds;
85
+ pyth?: { pythStateId: string; wormholeStateId: string };
82
86
  }) {
83
- if (network !== 'mainnet' && network !== 'testnet') {
84
- throw new Error(`DeepBook only supports 'mainnet' and 'testnet' networks, got '${network}'`);
85
- }
86
-
87
87
  this.network = network;
88
88
  this.address = normalizeSuiAddress(address);
89
89
  this.adminCap = adminCap;
@@ -92,7 +92,18 @@ export class DeepBookConfig {
92
92
  this.balanceManagers = balanceManagers || {};
93
93
  this.marginManagers = marginManagers || {};
94
94
 
95
- if (network === 'mainnet') {
95
+ if (packageIds) {
96
+ this.DEEPBOOK_PACKAGE_ID = packageIds.DEEPBOOK_PACKAGE_ID || '';
97
+ this.REGISTRY_ID = packageIds.REGISTRY_ID || '';
98
+ this.DEEP_TREASURY_ID = packageIds.DEEP_TREASURY_ID || '';
99
+ this.MARGIN_PACKAGE_ID = packageIds.MARGIN_PACKAGE_ID || '';
100
+ this.MARGIN_REGISTRY_ID = packageIds.MARGIN_REGISTRY_ID || '';
101
+ this.LIQUIDATION_PACKAGE_ID = packageIds.LIQUIDATION_PACKAGE_ID || '';
102
+ this.#coins = coins || {};
103
+ this.#pools = pools || {};
104
+ this.#marginPools = marginPools || {};
105
+ this.pyth = pyth || { pythStateId: '', wormholeStateId: '' };
106
+ } else if (network === 'mainnet') {
96
107
  this.#coins = coins || mainnetCoins;
97
108
  this.#pools = pools || mainnetPools;
98
109
  this.#marginPools = marginPools || mainnetMarginPools;
@@ -103,7 +114,7 @@ export class DeepBookConfig {
103
114
  this.MARGIN_REGISTRY_ID = mainnetPackageIds.MARGIN_REGISTRY_ID;
104
115
  this.LIQUIDATION_PACKAGE_ID = mainnetPackageIds.LIQUIDATION_PACKAGE_ID;
105
116
  this.pyth = mainnetPythConfigs;
106
- } else {
117
+ } else if (network === 'testnet') {
107
118
  this.#coins = coins || testnetCoins;
108
119
  this.#pools = pools || testnetPools;
109
120
  this.#marginPools = marginPools || testnetMarginPools;
@@ -114,11 +125,23 @@ export class DeepBookConfig {
114
125
  this.MARGIN_REGISTRY_ID = testnetPackageIds.MARGIN_REGISTRY_ID;
115
126
  this.LIQUIDATION_PACKAGE_ID = testnetPackageIds.LIQUIDATION_PACKAGE_ID;
116
127
  this.pyth = testnetPythConfigs;
128
+ } else {
129
+ throw new Error(
130
+ `Network '${network}' is not supported by default. Provide custom 'packageIds' for non-standard networks.`,
131
+ );
117
132
  }
118
133
 
119
134
  this.balanceManager = new BalanceManagerContract(this);
120
135
  }
121
136
 
137
+ requirePyth() {
138
+ if (!this.pyth.pythStateId || !this.pyth.wormholeStateId) {
139
+ throw new ConfigurationError(
140
+ "Pyth configuration is required for price feed operations. Provide 'pyth' when using custom packageIds.",
141
+ );
142
+ }
143
+ }
144
+
122
145
  // Getters
123
146
  getCoin(key: string): Coin {
124
147
  const coin = this.#coins[key];
@@ -7,12 +7,12 @@ export type CoinMap = Record<string, Coin>;
7
7
  export type PoolMap = Record<string, Pool>;
8
8
  export type MarginPoolMap = Record<string, MarginPool>;
9
9
  export interface DeepbookPackageIds {
10
- DEEPBOOK_PACKAGE_ID: string;
11
- REGISTRY_ID: string;
12
- DEEP_TREASURY_ID: string;
13
- MARGIN_PACKAGE_ID: string;
14
- MARGIN_REGISTRY_ID: string;
15
- LIQUIDATION_PACKAGE_ID: string;
10
+ DEEPBOOK_PACKAGE_ID?: string;
11
+ REGISTRY_ID?: string;
12
+ DEEP_TREASURY_ID?: string;
13
+ MARGIN_PACKAGE_ID?: string;
14
+ MARGIN_REGISTRY_ID?: string;
15
+ LIQUIDATION_PACKAGE_ID?: string;
16
16
  }
17
17
 
18
18
  export const testnetPackageIds = {