@1delta/margin-fetcher 0.0.175 → 0.0.177
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/index.js +125 -88
- package/dist/index.js.map +1 -1
- package/dist/lending/margin/loop/index.d.ts +1 -0
- package/dist/lending/margin/loop/index.d.ts.map +1 -1
- package/dist/lending/margin/loop/ranges/getMaxAmountOpen.d.ts +30 -0
- package/dist/lending/margin/loop/ranges/getMaxAmountOpen.d.ts.map +1 -0
- package/dist/lending/margin/loop/ranges/index.d.ts +2 -0
- package/dist/lending/margin/loop/ranges/index.d.ts.map +1 -0
- package/dist/lending/public-data/compound-v3/publicCallParse.d.ts.map +1 -1
- package/dist/lending/public-data/euler/fetcher/normalize.d.ts +17 -17
- package/dist/lending/public-data/euler/fetcher/normalize.d.ts.map +1 -1
- package/dist/lending/user-data/euler/userCallBuild.d.ts +35 -5
- package/dist/lending/user-data/euler/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/euler/userCallParse.d.ts +9 -1
- package/dist/lending/user-data/euler/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/fetch-balances/e2e.d.ts +2 -3
- package/dist/lending/user-data/fetch-balances/e2e.d.ts.map +1 -1
- package/dist/lending/user-data/fetch-balances/prepare.d.ts +2 -1
- package/dist/lending/user-data/fetch-balances/prepare.d.ts.map +1 -1
- package/dist/lending/user-data/utils/createEulerMultiAccountTypeUserState.d.ts +9 -6
- package/dist/lending/user-data/utils/createEulerMultiAccountTypeUserState.d.ts.map +1 -1
- package/dist/lending/user-data/with-permissions/prepare.d.ts +2 -2
- package/dist/lending/user-data/with-permissions/prepare.d.ts.map +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lending/margin/loop/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,YAAY,EACV,WAAW,EACX,YAAY,EACZ,OAAO,EACP,oBAAoB,GACrB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lending/margin/loop/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,YAAY,EACV,WAAW,EACX,YAAY,EACZ,OAAO,EACP,oBAAoB,GACrB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thresholds for maximum parameter calculations.
|
|
3
|
+
*
|
|
4
|
+
* SAFE_HF is the minimum health factor we allow after the trade —
|
|
5
|
+
* going below this puts the account dangerously close to liquidation.
|
|
6
|
+
*/
|
|
7
|
+
export declare enum MaxParamThresholds {
|
|
8
|
+
MIN_HF = 1,
|
|
9
|
+
SAME_OPEN_HF = 1.1,
|
|
10
|
+
SAFE_HF = 1.01
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Compute the maximum dollar amount a user can borrow-swap-deposit
|
|
14
|
+
* when opening a leveraged position, without dropping the health
|
|
15
|
+
* factor below `SAFE_HF`.
|
|
16
|
+
*
|
|
17
|
+
* For a "same-asset" loop (borrow and deposit the same token) we
|
|
18
|
+
* use the stricter `SAME_OPEN_HF` threshold because the position
|
|
19
|
+
* is more sensitive to rate changes.
|
|
20
|
+
*
|
|
21
|
+
* @param borrowDiscountedCollateral Current risk-adjusted collateral (for borrow capacity)
|
|
22
|
+
* @param collateral Current collateral value (for health factor)
|
|
23
|
+
* @param debt Current total debt
|
|
24
|
+
* @param cfOut Collateral factor of the deposited (out) asset
|
|
25
|
+
* @param bfIn Borrow factor of the borrowed (in) asset
|
|
26
|
+
* @param sameAsset Whether in and out assets are the same token
|
|
27
|
+
* @returns Maximum additional dollar amount that can be borrowed
|
|
28
|
+
*/
|
|
29
|
+
export declare function getMaxAmountOpen(borrowDiscountedCollateral: number, collateral: number, debt: number, cfOut: number, bfIn: number, sameAsset?: boolean): number;
|
|
30
|
+
//# sourceMappingURL=getMaxAmountOpen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMaxAmountOpen.d.ts","sourceRoot":"","sources":["../../../../../src/lending/margin/loop/ranges/getMaxAmountOpen.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,oBAAY,kBAAkB;IAC5B,MAAM,IAAM;IACZ,YAAY,MAAM;IAClB,OAAO,OAAO;CACf;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,0BAA0B,EAAE,MAAM,EAClC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,SAAS,UAAQ,GAChB,MAAM,CAYR"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lending/margin/loop/ranges/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publicCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/compound-v3/publicCallParse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publicCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/compound-v3/publicCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAEL,+BAA+B,EAChC,MAAM,yCAAyC,CAAA;AAShD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAMjD,eAAO,MAAM,cAAc,EAAE;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CASvD,CAAA;AACD,eAAO,MAAM,kCAAkC,GAC7C,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,YAAW,gBAAqB,KAC/B,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,+BAA+B,GAAG,SAAS,EAAE,MAAM,CAsMvE,CAAA"}
|
|
@@ -6,37 +6,35 @@
|
|
|
6
6
|
* Euler V2 is pair-wise (vault A's LTV for collateral vault B), while
|
|
7
7
|
* the target format has per-asset configs indexed by a key.
|
|
8
8
|
*
|
|
9
|
-
* The `config` map on each vault entry is keyed by **
|
|
10
|
-
*
|
|
9
|
+
* The `config` map on each vault entry is keyed by **borrow vault address**
|
|
10
|
+
* (lowercase). Each entry's LTV values describe this vault's collateral
|
|
11
|
+
* standing when used with that borrow vault.
|
|
11
12
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* → LTV = 0 if the counterparty doesn't accept this vault as collateral
|
|
16
|
-
* (otherwise the reverse entry already exists with the real LTV)
|
|
17
|
-
*
|
|
18
|
-
* This unified config allows:
|
|
19
|
-
* 1. Looking up all LTV data for a vault as collateral
|
|
20
|
-
* 2. Discovering what you can borrow for a vault used as collateral
|
|
21
|
-
* 3. Finding eligible collateral for a debt asset (iterate config keys)
|
|
13
|
+
* This means:
|
|
14
|
+
* 1. For vault V, `V.config[borrowVault]` = V's collateral LTV for that borrow vault
|
|
15
|
+
* 2. All vaults with `config[B]` are eligible collateral for borrow vault B
|
|
22
16
|
*
|
|
23
17
|
* ### Example
|
|
24
18
|
*
|
|
25
19
|
* Euler cluster with 3 vaults:
|
|
26
|
-
* Vault W (WETH, 0xaaa...) - accepts [U, D] as collateral
|
|
27
|
-
* Vault U (USDC, 0xbbb...) - accepts [W] as collateral
|
|
20
|
+
* Vault W (WETH, 0xaaa...) - borrow vault, accepts [U, D] as collateral
|
|
21
|
+
* Vault U (USDC, 0xbbb...) - borrow vault, accepts [W] as collateral
|
|
28
22
|
* Vault D (DAI, 0xccc...) - collateral only
|
|
29
23
|
*
|
|
30
24
|
* Maps to:
|
|
31
25
|
* data["0xaaa..."]: { ← WETH vault entry
|
|
32
26
|
* config: {
|
|
33
|
-
* "0xbbb...": { bcf: 0.82, cf: 0.87 } ← WETH as collateral for USDC
|
|
34
|
-
*
|
|
27
|
+
* "0xbbb...": { bcf: 0.82, cf: 0.87 } ← WETH as collateral for USDC borrow vault
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
* data["0xbbb..."]: { ← USDC vault entry
|
|
31
|
+
* config: {
|
|
32
|
+
* "0xaaa...": { bcf: 0.75, cf: 0.80 } ← USDC as collateral for WETH borrow vault
|
|
35
33
|
* }
|
|
36
34
|
* }
|
|
37
35
|
* data["0xccc..."]: { ← DAI vault entry
|
|
38
36
|
* config: {
|
|
39
|
-
* "0xaaa...": { bcf: 0.80, cf: 0.88 } ← DAI as collateral for WETH
|
|
37
|
+
* "0xaaa...": { bcf: 0.80, cf: 0.88 } ← DAI as collateral for WETH borrow vault
|
|
40
38
|
* }
|
|
41
39
|
* }
|
|
42
40
|
*/
|
|
@@ -52,6 +50,8 @@ export interface GenericCurrency {
|
|
|
52
50
|
export interface LenderConfigData {
|
|
53
51
|
/** Lowercase borrow vault address that defines this config */
|
|
54
52
|
category: string;
|
|
53
|
+
/** Counterparty vault name for display */
|
|
54
|
+
label: string;
|
|
55
55
|
borrowCollateralFactor: number;
|
|
56
56
|
collateralFactor: number;
|
|
57
57
|
borrowFactor: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../../../src/lending/public-data/euler/fetcher/normalize.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../../../src/lending/public-data/euler/fetcher/normalize.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import { Call } from '../../../utils/multicall';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* All 256 EVC sub-account indexes (0-255).
|
|
4
|
+
* Kept for backward compatibility but no longer used as default.
|
|
5
|
+
*/
|
|
6
|
+
export declare const ALL_EULER_SUB_ACCOUNT_INDEXES: number[];
|
|
7
|
+
/**
|
|
8
|
+
* Fetches sub-account indexes for an owner from the Euler V2 subgraph.
|
|
9
|
+
* Results are memoized for 30 s so that concurrent build + parse calls
|
|
10
|
+
* share the same result. Falls back to [0] on any error.
|
|
11
|
+
*/
|
|
12
|
+
export declare function fetchEulerSubAccountIndexes(chainId: string, owner: string): Promise<number[]>;
|
|
13
|
+
/**
|
|
14
|
+
* Synchronous read of previously resolved sub-account indexes.
|
|
15
|
+
* Returns `undefined` when no prior build has populated the store.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getResolvedEulerSubAccountIndexes(chainId: string, account: string): number[] | undefined;
|
|
3
18
|
/**
|
|
4
19
|
* Derives a sub-account address from an owner address and index (0-255).
|
|
5
20
|
* EVC sub-accounts share the first 19 bytes of the owner address;
|
|
@@ -10,13 +25,28 @@ declare function getSubAccountAddress(owner: string, index: number): string;
|
|
|
10
25
|
* Extracts the sub-account index (last byte) from an address.
|
|
11
26
|
*/
|
|
12
27
|
declare function getSubAccountIndex(addr: string): number;
|
|
28
|
+
/**
|
|
29
|
+
* Resolve the sorted, deduplicated list of sub-account indexes to query.
|
|
30
|
+
*
|
|
31
|
+
* Always includes the owner's native index (derived from their address)
|
|
32
|
+
* in addition to the requested set.
|
|
33
|
+
*/
|
|
34
|
+
export declare function resolveSubAccountIndexes(account: string, subAccountIndexes: number[]): number[];
|
|
13
35
|
/**
|
|
14
36
|
* Build multicall calls for fetching Euler V2 user data.
|
|
15
37
|
*
|
|
16
|
-
* For each sub-account
|
|
17
|
-
*
|
|
38
|
+
* For each sub-account index in the resolved set, creates one
|
|
39
|
+
* `getAccountEnabledVaultsInfo(evc, subAccountAddr)` call
|
|
18
40
|
* via the AccountLens contract.
|
|
41
|
+
*
|
|
42
|
+
* When no `subAccountIndexes` are provided, queries the Euler subgraph
|
|
43
|
+
* to discover active sub-accounts. Falls back to index [0] on error.
|
|
44
|
+
*
|
|
45
|
+
* @param subAccountIndexes - Numeric sub-account indexes to fetch.
|
|
46
|
+
* When undefined, fetches from subgraph.
|
|
47
|
+
* The owner's native index is always included automatically.
|
|
48
|
+
* Pass a narrower set (e.g. [0]) for simulations where only one account is needed.
|
|
19
49
|
*/
|
|
20
|
-
export declare const buildEulerUserCall: (chainId: string, lender: string, account: string,
|
|
21
|
-
export { getSubAccountAddress, getSubAccountIndex
|
|
50
|
+
export declare const buildEulerUserCall: (chainId: string, lender: string, account: string, subAccountIndexes?: number[]) => Promise<Call[]>;
|
|
51
|
+
export { getSubAccountAddress, getSubAccountIndex };
|
|
22
52
|
//# sourceMappingURL=userCallBuild.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/euler/userCallBuild.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAG/C,
|
|
1
|
+
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/euler/userCallBuild.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAG/C;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,MAAM,EAGjD,CAAA;AAyCD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,EAAE,CAAC,CAenB;AAiDD;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,GAAG,SAAS,CAGtB;AAqBD;;;;GAIG;AACH,iBAAS,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlE;AAED;;GAEG;AACH,iBAAS,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,EAAE,GAC1B,MAAM,EAAE,CAKV;AAMD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,oBAAoB,MAAM,EAAE,KAC3B,OAAO,CAAC,IAAI,EAAE,CAwBhB,CAAA;AAED,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -5,6 +5,14 @@ import { LenderCrossPoolMeta, UserData } from '../utils/types';
|
|
|
5
5
|
* Each raw result corresponds to one sub-account's `getAccountEnabledVaultsInfo` call.
|
|
6
6
|
* The converter parses vault positions per sub-account and aggregates them
|
|
7
7
|
* via `createEulerMultiAccountTypeUserState`.
|
|
8
|
+
*
|
|
9
|
+
* Sub-accounts are keyed by their numeric index (e.g. "0", "1", "34"),
|
|
10
|
+
* NOT by derived hex addresses.
|
|
11
|
+
*
|
|
12
|
+
* @param subAccountIndexes - Numeric sub-account indexes that were fetched.
|
|
13
|
+
* Must match the indexes used in `buildEulerUserCall`.
|
|
14
|
+
* When undefined, reads from the build-phase resolved-indexes store
|
|
15
|
+
* (populated by `buildEulerUserCall`), falling back to [0].
|
|
8
16
|
*/
|
|
9
|
-
export declare const getEulerUserDataConverter: (lender: string, chainId: string, account: string, metaMap?: LenderCrossPoolMeta,
|
|
17
|
+
export declare const getEulerUserDataConverter: (lender: string, chainId: string, account: string, metaMap?: LenderCrossPoolMeta, subAccountIndexes?: number[]) => [(data: any[]) => UserData | undefined, number];
|
|
10
18
|
//# sourceMappingURL=userCallParse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/euler/userCallParse.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/euler/userCallParse.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAU9D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,yBAAyB,GACpC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,UAAU,mBAAmB,EAC7B,oBAAoB,MAAM,EAAE,KAC3B,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,QAAQ,GAAG,SAAS,EAAE,MAAM,CA2HhD,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LenderUserQuery } from '../../../types/lenderTypes';
|
|
2
2
|
import { GetEvmClientFunction, LenderData } from '../../../types';
|
|
3
3
|
import { PoolWithMeta } from '../../../lending-pools';
|
|
4
|
-
import {
|
|
4
|
+
import { UserData } from '../utils/types';
|
|
5
5
|
import type { ChainQuery, PreparedUserDataRpcCalls } from './types';
|
|
6
6
|
/**
|
|
7
7
|
* Builds the multicall calls for the given queries and returns the raw results
|
|
@@ -24,11 +24,10 @@ getEvmClient: GetEvmClientFunction, allowFailure?: boolean, batchSize?: number,
|
|
|
24
24
|
* @param queriesRaw - The queries to fetch data for
|
|
25
25
|
* @param batchSize - Multicall batch size, default is 4096
|
|
26
26
|
* @param blockTag - Block tag for the RPC calls, default is 'latest'
|
|
27
|
-
* @param meta - Optional lender metadata
|
|
28
27
|
* @param allowFailure - Allow individual calls to fail within multicall, default is true
|
|
29
28
|
* @returns The prepared RPC batches and metadata needed for parsing
|
|
30
29
|
*/
|
|
31
|
-
export declare const prepareLenderUserDataRpcCalls: (chainId: string, queriesRaw: LenderUserQuery[], batchSize?: number, blockTag?: string,
|
|
30
|
+
export declare const prepareLenderUserDataRpcCalls: (chainId: string, queriesRaw: LenderUserQuery[], batchSize?: number, blockTag?: string, allowFailure?: boolean) => Promise<PreparedUserDataRpcCalls>;
|
|
32
31
|
/**
|
|
33
32
|
* Fetch structured lender balance set for addresses
|
|
34
33
|
* @param account general account as override in queries
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e2e.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/fetch-balances/e2e.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAuB,MAAM,4BAA4B,CAAA;AACjF,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEjE,OAAO,EAAE,YAAY,EAAuB,MAAM,wBAAwB,CAAA;AAG1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"e2e.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/fetch-balances/e2e.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAuB,MAAM,4BAA4B,CAAA;AACjF,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEjE,OAAO,EAAE,YAAY,EAAuB,MAAM,wBAAwB,CAAA;AAG1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,OAAO,KAAK,EAAE,UAAU,EAAmB,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAEpF;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,YAAY,eAAe,EAAE,EAC7B,cAAc,oBAAoB,EAClC,sBAAmB,EACnB,kBAAwC,EACxC,gBAAW,EACX,cAAY,KACX,OAAO,CAAC,GAAG,EAAE,CAgCf,CAAA;AAED,eAAO,MAAM,gCAAgC,GAC3C,SAAS,MAAM,EACf,YAAY,GAAG,EAAE,EAAE,oBAAoB;AACvC,cAAc,oBAAoB,EAClC,sBAAmB,EACnB,kBAAwC,EACxC,gBAAW,EACX,cAAY,KACX,OAAO,CAAC,GAAG,EAAE,CAiCf,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,6BAA6B,GACxC,SAAS,MAAM,EACf,YAAY,eAAe,EAAE,EAC7B,kBAAwC,EACxC,iBAAmB,EACnB,sBAAmB,KAClB,OAAO,CAAC,wBAAwB,CA0ClC,CAAA;AASD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,YAAY,EAAE,UAAU,EAAE,EAC1B,WAAW,EAAE,UAAU,GAAG,YAAY,EAAE,GACvC,OAAO,CAAC;IACT,CAAC,OAAO,EAAE,MAAM,GAAG;QACjB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAA;KAC3B,CAAA;CACF,CAAC,CAsED"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import { Call } from '../../../utils/multicall';
|
|
2
|
+
export declare function buildUserCall(chainId: string, lender: string, account: string, params?: any): Promise<Call[]>;
|
|
2
3
|
//# sourceMappingURL=prepare.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/fetch-balances/prepare.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/fetch-balances/prepare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAiB/C,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,GAAG,GACX,OAAO,CAAC,IAAI,EAAE,CAAC,CAYjB"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { LenderCrossPoolMeta, UserData } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* Euler sub-account position payload.
|
|
4
|
-
* Similar to InitUserReserveResponse but keyed by sub-account
|
|
5
|
-
* and using controller vault as the "mode".
|
|
4
|
+
* Similar to InitUserReserveResponse but keyed by numeric sub-account index
|
|
5
|
+
* (e.g. "0", "1", "34") and using controller vault as the "mode".
|
|
6
6
|
*/
|
|
7
7
|
export interface EulerUserReserveResponse {
|
|
8
8
|
chainId: string;
|
|
9
9
|
lendingPositions: {
|
|
10
|
-
[
|
|
10
|
+
[subAccountIndex: string]: {
|
|
11
11
|
[marketUid: string]: {
|
|
12
12
|
marketUid: string;
|
|
13
13
|
underlying: string;
|
|
@@ -25,15 +25,18 @@ export interface EulerUserReserveResponse {
|
|
|
25
25
|
};
|
|
26
26
|
};
|
|
27
27
|
};
|
|
28
|
-
/** Controller vault per sub-account — serves as the "mode" for config lookups */
|
|
28
|
+
/** Controller vault per sub-account index — serves as the "mode" for config lookups */
|
|
29
29
|
controllers: {
|
|
30
|
-
[
|
|
30
|
+
[subAccountIndex: string]: string;
|
|
31
31
|
};
|
|
32
32
|
account: string;
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* Aggregates Euler V2 user data across sub-accounts into the standard UserData format.
|
|
36
36
|
*
|
|
37
|
+
* Sub-accounts are identified by their numeric index (e.g. "0", "1", "34"),
|
|
38
|
+
* NOT by derived hex addresses.
|
|
39
|
+
*
|
|
37
40
|
* Euler's config model differs from INIT:
|
|
38
41
|
* - INIT uses numeric mode IDs per position
|
|
39
42
|
* - Euler uses the controller vault address as the config key
|
|
@@ -43,7 +46,7 @@ export interface EulerUserReserveResponse {
|
|
|
43
46
|
* config entry to use when looking up collateral/borrow factors.
|
|
44
47
|
*/
|
|
45
48
|
export declare function createEulerMultiAccountTypeUserState(payload: EulerUserReserveResponse, lenderData: LenderCrossPoolMeta, histData: {
|
|
46
|
-
[
|
|
49
|
+
[subAccountIndex: string]: {
|
|
47
50
|
totalDebt24h: number;
|
|
48
51
|
totalDeposits24h: number;
|
|
49
52
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createEulerMultiAccountTypeUserState.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/utils/createEulerMultiAccountTypeUserState.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,mBAAmB,EACnB,QAAQ,EAET,MAAM,SAAS,CAAA;AAEhB;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE;QAChB,CAAC,
|
|
1
|
+
{"version":3,"file":"createEulerMultiAccountTypeUserState.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/utils/createEulerMultiAccountTypeUserState.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,mBAAmB,EACnB,QAAQ,EAET,MAAM,SAAS,CAAA;AAEhB;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE;QAChB,CAAC,eAAe,EAAE,MAAM,GAAG;YACzB,CAAC,SAAS,EAAE,MAAM,GAAG;gBACnB,SAAS,EAAE,MAAM,CAAA;gBACjB,UAAU,EAAE,MAAM,CAAA;gBAClB,QAAQ,EAAE,MAAM,CAAA;gBAChB,IAAI,EAAE,MAAM,CAAA;gBACZ,UAAU,EAAE,MAAM,CAAA;gBAClB,WAAW,EAAE,MAAM,CAAA;gBACnB,OAAO,EAAE,MAAM,CAAA;gBACf,aAAa,EAAE,MAAM,CAAA;gBACrB,iBAAiB,EAAE,MAAM,CAAA;gBACzB,aAAa,EAAE,MAAM,CAAA;gBACrB,mBAAmB,EAAE,MAAM,CAAA;gBAC3B,iBAAiB,EAAE,OAAO,CAAA;gBAC1B,SAAS,EAAE,OAAO,CAAA;aACnB,CAAA;SACF,CAAA;KACF,CAAA;IACD,uFAAuF;IACvF,WAAW,EAAE;QAAE,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IAClD,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,wBAAwB,EACjC,UAAU,EAAE,mBAAmB,EAC/B,QAAQ,EAAE;IACR,CAAC,eAAe,EAAE,MAAM,GAAG;QACzB,YAAY,EAAE,MAAM,CAAA;QACpB,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAA;CACF,GACA,QAAQ,CAgOV"}
|
|
@@ -5,10 +5,10 @@ import type { PermissionParams, TokenApprovalParams, PreparedMergedRpcCalls, Pre
|
|
|
5
5
|
* token approval data, permission/delegation data, AND user balance data
|
|
6
6
|
* in one round-trip.
|
|
7
7
|
*/
|
|
8
|
-
export declare function prepareMergedRpcCalls(chainId: string, balanceQueries: LenderUserQuery[], permissionParams: PermissionParams, tokenApprovalParams?: TokenApprovalParams, batchSize?: number, blockTag?: string, allowFailure?: boolean): PreparedMergedRpcCalls
|
|
8
|
+
export declare function prepareMergedRpcCalls(chainId: string, balanceQueries: LenderUserQuery[], permissionParams: PermissionParams, tokenApprovalParams?: TokenApprovalParams, batchSize?: number, blockTag?: string, allowFailure?: boolean): Promise<PreparedMergedRpcCalls>;
|
|
9
9
|
/**
|
|
10
10
|
* Prepares merged token approval + permission + balance calls in the format
|
|
11
11
|
* expected by `multicallRetry`: flat calls[] and per-call abis[].
|
|
12
12
|
*/
|
|
13
|
-
export declare function prepareMergedMulticallParams(chainId: string, balanceQueries: LenderUserQuery[], permissionParams: PermissionParams, tokenApprovalParams?: TokenApprovalParams): PreparedMergedMulticallParams
|
|
13
|
+
export declare function prepareMergedMulticallParams(chainId: string, balanceQueries: LenderUserQuery[], permissionParams: PermissionParams, tokenApprovalParams?: TokenApprovalParams): Promise<PreparedMergedMulticallParams>;
|
|
14
14
|
//# sourceMappingURL=prepare.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/with-permissions/prepare.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,eAAe,EAEhB,MAAM,4BAA4B,CAAA;AAGnC,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,6BAA6B,EAE9B,MAAM,SAAS,CAAA;AAOhB;;;;GAIG;AACH,
|
|
1
|
+
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/with-permissions/prepare.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,eAAe,EAEhB,MAAM,4BAA4B,CAAA;AAGnC,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,6BAA6B,EAE9B,MAAM,SAAS,CAAA;AAOhB;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,eAAe,EAAE,EACjC,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,CAAC,EAAE,mBAAmB,EACzC,SAAS,SAA+B,EACxC,QAAQ,SAAW,EACnB,YAAY,UAAO,GAClB,OAAO,CAAC,sBAAsB,CAAC,CAwEjC;AAED;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,eAAe,EAAE,EACjC,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,CAAC,EAAE,mBAAmB,GACxC,OAAO,CAAC,6BAA6B,CAAC,CA+DxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAI9C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,yBAAyB,CAAA;AAgChC,eAAO,MAAM,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAI9C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,yBAAyB,CAAA;AAgChC,eAAO,MAAM,uBAAuB,EAAE,MAAM,EAG3C,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,GAAG,MAAM,aA4C3C,CAAA;AAED,sCAAsC;AACtC,eAAO,MAAM,uBAAuB,GAClC,YAAY,MAAM,EAAE,EACpB,eAAe,MAAM,EAAE,KACtB,MAAM,EAeR,CAAA;AAED,mCAAmC;AACnC,eAAO,MAAM,gBAAgB;;CAS5B,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACpC,kBAAiB,MAAuB,KACvC,MAAM,EAOR,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1delta/margin-fetcher",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.177",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"async-retry": "^1.3.3",
|
|
22
22
|
"lodash": "^4.17.23",
|
|
23
|
-
"@1delta/calldata-sdk": "0.0.136",
|
|
24
23
|
"@1delta/abis": "0.0.7",
|
|
25
|
-
"@1delta/
|
|
24
|
+
"@1delta/providers": "0.0.45",
|
|
26
25
|
"@1delta/lender-registry": "0.0.17",
|
|
27
|
-
"@1delta/
|
|
26
|
+
"@1delta/dex-registry": "0.0.98",
|
|
27
|
+
"@1delta/calldata-sdk": "0.0.137"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/async-retry": "^1.4.9",
|