@defisaver/positions-sdk 0.0.62 → 0.0.63-dev

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.
Files changed (61) hide show
  1. package/cjs/config/contracts.d.ts +20 -189
  2. package/cjs/config/contracts.js +15 -25
  3. package/cjs/llamaLend/index.js +30 -30
  4. package/cjs/markets/compound/index.js +3 -2
  5. package/cjs/markets/compound/marketsAssets.d.ts +2 -1
  6. package/cjs/markets/compound/marketsAssets.js +3 -2
  7. package/cjs/markets/llamaLend/contractAddresses.d.ts +9 -0
  8. package/cjs/markets/llamaLend/contractAddresses.js +88 -0
  9. package/cjs/markets/llamaLend/index.d.ts +12 -10
  10. package/cjs/markets/llamaLend/index.js +41 -57
  11. package/cjs/types/contracts/generated/{LlamaLendCRVCrvUSDController.d.ts → LlamaLendControllerAbi.d.ts} +3 -3
  12. package/cjs/types/contracts/generated/LlamaLendView.d.ts +5 -0
  13. package/cjs/types/contracts/generated/index.d.ts +1 -4
  14. package/cjs/types/llamaLend.d.ts +35 -9
  15. package/cjs/types/llamaLend.js +26 -8
  16. package/esm/config/contracts.d.ts +20 -189
  17. package/esm/config/contracts.js +15 -25
  18. package/esm/llamaLend/index.js +33 -33
  19. package/esm/markets/compound/index.js +3 -2
  20. package/esm/markets/compound/marketsAssets.d.ts +2 -1
  21. package/esm/markets/compound/marketsAssets.js +2 -1
  22. package/esm/markets/llamaLend/contractAddresses.d.ts +9 -0
  23. package/esm/markets/llamaLend/contractAddresses.js +84 -0
  24. package/esm/markets/llamaLend/index.d.ts +12 -10
  25. package/esm/markets/llamaLend/index.js +31 -55
  26. package/esm/types/contracts/generated/{LlamaLendCrvUSDCRVController.d.ts → LlamaLendControllerAbi.d.ts} +3 -3
  27. package/esm/types/contracts/generated/LlamaLendView.d.ts +5 -0
  28. package/esm/types/contracts/generated/index.d.ts +1 -4
  29. package/esm/types/llamaLend.d.ts +35 -9
  30. package/esm/types/llamaLend.js +25 -7
  31. package/package.json +2 -2
  32. package/src/config/contracts.js +15 -25
  33. package/src/contracts.ts +2 -1
  34. package/src/llamaLend/index.ts +21 -29
  35. package/src/markets/compound/index.ts +4 -3
  36. package/src/markets/compound/marketsAssets.ts +2 -1
  37. package/src/markets/llamaLend/contractAddresses.ts +95 -0
  38. package/src/markets/llamaLend/index.ts +123 -38
  39. package/src/types/common.ts +1 -1
  40. package/src/types/contracts/generated/{LlamaLendCRVCrvUSDController.ts → LlamaLendControllerAbi.ts} +3 -3
  41. package/src/types/contracts/generated/LlamaLendView.ts +9 -0
  42. package/src/types/contracts/generated/index.ts +1 -4
  43. package/src/types/llamaLend.ts +34 -10
  44. package/yarn-error.log +64 -0
  45. package/cjs/types/contracts/generated/LlamaLendCrvUSDCRVController.d.ts +0 -209
  46. package/cjs/types/contracts/generated/LlamaLendCrvUSDCRVController.js +0 -5
  47. package/cjs/types/contracts/generated/LlamaLendTBTCCrvUSDController.d.ts +0 -209
  48. package/cjs/types/contracts/generated/LlamaLendTBTCCrvUSDController.js +0 -5
  49. package/cjs/types/contracts/generated/LlamaLendWstETHCrvUSDController.d.ts +0 -209
  50. package/cjs/types/contracts/generated/LlamaLendWstETHCrvUSDController.js +0 -5
  51. package/esm/types/contracts/generated/LlamaLendCRVCrvUSDController.d.ts +0 -209
  52. package/esm/types/contracts/generated/LlamaLendCrvUSDCRVController.js +0 -4
  53. package/esm/types/contracts/generated/LlamaLendTBTCCrvUSDController.d.ts +0 -209
  54. package/esm/types/contracts/generated/LlamaLendTBTCCrvUSDController.js +0 -4
  55. package/esm/types/contracts/generated/LlamaLendWstETHCrvUSDController.d.ts +0 -209
  56. package/esm/types/contracts/generated/LlamaLendWstETHCrvUSDController.js +0 -4
  57. package/src/types/contracts/generated/LlamaLendCrvUSDCRVController.ts +0 -416
  58. package/src/types/contracts/generated/LlamaLendTBTCCrvUSDController.ts +0 -416
  59. package/src/types/contracts/generated/LlamaLendWstETHCrvUSDController.ts +0 -416
  60. /package/cjs/types/contracts/generated/{LlamaLendCRVCrvUSDController.js → LlamaLendControllerAbi.js} +0 -0
  61. /package/esm/types/contracts/generated/{LlamaLendCRVCrvUSDController.js → LlamaLendControllerAbi.js} +0 -0
@@ -7,10 +7,11 @@ export const compoundV2CollateralAssets = [
7
7
  export const v3USDCCollAssetsEth = ['ETH', 'COMP', 'WBTC', 'UNI', 'LINK'];
8
8
  export const v3USDCCollAssetsArb = ['ARB', 'ETH', 'GMX', 'WBTC'];
9
9
  export const v3USDCCollAssetsBase = ['ETH', 'cbETH'];
10
+ export const v3USDCCollAssetsOpt = ['ETH', 'OP', 'WBTC'];
10
11
  // @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
11
12
  export const v3USDCCollAssets = {
12
13
  [NetworkNumber.Eth]: v3USDCCollAssetsEth,
13
- [NetworkNumber.Opt]: [],
14
+ [NetworkNumber.Opt]: v3USDCCollAssetsOpt,
14
15
  [NetworkNumber.Arb]: v3USDCCollAssetsArb,
15
16
  [NetworkNumber.Base]: v3USDCCollAssetsBase,
16
17
  };
@@ -0,0 +1,9 @@
1
+ import { LlamaLendVersionsType } from '../../types';
2
+ import { NetworkNumber } from '../../types/common';
3
+ type LLAddresses = {
4
+ controllerAddress: string;
5
+ vaultAddress: string;
6
+ controllerId: number;
7
+ };
8
+ export declare const getLLamaLendAddresses: (networkId: NetworkNumber, version: LlamaLendVersionsType) => LLAddresses;
9
+ export {};
@@ -0,0 +1,84 @@
1
+ import { LlamaLendVersions, } from '../../types';
2
+ import { NetworkNumber } from '../../types/common';
3
+ const ethAddresses = {
4
+ [LlamaLendVersions.LLWstethCrvusd]: {
5
+ controllerId: 0,
6
+ controllerAddress: '0x1E0165DbD2019441aB7927C018701f3138114D71',
7
+ vaultAddress: '0x8cf1DE26729cfB7137AF1A6B2a665e099EC319b5',
8
+ },
9
+ [LlamaLendVersions.LLSusdeCrvusd]: {
10
+ controllerId: 7,
11
+ controllerAddress: '0x98fc283d6636f6dcff5a817a00ac69a3add96907',
12
+ vaultAddress: '0x52096539ed1391CB50C6b9e4Fd18aFd2438ED23b',
13
+ },
14
+ [LlamaLendVersions.LLCrvCrvusd]: {
15
+ controllerId: 3,
16
+ controllerAddress: '0xEdA215b7666936DEd834f76f3fBC6F323295110A',
17
+ vaultAddress: '0xCeA18a8752bb7e7817F9AE7565328FE415C0f2cA',
18
+ },
19
+ [LlamaLendVersions.LLCrvusdCrv]: {
20
+ controllerId: 4,
21
+ controllerAddress: '0xC510d73Ad34BeDECa8978B6914461aA7b50CF3Fc',
22
+ vaultAddress: '0x4D2f44B0369f3C20c3d670D2C26b048985598450',
23
+ },
24
+ [LlamaLendVersions.LLTbtcCrvusd]: {
25
+ controllerId: 2,
26
+ controllerAddress: '0x413FD2511BAD510947a91f5c6c79EBD8138C29Fc',
27
+ vaultAddress: '0xb2b23C87a4B6d1b03Ba603F7C3EB9A81fDC0AAC9',
28
+ },
29
+ [LlamaLendVersions.LLCrvusdTbtc]: {
30
+ controllerId: 6,
31
+ controllerAddress: '0xe438658874b0acf4d81c24172e137f0ee00621b8',
32
+ vaultAddress: '0x99Cff9Dc26A44dc2496B4448ebE415b5E894bd30',
33
+ },
34
+ [LlamaLendVersions.LLWethCrvusd]: {
35
+ controllerId: 1,
36
+ controllerAddress: '0xaade9230aa9161880e13a38c83400d3d1995267b',
37
+ vaultAddress: '0x5AE28c9197a4a6570216fC7e53E7e0221D7A0FEF',
38
+ },
39
+ [LlamaLendVersions.LLCrvusdWeth]: {
40
+ controllerId: 5,
41
+ controllerAddress: '0xa5d9137d2a1ee912469d911a8e74b6c77503bac8',
42
+ vaultAddress: '0x46196C004de85c7a75C8b1bB9d54Afb0f8654A45',
43
+ },
44
+ };
45
+ const arbAddresses = {
46
+ [LlamaLendVersions.LLArbCrvusd]: {
47
+ controllerId: 5,
48
+ controllerAddress: '0x76709bc0da299ab0234eec51385e900922ae98f5',
49
+ vaultAddress: '0x65592b1F12c07D434e95c7BF87F4f2f464e950e4',
50
+ },
51
+ [LlamaLendVersions.LLFxnCrvusd]: {
52
+ controllerId: 7,
53
+ controllerAddress: '0x7adcc491f0b7f9bc12837b8f5edf0e580d176f1f',
54
+ vaultAddress: '0xebA51f6472F4cE1C47668c2474ab8f84B32E1ae7',
55
+ },
56
+ [LlamaLendVersions.LLWbtcCrvusd]: {
57
+ controllerId: 1,
58
+ controllerAddress: '0x013be86e1cdb0f384daf24bd974fe75edffe6b68',
59
+ vaultAddress: '0x60D38b12d22BF423F28082bf396ff8F28cC506B1',
60
+ },
61
+ [LlamaLendVersions.LLCrvCrvusd]: {
62
+ controllerId: 4,
63
+ controllerAddress: '0x88f88e937db48bbfe8e3091718576430704e47ab',
64
+ vaultAddress: '0xeEaF2ccB73A01deb38Eca2947d963D64CfDe6A32',
65
+ },
66
+ [LlamaLendVersions.LLWethCrvusd]: {
67
+ controllerId: 0,
68
+ controllerAddress: '0xb5b6f0e69c283aa32425fa18220e64283b51f0a4',
69
+ vaultAddress: '0x49014A8eB1585cBee6A7a9A50C3b81017BF6Cc4d',
70
+ },
71
+ };
72
+ export const getLLamaLendAddresses = (networkId, version) => {
73
+ let addresses;
74
+ if (networkId === NetworkNumber.Eth) {
75
+ addresses = ethAddresses[version];
76
+ }
77
+ else if (networkId === NetworkNumber.Arb) {
78
+ addresses = arbAddresses[version];
79
+ }
80
+ else {
81
+ throw new Error(`Invalid LlamaLend network ${networkId} for version ${version}`);
82
+ }
83
+ return addresses;
84
+ };
@@ -1,14 +1,16 @@
1
- import { LlamaLendMarketData, LlamaLendVersions } from '../../types';
1
+ import { LlamaLendMarketData, LlamaLendVersionsType } from '../../types';
2
2
  import { NetworkNumber } from '../../types/common';
3
3
  export declare const LLAMALEND_WSTETH_CRVUSD_MARKET: (networkId: NetworkNumber) => LlamaLendMarketData;
4
- export declare const LLAMALEND_CRVUSD_CRV_MARKET: (networkId: NetworkNumber) => LlamaLendMarketData;
4
+ export declare const LLAMALEND_SUSDE_CRVUSD_MARKET: (networkId: NetworkNumber) => LlamaLendMarketData;
5
5
  export declare const LLAMALEND_CRV_CRVUSD_MARKET: (networkId: NetworkNumber) => LlamaLendMarketData;
6
+ export declare const LLAMALEND_CRVUSD_CRV_MARKET: (networkId: NetworkNumber) => LlamaLendMarketData;
6
7
  export declare const LLAMALEND_TBTC_CRVUSD_MARKET: (networkId: NetworkNumber) => LlamaLendMarketData;
7
- export declare const LlamaLendMarkets: (networkId: NetworkNumber) => {
8
- readonly llamaLendwstETHcrvUSD: LlamaLendMarketData;
9
- readonly llamaLendcrvUSDCRV: LlamaLendMarketData;
10
- readonly llamaLendCRVcrvUSD: LlamaLendMarketData;
11
- readonly llamaLendTBTCcrvUSD: LlamaLendMarketData;
12
- };
13
- export declare const LLAMALEND_ALL_VERSIONS: LlamaLendVersions[];
14
- export declare const getLlamaLendMarketData: (market: LlamaLendVersions, network?: NetworkNumber) => LlamaLendMarketData;
8
+ export declare const LLAMALEND_CRVUSD_TBTC_MARKET: (networkId: NetworkNumber) => LlamaLendMarketData;
9
+ export declare const LLAMALEND_WETH_CRVUSD_MARKET: (networkId: NetworkNumber) => LlamaLendMarketData;
10
+ export declare const LLAMALEND_CRVUSD_WETH_MARKET: (networkId: NetworkNumber) => LlamaLendMarketData;
11
+ export declare const LLAMALEND_ARB_CRVUSD_MARKET: (networkId: NetworkNumber) => LlamaLendMarketData;
12
+ export declare const LLAMALEND_FXN_CRVUSD_MARKET: (networkId: NetworkNumber) => LlamaLendMarketData;
13
+ export declare const LLAMALEND_WBTC_CRVUSD_MARKET: (networkId: NetworkNumber) => LlamaLendMarketData;
14
+ export declare const LlamaLendMarkets: (networkId: NetworkNumber) => Record<LlamaLendVersionsType, LlamaLendMarketData>;
15
+ export declare const getLlamaLendMarketData: (market: LlamaLendVersionsType, network?: NetworkNumber) => LlamaLendMarketData;
16
+ export declare const getLlamaLendMarketFromControllerAddress: (controllerAddress: string, network: NetworkNumber) => LlamaLendMarketData;
@@ -1,59 +1,35 @@
1
- import { getConfigContractAddress } from '../../contracts';
2
1
  import { LlamaLendVersions } from '../../types';
3
- export const LLAMALEND_WSTETH_CRVUSD_MARKET = (networkId) => ({
4
- chainIds: [1],
5
- label: 'LlamaLend - wstETH/crvUSD',
6
- shortLabel: 'wstETH/crvUSD',
7
- value: LlamaLendVersions.LlamaLendwstETHcrvUSD,
8
- collAsset: 'wstETH',
9
- baseAsset: 'crvUSD',
10
- controllerAddress: getConfigContractAddress('LlamaLendWstETHCrvUSDController', networkId),
11
- vaultAddress: '0x8cf1DE26729cfB7137AF1A6B2a665e099EC319b5',
12
- url: 'wstethcrvusd',
13
- });
14
- export const LLAMALEND_CRVUSD_CRV_MARKET = (networkId) => ({
15
- chainIds: [1],
16
- label: 'LlamaLend - crvUSD/CRV',
17
- shortLabel: 'crvUSD/CRV',
18
- value: LlamaLendVersions.LlamaLendcrvUSDCRV,
19
- collAsset: 'crvUSD',
20
- baseAsset: 'CRV',
21
- controllerAddress: getConfigContractAddress('LlamaLendCrvUSDCRVController', networkId),
22
- vaultAddress: '0x4D2f44B0369f3C20c3d670D2C26b048985598450',
23
- url: 'crvusdcrv',
24
- });
25
- export const LLAMALEND_CRV_CRVUSD_MARKET = (networkId) => ({
26
- chainIds: [1],
27
- label: 'LlamaLend - CRV/crvUSD',
28
- shortLabel: 'CRV/crvUSD',
29
- value: LlamaLendVersions.LlamaLendCRVcrvUSD,
30
- collAsset: 'CRV',
31
- baseAsset: 'crvUSD',
32
- controllerAddress: getConfigContractAddress('LlamaLendCRVCrvUSDController', networkId),
33
- vaultAddress: '0xCeA18a8752bb7e7817F9AE7565328FE415C0f2cA',
34
- url: 'crvcrvusd',
35
- });
36
- export const LLAMALEND_TBTC_CRVUSD_MARKET = (networkId) => ({
37
- chainIds: [1],
38
- label: 'LlamaLend - TBTC/crvUSD',
39
- shortLabel: 'TBTC/crvUSD',
40
- value: LlamaLendVersions.LlamaLendTBTCcrvUSD,
41
- collAsset: 'tBTC',
42
- baseAsset: 'crvUSD',
43
- controllerAddress: getConfigContractAddress('LlamaLendTBTCCrvUSDController', networkId),
44
- vaultAddress: '0xb2b23C87a4B6d1b03Ba603F7C3EB9A81fDC0AAC9',
45
- url: 'tbtccrvusd',
46
- });
2
+ import { NetworkNumber } from '../../types/common';
3
+ import { getLLamaLendAddresses } from './contractAddresses';
4
+ export const LLAMALEND_WSTETH_CRVUSD_MARKET = (networkId) => (Object.assign({ chainIds: [NetworkNumber.Eth], label: 'LlamaLend - wstETH/crvUSD', shortLabel: 'wstETH/crvUSD', value: LlamaLendVersions.LLWstethCrvusd, collAsset: 'wstETH', baseAsset: 'crvUSD', url: 'wstethcrvusd' }, getLLamaLendAddresses(networkId, LlamaLendVersions.LLWstethCrvusd)));
5
+ export const LLAMALEND_SUSDE_CRVUSD_MARKET = (networkId) => (Object.assign({ chainIds: [NetworkNumber.Eth], label: 'LlamaLend - sUSDe/crvUSD', shortLabel: 'sUSDe/crvUSD', value: LlamaLendVersions.LLSusdeCrvusd, collAsset: 'sUSDe', baseAsset: 'crvUSD', url: 'susdecrvusd' }, getLLamaLendAddresses(networkId, LlamaLendVersions.LLSusdeCrvusd)));
6
+ export const LLAMALEND_CRV_CRVUSD_MARKET = (networkId) => (Object.assign({ chainIds: [NetworkNumber.Eth, NetworkNumber.Arb], label: 'LlamaLend - CRV/crvUSD', shortLabel: 'CRV/crvUSD', value: LlamaLendVersions.LLCrvCrvusd, collAsset: 'CRV', baseAsset: 'crvUSD', url: 'crvcrvusd' }, getLLamaLendAddresses(networkId, LlamaLendVersions.LLCrvCrvusd)));
7
+ export const LLAMALEND_CRVUSD_CRV_MARKET = (networkId) => (Object.assign({ chainIds: [NetworkNumber.Eth], label: 'LlamaLend - crvUSD/CRV', shortLabel: 'crvUSD/CRV', value: LlamaLendVersions.LLCrvusdCrv, collAsset: 'crvUSD', baseAsset: 'CRV', url: 'crvusdcrv' }, getLLamaLendAddresses(networkId, LlamaLendVersions.LLCrvusdCrv)));
8
+ export const LLAMALEND_TBTC_CRVUSD_MARKET = (networkId) => (Object.assign({ chainIds: [NetworkNumber.Eth], label: 'LlamaLend - tBTC/crvUSD', shortLabel: 'tBTC/crvUSD', value: LlamaLendVersions.LLTbtcCrvusd, collAsset: 'tBTC', baseAsset: 'crvUSD', url: 'tbtccrvusd' }, getLLamaLendAddresses(networkId, LlamaLendVersions.LLTbtcCrvusd)));
9
+ export const LLAMALEND_CRVUSD_TBTC_MARKET = (networkId) => (Object.assign({ chainIds: [NetworkNumber.Eth], label: 'LlamaLend - crvUSD/tBTC', shortLabel: 'crvUSD/tBTC', value: LlamaLendVersions.LLCrvusdTbtc, collAsset: 'crvUSD', baseAsset: 'tBTC', url: 'crvusdtbtc' }, getLLamaLendAddresses(networkId, LlamaLendVersions.LLCrvusdTbtc)));
10
+ export const LLAMALEND_WETH_CRVUSD_MARKET = (networkId) => (Object.assign({ chainIds: [NetworkNumber.Eth, NetworkNumber.Arb], label: 'LlamaLend - ETH/crvUSD', shortLabel: 'ETH/crvUSD', value: LlamaLendVersions.LLWethCrvusd, collAsset: 'ETH', baseAsset: 'crvUSD', url: 'wethcrvusd' }, getLLamaLendAddresses(networkId, LlamaLendVersions.LLWethCrvusd)));
11
+ export const LLAMALEND_CRVUSD_WETH_MARKET = (networkId) => (Object.assign({ chainIds: [NetworkNumber.Eth], label: 'LlamaLend - crvUSD/ETH', shortLabel: 'crvUSD/ETH', value: LlamaLendVersions.LLCrvusdWeth, collAsset: 'crvUSD', baseAsset: 'ETH', url: 'crvusdweth' }, getLLamaLendAddresses(networkId, LlamaLendVersions.LLCrvusdWeth)));
12
+ export const LLAMALEND_ARB_CRVUSD_MARKET = (networkId) => (Object.assign({ chainIds: [NetworkNumber.Arb], label: 'LlamaLend - ARB/crvUSD', shortLabel: 'ARB/crvUSD', value: LlamaLendVersions.LLArbCrvusd, collAsset: 'ARB', baseAsset: 'crvUSD', url: 'arbcrvusd' }, getLLamaLendAddresses(networkId, LlamaLendVersions.LLArbCrvusd)));
13
+ export const LLAMALEND_FXN_CRVUSD_MARKET = (networkId) => (Object.assign({ chainIds: [NetworkNumber.Arb], label: 'LlamaLend - FXN/crvUSD', shortLabel: 'FXN/crvUSD', value: LlamaLendVersions.LLFxnCrvusd, collAsset: 'FXN', baseAsset: 'crvUSD', url: 'fxncrvusd' }, getLLamaLendAddresses(networkId, LlamaLendVersions.LLFxnCrvusd)));
14
+ export const LLAMALEND_WBTC_CRVUSD_MARKET = (networkId) => (Object.assign({ chainIds: [NetworkNumber.Arb], label: 'LlamaLend - WBTC/crvUSD', shortLabel: 'WBTC/crvUSD', value: LlamaLendVersions.LLWbtcCrvusd, collAsset: 'WBTC', baseAsset: 'crvUSD', url: 'wbtcusd' }, getLLamaLendAddresses(networkId, LlamaLendVersions.LLWbtcCrvusd)));
47
15
  export const LlamaLendMarkets = (networkId) => ({
48
- [LlamaLendVersions.LlamaLendwstETHcrvUSD]: LLAMALEND_WSTETH_CRVUSD_MARKET(networkId),
49
- [LlamaLendVersions.LlamaLendcrvUSDCRV]: LLAMALEND_CRVUSD_CRV_MARKET(networkId),
50
- [LlamaLendVersions.LlamaLendCRVcrvUSD]: LLAMALEND_CRV_CRVUSD_MARKET(networkId),
51
- [LlamaLendVersions.LlamaLendTBTCcrvUSD]: LLAMALEND_TBTC_CRVUSD_MARKET(networkId),
16
+ [LlamaLendVersions.LLWstethCrvusd]: LLAMALEND_WSTETH_CRVUSD_MARKET(networkId),
17
+ [LlamaLendVersions.LLCrvusdCrv]: LLAMALEND_CRVUSD_CRV_MARKET(networkId),
18
+ [LlamaLendVersions.LLCrvCrvusd]: LLAMALEND_CRV_CRVUSD_MARKET(networkId),
19
+ [LlamaLendVersions.LLTbtcCrvusd]: LLAMALEND_TBTC_CRVUSD_MARKET(networkId),
20
+ [LlamaLendVersions.LLCrvusdTbtc]: LLAMALEND_CRVUSD_TBTC_MARKET(networkId),
21
+ [LlamaLendVersions.LLWethCrvusd]: LLAMALEND_WETH_CRVUSD_MARKET(networkId),
22
+ [LlamaLendVersions.LLCrvusdWeth]: LLAMALEND_CRVUSD_WETH_MARKET(networkId),
23
+ [LlamaLendVersions.LLArbCrvusd]: LLAMALEND_ARB_CRVUSD_MARKET(networkId),
24
+ [LlamaLendVersions.LLFxnCrvusd]: LLAMALEND_FXN_CRVUSD_MARKET(networkId),
25
+ [LlamaLendVersions.LLWbtcCrvusd]: LLAMALEND_WBTC_CRVUSD_MARKET(networkId),
26
+ [LlamaLendVersions.LLSusdeCrvusd]: LLAMALEND_SUSDE_CRVUSD_MARKET(networkId),
52
27
  });
53
- export const LLAMALEND_ALL_VERSIONS = [
54
- LlamaLendVersions.LlamaLendwstETHcrvUSD,
55
- LlamaLendVersions.LlamaLendcrvUSDCRV,
56
- LlamaLendVersions.LlamaLendCRVcrvUSD,
57
- LlamaLendVersions.LlamaLendTBTCcrvUSD,
58
- ];
59
28
  export const getLlamaLendMarketData = (market, network = 1) => LlamaLendMarkets(network)[market];
29
+ export const getLlamaLendMarketFromControllerAddress = (controllerAddress, network) => {
30
+ const markets = LlamaLendMarkets(network);
31
+ const market = Object.values(markets).find((market) => market.controllerAddress === controllerAddress);
32
+ if (!market)
33
+ throw new Error('Market not found');
34
+ return market;
35
+ };
@@ -73,9 +73,9 @@ export type CollectFees = ContractEventLog<{
73
73
  0: string;
74
74
  1: string;
75
75
  }>;
76
- export interface LlamaLendCrvUSDCRVController extends BaseContract {
77
- constructor(jsonInterface: any[], address?: string, options?: ContractOptions): LlamaLendCrvUSDCRVController;
78
- clone(): LlamaLendCrvUSDCRVController;
76
+ export interface LlamaLendControllerAbi extends BaseContract {
77
+ constructor(jsonInterface: any[], address?: string, options?: ContractOptions): LlamaLendControllerAbi;
78
+ clone(): LlamaLendControllerAbi;
79
79
  methods: {
80
80
  factory(): NonPayableTransactionObject<string>;
81
81
  amm(): NonPayableTransactionObject<string>;
@@ -75,6 +75,7 @@ export declare namespace LlamaLendView {
75
75
  number | string | BN,
76
76
  number | string | BN,
77
77
  number | string | BN,
78
+ number | string | BN,
78
79
  number | string | BN
79
80
  ] | {
80
81
  collateralToken: string;
@@ -96,6 +97,7 @@ export declare namespace LlamaLendView {
96
97
  lendApr: number | string | BN;
97
98
  debtTokenTotalSupply: number | string | BN;
98
99
  debtTokenLeftToBorrow: number | string | BN;
100
+ loanDiscount: number | string | BN;
99
101
  };
100
102
  type GlobalDataStructOutputArray = [
101
103
  string,
@@ -116,6 +118,7 @@ export declare namespace LlamaLendView {
116
118
  string,
117
119
  string,
118
120
  string,
121
+ string,
119
122
  string
120
123
  ];
121
124
  type GlobalDataStructOutputStruct = {
@@ -138,6 +141,7 @@ export declare namespace LlamaLendView {
138
141
  lendApr: string;
139
142
  debtTokenTotalSupply: string;
140
143
  debtTokenLeftToBorrow: string;
144
+ loanDiscount: string;
141
145
  };
142
146
  type GlobalDataStructOutput = GlobalDataStructOutputArray & GlobalDataStructOutputStruct;
143
147
  type UserDataStruct = [
@@ -249,6 +253,7 @@ export interface LlamaLendView extends BaseContract {
249
253
  }>;
250
254
  globalData(market: string): NonPayableTransactionObject<LlamaLendView.GlobalDataStructOutput>;
251
255
  healthCalculator(market: string, user: string, collChange: number | string | BN, debtChange: number | string | BN, isFull: boolean, numBands: number | string | BN): NonPayableTransactionObject<string>;
256
+ isControllerValid(_controllerAddr: string, _controllerId: number | string | BN): NonPayableTransactionObject<boolean>;
252
257
  maxBorrow(market: string, collateral: number | string | BN, N: number | string | BN): NonPayableTransactionObject<string>;
253
258
  minCollateral(market: string, debt: number | string | BN, N: number | string | BN): NonPayableTransactionObject<string>;
254
259
  userData(market: string, user: string): NonPayableTransactionObject<LlamaLendView.UserDataStructOutput>;
@@ -29,11 +29,8 @@ export type { LendingPoolAddressesProvider } from "./LendingPoolAddressesProvide
29
29
  export type { Lido } from "./Lido";
30
30
  export type { LiquityActivePool } from "./LiquityActivePool";
31
31
  export type { LiquityView } from "./LiquityView";
32
- export type { LlamaLendCRVCrvUSDController } from "./LlamaLendCRVCrvUSDController";
33
- export type { LlamaLendCrvUSDCRVController } from "./LlamaLendCrvUSDCRVController";
34
- export type { LlamaLendTBTCCrvUSDController } from "./LlamaLendTBTCCrvUSDController";
32
+ export type { LlamaLendControllerAbi } from "./LlamaLendControllerAbi";
35
33
  export type { LlamaLendView } from "./LlamaLendView";
36
- export type { LlamaLendWstETHCrvUSDController } from "./LlamaLendWstETHCrvUSDController";
37
34
  export type { McdDog } from "./McdDog";
38
35
  export type { McdJug } from "./McdJug";
39
36
  export type { McdSpotter } from "./McdSpotter";
@@ -1,11 +1,36 @@
1
1
  import { EthAddress, NetworkNumber } from './common';
2
2
  import { BandData, UserBandData } from './curveUsd';
3
- export declare enum LlamaLendVersions {
4
- 'LlamaLendwstETHcrvUSD' = "llamaLendwstETHcrvUSD",
5
- 'LlamaLendCRVcrvUSD' = "llamaLendCRVcrvUSD",
6
- 'LlamaLendcrvUSDCRV' = "llamaLendcrvUSDCRV",
7
- 'LlamaLendTBTCcrvUSD' = "llamaLendTBTCcrvUSD"
3
+ export declare enum LLVersionsEth {
4
+ LLWstethCrvusd = "llamaLendwstETHcrvUSD",
5
+ LLSusdeCrvusd = "llamaLendsUSDecrvUSD",
6
+ LLCrvCrvusd = "llamaLendCRVcrvUSD",
7
+ LLCrvusdCrv = "llamaLendcrvUSDCRV",
8
+ LLTbtcCrvusd = "llamaLendTBTCcrvUSD",
9
+ LLCrvusdTbtc = "llamaLendcrvUSDTBTC",
10
+ LLWethCrvusd = "llamaLendWETHcrvUSD",
11
+ LLCrvusdWeth = "llamaLendcrvUSDWETH"
8
12
  }
13
+ export declare enum LLVersionsArb {
14
+ LLArbCrvusd = "llamaLendArbcrvUSD",
15
+ LLFxnCrvusd = "llamaLendFXNcrvUSD",
16
+ LLWbtcCrvusd = "llamaLendWBTCcrvUSD",
17
+ LLCrvCrvusd = "llamaLendCRVcrvUSD",
18
+ LLWethCrvusd = "llamaLendWETHcrvUSD"
19
+ }
20
+ export declare const LlamaLendVersions: {
21
+ readonly LLArbCrvusd: LLVersionsArb.LLArbCrvusd;
22
+ readonly LLFxnCrvusd: LLVersionsArb.LLFxnCrvusd;
23
+ readonly LLWbtcCrvusd: LLVersionsArb.LLWbtcCrvusd;
24
+ readonly LLCrvCrvusd: LLVersionsArb.LLCrvCrvusd;
25
+ readonly LLWethCrvusd: LLVersionsArb.LLWethCrvusd;
26
+ readonly LLWstethCrvusd: LLVersionsEth.LLWstethCrvusd;
27
+ readonly LLSusdeCrvusd: LLVersionsEth.LLSusdeCrvusd;
28
+ readonly LLCrvusdCrv: LLVersionsEth.LLCrvusdCrv;
29
+ readonly LLTbtcCrvusd: LLVersionsEth.LLTbtcCrvusd;
30
+ readonly LLCrvusdTbtc: LLVersionsEth.LLCrvusdTbtc;
31
+ readonly LLCrvusdWeth: LLVersionsEth.LLCrvusdWeth;
32
+ };
33
+ export type LlamaLendVersionsType = typeof LlamaLendVersions[keyof typeof LlamaLendVersions];
9
34
  export declare enum LlamaLendStatus {
10
35
  Nonexistant = "Nonexistant",
11
36
  Safe = "Safe",
@@ -17,7 +42,7 @@ export interface LlamaLendMarketData {
17
42
  chainIds: NetworkNumber[];
18
43
  label: string;
19
44
  shortLabel: string;
20
- value: LlamaLendVersions;
45
+ value: LlamaLendVersionsType;
21
46
  collAsset: string;
22
47
  baseAsset: string;
23
48
  controllerAddress: string;
@@ -40,10 +65,12 @@ export type LlamaLendAssetsData = {
40
65
  [key: string]: LlamaLendAssetData;
41
66
  };
42
67
  export interface LlamaLendGlobalMarketData {
43
- collateral: string;
44
- decimals: string;
68
+ A: string;
69
+ loanDiscount: string;
45
70
  activeBand: string;
46
71
  totalDebt: string;
72
+ totalDebtSupplied: string;
73
+ utilization: string;
47
74
  ammPrice: string;
48
75
  basePrice: string;
49
76
  oraclePrice: string;
@@ -53,7 +80,6 @@ export interface LlamaLendGlobalMarketData {
53
80
  ammRate: string;
54
81
  minBand: string;
55
82
  maxBand: string;
56
- debtCeiling: string;
57
83
  borrowRate: string;
58
84
  lendRate: string;
59
85
  futureBorrowRate: string;
@@ -1,10 +1,28 @@
1
- export var LlamaLendVersions;
2
- (function (LlamaLendVersions) {
3
- LlamaLendVersions["LlamaLendwstETHcrvUSD"] = "llamaLendwstETHcrvUSD";
4
- LlamaLendVersions["LlamaLendCRVcrvUSD"] = "llamaLendCRVcrvUSD";
5
- LlamaLendVersions["LlamaLendcrvUSDCRV"] = "llamaLendcrvUSDCRV";
6
- LlamaLendVersions["LlamaLendTBTCcrvUSD"] = "llamaLendTBTCcrvUSD";
7
- })(LlamaLendVersions || (LlamaLendVersions = {}));
1
+ export var LLVersionsEth;
2
+ (function (LLVersionsEth) {
3
+ //long only
4
+ LLVersionsEth["LLWstethCrvusd"] = "llamaLendwstETHcrvUSD";
5
+ LLVersionsEth["LLSusdeCrvusd"] = "llamaLendsUSDecrvUSD";
6
+ // long and short crv
7
+ LLVersionsEth["LLCrvCrvusd"] = "llamaLendCRVcrvUSD";
8
+ LLVersionsEth["LLCrvusdCrv"] = "llamaLendcrvUSDCRV";
9
+ // long and short tbtc
10
+ LLVersionsEth["LLTbtcCrvusd"] = "llamaLendTBTCcrvUSD";
11
+ LLVersionsEth["LLCrvusdTbtc"] = "llamaLendcrvUSDTBTC";
12
+ // long and short weth
13
+ LLVersionsEth["LLWethCrvusd"] = "llamaLendWETHcrvUSD";
14
+ LLVersionsEth["LLCrvusdWeth"] = "llamaLendcrvUSDWETH";
15
+ })(LLVersionsEth || (LLVersionsEth = {}));
16
+ export var LLVersionsArb;
17
+ (function (LLVersionsArb) {
18
+ //long only
19
+ LLVersionsArb["LLArbCrvusd"] = "llamaLendArbcrvUSD";
20
+ LLVersionsArb["LLFxnCrvusd"] = "llamaLendFXNcrvUSD";
21
+ LLVersionsArb["LLWbtcCrvusd"] = "llamaLendWBTCcrvUSD";
22
+ LLVersionsArb["LLCrvCrvusd"] = "llamaLendCRVcrvUSD";
23
+ LLVersionsArb["LLWethCrvusd"] = "llamaLendWETHcrvUSD";
24
+ })(LLVersionsArb || (LLVersionsArb = {}));
25
+ export const LlamaLendVersions = Object.assign(Object.assign({}, LLVersionsEth), LLVersionsArb);
8
26
  export var LlamaLendStatus;
9
27
  (function (LlamaLendStatus) {
10
28
  LlamaLendStatus["Nonexistant"] = "Nonexistant";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defisaver/positions-sdk",
3
- "version": "0.0.62",
3
+ "version": "0.0.63-dev",
4
4
  "description": "",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
@@ -19,7 +19,7 @@
19
19
  "author": "",
20
20
  "license": "ISC",
21
21
  "dependencies": {
22
- "@defisaver/tokens": "^1.5.12",
22
+ "@defisaver/tokens": "^1.5.16",
23
23
  "@ethersproject/bignumber": "^5.7.0",
24
24
  "@morpho-org/morpho-aave-v3-sdk": "^1.5.3",
25
25
  "decimal.js": "^10.4.3"