@naviprotocol/lending 2.0.12 → 2.1.0-preview.pr116.96dbd7c

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/dist/market.d.ts CHANGED
@@ -57,6 +57,11 @@ export declare const MARKETS: {
57
57
  key: string;
58
58
  name: string;
59
59
  };
60
+ "eearn-usdc": {
61
+ id: number;
62
+ key: string;
63
+ name: string;
64
+ };
60
65
  };
61
66
  export declare class Market {
62
67
  private poolMap;
@@ -127,6 +132,10 @@ export declare const getMarketConfig: (marketIdentity: MarketIdentity) => {
127
132
  id: number;
128
133
  key: string;
129
134
  name: string;
135
+ } | {
136
+ id: number;
137
+ key: string;
138
+ name: string;
130
139
  };
131
140
  export declare const getMarkets: (markets: MarketIdentity[], options?: Partial<EnvOption & CacheOption>) => Promise<Market[]>;
132
141
  export declare const getMarket: (market: MarketIdentity, options?: Partial<EnvOption & CacheOption>) => Promise<Market>;
@@ -1 +1 @@
1
- {"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../src/market.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,WAAW,EACX,KAAK,EACL,YAAY,EACZ,IAAI,EACJ,SAAS,EACV,MAAM,SAAS,CAAA;AAIhB,eAAO,MAAM,uBAAuB,SAAS,CAAA;AAE7C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDnB,CAAA;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,QAAQ,CAA8B;IAC9C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAK;IAC3B,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,CAAK;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAK;IACrC,oBAAoB,EAAE,IAAI,EAAE,CAAK;IACjC,oBAAoB,EAAE,IAAI,EAAE,CAAK;IAEjC,OAAO,CAAC,SAAS,CAGhB;IAED,IAAI,QAAQ;;;MAEX;gBAEW,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE;IAKzD,OAAO,CAAC,SAAS;IA2DV,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAKvC,mBAAmB,CACxB,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,GACA,IAAI,EAAE;IAwBF,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE;IAwBlD,OAAO,CAAC,WAAW;CAapB;AAED,eAAO,MAAM,eAAe,GAAI,gBAAgB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAe7D,CAAA;AAED,eAAO,MAAM,UAAU,YAGR,cAAc,EAAE,YACf,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,KACzC,OAAO,CAAC,MAAM,EAAE,CAetB,CAAA;AAED,eAAO,MAAM,SAAS,WAEH,cAAc,YAAY,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,KAAG,OAAO,CAAC,MAAM,CAK7F,CAAA"}
1
+ {"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../src/market.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,WAAW,EACX,KAAK,EACL,YAAY,EACZ,IAAI,EACJ,SAAS,EACV,MAAM,SAAS,CAAA;AAIhB,eAAO,MAAM,uBAAuB,SAAS,CAAA;AAE7C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DnB,CAAA;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,QAAQ,CAA8B;IAC9C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAK;IAC3B,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,CAAK;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAK;IACrC,oBAAoB,EAAE,IAAI,EAAE,CAAK;IACjC,oBAAoB,EAAE,IAAI,EAAE,CAAK;IAEjC,OAAO,CAAC,SAAS,CAGhB;IAED,IAAI,QAAQ;;;MAEX;gBAEW,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE;IAKzD,OAAO,CAAC,SAAS;IA2DV,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAKvC,mBAAmB,CACxB,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,GACA,IAAI,EAAE;IAwBF,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE;IAwBlD,OAAO,CAAC,WAAW;CAapB;AAED,eAAO,MAAM,eAAe,GAAI,gBAAgB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAe7D,CAAA;AAED,eAAO,MAAM,UAAU,YAGR,cAAc,EAAE,YACf,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,KACzC,OAAO,CAAC,MAAM,EAAE,CAetB,CAAA;AAED,eAAO,MAAM,SAAS,WAEH,cAAc,YAAY,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,KAAG,OAAO,CAAC,MAAM,CAK7F,CAAA"}
package/dist/market.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { withCache as M, getPoolsMap as m, getEmodesMap as p, withSingleton as k } from "./utils.js";
2
- import { getPools as S } from "./pool.js";
2
+ import { getPools as b } from "./pool.js";
3
3
  import f from "bignumber.js";
4
- const T = "main", w = {
4
+ const C = "main", w = {
5
5
  main: {
6
6
  id: 0,
7
7
  key: "main",
@@ -56,6 +56,11 @@ const T = "main", w = {
56
56
  id: 10,
57
57
  key: "high-usdc",
58
58
  name: "HIGH / USDC Market"
59
+ },
60
+ "eearn-usdc": {
61
+ id: 11,
62
+ key: "eearn-usdc",
63
+ name: "eEARN / USDC Market"
59
64
  }
60
65
  };
61
66
  class y {
@@ -129,7 +134,7 @@ const g = (r) => {
129
134
  }, I = M(
130
135
  k(
131
136
  async (r, s) => {
132
- const o = await S({
137
+ const o = await b({
133
138
  cacheTime: 6e4,
134
139
  ...s,
135
140
  markets: r
@@ -140,16 +145,16 @@ const g = (r) => {
140
145
  });
141
146
  }
142
147
  )
143
- ), C = M(
148
+ ), T = M(
144
149
  k(
145
150
  async (r, s) => (await I([r], s))[0]
146
151
  )
147
152
  );
148
153
  export {
149
- T as DEFAULT_MARKET_IDENTITY,
154
+ C as DEFAULT_MARKET_IDENTITY,
150
155
  w as MARKETS,
151
156
  y as Market,
152
- C as getMarket,
157
+ T as getMarket,
153
158
  g as getMarketConfig,
154
159
  I as getMarkets
155
160
  };
@@ -1 +1 @@
1
- {"version":3,"file":"market.js","sources":["../src/market.ts"],"sourcesContent":["import { withCache, withSingleton, getPoolsMap, getEmodesMap } from './utils'\nimport type {\n MarketIdentity,\n EnvOption,\n CacheOption,\n EMode,\n MarketConfig,\n Pool,\n EModePool\n} from './types'\nimport { getPools } from './pool'\nimport BigNumber from 'bignumber.js'\n\nexport const DEFAULT_MARKET_IDENTITY = 'main'\n\nexport const MARKETS = {\n main: {\n id: 0,\n key: 'main',\n name: 'Main Market'\n },\n ember: {\n id: 1,\n key: 'ember',\n name: 'eACRED / USDC Market'\n },\n rwa: {\n id: 2,\n key: 'rwa',\n name: 'Matrixdock Market'\n },\n 'sui-eco': {\n id: 3,\n key: 'sui-eco',\n name: 'Sui Eco Market'\n },\n \"sui-usdc\": {\n id: 4,\n key: \"sui-usdc\",\n name: \"SUI / USDC Market\"\n },\n \"wbtc-usdc\": {\n id: 5,\n key: \"wbtc-usdc\",\n name: \"WBTC / USDC Market\"\n },\n \"xbtc-usdc\": {\n id: 6,\n key: \"xbtc-usdc\",\n name: \"xBTC / USDC Market\"\n },\n \"vsui-usdc\": {\n id: 7,\n key: \"vsui-usdc\",\n name: \"vSUI / USDC Market\"\n },\n \"vsui-sui\": {\n id: 8,\n key: \"vsui-sui\",\n name: \"vSUI / SUI Market\"\n },\n \"hasui-sui\": {\n id: 9,\n key: \"hasui-sui\",\n name: \"haSUI / SUI Market\"\n },\n \"high-usdc\": {\n id: 10,\n key: \"high-usdc\",\n name: \"HIGH / USDC Market\"\n }\n}\n\nexport class Market {\n private poolMap = {} as Record<string, Pool>\n private emodeMap = {} as Record<string, EMode>\n readonly config: MarketConfig\n readonly pools: Pool[] = []\n readonly emodes: EMode[] = []\n readonly emodePools: EModePool[] = []\n emodeBorrowablePools: Pool[] = []\n emodeSupplyablePools: Pool[] = []\n\n private _overview = {\n marketTotalSupplyValue: '0',\n marketTotalBorrowValue: '0'\n }\n\n get overview() {\n return this._overview\n }\n\n constructor(marketIdentity: MarketIdentity, pools: Pool[]) {\n this.config = getMarketConfig(marketIdentity)\n this.initPools(pools)\n }\n\n private initPools(pools: Pool[]) {\n const poolsMap = getPoolsMap(this.pools)\n const emodesMap = getEmodesMap(this.emodes)\n const emodeBorrowablePoolIds = new Set<string>()\n const emodeSupplyablePoolIds = new Set<string>()\n let marketTotalSupplyValue = BigNumber(0)\n let marketTotalBorrowValue = BigNumber(0)\n\n pools.forEach((pool) => {\n const isMatch = this.checkMarket(pool.market)\n if (!isMatch) {\n console.warn(`Pool is not in market ${this.config.name}`, pool)\n return\n }\n if (!poolsMap[pool.uniqueId]) {\n this.pools.push(pool)\n }\n pool?.emodes?.forEach((emode) => {\n if (!emodesMap[emode.uniqueId]) {\n this.emodes.push(emode)\n }\n emode.assets.forEach((asset) => {\n if (asset.isDebt) {\n const debtAsset = emode.assets.find(\n (a) => a.isCollateral && a.ltv > 0 && a.assetId !== pool.id\n )\n if (debtAsset) {\n emodeBorrowablePoolIds.add(pool.uniqueId)\n }\n }\n if (asset.isCollateral) {\n const supplyAsset = emode.assets.find((a) => a.isDebt && a.assetId !== pool.id)\n if (supplyAsset) {\n emodeSupplyablePoolIds.add(pool.uniqueId)\n }\n }\n })\n })\n marketTotalBorrowValue = marketTotalBorrowValue.plus(pool.poolBorrowValue)\n marketTotalSupplyValue = marketTotalSupplyValue.plus(pool.poolSupplyValue)\n })\n this.poolMap = getPoolsMap(this.pools, 'id')\n this.emodeMap = getEmodesMap(this.emodes, 'emodeId')\n this.emodes.forEach((emode) => {\n const emodePools = this.getEModePools(emode.emodeId)\n this.emodePools.push(...emodePools)\n })\n this._overview = {\n marketTotalSupplyValue: marketTotalSupplyValue.toString(),\n marketTotalBorrowValue: marketTotalBorrowValue.toString()\n }\n this.emodeBorrowablePools = this.pools.filter((pool) => {\n return emodeBorrowablePoolIds.has(pool.uniqueId)\n })\n this.emodeSupplyablePools = this.pools.filter((pool) => {\n return emodeSupplyablePoolIds.has(pool.uniqueId)\n })\n }\n\n public getEMode(emodeId: number): EMode | null {\n const emode = this.emodeMap[emodeId]\n return emode || null\n }\n\n public getEModeRelatePools(\n pool: Pool,\n options?: {\n collateral?: boolean\n debt?: boolean\n emodeId?: number\n }\n ): Pool[] {\n const { collateral, debt, emodeId } = options || {}\n const relatePools = [] as Pool[]\n pool.emodes.forEach((emode) => {\n if (typeof emodeId === 'number' && emodeId !== emode.emodeId) {\n return\n }\n emode.assets.forEach((asset) => {\n if (\n typeof collateral === 'boolean' &&\n collateral &&\n asset.isCollateral &&\n asset.assetId === pool.id\n ) {\n relatePools.push(this.poolMap[asset.assetId])\n }\n if (typeof debt === 'boolean' && debt && asset.isDebt && asset.assetId === pool.id) {\n relatePools.push(this.poolMap[asset.assetId])\n }\n })\n })\n return relatePools\n }\n\n public getEModePools(emodeId: number): EModePool[] {\n const emode = this.getEMode(emodeId)\n if (!emode) {\n return []\n }\n const pools = emode.assets\n .map((asset) => asset.assetId)\n .map((id) => {\n return this.poolMap[id]\n })\n .filter((pool) => !!pool)\n return pools.map((pool) => {\n const asset = emode.assets.find((asset) => asset.assetId === pool.id)!\n return {\n ...pool,\n emode: {\n ...asset,\n emodeId: emode.emodeId\n },\n isEMode: true\n }\n })\n }\n\n private checkMarket(marketIdentity: MarketIdentity) {\n let isMatch = false\n if (typeof marketIdentity === 'number' && marketIdentity === this.config.id) {\n isMatch = true\n }\n if (typeof marketIdentity === 'string' && marketIdentity === this.config.key) {\n isMatch = true\n }\n if (typeof marketIdentity === 'object' && marketIdentity.id === this.config.id) {\n isMatch = true\n }\n return isMatch\n }\n}\n\nexport const getMarketConfig = (marketIdentity: MarketIdentity) => {\n const configs = Object.values(MARKETS)\n const config = configs.find((marketConfig) => {\n if (typeof marketIdentity === 'number') {\n return marketConfig.id === marketIdentity\n }\n if (typeof marketIdentity === 'string') {\n return marketConfig.key === marketIdentity\n }\n return marketConfig.id === marketIdentity.id\n })\n if (!config) {\n throw new Error(`Market not found`)\n }\n return config\n}\n\nexport const getMarkets = withCache(\n withSingleton(\n async (\n markets: MarketIdentity[],\n options?: Partial<EnvOption & CacheOption>\n ): Promise<Market[]> => {\n const pools = await getPools({\n cacheTime: 1000 * 60,\n ...options,\n markets\n })\n return markets.map((market) => {\n const marketConfig = getMarketConfig(market)\n const marketPools = pools.filter((pool) => {\n return pool.market === marketConfig.key\n })\n return new Market(market, marketPools)\n })\n }\n )\n)\n\nexport const getMarket = withCache(\n withSingleton(\n async (market: MarketIdentity, options?: Partial<EnvOption & CacheOption>): Promise<Market> => {\n const markets = await getMarkets([market], options)\n return markets[0]\n }\n )\n)\n"],"names":["DEFAULT_MARKET_IDENTITY","MARKETS","Market","marketIdentity","pools","getMarketConfig","poolsMap","getPoolsMap","emodesMap","getEmodesMap","emodeBorrowablePoolIds","emodeSupplyablePoolIds","marketTotalSupplyValue","BigNumber","marketTotalBorrowValue","pool","emode","asset","a","emodePools","emodeId","options","collateral","debt","relatePools","id","isMatch","config","marketConfig","getMarkets","withCache","withSingleton","markets","getPools","market","marketPools","getMarket"],"mappings":"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"}
1
+ {"version":3,"file":"market.js","sources":["../src/market.ts"],"sourcesContent":["import { withCache, withSingleton, getPoolsMap, getEmodesMap } from './utils'\nimport type {\n MarketIdentity,\n EnvOption,\n CacheOption,\n EMode,\n MarketConfig,\n Pool,\n EModePool\n} from './types'\nimport { getPools } from './pool'\nimport BigNumber from 'bignumber.js'\n\nexport const DEFAULT_MARKET_IDENTITY = 'main'\n\nexport const MARKETS = {\n main: {\n id: 0,\n key: 'main',\n name: 'Main Market'\n },\n ember: {\n id: 1,\n key: 'ember',\n name: 'eACRED / USDC Market'\n },\n rwa: {\n id: 2,\n key: 'rwa',\n name: 'Matrixdock Market'\n },\n 'sui-eco': {\n id: 3,\n key: 'sui-eco',\n name: 'Sui Eco Market'\n },\n \"sui-usdc\": {\n id: 4,\n key: \"sui-usdc\",\n name: \"SUI / USDC Market\"\n },\n \"wbtc-usdc\": {\n id: 5,\n key: \"wbtc-usdc\",\n name: \"WBTC / USDC Market\"\n },\n \"xbtc-usdc\": {\n id: 6,\n key: \"xbtc-usdc\",\n name: \"xBTC / USDC Market\"\n },\n \"vsui-usdc\": {\n id: 7,\n key: \"vsui-usdc\",\n name: \"vSUI / USDC Market\"\n },\n \"vsui-sui\": {\n id: 8,\n key: \"vsui-sui\",\n name: \"vSUI / SUI Market\"\n },\n \"hasui-sui\": {\n id: 9,\n key: \"hasui-sui\",\n name: \"haSUI / SUI Market\"\n },\n \"high-usdc\": {\n id: 10,\n key: \"high-usdc\",\n name: \"HIGH / USDC Market\"\n },\n \"eearn-usdc\": {\n id: 11,\n key: \"eearn-usdc\",\n name: \"eEARN / USDC Market\"\n }\n}\n\nexport class Market {\n private poolMap = {} as Record<string, Pool>\n private emodeMap = {} as Record<string, EMode>\n readonly config: MarketConfig\n readonly pools: Pool[] = []\n readonly emodes: EMode[] = []\n readonly emodePools: EModePool[] = []\n emodeBorrowablePools: Pool[] = []\n emodeSupplyablePools: Pool[] = []\n\n private _overview = {\n marketTotalSupplyValue: '0',\n marketTotalBorrowValue: '0'\n }\n\n get overview() {\n return this._overview\n }\n\n constructor(marketIdentity: MarketIdentity, pools: Pool[]) {\n this.config = getMarketConfig(marketIdentity)\n this.initPools(pools)\n }\n\n private initPools(pools: Pool[]) {\n const poolsMap = getPoolsMap(this.pools)\n const emodesMap = getEmodesMap(this.emodes)\n const emodeBorrowablePoolIds = new Set<string>()\n const emodeSupplyablePoolIds = new Set<string>()\n let marketTotalSupplyValue = BigNumber(0)\n let marketTotalBorrowValue = BigNumber(0)\n\n pools.forEach((pool) => {\n const isMatch = this.checkMarket(pool.market)\n if (!isMatch) {\n console.warn(`Pool is not in market ${this.config.name}`, pool)\n return\n }\n if (!poolsMap[pool.uniqueId]) {\n this.pools.push(pool)\n }\n pool?.emodes?.forEach((emode) => {\n if (!emodesMap[emode.uniqueId]) {\n this.emodes.push(emode)\n }\n emode.assets.forEach((asset) => {\n if (asset.isDebt) {\n const debtAsset = emode.assets.find(\n (a) => a.isCollateral && a.ltv > 0 && a.assetId !== pool.id\n )\n if (debtAsset) {\n emodeBorrowablePoolIds.add(pool.uniqueId)\n }\n }\n if (asset.isCollateral) {\n const supplyAsset = emode.assets.find((a) => a.isDebt && a.assetId !== pool.id)\n if (supplyAsset) {\n emodeSupplyablePoolIds.add(pool.uniqueId)\n }\n }\n })\n })\n marketTotalBorrowValue = marketTotalBorrowValue.plus(pool.poolBorrowValue)\n marketTotalSupplyValue = marketTotalSupplyValue.plus(pool.poolSupplyValue)\n })\n this.poolMap = getPoolsMap(this.pools, 'id')\n this.emodeMap = getEmodesMap(this.emodes, 'emodeId')\n this.emodes.forEach((emode) => {\n const emodePools = this.getEModePools(emode.emodeId)\n this.emodePools.push(...emodePools)\n })\n this._overview = {\n marketTotalSupplyValue: marketTotalSupplyValue.toString(),\n marketTotalBorrowValue: marketTotalBorrowValue.toString()\n }\n this.emodeBorrowablePools = this.pools.filter((pool) => {\n return emodeBorrowablePoolIds.has(pool.uniqueId)\n })\n this.emodeSupplyablePools = this.pools.filter((pool) => {\n return emodeSupplyablePoolIds.has(pool.uniqueId)\n })\n }\n\n public getEMode(emodeId: number): EMode | null {\n const emode = this.emodeMap[emodeId]\n return emode || null\n }\n\n public getEModeRelatePools(\n pool: Pool,\n options?: {\n collateral?: boolean\n debt?: boolean\n emodeId?: number\n }\n ): Pool[] {\n const { collateral, debt, emodeId } = options || {}\n const relatePools = [] as Pool[]\n pool.emodes.forEach((emode) => {\n if (typeof emodeId === 'number' && emodeId !== emode.emodeId) {\n return\n }\n emode.assets.forEach((asset) => {\n if (\n typeof collateral === 'boolean' &&\n collateral &&\n asset.isCollateral &&\n asset.assetId === pool.id\n ) {\n relatePools.push(this.poolMap[asset.assetId])\n }\n if (typeof debt === 'boolean' && debt && asset.isDebt && asset.assetId === pool.id) {\n relatePools.push(this.poolMap[asset.assetId])\n }\n })\n })\n return relatePools\n }\n\n public getEModePools(emodeId: number): EModePool[] {\n const emode = this.getEMode(emodeId)\n if (!emode) {\n return []\n }\n const pools = emode.assets\n .map((asset) => asset.assetId)\n .map((id) => {\n return this.poolMap[id]\n })\n .filter((pool) => !!pool)\n return pools.map((pool) => {\n const asset = emode.assets.find((asset) => asset.assetId === pool.id)!\n return {\n ...pool,\n emode: {\n ...asset,\n emodeId: emode.emodeId\n },\n isEMode: true\n }\n })\n }\n\n private checkMarket(marketIdentity: MarketIdentity) {\n let isMatch = false\n if (typeof marketIdentity === 'number' && marketIdentity === this.config.id) {\n isMatch = true\n }\n if (typeof marketIdentity === 'string' && marketIdentity === this.config.key) {\n isMatch = true\n }\n if (typeof marketIdentity === 'object' && marketIdentity.id === this.config.id) {\n isMatch = true\n }\n return isMatch\n }\n}\n\nexport const getMarketConfig = (marketIdentity: MarketIdentity) => {\n const configs = Object.values(MARKETS)\n const config = configs.find((marketConfig) => {\n if (typeof marketIdentity === 'number') {\n return marketConfig.id === marketIdentity\n }\n if (typeof marketIdentity === 'string') {\n return marketConfig.key === marketIdentity\n }\n return marketConfig.id === marketIdentity.id\n })\n if (!config) {\n throw new Error(`Market not found`)\n }\n return config\n}\n\nexport const getMarkets = withCache(\n withSingleton(\n async (\n markets: MarketIdentity[],\n options?: Partial<EnvOption & CacheOption>\n ): Promise<Market[]> => {\n const pools = await getPools({\n cacheTime: 1000 * 60,\n ...options,\n markets\n })\n return markets.map((market) => {\n const marketConfig = getMarketConfig(market)\n const marketPools = pools.filter((pool) => {\n return pool.market === marketConfig.key\n })\n return new Market(market, marketPools)\n })\n }\n )\n)\n\nexport const getMarket = withCache(\n withSingleton(\n async (market: MarketIdentity, options?: Partial<EnvOption & CacheOption>): Promise<Market> => {\n const markets = await getMarkets([market], options)\n return markets[0]\n }\n )\n)\n"],"names":["DEFAULT_MARKET_IDENTITY","MARKETS","Market","marketIdentity","pools","getMarketConfig","poolsMap","getPoolsMap","emodesMap","getEmodesMap","emodeBorrowablePoolIds","emodeSupplyablePoolIds","marketTotalSupplyValue","BigNumber","marketTotalBorrowValue","pool","emode","asset","a","emodePools","emodeId","options","collateral","debt","relatePools","id","isMatch","config","marketConfig","getMarkets","withCache","withSingleton","markets","getPools","market","marketPools","getMarket"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- const o = "2.0.12", s = {
2
- version: o
1
+ const e = "2.1.0-preview.pr116.96dbd7c", o = {
2
+ version: e
3
3
  };
4
4
  export {
5
- s as default,
6
- o as version
5
+ o as default,
6
+ e as version
7
7
  };
8
8
  //# sourceMappingURL=package.json.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naviprotocol/lending",
3
- "version": "2.0.12",
3
+ "version": "2.1.0-preview.pr116.96dbd7c",
4
4
  "description": "NAVI Lending SDK",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -38,6 +38,20 @@
38
38
  "engines": {
39
39
  "node": ">=22"
40
40
  },
41
+ "scripts": {
42
+ "build": "run-p build:lib",
43
+ "build:lib": "vite build",
44
+ "prettier": "prettier --check src/",
45
+ "prettier:fix": "prettier --write src/",
46
+ "lint": "eslint . --ext .ts,.tsx",
47
+ "lint:fix": "eslint . --ext .ts,.tsx --fix",
48
+ "verify": "run-p prettier lint",
49
+ "verify:fix": "run-p prettier:fix lint:fix",
50
+ "test": "vitest --config ./vite.config.unit.js",
51
+ "test:types": "pnpm build:lib && tsc --noEmit -p tsconfig.type-tests.json",
52
+ "test:watch": "vitest",
53
+ "test:coverage": "vitest run --coverage"
54
+ },
41
55
  "dependencies": {
42
56
  "bignumber.js": "9.1.2",
43
57
  "lodash.camelcase": "4.3.0"
@@ -54,18 +68,5 @@
54
68
  "peerDependencies": {
55
69
  "@mysten/sui": ">=2.0.0"
56
70
  },
57
- "scripts": {
58
- "build": "run-p build:lib",
59
- "build:lib": "vite build",
60
- "prettier": "prettier --check src/",
61
- "prettier:fix": "prettier --write src/",
62
- "lint": "eslint . --ext .ts,.tsx",
63
- "lint:fix": "eslint . --ext .ts,.tsx --fix",
64
- "verify": "run-p prettier lint",
65
- "verify:fix": "run-p prettier:fix lint:fix",
66
- "test": "vitest --config ./vite.config.unit.js",
67
- "test:types": "pnpm build:lib && tsc --noEmit -p tsconfig.type-tests.json",
68
- "test:watch": "vitest",
69
- "test:coverage": "vitest run --coverage"
70
- }
71
- }
71
+ "gitHead": "96dbd7ca0c82b10509a50e051dc05e43f430d26d"
72
+ }