@1delta/margin-fetcher 0.0.151 → 0.0.153
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/assets/index.d.ts +2 -2
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/ccip-ZVV5L43W.js +5 -0
- package/dist/{ccip-4Z7OPIYF.js.map → ccip-ZVV5L43W.js.map} +1 -1
- package/dist/{chunk-GJEFCA2S.js → chunk-CEH73TVJ.js} +4 -4
- package/dist/{chunk-GJEFCA2S.js.map → chunk-CEH73TVJ.js.map} +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1400 -505
- package/dist/index.js.map +1 -1
- package/dist/lending/addresses/init.d.ts +1 -0
- package/dist/lending/addresses/init.d.ts.map +1 -1
- package/dist/lending/index.d.ts +1 -1
- package/dist/lending/index.d.ts.map +1 -1
- package/dist/lending/init/publicCallParse.d.ts +1 -2
- package/dist/lending/init/publicCallParse.d.ts.map +1 -1
- package/dist/lending/meta/index.d.ts +2 -0
- package/dist/lending/meta/index.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v2-type/userCallBuild.d.ts +1 -2
- package/dist/lending/user-data/aave-v2-type/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v2-type/userCallParse.d.ts +2 -7
- package/dist/lending/user-data/aave-v2-type/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts +1 -2
- package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v3-type/userCallParse.d.ts +2 -7
- package/dist/lending/user-data/aave-v3-type/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v3-type/userCallParseYldr.d.ts +2 -7
- package/dist/lending/user-data/aave-v3-type/userCallParseYldr.d.ts.map +1 -1
- package/dist/lending/user-data/abis.d.ts +3307 -3307
- package/dist/lending/user-data/compound-v2/userCallBuild.d.ts +1 -2
- package/dist/lending/user-data/compound-v2/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/compound-v2/userCallParse.d.ts +2 -7
- package/dist/lending/user-data/compound-v2/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/compound-v3/userCallBuild.d.ts +1 -2
- package/dist/lending/user-data/compound-v3/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/compound-v3/userCallParse.d.ts +2 -7
- package/dist/lending/user-data/compound-v3/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/fetchUserData.d.ts +28 -15
- package/dist/lending/user-data/fetchUserData.d.ts.map +1 -1
- package/dist/lending/user-data/index.d.ts +1 -0
- package/dist/lending/user-data/index.d.ts.map +1 -1
- package/dist/lending/user-data/init/userCallParse.d.ts +2 -7
- package/dist/lending/user-data/init/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/morpho/userCallParse.d.ts +7 -17
- package/dist/lending/user-data/morpho/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/utils/createGeneralUserState.d.ts +3 -45
- package/dist/lending/user-data/utils/createGeneralUserState.d.ts.map +1 -1
- package/dist/lending/user-data/utils/createMultiAccountStyleUserState.d.ts +4 -11
- package/dist/lending/user-data/utils/createMultiAccountStyleUserState.d.ts.map +1 -1
- package/dist/lending/user-data/utils/index.d.ts +1 -0
- package/dist/lending/user-data/utils/index.d.ts.map +1 -1
- package/dist/lending/user-data/utils/types.d.ts +68 -0
- package/dist/lending/user-data/utils/types.d.ts.map +1 -0
- package/dist/prices/index.d.ts +1 -0
- package/dist/prices/index.d.ts.map +1 -1
- package/dist/prices/main-prices/fetchOracleData.d.ts.map +1 -1
- package/dist/prices/oracle-prices/fetchOraclePrices.d.ts +55 -0
- package/dist/prices/oracle-prices/fetchOraclePrices.d.ts.map +1 -0
- package/dist/prices/oracle-prices/fetchers/aave.d.ts +91 -0
- package/dist/prices/oracle-prices/fetchers/aave.d.ts.map +1 -0
- package/dist/prices/oracle-prices/fetchers/compoundV2.d.ts +66 -0
- package/dist/prices/oracle-prices/fetchers/compoundV2.d.ts.map +1 -0
- package/dist/prices/oracle-prices/fetchers/compoundV3.d.ts +85 -0
- package/dist/prices/oracle-prices/fetchers/compoundV3.d.ts.map +1 -0
- package/dist/prices/oracle-prices/fetchers/index.d.ts +6 -0
- package/dist/prices/oracle-prices/fetchers/index.d.ts.map +1 -0
- package/dist/prices/oracle-prices/fetchers/lista.d.ts +66 -0
- package/dist/prices/oracle-prices/fetchers/lista.d.ts.map +1 -0
- package/dist/prices/oracle-prices/fetchers/morpho.d.ts +69 -0
- package/dist/prices/oracle-prices/fetchers/morpho.d.ts.map +1 -0
- package/dist/prices/oracle-prices/index.d.ts +8 -0
- package/dist/prices/oracle-prices/index.d.ts.map +1 -0
- package/dist/prices/oracle-prices/types.d.ts +158 -0
- package/dist/prices/oracle-prices/types.d.ts.map +1 -0
- package/dist/types/lender/init-types.d.ts +5 -0
- package/dist/types/lender/init-types.d.ts.map +1 -1
- package/dist/types/lenderTypes.d.ts +5 -5
- package/dist/types/lenderTypes.d.ts.map +1 -1
- package/dist/utils/constants.d.ts +1 -0
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/index.d.ts +2 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/marketUid.d.ts +3 -0
- package/dist/utils/marketUid.d.ts.map +1 -0
- package/dist/utils/multicall.d.ts +11 -1
- package/dist/utils/multicall.d.ts.map +1 -1
- package/dist/utils/rpcCall.d.ts +65 -0
- package/dist/utils/rpcCall.d.ts.map +1 -0
- package/dist/utils/rpcParse.d.ts +19 -0
- package/dist/utils/rpcParse.d.ts.map +1 -0
- package/package.json +3 -3
- package/dist/ccip-4Z7OPIYF.js +0 -5
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Lender } from '@1delta/lender-registry';
|
|
2
1
|
import { Call } from '../../../utils/multicall';
|
|
3
|
-
export declare const buildCompoundV2UserCall: (chainId: string, lender:
|
|
2
|
+
export declare const buildCompoundV2UserCall: (chainId: string, lender: string, account: string) => Call[];
|
|
4
3
|
//# sourceMappingURL=userCallBuild.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/compound-v2/userCallBuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/compound-v2/userCallBuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAM/C,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,SAAS,MAAM,KACd,IAAI,EA4BN,CAAA"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare const getCompoundV2UserDataConverter: (lender: Lender, chainId: string, account: string, prices: {
|
|
4
|
-
[asset: string]: number;
|
|
5
|
-
}, pricesHist: {
|
|
6
|
-
[asset: string]: number;
|
|
7
|
-
}, lenderData: any) => [(data: any[]) => CompoundV2UserReserveResponse | undefined, number];
|
|
1
|
+
import { LenderCrossPoolMeta, UserData } from '../utils/types';
|
|
2
|
+
export declare const getCompoundV2UserDataConverter: (lender: string, chainId: string, account: string, metaMap?: LenderCrossPoolMeta) => [(data: any[]) => UserData | undefined, number];
|
|
8
3
|
//# sourceMappingURL=userCallParse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/compound-v2/userCallParse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/compound-v2/userCallParse.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,mBAAmB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGnF,eAAO,MAAM,8BAA8B,GACzC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,UAAU,mBAAmB,KAC5B,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,QAAQ,GAAG,SAAS,EAAE,MAAM,CAuDhD,CAAA"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Lender } from '@1delta/lender-registry';
|
|
2
1
|
import { Call } from '../../../utils/multicall';
|
|
3
|
-
export declare const buildCompoundV3UserCall: (chainId: string, lender:
|
|
2
|
+
export declare const buildCompoundV3UserCall: (chainId: string, lender: string, account: string) => Call[];
|
|
4
3
|
//# sourceMappingURL=userCallBuild.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/compound-v3/userCallBuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/compound-v3/userCallBuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAQ/C,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,SAAS,MAAM,KACd,IAAI,EAoCN,CAAA"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare const getCompoundV3UserDataConverter: (lender: Lender, chainId: string, account: string, prices: {
|
|
4
|
-
[asset: string]: number;
|
|
5
|
-
}, pricesHist: {
|
|
6
|
-
[asset: string]: number;
|
|
7
|
-
}, lenderData: any) => [(data: any[]) => CompoundV3UserReserveResponse | undefined, number];
|
|
1
|
+
import { LenderCrossPoolMeta, UserData } from '../utils/types';
|
|
2
|
+
export declare const getCompoundV3UserDataConverter: (lender: string, chainId: string, account: string, metaMap?: LenderCrossPoolMeta) => [(data: any[]) => UserData | undefined, number];
|
|
8
3
|
//# sourceMappingURL=userCallParse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/compound-v3/userCallParse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/compound-v3/userCallParse.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAI9D,eAAO,MAAM,8BAA8B,GACzC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,UAAU,mBAAmB,KAC5B,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,QAAQ,GAAG,SAAS,EAAE,MAAM,CAwHhD,CAAA"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { PreparedCall, MulticallRpcBatch, RawRpcCall } from '../../utils/rpcCall';
|
|
1
2
|
import { LenderUserQuery } from '../../types/lenderTypes';
|
|
2
3
|
import { GetEvmClientFunction, LenderData } from '../../types';
|
|
3
4
|
import { PoolWithMeta } from '../../lending-pools';
|
|
5
|
+
import { LenderToLenderCrossPoolMeta, UserData } from './utils/types';
|
|
4
6
|
/**
|
|
5
7
|
* Builds the multicall calls for the given queries and returns the raw results
|
|
6
8
|
* @param chainId - The chain ID
|
|
@@ -12,21 +14,38 @@ import { PoolWithMeta } from '../../lending-pools';
|
|
|
12
14
|
* @param lenderData - optional public lender data to dynamically use pols and assets provided externally
|
|
13
15
|
* @returns The raw results from the multicall, "0x" for failures
|
|
14
16
|
*/
|
|
15
|
-
export declare const getLenderUserDataResult: (chainId: string, queriesRaw: LenderUserQuery[], getEvmClient: GetEvmClientFunction, allowFailure?: boolean, batchSize?: number, retries?: number, logs?: boolean) => Promise<any[]>;
|
|
17
|
+
export declare const getLenderUserDataResult: (chainId: string, queriesRaw: LenderUserQuery[], getEvmClient: GetEvmClientFunction, allowFailure?: boolean, batchSize?: number, retries?: number, logs?: boolean, meta?: LenderToLenderCrossPoolMeta) => Promise<any[]>;
|
|
18
|
+
export declare const getLenderUserDataResultForwarded: (chainId: string, queriesRaw: any[], // LenderUserQuery[]
|
|
19
|
+
getEvmClient: GetEvmClientFunction, allowFailure?: boolean, batchSize?: number, retries?: number, logs?: boolean) => Promise<any[]>;
|
|
20
|
+
export interface PreparedUserDataRpcCalls {
|
|
21
|
+
batches: MulticallRpcBatch[];
|
|
22
|
+
preparedCalls: PreparedCall[];
|
|
23
|
+
queries: LenderUserQuery[];
|
|
24
|
+
rpcCalls: RawRpcCall[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Prepares the RPC calls for fetching user data without executing them
|
|
28
|
+
* Uses multicall3 aggregate3 to batch all calls into a single RPC call
|
|
29
|
+
* This reduces multiple RPC calls to one, avoiding rate limiting
|
|
30
|
+
* @param chainId - The chain ID
|
|
31
|
+
* @param queriesRaw - The queries to fetch data for
|
|
32
|
+
* @param batchSize - Multicall batch size, default is 4096
|
|
33
|
+
* @param blockTag - Block tag for the RPC calls, default is 'latest'
|
|
34
|
+
* @param meta - Optional lender metadata
|
|
35
|
+
* @param allowFailure - Allow individual calls to fail within multicall, default is true
|
|
36
|
+
* @returns The prepared RPC batches and metadata needed for parsing
|
|
37
|
+
*/
|
|
38
|
+
export declare const prepareLenderUserDataRpcCalls: (chainId: string, queriesRaw: LenderUserQuery[], batchSize?: number, blockTag?: string, meta?: LenderToLenderCrossPoolMeta, allowFailure?: boolean) => PreparedUserDataRpcCalls;
|
|
16
39
|
/**
|
|
17
40
|
* Converts the raw results into the desired format
|
|
18
41
|
* @param chainId - The chain ID
|
|
19
42
|
* @param queries - The queries to fetch data for
|
|
20
43
|
* @param rawResults - The raw results from the multicall (getLenderUserDataResult)
|
|
21
|
-
* @param prices - The prices for the assets
|
|
22
|
-
* @param pricesHist - The historical prices for the assets
|
|
23
44
|
* @param lenderState - The state of the lender
|
|
24
45
|
* @returns The converted data
|
|
25
46
|
*/
|
|
26
|
-
export declare const convertLenderUserDataResult: (chainId: string, queriesRaw: LenderUserQuery[], rawResults: any[],
|
|
27
|
-
[lender: string]:
|
|
28
|
-
[account: string]: BasicReserveResponse;
|
|
29
|
-
};
|
|
47
|
+
export declare const convertLenderUserDataResult: (chainId: string, queriesRaw: LenderUserQuery[], rawResults: any[], lenderState: LenderToLenderCrossPoolMeta) => {
|
|
48
|
+
[lender: string]: UserData;
|
|
30
49
|
};
|
|
31
50
|
export interface ChainQuery {
|
|
32
51
|
chainId: string;
|
|
@@ -119,15 +138,9 @@ export interface BasicReserveResponse {
|
|
|
119
138
|
* @param lenderState lender state data for rates
|
|
120
139
|
* @returns lender user data map
|
|
121
140
|
*/
|
|
122
|
-
export declare function getLenderUserDataMulti(account: string | undefined, chainQueries: ChainQuery[],
|
|
123
|
-
[key: string]: number;
|
|
124
|
-
} | undefined, pricesHist: {
|
|
125
|
-
[key: string]: number;
|
|
126
|
-
} | undefined, lenderState: LenderData | PoolWithMeta[]): Promise<{
|
|
141
|
+
export declare function getLenderUserDataMulti(account: string | undefined, chainQueries: ChainQuery[], lenderState: LenderData | PoolWithMeta[]): Promise<{
|
|
127
142
|
[chainId: string]: {
|
|
128
|
-
[lender: string]:
|
|
129
|
-
[account: string]: BasicReserveResponse;
|
|
130
|
-
};
|
|
143
|
+
[lender: string]: UserData;
|
|
131
144
|
};
|
|
132
145
|
}>;
|
|
133
146
|
//# sourceMappingURL=fetchUserData.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchUserData.d.ts","sourceRoot":"","sources":["../../../src/lending/user-data/fetchUserData.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetchUserData.d.ts","sourceRoot":"","sources":["../../../src/lending/user-data/fetchUserData.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lending/user-data/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lending/user-data/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AACvC,cAAc,UAAU,CAAA"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare const getInitUserDataConverter: (lender: Lender, chainId: string, account: string, prices: {
|
|
4
|
-
[asset: string]: number;
|
|
5
|
-
}, pricesHist: {
|
|
6
|
-
[asset: string]: number;
|
|
7
|
-
}, lenderData: any) => [(data: any[]) => InitUserReserveResponse | undefined, number];
|
|
1
|
+
import { LenderCrossPoolMeta, UserData } from '../utils/types';
|
|
2
|
+
export declare const getInitUserDataConverter: (lender: string, chainId: string, account: string, metaMap?: LenderCrossPoolMeta) => [(data: any[]) => UserData | undefined, number];
|
|
8
3
|
//# sourceMappingURL=userCallParse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/init/userCallParse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/init/userCallParse.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAG9D,eAAO,MAAM,wBAAwB,GACnC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,UAAU,mBAAmB,KAC5B,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,QAAQ,GAAG,SAAS,EAAE,MAAM,CAsIhD,CAAA"}
|
|
@@ -1,24 +1,14 @@
|
|
|
1
|
-
import { Lender } from '@1delta/lender-registry';
|
|
2
1
|
import { MorphoUserReserveResponse } from '../../../types/lenderTypes';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}, lenderData: any) => [(data: any[]) => {
|
|
2
|
+
import { LenderToLenderCrossPoolMeta, UserData } from '../utils/types';
|
|
3
|
+
export declare const getMorphoTypeUserDataConverterWithlens: (lender: string, chainId: string, account: string, markets: string[], metaMap?: LenderToLenderCrossPoolMeta) => [(data: any[]) => {
|
|
4
|
+
[lenderKey: string]: UserData;
|
|
5
|
+
} | undefined, number] | [(data: any[]) => {
|
|
8
6
|
[market: string]: MorphoUserReserveResponse;
|
|
9
7
|
} | undefined, number];
|
|
10
|
-
export declare const getMorphoUserDataConverterWithlens: (lender:
|
|
11
|
-
[
|
|
12
|
-
}, pricesHist: {
|
|
13
|
-
[asset: string]: number;
|
|
14
|
-
}, lenderData: any) => [(data: any[]) => {
|
|
15
|
-
[market: string]: MorphoUserReserveResponse;
|
|
8
|
+
export declare const getMorphoUserDataConverterWithlens: (lender: string, chainId: string, account: string, markets: string[], metaMap?: LenderToLenderCrossPoolMeta) => [(data: any[]) => {
|
|
9
|
+
[lenderKey: string]: UserData;
|
|
16
10
|
} | undefined, number];
|
|
17
|
-
export declare const getListaUserDataConverterWithlens: (lender:
|
|
18
|
-
[asset: string]: number;
|
|
19
|
-
}, pricesHist: {
|
|
20
|
-
[asset: string]: number;
|
|
21
|
-
}, lenderData: any) => [(data: any[]) => {
|
|
11
|
+
export declare const getListaUserDataConverterWithlens: (lender: string, chainId: string, account: string, markets: string[], metaMap?: LenderToLenderCrossPoolMeta) => [(data: any[]) => {
|
|
22
12
|
[market: string]: MorphoUserReserveResponse;
|
|
23
13
|
} | undefined, number];
|
|
24
14
|
//# sourceMappingURL=userCallParse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAStE,OAAO,EAEL,2BAA2B,EAE3B,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAuDvB,eAAO,MAAM,sCAAsC,GACjD,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,UAAU,2BAA2B,aAyB5B,GAAG,EAAE,KAAK;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,GAAG,SAAS,oBAgFzD,GAAG,EAAE,KAAK;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,yBAAyB,CAAA;CAAE,GAAG,SAAS,SAxF7E,CAAA;AAED,eAAO,MAAM,kCAAkC,GAC7C,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,UAAU,2BAA2B,KACpC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,GAAG,SAAS,EAAE,MAAM,CAuEzE,CAAA;AAED,eAAO,MAAM,iCAAiC,GAC5C,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,UAAU,2BAA2B,KACpC,CACD,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,yBAAyB,CAAA;CAAE,GAAG,SAAS,EAC5E,MAAM,CAqFP,CAAA"}
|
|
@@ -1,48 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AaveV2UserReserveResponse, AaveV3UserReserveResponse, CompoundV3UserReserveResponse } from '../../../types/lenderTypes';
|
|
2
|
+
import { LenderCrossPoolMeta, UserData } from './types';
|
|
2
3
|
type LenderUserData = AaveV3UserReserveResponse | AaveV2UserReserveResponse | CompoundV3UserReserveResponse;
|
|
3
|
-
|
|
4
|
-
export declare function createBaseTypeUserState(payload: LenderUserData, lenderData: {
|
|
5
|
-
[a: string]: LenderState;
|
|
6
|
-
}, totalDeposits24h?: number, totalDebt24h?: number): {
|
|
7
|
-
account: string;
|
|
8
|
-
chainId: string;
|
|
9
|
-
balanceData: {
|
|
10
|
-
'0': {
|
|
11
|
-
rewards?: any;
|
|
12
|
-
borrowDiscountedCollateral: number;
|
|
13
|
-
borrowDiscountedCollateralAllActive: number;
|
|
14
|
-
collateral: number;
|
|
15
|
-
collateralAllActive: number;
|
|
16
|
-
deposits: number;
|
|
17
|
-
debt: number;
|
|
18
|
-
adjustedDebt: number;
|
|
19
|
-
nav: number;
|
|
20
|
-
deposits24h: number;
|
|
21
|
-
debt24h: number;
|
|
22
|
-
nav24h: number;
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
aprData: {
|
|
26
|
-
'0': {
|
|
27
|
-
apr: number;
|
|
28
|
-
borrowApr: number;
|
|
29
|
-
depositApr: number;
|
|
30
|
-
rewards: any;
|
|
31
|
-
rewardApr: number;
|
|
32
|
-
rewardDepositApr: number;
|
|
33
|
-
rewardBorrowApr: number;
|
|
34
|
-
stakingApr: number;
|
|
35
|
-
stakingDepositApr: number;
|
|
36
|
-
stakingBorrowApr: number;
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
userConfigs: {
|
|
40
|
-
'0': {
|
|
41
|
-
selectedMode: number;
|
|
42
|
-
id: string;
|
|
43
|
-
isWhitelisted: boolean;
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
};
|
|
4
|
+
export declare function createBaseTypeUserState(payload: LenderUserData, lenderData: LenderCrossPoolMeta, totalDeposits24h?: number, totalDebt24h?: number): UserData;
|
|
47
5
|
export {};
|
|
48
6
|
//# sourceMappingURL=createGeneralUserState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createGeneralUserState.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/utils/createGeneralUserState.ts"],"names":[],"mappings":"AACA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"createGeneralUserState.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/utils/createGeneralUserState.ts"],"names":[],"mappings":"AACA,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAyB,mBAAmB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE9E,KAAK,cAAc,GACf,yBAAyB,GACzB,yBAAyB,GACzB,6BAA6B,CAAA;AAEjC,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,mBAAmB,EAC/B,gBAAgB,GAAE,MAAU,EAC5B,YAAY,GAAE,MAAU,GACvB,QAAQ,CA4IV"}
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}, histData: {
|
|
1
|
+
import { InitUserReserveResponse } from '../../../types/lenderTypes';
|
|
2
|
+
import { LenderCrossPoolMeta, UserData } from './types';
|
|
3
|
+
export declare function createMultiAccountTypeUserState(payload: InitUserReserveResponse, lenderData: LenderCrossPoolMeta, histData: {
|
|
5
4
|
[a: string]: {
|
|
6
5
|
totalDebt24h: number;
|
|
7
6
|
totalDeposits24h: number;
|
|
8
7
|
};
|
|
9
|
-
}):
|
|
10
|
-
account: string;
|
|
11
|
-
chainId: string;
|
|
12
|
-
balanceData: any;
|
|
13
|
-
aprData: any;
|
|
14
|
-
userConfigs: any;
|
|
15
|
-
};
|
|
8
|
+
}): UserData;
|
|
16
9
|
//# sourceMappingURL=createMultiAccountStyleUserState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMultiAccountStyleUserState.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/utils/createMultiAccountStyleUserState.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"createMultiAccountStyleUserState.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/utils/createMultiAccountStyleUserState.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAEpE,OAAO,EAEL,mBAAmB,EACnB,QAAQ,EAET,MAAM,SAAS,CAAA;AAEhB,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,uBAAuB,EAChC,UAAU,EAAE,mBAAmB,EAC/B,QAAQ,EAAE;IACR,CAAC,CAAC,EAAE,MAAM,GAAG;QACX,YAAY,EAAE,MAAM,CAAA;QACpB,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAA;CACF,GACA,QAAQ,CAkIV"}
|
|
@@ -2,6 +2,7 @@ import { UserApr } from '../../../types/lenderTypes';
|
|
|
2
2
|
export * from './createGeneralUserState';
|
|
3
3
|
export * from './formatting';
|
|
4
4
|
export * from './createMultiAccountStyleUserState';
|
|
5
|
+
export * from './types';
|
|
5
6
|
export declare function divideAccrualsToAprs(aprs: {
|
|
6
7
|
[assets: string]: UserApr;
|
|
7
8
|
}, nav: number, deposits: number, debt: number): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,cAAc,0BAA0B,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,cAAc,0BAA0B,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,oCAAoC,CAAA;AAClD,cAAc,SAAS,CAAA;AAEvB,wBAAgB,oBAAoB,CAClC,IAAI,EAAE;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EACnC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,OAYb"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { BaseLendingPositions } from '../../../types';
|
|
2
|
+
import { AprData, BalanceData, UserConfig } from '../fetchUserData';
|
|
3
|
+
export type MarketConfigEntry = {
|
|
4
|
+
category: string;
|
|
5
|
+
label: string;
|
|
6
|
+
borrowCollateralFactor: number | null;
|
|
7
|
+
collateralFactor: number | null;
|
|
8
|
+
borrowFactor: number | null;
|
|
9
|
+
debtDisabled: boolean;
|
|
10
|
+
collateralDisabled: boolean;
|
|
11
|
+
};
|
|
12
|
+
export type MarketConfigs = Record<string, MarketConfigEntry>;
|
|
13
|
+
export type MarketFlags = {
|
|
14
|
+
isActive: boolean | null;
|
|
15
|
+
isFrozen: boolean | null;
|
|
16
|
+
hasStable: boolean | null;
|
|
17
|
+
borrowingEnabled: boolean | null;
|
|
18
|
+
collateralActive: boolean | null;
|
|
19
|
+
};
|
|
20
|
+
export type AssetInfo = {
|
|
21
|
+
chainId: string | null;
|
|
22
|
+
address: string | null;
|
|
23
|
+
symbol: string | null;
|
|
24
|
+
name: string | null;
|
|
25
|
+
decimals: number | null;
|
|
26
|
+
logoURI: string | null;
|
|
27
|
+
assetGroup: string | null;
|
|
28
|
+
currencyId: string | null;
|
|
29
|
+
props: unknown | null;
|
|
30
|
+
};
|
|
31
|
+
export type PriceInfo = {
|
|
32
|
+
priceUsd: number | null;
|
|
33
|
+
priceTs: any | null;
|
|
34
|
+
priceUsd24h: number | null;
|
|
35
|
+
priceTs24h: any | null;
|
|
36
|
+
priceChange24h: number | null;
|
|
37
|
+
};
|
|
38
|
+
export type LenderYieldComplete = {
|
|
39
|
+
depositRate: number | null;
|
|
40
|
+
stableBorrowRate: number | null;
|
|
41
|
+
variableBorrowRate: number | null;
|
|
42
|
+
intrinsicYield: number | null;
|
|
43
|
+
underlying: string;
|
|
44
|
+
configs: MarketConfigs | null;
|
|
45
|
+
flags: MarketFlags | null;
|
|
46
|
+
rewards: unknown | null;
|
|
47
|
+
asset: AssetInfo;
|
|
48
|
+
price: PriceInfo;
|
|
49
|
+
};
|
|
50
|
+
export type LenderCrossPoolMeta = Record<string, LenderYieldComplete>;
|
|
51
|
+
export type LenderToLenderCrossPoolMeta = Record<string, LenderCrossPoolMeta>;
|
|
52
|
+
export type LenderYieldCompleteResult = Record<string, LenderToLenderCrossPoolMeta>;
|
|
53
|
+
export declare function getAssetsFromMeta(meta?: LenderCrossPoolMeta): string[] | undefined;
|
|
54
|
+
export declare function getMarketUidsFromMeta(meta: LenderCrossPoolMeta): string[];
|
|
55
|
+
export interface UserDataForSubAccount {
|
|
56
|
+
accountId: string;
|
|
57
|
+
health: number | null;
|
|
58
|
+
balanceData: BalanceData;
|
|
59
|
+
aprData: AprData;
|
|
60
|
+
positions: BaseLendingPositions[];
|
|
61
|
+
userConfig: UserConfig;
|
|
62
|
+
}
|
|
63
|
+
export type UserData = {
|
|
64
|
+
chainId: string;
|
|
65
|
+
account: string;
|
|
66
|
+
data: UserDataForSubAccount[];
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/utils/types.ts"],"names":[],"mappings":"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"}
|
package/dist/prices/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prices/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prices/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5C,cAAc,iBAAiB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchOracleData.d.ts","sourceRoot":"","sources":["../../../src/prices/main-prices/fetchOracleData.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAWvC,UAAU,UAAU;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB;AAID;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,EAAE,EAClB,eAAe;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,EAC9C,QAAO;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAA;CAAO,EACtD,gBAAW,EACX,YAAW,MAAM,GAAG,SAAqB,EACzC,sBAAmB,KAClB,OAAO,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"fetchOracleData.d.ts","sourceRoot":"","sources":["../../../src/prices/main-prices/fetchOracleData.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAWvC,UAAU,UAAU;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB;AAID;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,EAAE,EAClB,eAAe;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,EAC9C,QAAO;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAA;CAAO,EACtD,gBAAW,EACX,YAAW,MAAM,GAAG,SAAqB,EACzC,sBAAmB,KAClB,OAAO,CAAC,UAAU,CAqTpB,CAAA;AAurBD,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,UAiBZ"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { StructuredOraclePrices, USDPriceMap, TokenListMap } from './types';
|
|
2
|
+
import { type MorphoMarketOverrides, type ListaMarketOverrides } from './fetchers';
|
|
3
|
+
/**
|
|
4
|
+
* Token list type expected by this function
|
|
5
|
+
* Token decimals are read from list[chainId].list[address].decimals
|
|
6
|
+
*/
|
|
7
|
+
export type TokenListInput = {
|
|
8
|
+
[chainId: string]: TokenListMap;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Options for fetchOraclePrices with market overrides
|
|
12
|
+
*/
|
|
13
|
+
export interface FetchOraclePricesOptions {
|
|
14
|
+
/** Optional RPC URL overrides per chain */
|
|
15
|
+
rpcOverrides?: {
|
|
16
|
+
[chainId: string]: string[];
|
|
17
|
+
};
|
|
18
|
+
/** Token lists with decimals and asset groups for price resolution */
|
|
19
|
+
lists?: TokenListInput;
|
|
20
|
+
/** Number of retries for RPC calls */
|
|
21
|
+
retries?: number;
|
|
22
|
+
/** Optional batch size for multicall */
|
|
23
|
+
batchSize?: number;
|
|
24
|
+
/** Whether to allow individual call failures (default: true) */
|
|
25
|
+
allowFailure?: boolean;
|
|
26
|
+
/** Optional base USD prices to use for deriving other prices */
|
|
27
|
+
basePrices?: USDPriceMap;
|
|
28
|
+
/** Custom Morpho markets to add beyond JSON data */
|
|
29
|
+
morphoMarketOverrides?: MorphoMarketOverrides;
|
|
30
|
+
/** Custom Lista markets to add beyond JSON data */
|
|
31
|
+
listaMarketOverrides?: ListaMarketOverrides;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Fetches oracle prices from AAVE, Morpho, Lista, Compound V2 and Compound V3 protocols
|
|
35
|
+
* Returns structured data: chainId -> lender -> [{asset, price, priceUSD}][]
|
|
36
|
+
*
|
|
37
|
+
* @param chainIds - Array of chain IDs to fetch prices for
|
|
38
|
+
* @param rpcOverrides - Optional RPC URL overrides per chain
|
|
39
|
+
* @param lists - Token lists with decimals and asset groups for price resolution
|
|
40
|
+
* @param retries - Number of retries for RPC calls
|
|
41
|
+
* @param batchSize - Optional batch size for multicall
|
|
42
|
+
* @param allowFailure - Whether to allow individual call failures (default: true)
|
|
43
|
+
* @param basePrices - Optional base USD prices to use for deriving other prices
|
|
44
|
+
* @param morphoMarketOverrides - Custom Morpho markets to add beyond JSON data
|
|
45
|
+
* @param listaMarketOverrides - Custom Lista markets to add beyond JSON data
|
|
46
|
+
*/
|
|
47
|
+
export declare function fetchOraclePrices(chainIds: string[], rpcOverrides?: {
|
|
48
|
+
[chainId: string]: string[];
|
|
49
|
+
}, lists?: TokenListInput, retries?: number, batchSize?: number | undefined, allowFailure?: boolean, basePrices?: USDPriceMap, morphoMarketOverrides?: MorphoMarketOverrides, listaMarketOverrides?: ListaMarketOverrides): Promise<StructuredOraclePrices>;
|
|
50
|
+
/**
|
|
51
|
+
* Flattens structured oracle prices to a simple USD price map
|
|
52
|
+
* Useful for compatibility with existing code that expects flat price maps
|
|
53
|
+
*/
|
|
54
|
+
export declare function flattenToUSDPriceMap(structuredPrices: StructuredOraclePrices, lists?: TokenListInput): USDPriceMap;
|
|
55
|
+
//# sourceMappingURL=fetchOraclePrices.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchOraclePrices.d.ts","sourceRoot":"","sources":["../../../src/prices/oracle-prices/fetchOraclePrices.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,WAAW,EAEX,YAAY,EAEb,MAAM,SAAS,CAAA;AAChB,OAAO,EAML,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAA;AAMnB;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAA;CAChC,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,2CAA2C;IAC3C,YAAY,CAAC,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;IAC9C,sEAAsE;IACtE,KAAK,CAAC,EAAE,cAAc,CAAA;IACtB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,gEAAgE;IAChE,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB,oDAAoD;IACpD,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;CAC5C;AAUD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,CAAC,EAAE;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,EAC9C,KAAK,GAAE,cAAmB,EAC1B,OAAO,SAAI,EACX,SAAS,GAAE,MAAM,GAAG,SAAqB,EACzC,YAAY,UAAO,EACnB,UAAU,GAAE,WAAgB,EAC5B,qBAAqB,CAAC,EAAE,qBAAqB,EAC7C,oBAAoB,CAAC,EAAE,oBAAoB,GAC1C,OAAO,CAAC,sBAAsB,CAAC,CA+LjC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,gBAAgB,EAAE,sBAAsB,EACxC,KAAK,GAAE,cAAmB,GACzB,WAAW,CAkBb"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { AaveQueryMeta, FetcherResult, OraclePriceEntry, ParseContext } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Extended metadata for AAVE that includes BASE_CURRENCY_UNIT info
|
|
4
|
+
*/
|
|
5
|
+
export interface AaveQueryMetaExtended extends AaveQueryMeta {
|
|
6
|
+
/** Index of BASE_CURRENCY_UNIT call in the calls array */
|
|
7
|
+
baseCurrencyUnitIndex: number;
|
|
8
|
+
/** Number of asset price calls */
|
|
9
|
+
assetCallCount: number;
|
|
10
|
+
/** Base asset override (if lender uses non-USD base) */
|
|
11
|
+
baseAssetOverride?: string;
|
|
12
|
+
/** Fallback BASE_CURRENCY_UNIT if on-chain call reverts */
|
|
13
|
+
baseCurrencyUnitOverride?: bigint;
|
|
14
|
+
/** Another AAVE fork to use as source for base asset USD price */
|
|
15
|
+
baseAssetSource?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Get multicall calls for AAVE oracles
|
|
19
|
+
* Uses individual getAssetPrice calls per asset (with allowFailure=true)
|
|
20
|
+
* Also fetches BASE_CURRENCY_UNIT for proper scaling
|
|
21
|
+
*/
|
|
22
|
+
export declare function getAaveCalls(chainId: string): FetcherResult<AaveQueryMetaExtended>[];
|
|
23
|
+
/**
|
|
24
|
+
* Parse AAVE oracle results into structured price entries
|
|
25
|
+
* Uses BASE_CURRENCY_UNIT to properly scale prices
|
|
26
|
+
*
|
|
27
|
+
* For lenders with non-USD base assets (like KLAYBANK on KAIA),
|
|
28
|
+
* prices need to be scaled by the base asset's USD price.
|
|
29
|
+
*/
|
|
30
|
+
export declare function parseAaveResults(data: any[], meta: AaveQueryMetaExtended, context: ParseContext): OraclePriceEntry[];
|
|
31
|
+
/**
|
|
32
|
+
* Get ABI for AAVE oracle calls
|
|
33
|
+
*/
|
|
34
|
+
export declare function getAaveAbi(): readonly [{
|
|
35
|
+
readonly inputs: readonly [];
|
|
36
|
+
readonly name: "BASE_CURRENCY_UNIT";
|
|
37
|
+
readonly outputs: readonly [{
|
|
38
|
+
readonly internalType: "uint256";
|
|
39
|
+
readonly name: "";
|
|
40
|
+
readonly type: "uint256";
|
|
41
|
+
}];
|
|
42
|
+
readonly stateMutability: "view";
|
|
43
|
+
readonly type: "function";
|
|
44
|
+
}, {
|
|
45
|
+
readonly inputs: readonly [{
|
|
46
|
+
readonly internalType: "address";
|
|
47
|
+
readonly name: "asset";
|
|
48
|
+
readonly type: "address";
|
|
49
|
+
}];
|
|
50
|
+
readonly name: "getAssetPrice";
|
|
51
|
+
readonly outputs: readonly [{
|
|
52
|
+
readonly internalType: "uint256";
|
|
53
|
+
readonly name: "";
|
|
54
|
+
readonly type: "uint256";
|
|
55
|
+
}];
|
|
56
|
+
readonly stateMutability: "view";
|
|
57
|
+
readonly type: "function";
|
|
58
|
+
}, {
|
|
59
|
+
readonly inputs: readonly [{
|
|
60
|
+
readonly internalType: "address[]";
|
|
61
|
+
readonly name: "assets";
|
|
62
|
+
readonly type: "address[]";
|
|
63
|
+
}];
|
|
64
|
+
readonly name: "getAssetsPrices";
|
|
65
|
+
readonly outputs: readonly [{
|
|
66
|
+
readonly internalType: "uint256[]";
|
|
67
|
+
readonly name: "";
|
|
68
|
+
readonly type: "uint256[]";
|
|
69
|
+
}];
|
|
70
|
+
readonly stateMutability: "view";
|
|
71
|
+
readonly type: "function";
|
|
72
|
+
}, {
|
|
73
|
+
readonly inputs: readonly [];
|
|
74
|
+
readonly name: "getFallbackOracle";
|
|
75
|
+
readonly outputs: readonly [{
|
|
76
|
+
readonly internalType: "address";
|
|
77
|
+
readonly name: "";
|
|
78
|
+
readonly type: "address";
|
|
79
|
+
}];
|
|
80
|
+
readonly stateMutability: "view";
|
|
81
|
+
readonly type: "function";
|
|
82
|
+
}];
|
|
83
|
+
/**
|
|
84
|
+
* AAVE Oracle Fetcher module
|
|
85
|
+
*/
|
|
86
|
+
export declare const aaveFetcher: {
|
|
87
|
+
getCalls: typeof getAaveCalls;
|
|
88
|
+
parse: typeof parseAaveResults;
|
|
89
|
+
getAbi: typeof getAaveAbi;
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=aave.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aave.d.ts","sourceRoot":"","sources":["../../../../src/prices/oracle-prices/fetchers/aave.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,EACb,aAAa,EAEb,gBAAgB,EAChB,YAAY,EACb,MAAM,UAAU,CAAA;AA0CjB;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,0DAA0D;IAC1D,qBAAqB,EAAE,MAAM,CAAA;IAC7B,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAA;IACtB,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,2DAA2D;IAC3D,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAmBD;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,GACd,aAAa,CAAC,qBAAqB,CAAC,EAAE,CAkDxC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,GAAG,EAAE,EACX,IAAI,EAAE,qBAAqB,EAC3B,OAAO,EAAE,YAAY,GACpB,gBAAgB,EAAE,CAgEpB;AAED;;GAEG;AACH,wBAAgB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAEzB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW;;;;CAIvB,CAAA"}
|