@1delta/margin-fetcher 0.0.10 → 0.0.13
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/lending/aave-v2-type/types.d.ts +2 -0
- package/dist/lending/aave-v2-type/types.d.ts.map +1 -1
- package/dist/lending/compound-v3/publicCallParse.d.ts +4 -4
- package/dist/lending/compound-v3/publicCallParse.d.ts.map +1 -1
- package/dist/lending/compound-v3/publicCallParse.js +37 -22
- package/dist/lending/fetchLender.d.ts.map +1 -1
- package/dist/lending/fetchLender.js +25 -29
- package/dist/lending/fetchLenderAll.d.ts +2 -1
- package/dist/lending/fetchLenderAll.d.ts.map +1 -1
- package/dist/lending/fetchLenderAll.js +3 -3
- package/dist/lending/fetchLenderExt.d.ts +2 -1
- package/dist/lending/fetchLenderExt.d.ts.map +1 -1
- package/dist/lending/fetchLenderExt.js +28 -14
- package/dist/lending/index.d.ts +2 -0
- package/dist/lending/index.d.ts.map +1 -1
- package/dist/lending/index.js +2 -0
- package/dist/lending/morpho/convertPublic.d.ts +3 -5
- package/dist/lending/morpho/convertPublic.d.ts.map +1 -1
- package/dist/lending/morpho/convertPublic.js +16 -12
- package/dist/lending/morpho/fetchPublic.js +1 -1
- package/dist/lending/morpho/publicCallBuild.d.ts +1 -4
- package/dist/lending/morpho/publicCallBuild.d.ts.map +1 -1
- package/dist/lending/morpho/types.d.ts +2 -0
- package/dist/lending/morpho/types.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v3-type/userCallBuild.js +4 -7
- package/dist/lending/user-data/abis.d.ts +88 -0
- package/dist/lending/user-data/abis.d.ts.map +1 -1
- package/dist/lending/user-data/abis.js +5 -1
- package/dist/lending/user-data/compound-v3/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/compound-v3/userCallParse.js +3 -2
- package/dist/lending/user-data/fetchUserData.d.ts +4 -4
- package/dist/lending/user-data/fetchUserData.d.ts.map +1 -1
- package/dist/lending/user-data/fetchUserData.js +46 -25
- package/dist/lending/user-data/init/userCallParse.js +1 -1
- package/dist/lending/user-data/morpho/userCallBuild.d.ts +4 -5
- package/dist/lending/user-data/morpho/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/morpho/userCallBuild.js +15 -9
- package/dist/lending/user-data/morpho/userCallParse.d.ts +1 -2
- package/dist/lending/user-data/morpho/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/morpho/userCallParse.js +15 -12
- package/dist/lending/user-data/types.d.ts +30 -19
- package/dist/lending/user-data/types.d.ts.map +1 -1
- package/dist/lending/user-data/types.js +12 -0
- package/dist/lending/user-data/utils/createGeneralUserState.d.ts +4 -4
- package/dist/lending/user-data/utils/createGeneralUserState.d.ts.map +1 -1
- package/dist/lending/user-data/utils/createGeneralUserState.js +24 -17
- package/dist/utils/index.d.ts +5 -3
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +20 -11
- package/dist/utils/parsing.d.ts +1 -0
- package/dist/utils/parsing.d.ts.map +1 -1
- package/dist/utils/parsing.js +3 -0
- package/dist/yields/index.d.ts.map +1 -1
- package/dist/yields/index.js +12 -5
- package/package.json +1 -1
- package/src/abis/morpho/blue.ts +99 -0
- package/src/abis/morpho/lens.ts +31 -0
- package/src/lending/aave-v2-type/types.ts +2 -0
- package/src/lending/compound-v3/publicCallParse.ts +93 -37
- package/src/lending/fetchLender.ts +86 -49
- package/src/lending/fetchLenderAll.ts +30 -0
- package/src/lending/fetchLenderExt.ts +82 -0
- package/src/lending/index.ts +3 -1
- package/src/lending/morpho/convertPublic.ts +153 -0
- package/src/lending/morpho/fetchPublic.ts +80 -0
- package/src/lending/morpho/publicCallBuild.ts +11 -0
- package/src/lending/morpho/types.ts +129 -0
- package/src/lending/user-data/aave-v3-type/userCallBuild.ts +2 -8
- package/src/lending/user-data/abis.ts +4 -1
- package/src/lending/user-data/compound-v3/userCallParse.ts +3 -2
- package/src/lending/user-data/fetchUserData.ts +114 -33
- package/src/lending/user-data/init/userCallParse.ts +1 -1
- package/src/lending/user-data/morpho/decoder.ts +71 -0
- package/src/lending/user-data/morpho/morphoLib.ts +61 -0
- package/src/lending/user-data/morpho/types.ts +12 -0
- package/src/lending/user-data/morpho/userCallBuild.ts +63 -0
- package/src/lending/user-data/morpho/userCallParse.ts +150 -0
- package/src/lending/user-data/morpho/userCallParseNoDeploy.ts +168 -0
- package/src/lending/user-data/types.ts +64 -42
- package/src/lending/user-data/utils/createGeneralUserState.ts +56 -32
- package/src/utils/index.ts +32 -14
- package/src/utils/parsing.ts +5 -0
- package/src/yields/index.ts +13 -4
- package/test/lenderData.test.ts +13251 -13649
- package/test/mainPrices.test.ts +1 -13
- package/test/morpho.test.ts +20 -0
- package/test/userDataMorpho.test.ts +79 -0
- package/test/utils.ts +13 -0
|
@@ -9085,5 +9085,93 @@ export declare const getAbi: (lender: Lender) => readonly [{
|
|
|
9085
9085
|
readonly outputs: readonly [];
|
|
9086
9086
|
readonly stateMutability: "nonpayable";
|
|
9087
9087
|
readonly type: "function";
|
|
9088
|
+
})[] | ({
|
|
9089
|
+
readonly inputs: readonly [{
|
|
9090
|
+
readonly internalType: "Id";
|
|
9091
|
+
readonly name: "";
|
|
9092
|
+
readonly type: "bytes32";
|
|
9093
|
+
}, {
|
|
9094
|
+
readonly internalType: "address";
|
|
9095
|
+
readonly name: "";
|
|
9096
|
+
readonly type: "address";
|
|
9097
|
+
}];
|
|
9098
|
+
readonly name: "position";
|
|
9099
|
+
readonly outputs: readonly [{
|
|
9100
|
+
readonly internalType: "uint256";
|
|
9101
|
+
readonly name: "supplyShares";
|
|
9102
|
+
readonly type: "uint256";
|
|
9103
|
+
}, {
|
|
9104
|
+
readonly internalType: "uint128";
|
|
9105
|
+
readonly name: "borrowShares";
|
|
9106
|
+
readonly type: "uint128";
|
|
9107
|
+
}, {
|
|
9108
|
+
readonly internalType: "uint128";
|
|
9109
|
+
readonly name: "collateral";
|
|
9110
|
+
readonly type: "uint128";
|
|
9111
|
+
}];
|
|
9112
|
+
readonly stateMutability: "view";
|
|
9113
|
+
readonly type: "function";
|
|
9114
|
+
} | {
|
|
9115
|
+
readonly inputs: readonly [{
|
|
9116
|
+
readonly internalType: "bytes32[]";
|
|
9117
|
+
readonly name: "slots";
|
|
9118
|
+
readonly type: "bytes32[]";
|
|
9119
|
+
}];
|
|
9120
|
+
readonly name: "extSloads";
|
|
9121
|
+
readonly outputs: readonly [{
|
|
9122
|
+
readonly internalType: "bytes32[]";
|
|
9123
|
+
readonly name: "res";
|
|
9124
|
+
readonly type: "bytes32[]";
|
|
9125
|
+
}];
|
|
9126
|
+
readonly stateMutability: "view";
|
|
9127
|
+
readonly type: "function";
|
|
9128
|
+
} | {
|
|
9129
|
+
readonly inputs: readonly [{
|
|
9130
|
+
readonly internalType: "Id";
|
|
9131
|
+
readonly name: "";
|
|
9132
|
+
readonly type: "bytes32";
|
|
9133
|
+
}];
|
|
9134
|
+
readonly name: "market";
|
|
9135
|
+
readonly outputs: readonly [{
|
|
9136
|
+
readonly internalType: "uint128";
|
|
9137
|
+
readonly name: "totalSupplyAssets";
|
|
9138
|
+
readonly type: "uint128";
|
|
9139
|
+
}, {
|
|
9140
|
+
readonly internalType: "uint128";
|
|
9141
|
+
readonly name: "totalSupplyShares";
|
|
9142
|
+
readonly type: "uint128";
|
|
9143
|
+
}, {
|
|
9144
|
+
readonly internalType: "uint128";
|
|
9145
|
+
readonly name: "totalBorrowAssets";
|
|
9146
|
+
readonly type: "uint128";
|
|
9147
|
+
}, {
|
|
9148
|
+
readonly internalType: "uint128";
|
|
9149
|
+
readonly name: "totalBorrowShares";
|
|
9150
|
+
readonly type: "uint128";
|
|
9151
|
+
}, {
|
|
9152
|
+
readonly internalType: "uint128";
|
|
9153
|
+
readonly name: "lastUpdate";
|
|
9154
|
+
readonly type: "uint128";
|
|
9155
|
+
}, {
|
|
9156
|
+
readonly internalType: "uint128";
|
|
9157
|
+
readonly name: "fee";
|
|
9158
|
+
readonly type: "uint128";
|
|
9159
|
+
}];
|
|
9160
|
+
readonly stateMutability: "view";
|
|
9161
|
+
readonly type: "function";
|
|
9162
|
+
} | {
|
|
9163
|
+
inputs: {
|
|
9164
|
+
internalType: string;
|
|
9165
|
+
name: string;
|
|
9166
|
+
type: string;
|
|
9167
|
+
}[];
|
|
9168
|
+
name: string;
|
|
9169
|
+
outputs: {
|
|
9170
|
+
internalType: string;
|
|
9171
|
+
name: string;
|
|
9172
|
+
type: string;
|
|
9173
|
+
}[];
|
|
9174
|
+
stateMutability: string;
|
|
9175
|
+
type: string;
|
|
9088
9176
|
})[];
|
|
9089
9177
|
//# sourceMappingURL=abis.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../../src/lending/user-data/abis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../../src/lending/user-data/abis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAoB/C,eAAO,MAAM,MAAM,GAAI,QAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgCpC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isAaveV2Type, isAaveV3Type, isCompoundV3, isInit, isAaveV32Type, isYLDR } from "../../utils";
|
|
1
|
+
import { isAaveV2Type, isAaveV3Type, isCompoundV3, isInit, isAaveV32Type, isYLDR, isMorphoType } from "../../utils";
|
|
2
2
|
import { IncentivesControllerAbi } from "../../abis/lendle/IncentivesController";
|
|
3
3
|
import { RewarderAbi } from "../../abis/aurelius/Rewarder";
|
|
4
4
|
import { AavePoolV3UpgradedAbi } from "../../abis/aave/AavePoolV3Upgraded";
|
|
@@ -14,6 +14,8 @@ import { MultiFeeDistributionAbi } from "../../abis/lendle/MultiFeeDistribution"
|
|
|
14
14
|
import { PullRewardsIncentivesController } from "../../abis/meridian/PullRewardsIncentivesController";
|
|
15
15
|
import { CometRewardsAbi } from "../../abis/compound-v3/CometRewards";
|
|
16
16
|
import { YLDRAbi } from "../../abis/aave-v3/YLDR";
|
|
17
|
+
import { MorphoBlueAbi } from "../../abis/morpho/blue";
|
|
18
|
+
import { MorphoLensAbi } from "../../abis/morpho/lens";
|
|
17
19
|
export const getAbi = (lender) => {
|
|
18
20
|
if (isAaveV2Type(lender))
|
|
19
21
|
return [
|
|
@@ -46,6 +48,8 @@ export const getAbi = (lender) => {
|
|
|
46
48
|
...CometExtAbi,
|
|
47
49
|
...CometRewardsAbi,
|
|
48
50
|
];
|
|
51
|
+
if (isMorphoType(lender))
|
|
52
|
+
return [...MorphoBlueAbi, ...MorphoLensAbi];
|
|
49
53
|
if (isInit(lender))
|
|
50
54
|
return InitLensAbi;
|
|
51
55
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/compound-v3/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;AAOxD,eAAO,MAAM,8BAA8B,GACzC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,YAAY;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACvC,YAAY,GAAG,KACd,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,6BAA6B,GAAG,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/compound-v3/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;AAOxD,eAAO,MAAM,8BAA8B,GACzC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,YAAY;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACvC,YAAY,GAAG,KACd,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,6BAA6B,GAAG,SAAS,EAAE,MAAM,CA8GrE,CAAA"}
|
|
@@ -36,7 +36,8 @@ export const getCompoundV3UserDataConverter = (lender, chainId, account, prices,
|
|
|
36
36
|
deposits,
|
|
37
37
|
depositsUSD: Number(deposits) * price,
|
|
38
38
|
debtStableUSD: 0,
|
|
39
|
-
debt: 0,
|
|
39
|
+
debt: "0",
|
|
40
|
+
debtStable: "0",
|
|
40
41
|
debtUSD: 0,
|
|
41
42
|
collateralActive: true,
|
|
42
43
|
// user depos raw
|
|
@@ -66,7 +67,7 @@ export const getCompoundV3UserDataConverter = (lender, chainId, account, prices,
|
|
|
66
67
|
depositsUSD: Number(deposits) * priceBase,
|
|
67
68
|
debtUSD: Number(debt) * priceBase,
|
|
68
69
|
// populate values for totals
|
|
69
|
-
debtStable: 0,
|
|
70
|
+
debtStable: "0",
|
|
70
71
|
debtStableUSD: 0,
|
|
71
72
|
collateralActive: true,
|
|
72
73
|
// user depos raw
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { LenderUserQuery } from
|
|
2
|
-
import { GetEvmClientFunction } from
|
|
1
|
+
import { LenderUserQuery } from './types';
|
|
2
|
+
import { GetEvmClientFunction } from '../../types';
|
|
3
3
|
/**
|
|
4
4
|
* Builds the multicall calls for the given queries and returns the raw results
|
|
5
5
|
* @param chainId - The chain ID
|
|
@@ -7,7 +7,7 @@ import { GetEvmClientFunction } from "../../types";
|
|
|
7
7
|
* @param getEvmClient - Injected function to get EVM client
|
|
8
8
|
* @returns The raw results from the multicall
|
|
9
9
|
*/
|
|
10
|
-
export declare const getLenderUserDataResult: (chainId: string,
|
|
10
|
+
export declare const getLenderUserDataResult: (chainId: string, queriesRaw: LenderUserQuery[], getEvmClient: GetEvmClientFunction) => Promise<any[]>;
|
|
11
11
|
/**
|
|
12
12
|
* Converts the raw results into the desired format
|
|
13
13
|
* @param chainId - The chain ID
|
|
@@ -18,7 +18,7 @@ export declare const getLenderUserDataResult: (chainId: string, queries: LenderU
|
|
|
18
18
|
* @param lenderState - The state of the lender
|
|
19
19
|
* @returns The converted data
|
|
20
20
|
*/
|
|
21
|
-
export declare const convertLenderUserDataResult: (chainId: string,
|
|
21
|
+
export declare const convertLenderUserDataResult: (chainId: string, queriesRaw: LenderUserQuery[], rawResults: any[], prices: any, pricesHist: any, lenderState: any) => {
|
|
22
22
|
[lender: string]: any;
|
|
23
23
|
};
|
|
24
24
|
//# 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":"AAUA,OAAO,EAAE,eAAe,EAAuB,MAAM,SAAS,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AA6FlD;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,YAAY,eAAe,EAAE,EAC7B,cAAc,oBAAoB,KACjC,OAAO,CAAC,GAAG,EAAE,CA4Bf,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,GACtC,SAAS,MAAM,EACf,YAAY,eAAe,EAAE,EAC7B,YAAY,GAAG,EAAE,EACjB,QAAQ,GAAG,EACX,YAAY,GAAG,EACf,aAAa,GAAG,KACf;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CA0CzB,CAAA"}
|
|
@@ -1,33 +1,40 @@
|
|
|
1
|
-
import { multicallViemAbiArray } from
|
|
2
|
-
import { isAaveV2Type, isAaveV3Type, isInit, isYLDR } from
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
|
|
1
|
+
import { multicallViemAbiArray } from '../../utils/multicall';
|
|
2
|
+
import { isAaveV2Type, isAaveV3Type, isInit, isMorphoType, isMultiMarket, isYLDR, } from '../../utils';
|
|
3
|
+
import { organizeUserQueries } from './types';
|
|
4
|
+
import { buildAaveV2UserCall } from './aave-v2-type/userCallBuild';
|
|
5
|
+
import { buildAaveV3UserCall } from './aave-v3-type/userCallBuild';
|
|
6
|
+
import { buildInitUserCall } from './init/userCallBuild';
|
|
7
|
+
import { buildCompoundV3UserCall } from './compound-v3/userCallBuild';
|
|
8
|
+
import { getAbi } from './abis';
|
|
9
|
+
import { getAaveV2UserDataConverter } from './aave-v2-type/userCallParse';
|
|
10
|
+
import { getAaveV3UserDataConverter } from './aave-v3-type/userCallParse';
|
|
11
|
+
import { getInitUserDataConverter } from './init/userCallParse';
|
|
12
|
+
import { getCompoundV3UserDataConverter } from './compound-v3/userCallParse';
|
|
13
|
+
import { getYldrUserDataConverter } from './aave-v3-type/userCallParseYldr';
|
|
14
|
+
import { buildMorphoUserCallWithLens } from './morpho/userCallBuild';
|
|
15
|
+
import { getMorphoUserDataConverterWithlens } from './morpho/userCallParse';
|
|
16
|
+
function buildUserCall(chainId, lender, account, params) {
|
|
14
17
|
if (isAaveV2Type(lender))
|
|
15
18
|
return buildAaveV2UserCall(chainId, lender, account);
|
|
16
19
|
if (isAaveV3Type(lender))
|
|
17
20
|
return buildAaveV3UserCall(chainId, lender, account);
|
|
18
21
|
if (isInit(lender))
|
|
19
22
|
return buildInitUserCall(chainId, lender, account);
|
|
23
|
+
if (isMorphoType(lender))
|
|
24
|
+
return buildMorphoUserCallWithLens(chainId, account, lender, params);
|
|
20
25
|
return buildCompoundV3UserCall(chainId, lender, account);
|
|
21
26
|
}
|
|
22
|
-
function getUserDataConverter(lender, chainId, account, prices, pricesHist, lenderPublicState) {
|
|
27
|
+
function getUserDataConverter(lender, chainId, account, prices, pricesHist, lenderPublicState, params) {
|
|
23
28
|
if (isYLDR(lender))
|
|
24
|
-
return getYldrUserDataConverter(lender, chainId, account, prices, pricesHist, lenderPublicState);
|
|
29
|
+
return getYldrUserDataConverter(lender, chainId, account, prices, pricesHist, lenderPublicState?.data?.[lender]?.data);
|
|
25
30
|
if (isAaveV2Type(lender))
|
|
26
|
-
return getAaveV2UserDataConverter(lender, chainId, account, prices, pricesHist, lenderPublicState);
|
|
31
|
+
return getAaveV2UserDataConverter(lender, chainId, account, prices, pricesHist, lenderPublicState?.data?.[lender]?.data);
|
|
27
32
|
if (isAaveV3Type(lender))
|
|
28
|
-
return getAaveV3UserDataConverter(lender, chainId, account, prices, pricesHist, lenderPublicState);
|
|
33
|
+
return getAaveV3UserDataConverter(lender, chainId, account, prices, pricesHist, lenderPublicState?.data?.[lender]?.data);
|
|
29
34
|
if (isInit(lender))
|
|
30
|
-
return getInitUserDataConverter(lender, chainId, account, prices, pricesHist, lenderPublicState);
|
|
35
|
+
return getInitUserDataConverter(lender, chainId, account, prices, pricesHist, lenderPublicState?.data?.[lender]?.data);
|
|
36
|
+
if (isMorphoType(lender))
|
|
37
|
+
return getMorphoUserDataConverterWithlens(lender, chainId, account, params, prices, pricesHist, lenderPublicState?.data);
|
|
31
38
|
return getCompoundV3UserDataConverter(lender, chainId, account, prices, pricesHist, lenderPublicState);
|
|
32
39
|
}
|
|
33
40
|
/**
|
|
@@ -37,11 +44,12 @@ function getUserDataConverter(lender, chainId, account, prices, pricesHist, lend
|
|
|
37
44
|
* @param getEvmClient - Injected function to get EVM client
|
|
38
45
|
* @returns The raw results from the multicall
|
|
39
46
|
*/
|
|
40
|
-
export const getLenderUserDataResult = async (chainId,
|
|
47
|
+
export const getLenderUserDataResult = async (chainId, queriesRaw, getEvmClient) => {
|
|
41
48
|
let calls = [];
|
|
49
|
+
const queries = organizeUserQueries(queriesRaw);
|
|
42
50
|
for (const query of queries) {
|
|
43
51
|
const abi = getAbi(query.lender);
|
|
44
|
-
const callData = buildUserCall(chainId, query.lender, query.account);
|
|
52
|
+
const callData = buildUserCall(chainId, query.lender, query.account, query.params);
|
|
45
53
|
const mappedCalls = callData.map((call) => ({ call, abi }));
|
|
46
54
|
calls = [...calls, ...mappedCalls];
|
|
47
55
|
}
|
|
@@ -57,21 +65,34 @@ export const getLenderUserDataResult = async (chainId, queries, getEvmClient) =>
|
|
|
57
65
|
* @param lenderState - The state of the lender
|
|
58
66
|
* @returns The converted data
|
|
59
67
|
*/
|
|
60
|
-
export const convertLenderUserDataResult = (chainId,
|
|
68
|
+
export const convertLenderUserDataResult = (chainId, queriesRaw, rawResults, prices, pricesHist, lenderState) => {
|
|
69
|
+
const queries = organizeUserQueries(queriesRaw);
|
|
61
70
|
const lenderData = {};
|
|
62
71
|
let currentSlice = 0;
|
|
63
72
|
for (const query of queries) {
|
|
64
|
-
const [converter, sliceLength] = getUserDataConverter(query.lender, chainId, query.account, prices, pricesHist, lenderState[chainId]
|
|
73
|
+
const [converter, sliceLength] = getUserDataConverter(query.lender, chainId, query.account, prices, pricesHist, lenderState[chainId], query.params);
|
|
65
74
|
try {
|
|
66
75
|
const data = rawResults.slice(currentSlice, currentSlice + sliceLength);
|
|
67
76
|
const convertedData = converter(data);
|
|
68
77
|
if (convertedData) {
|
|
69
|
-
|
|
70
|
-
|
|
78
|
+
if (isMultiMarket(query.lender)) {
|
|
79
|
+
Object.keys(convertedData).forEach((market) => {
|
|
80
|
+
lenderData[market] = {
|
|
81
|
+
// @ts-ignore
|
|
82
|
+
[query.account.toLowerCase()]: convertedData[market],
|
|
83
|
+
};
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
// map it to the user address
|
|
88
|
+
lenderData[query.lender] = {
|
|
89
|
+
[query.account.toLowerCase()]: convertedData,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
71
92
|
}
|
|
72
93
|
}
|
|
73
94
|
catch (e) {
|
|
74
|
-
console.log(
|
|
95
|
+
console.log('Error parsing for', query.lender, 'on', chainId, e);
|
|
75
96
|
}
|
|
76
97
|
currentSlice += sliceLength;
|
|
77
98
|
}
|
|
@@ -60,7 +60,7 @@ export const getInitUserDataConverter = (lender, chainId, account, prices, price
|
|
|
60
60
|
deposits: deposits,
|
|
61
61
|
depositsRaw,
|
|
62
62
|
debt: debt,
|
|
63
|
-
debtStable: 0,
|
|
63
|
+
debtStable: "0",
|
|
64
64
|
debtStableUSD: 0,
|
|
65
65
|
depositsUSD: price * Number(deposits),
|
|
66
66
|
debtUSD: price * Number(debt),
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { Lender } from
|
|
2
|
-
import { Call } from
|
|
3
|
-
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const buildMorphoUserCallWithLens: (chainId: string, account: string, lender: Lender, marketsToQuery: MorphoMarket[]) => Call[];
|
|
1
|
+
import { Lender } from '@1delta/asset-registry';
|
|
2
|
+
import { Call } from '../../../utils/multicall';
|
|
3
|
+
export declare const buildMorphoUserCall: (chainId: string, account: string, lender: Lender, marketsToQuery: string[]) => Call[];
|
|
4
|
+
export declare const buildMorphoUserCallWithLens: (chainId: string, account: string, lender: Lender, marketsToQuery: string[]) => Call[];
|
|
6
5
|
//# sourceMappingURL=userCallBuild.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/userCallBuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAyB,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/userCallBuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAyB,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAgC/C,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,gBAAgB,MAAM,EAAE,KACvB,IAAI,EAIN,CAAA;AAED,eAAO,MAAM,2BAA2B,GACtC,SAAS,MAAM,EACf,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,gBAAgB,MAAM,EAAE,KACvB,IAAI,EAaN,CAAA"}
|
|
@@ -1,27 +1,29 @@
|
|
|
1
|
-
import { Chain, MORPHO_BLUE_POOL_DATA } from
|
|
2
|
-
import { chunk } from
|
|
1
|
+
import { Chain, MORPHO_BLUE_POOL_DATA } from '@1delta/asset-registry';
|
|
2
|
+
import { chunk } from 'lodash';
|
|
3
3
|
const MORPHO_LENS = {
|
|
4
|
-
[Chain.BASE]:
|
|
4
|
+
[Chain.BASE]: '0x98542B95B44a4732EffB1F4F01A696F1546236d3',
|
|
5
|
+
[Chain.POLYGON_MAINNET]: '0x105eb87D2b3127f43B1b4C0F125dbEb0EDF3d6C6',
|
|
6
|
+
[Chain.OP_MAINNET]: '0xd184c5315B728c1C990f59dDD275c8155f8e255c',
|
|
7
|
+
[Chain.ARBITRUM_ONE]: '0xF64F862Fb7D687411585e06C08711B612e156530',
|
|
5
8
|
};
|
|
6
9
|
const getBaseMorphoCalls = (lender, chainId, account, marketsToQuery) => {
|
|
7
|
-
return marketsToQuery.flatMap(
|
|
10
|
+
return marketsToQuery.flatMap(id => [
|
|
8
11
|
{
|
|
9
12
|
// @ts-ignore
|
|
10
13
|
address: MORPHO_BLUE_POOL_DATA[lender][chainId],
|
|
11
14
|
name: 'position',
|
|
12
|
-
params: [id, account],
|
|
15
|
+
params: ["0x" + id.split("_")[1], account],
|
|
13
16
|
},
|
|
14
17
|
{
|
|
15
18
|
// @ts-ignore
|
|
16
19
|
address: MORPHO_BLUE_POOL_DATA[lender][chainId],
|
|
17
20
|
name: 'market',
|
|
18
|
-
params: [id],
|
|
21
|
+
params: ["0x" + id.split("_")[1]],
|
|
19
22
|
},
|
|
20
23
|
]);
|
|
21
24
|
};
|
|
22
25
|
export const buildMorphoUserCall = (chainId, account, lender, marketsToQuery) => {
|
|
23
26
|
const calls = getBaseMorphoCalls(lender, chainId, account, marketsToQuery);
|
|
24
|
-
console.log("calls", calls);
|
|
25
27
|
return calls;
|
|
26
28
|
};
|
|
27
29
|
export const buildMorphoUserCallWithLens = (chainId, account, lender, marketsToQuery) => {
|
|
@@ -30,7 +32,11 @@ export const buildMorphoUserCallWithLens = (chainId, account, lender, marketsToQ
|
|
|
30
32
|
return marketSlices.flatMap((marketsInChunk) => ({
|
|
31
33
|
address: MORPHO_LENS[chainId],
|
|
32
34
|
name: 'getUserDataCompact',
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
params: [
|
|
36
|
+
marketsInChunk.map(a => a.replace("MORPHO_BLUE_", "0x")),
|
|
37
|
+
account,
|
|
38
|
+
// @ts-ignore
|
|
39
|
+
MORPHO_BLUE_POOL_DATA[lender][chainId],
|
|
40
|
+
],
|
|
35
41
|
}));
|
|
36
42
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Lender } from "@1delta/asset-registry";
|
|
2
2
|
import { MorphoUserReserveResponse } from "../types";
|
|
3
|
-
|
|
4
|
-
export declare const getMorphoUserDataConverterWithlens: (lender: Lender, chainId: string, account: string, markets: MorphoMarket[], prices: {
|
|
3
|
+
export declare const getMorphoUserDataConverterWithlens: (lender: Lender, chainId: string, account: string, markets: string[], prices: {
|
|
5
4
|
[asset: string]: number;
|
|
6
5
|
}, pricesHist: {
|
|
7
6
|
[asset: string]: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAMpD,eAAO,MAAM,kCAAkC,GAC7C,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,YAAY;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACvC,YAAY,GAAG,KACd,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,yBAAyB,CAAA;CAAE,GAAG,SAAS,EAAE,MAAM,CA2DvF,CAAA"}
|
|
@@ -18,7 +18,8 @@ export const getMorphoUserDataConverterWithlens = (lender, chainId, account, mar
|
|
|
18
18
|
let totalDebt24h = 0;
|
|
19
19
|
let totalDeposits24h = 0;
|
|
20
20
|
const balanceData = returnDatas[i];
|
|
21
|
-
const
|
|
21
|
+
const markeId = markets[balanceData.index];
|
|
22
|
+
const market = lenderData[markeId]?.params?.market;
|
|
22
23
|
const { dataForMarket, addedDebt, addedDeposits } = createMorphoEntryFromMarketWithLens(i, balanceData, chainId, market, prices, pricesHist);
|
|
23
24
|
if (!dataForMarket)
|
|
24
25
|
continue;
|
|
@@ -31,7 +32,7 @@ export const getMorphoUserDataConverterWithlens = (lender, chainId, account, mar
|
|
|
31
32
|
rewards: {},
|
|
32
33
|
userEMode: 0,
|
|
33
34
|
};
|
|
34
|
-
const userData = createBaseTypeUserState(payload, lenderData, totalDeposits24h, totalDebt24h);
|
|
35
|
+
const userData = createBaseTypeUserState(payload, lenderData[markeId].data, totalDeposits24h, totalDebt24h);
|
|
35
36
|
datas[market.lender] = {
|
|
36
37
|
...payload,
|
|
37
38
|
...userData,
|
|
@@ -44,8 +45,9 @@ export const getMorphoUserDataConverterWithlens = (lender, chainId, account, mar
|
|
|
44
45
|
];
|
|
45
46
|
};
|
|
46
47
|
function createMorphoEntryFromMarketWithLens(i, balanceInfo, chainId, market, prices, pricesHist) {
|
|
47
|
-
const
|
|
48
|
-
const
|
|
48
|
+
const loanAddress = market.loanAddress.toLowerCase();
|
|
49
|
+
const loanMeta = getAssetMeta(chainId, loanAddress);
|
|
50
|
+
const loanKey = toOracleKey(loanMeta?.assetGroup) ?? toGenericPriceKey(loanAddress, chainId);
|
|
49
51
|
// prices
|
|
50
52
|
const priceLoan = prices[loanKey] ?? 1;
|
|
51
53
|
const priceHistLoan = pricesHist?.[loanKey] ?? priceLoan;
|
|
@@ -54,8 +56,8 @@ function createMorphoEntryFromMarketWithLens(i, balanceInfo, chainId, market, pr
|
|
|
54
56
|
const depositDec = parseRawAmount(deposits.toString(), market.loanDecimals ?? loanMeta?.decimals ?? 18);
|
|
55
57
|
const borrowDec = parseRawAmount(borrow.toString(), market.loanDecimals ?? loanMeta?.decimals ?? 18);
|
|
56
58
|
const dataForLoanAsset = {
|
|
57
|
-
poolId:
|
|
58
|
-
underlying:
|
|
59
|
+
poolId: loanAddress,
|
|
60
|
+
underlying: loanAddress,
|
|
59
61
|
deposits: parseRawAmount(deposits.toString(), market.loanDecimals ?? loanMeta?.decimals ?? 18),
|
|
60
62
|
depositsRaw: deposits.toString(),
|
|
61
63
|
debtStable: "0",
|
|
@@ -67,16 +69,17 @@ function createMorphoEntryFromMarketWithLens(i, balanceInfo, chainId, market, pr
|
|
|
67
69
|
collateralActive: true,
|
|
68
70
|
claimableRewards: 0,
|
|
69
71
|
};
|
|
70
|
-
const
|
|
72
|
+
const collateralAddress = market.collateralAddress.toLowerCase();
|
|
73
|
+
const assetMeta = getAssetMeta(chainId, collateralAddress);
|
|
71
74
|
const decimals = market.collateralDecimals ?? assetMeta?.decimals ?? 18;
|
|
72
75
|
const collateralDec = parseRawAmount(balanceInfo.collateral.toString(), decimals);
|
|
73
|
-
const key = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(
|
|
76
|
+
const key = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(collateralAddress, chainId);
|
|
74
77
|
// prices
|
|
75
78
|
const price = prices[key] ?? 1;
|
|
76
79
|
const priceHist = pricesHist?.[key] ?? price;
|
|
77
80
|
const dataForCollateralAsset = {
|
|
78
|
-
poolId:
|
|
79
|
-
underlying:
|
|
81
|
+
poolId: collateralAddress,
|
|
82
|
+
underlying: collateralAddress,
|
|
80
83
|
deposits: collateralDec,
|
|
81
84
|
depositsRaw: balanceInfo.collateral.toString(),
|
|
82
85
|
debtStable: "0",
|
|
@@ -90,8 +93,8 @@ function createMorphoEntryFromMarketWithLens(i, balanceInfo, chainId, market, pr
|
|
|
90
93
|
};
|
|
91
94
|
return {
|
|
92
95
|
dataForMarket: {
|
|
93
|
-
[
|
|
94
|
-
[
|
|
96
|
+
[loanAddress]: dataForLoanAsset,
|
|
97
|
+
[collateralAddress]: dataForCollateralAsset
|
|
95
98
|
},
|
|
96
99
|
addedDeposits: Number(depositDec) * priceHistLoan + Number(collateralDec) * priceHist,
|
|
97
100
|
addedDebt: Number(borrowDec) * priceHistLoan
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BaseYields, RewardsMap } from "../aave-v3-type/types";
|
|
1
|
+
import { BaseYields, RewardsMap } from '../aave-v3-type/types';
|
|
3
2
|
export type SerializedBigNumber = string;
|
|
4
3
|
export type SerializedNumber = string;
|
|
5
4
|
export interface LenderUserQuery {
|
|
6
|
-
lender
|
|
5
|
+
/** the lender enum (Note that for multi-market ones, it is not the lender but the group) */
|
|
6
|
+
lender: any;
|
|
7
|
+
/** user address */
|
|
7
8
|
account: string;
|
|
9
|
+
/** custom parameters for fetching e.g. multi-market lenders */
|
|
10
|
+
params?: any[];
|
|
8
11
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
allowanceBorrowingStable: string;
|
|
13
|
-
}
|
|
14
|
-
export interface UserLendingPosition extends AllowanceData {
|
|
12
|
+
/** Filter all morphos into one for querying */
|
|
13
|
+
export declare function organizeUserQueries(queries: LenderUserQuery[]): LenderUserQuery[];
|
|
14
|
+
export interface UserLendingPosition {
|
|
15
15
|
deposits: number;
|
|
16
16
|
debt: number;
|
|
17
17
|
debtStable: number;
|
|
@@ -32,7 +32,7 @@ export interface LenderUserResponse {
|
|
|
32
32
|
account: string;
|
|
33
33
|
lendingPositions: {
|
|
34
34
|
[lender: string]: {
|
|
35
|
-
[
|
|
35
|
+
[poolId: string]: UserLendingPosition;
|
|
36
36
|
};
|
|
37
37
|
};
|
|
38
38
|
rewards: UserRewardEntry;
|
|
@@ -64,15 +64,15 @@ export interface AaveV2UserReserveResponse {
|
|
|
64
64
|
account: string;
|
|
65
65
|
lendingPositions: {
|
|
66
66
|
[id: string]: {
|
|
67
|
-
[
|
|
67
|
+
[poolId: string]: AavelendingPositions;
|
|
68
68
|
};
|
|
69
69
|
};
|
|
70
70
|
rewards: UserRewardEntry;
|
|
71
71
|
}
|
|
72
|
-
interface AavelendingPositions
|
|
73
|
-
deposits:
|
|
74
|
-
debt:
|
|
75
|
-
debtStable:
|
|
72
|
+
interface AavelendingPositions {
|
|
73
|
+
deposits: string;
|
|
74
|
+
debt: string;
|
|
75
|
+
debtStable: string;
|
|
76
76
|
depositsUSD: number;
|
|
77
77
|
debtUSD: number;
|
|
78
78
|
debtStableUSD: number;
|
|
@@ -83,17 +83,28 @@ export interface AaveV3UserReserveResponse {
|
|
|
83
83
|
chainId: string;
|
|
84
84
|
lendingPositions: {
|
|
85
85
|
[id: string]: {
|
|
86
|
-
[
|
|
86
|
+
[poolId: string]: AavelendingPositions;
|
|
87
87
|
};
|
|
88
88
|
};
|
|
89
89
|
userEMode: number;
|
|
90
90
|
rewards?: any;
|
|
91
91
|
account: string;
|
|
92
92
|
}
|
|
93
|
+
export interface MorphoUserReserveResponse {
|
|
94
|
+
chainId: string;
|
|
95
|
+
lendingPositions: {
|
|
96
|
+
[id: string]: {
|
|
97
|
+
[poolId: string]: AavelendingPositions;
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
id: string;
|
|
101
|
+
rewards?: any;
|
|
102
|
+
account: string;
|
|
103
|
+
}
|
|
93
104
|
export interface CompoundV3UserReserveResponse {
|
|
94
105
|
lendingPositions: {
|
|
95
106
|
[id: string]: {
|
|
96
|
-
[
|
|
107
|
+
[poolId: string]: {
|
|
97
108
|
deposits: number;
|
|
98
109
|
debt: number;
|
|
99
110
|
debtStable: number;
|
|
@@ -191,12 +202,12 @@ export interface InitUserReserveResponse {
|
|
|
191
202
|
lendingPositions: {
|
|
192
203
|
[posId: string]: {
|
|
193
204
|
mode: any;
|
|
194
|
-
[
|
|
205
|
+
[poolId: string]: {
|
|
195
206
|
deposits: number;
|
|
196
207
|
debt: number;
|
|
197
208
|
depositsUSD: number;
|
|
198
209
|
debtUSD: number;
|
|
199
|
-
debtStable: 0;
|
|
210
|
+
debtStable: '0';
|
|
200
211
|
debtStableUSD: 0;
|
|
201
212
|
collateralActive: boolean;
|
|
202
213
|
isAllowed: boolean;
|