@merkl/api 0.20.16 → 0.20.18
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/src/eden/index.d.ts +117 -29
- package/dist/src/engine/dynamicData/implementations/EventBased.js +3 -2
- package/dist/src/engine/dynamicData/implementations/UniswapV4.js +3 -2
- package/dist/src/engine/dynamicData/utils/getEulerV2Vaults.d.ts +5 -3
- package/dist/src/engine/dynamicData/utils/getEulerV2Vaults.js +24 -5
- package/dist/src/engine/opportunityMetadata/implementations/Morpho.js +2 -1
- package/dist/src/index.d.ts +49 -9
- package/dist/src/jobs/pendings.js +0 -2
- package/dist/src/jobs/update-euler-vaults.js +4 -4
- package/dist/src/modules/v4/programPayload/programPayload.repository.js +10 -11
- package/dist/src/routes/v3/euler.d.ts +50 -10
- package/dist/src/routes/v3/euler.js +29 -4
- package/dist/src/routes/v3/router.d.ts +49 -9
- package/dist/tsconfig.package.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/src/eden/index.d.ts
CHANGED
@@ -7756,23 +7756,47 @@ declare const eden: {
|
|
7756
7756
|
200: any;
|
7757
7757
|
}>>;
|
7758
7758
|
};
|
7759
|
-
euler: {
|
7760
|
-
|
7759
|
+
euler: ((params: {
|
7760
|
+
chainId: string | number;
|
7761
|
+
}) => {
|
7762
|
+
get: (options?: {
|
7761
7763
|
headers?: Record<string, unknown> | undefined;
|
7762
|
-
query
|
7764
|
+
query?: Record<string, unknown> | undefined;
|
7763
7765
|
fetch?: RequestInit | undefined;
|
7764
|
-
}) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
|
7766
|
+
} | undefined) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
|
7765
7767
|
200: EulerVaultType[];
|
7766
7768
|
}>>;
|
7767
|
-
}
|
7768
|
-
|
7769
|
-
get: (options: {
|
7769
|
+
}) & {
|
7770
|
+
get: (options?: {
|
7770
7771
|
headers?: Record<string, unknown> | undefined;
|
7771
|
-
query
|
7772
|
+
query?: Record<string, unknown> | undefined;
|
7772
7773
|
fetch?: RequestInit | undefined;
|
7773
|
-
}) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
|
7774
|
-
200:
|
7774
|
+
} | undefined) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
|
7775
|
+
200: EulerVaultType[];
|
7775
7776
|
}>>;
|
7777
|
+
update: ((params: {
|
7778
|
+
chainId: string | number;
|
7779
|
+
}) => {
|
7780
|
+
post: (body: unknown, options: {
|
7781
|
+
headers: {
|
7782
|
+
authorization: string;
|
7783
|
+
};
|
7784
|
+
query?: Record<string, unknown> | undefined;
|
7785
|
+
fetch?: RequestInit | undefined;
|
7786
|
+
}) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
|
7787
|
+
200: void;
|
7788
|
+
}>>;
|
7789
|
+
}) & {
|
7790
|
+
post: (body: unknown, options: {
|
7791
|
+
headers: {
|
7792
|
+
authorization: string;
|
7793
|
+
};
|
7794
|
+
query?: Record<string, unknown> | undefined;
|
7795
|
+
fetch?: RequestInit | undefined;
|
7796
|
+
}) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
|
7797
|
+
200: void;
|
7798
|
+
}>>;
|
7799
|
+
};
|
7776
7800
|
};
|
7777
7801
|
fetch: {
|
7778
7802
|
get: (options: {
|
@@ -13188,7 +13212,7 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
|
|
13188
13212
|
get: {
|
13189
13213
|
body: unknown;
|
13190
13214
|
params: {};
|
13191
|
-
query:
|
13215
|
+
query: unknown;
|
13192
13216
|
headers: unknown;
|
13193
13217
|
response: {
|
13194
13218
|
200: EulerVaultType[];
|
@@ -13196,14 +13220,54 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
|
|
13196
13220
|
};
|
13197
13221
|
};
|
13198
13222
|
} & {
|
13199
|
-
|
13200
|
-
|
13201
|
-
|
13202
|
-
|
13203
|
-
|
13204
|
-
|
13205
|
-
|
13206
|
-
|
13223
|
+
euler: {
|
13224
|
+
":chainId": {
|
13225
|
+
get: {
|
13226
|
+
body: unknown;
|
13227
|
+
params: {
|
13228
|
+
chainId: number;
|
13229
|
+
};
|
13230
|
+
query: unknown;
|
13231
|
+
headers: unknown;
|
13232
|
+
response: {
|
13233
|
+
200: EulerVaultType[];
|
13234
|
+
};
|
13235
|
+
};
|
13236
|
+
};
|
13237
|
+
};
|
13238
|
+
} & {
|
13239
|
+
euler: {
|
13240
|
+
update: {
|
13241
|
+
post: {
|
13242
|
+
body: unknown;
|
13243
|
+
params: {};
|
13244
|
+
query: unknown;
|
13245
|
+
headers: {
|
13246
|
+
authorization: string;
|
13247
|
+
};
|
13248
|
+
response: {
|
13249
|
+
200: void;
|
13250
|
+
};
|
13251
|
+
};
|
13252
|
+
};
|
13253
|
+
};
|
13254
|
+
} & {
|
13255
|
+
euler: {
|
13256
|
+
update: {
|
13257
|
+
":chainId": {
|
13258
|
+
post: {
|
13259
|
+
body: unknown;
|
13260
|
+
params: {
|
13261
|
+
chainId: number;
|
13262
|
+
};
|
13263
|
+
query: unknown;
|
13264
|
+
headers: {
|
13265
|
+
authorization: string;
|
13266
|
+
};
|
13267
|
+
response: {
|
13268
|
+
200: void;
|
13269
|
+
};
|
13270
|
+
};
|
13207
13271
|
};
|
13208
13272
|
};
|
13209
13273
|
};
|
@@ -21462,23 +21526,47 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
|
|
21462
21526
|
200: any;
|
21463
21527
|
}>>;
|
21464
21528
|
};
|
21465
|
-
euler: {
|
21466
|
-
|
21529
|
+
euler: ((params: {
|
21530
|
+
chainId: string | number;
|
21531
|
+
}) => {
|
21532
|
+
get: (options?: {
|
21467
21533
|
headers?: Record<string, unknown> | undefined;
|
21468
|
-
query
|
21534
|
+
query?: Record<string, unknown> | undefined;
|
21469
21535
|
fetch?: RequestInit | undefined;
|
21470
|
-
}) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
|
21536
|
+
} | undefined) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
|
21471
21537
|
200: EulerVaultType[];
|
21472
21538
|
}>>;
|
21473
|
-
}
|
21474
|
-
|
21475
|
-
get: (options: {
|
21539
|
+
}) & {
|
21540
|
+
get: (options?: {
|
21476
21541
|
headers?: Record<string, unknown> | undefined;
|
21477
|
-
query
|
21542
|
+
query?: Record<string, unknown> | undefined;
|
21478
21543
|
fetch?: RequestInit | undefined;
|
21479
|
-
}) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
|
21480
|
-
200:
|
21544
|
+
} | undefined) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
|
21545
|
+
200: EulerVaultType[];
|
21481
21546
|
}>>;
|
21547
|
+
update: ((params: {
|
21548
|
+
chainId: string | number;
|
21549
|
+
}) => {
|
21550
|
+
post: (body: unknown, options: {
|
21551
|
+
headers: {
|
21552
|
+
authorization: string;
|
21553
|
+
};
|
21554
|
+
query?: Record<string, unknown> | undefined;
|
21555
|
+
fetch?: RequestInit | undefined;
|
21556
|
+
}) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
|
21557
|
+
200: void;
|
21558
|
+
}>>;
|
21559
|
+
}) & {
|
21560
|
+
post: (body: unknown, options: {
|
21561
|
+
headers: {
|
21562
|
+
authorization: string;
|
21563
|
+
};
|
21564
|
+
query?: Record<string, unknown> | undefined;
|
21565
|
+
fetch?: RequestInit | undefined;
|
21566
|
+
}) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
|
21567
|
+
200: void;
|
21568
|
+
}>>;
|
21569
|
+
};
|
21482
21570
|
};
|
21483
21571
|
fetch: {
|
21484
21572
|
get: (options: {
|
@@ -39,8 +39,9 @@ async function computeEventBasedPoolTVLFromMostRecentStateSave(chainId, campaign
|
|
39
39
|
// Bucket service
|
40
40
|
let tvl = 0;
|
41
41
|
try {
|
42
|
-
|
43
|
-
|
42
|
+
if (bucketName === undefined)
|
43
|
+
console.log("EVENT_BASED:", states);
|
44
|
+
const bucket = new BucketService("merkl-production-states", "merkl-production");
|
44
45
|
const storedStates = JSON.parse(await bucket.pull(fileName));
|
45
46
|
for (const [_, { value, params: _params }] of Object.entries(storedStates)) {
|
46
47
|
tvl += BN2Number(value.allTimeValue, 18 - decimalsCurrency);
|
@@ -43,8 +43,9 @@ async function computeUniV4PoolTVLFromMostRecentStateSave(chainId, poolID, price
|
|
43
43
|
let amount0 = 0;
|
44
44
|
let amount1 = 0;
|
45
45
|
try {
|
46
|
-
|
47
|
-
|
46
|
+
if (bucketName === undefined)
|
47
|
+
console.log("UNIV4", states);
|
48
|
+
const bucket = new BucketService("merkl-production-states", "merkl-production");
|
48
49
|
const storedStates = JSON.parse(await bucket.pull(fileName));
|
49
50
|
for (const [_, { value, params: _params }] of Object.entries(storedStates)) {
|
50
51
|
amount0 += BN2Number(value.amount0, decimalsCurrency0);
|
@@ -1,7 +1,9 @@
|
|
1
|
-
import { type EulerVaultType } from "@sdk";
|
1
|
+
import { type EulerVaultType, eulerChainIds } from "@sdk";
|
2
2
|
export declare enum LoggedEntityType {
|
3
3
|
EULER = "EULER_VAULT",
|
4
4
|
UNISWAP_V4 = "UNISWAP_V4"
|
5
5
|
}
|
6
|
-
|
7
|
-
export declare function
|
6
|
+
type EulerChainId = (typeof eulerChainIds)[number];
|
7
|
+
export declare function getEulerV2Vaults(chainId?: EulerChainId): Promise<EulerVaultType[]>;
|
8
|
+
export declare function updateEulerVaultsCollatInDatabase(chainId?: EulerChainId): Promise<void>;
|
9
|
+
export {};
|
@@ -34,7 +34,6 @@ async function computeCollatListAndReturnVaults(chainId, vaults) {
|
|
34
34
|
for (const [index, vault] of vaults.entries()) {
|
35
35
|
const collatArray = EulerVaultLensInterface.decodeFunctionResult("getRecognizedCollateralsLTVInfo", resCollat[index].returnData)[0];
|
36
36
|
for (const collat of collatArray) {
|
37
|
-
// FIXME
|
38
37
|
if (!!vault.collaterals &&
|
39
38
|
vault.collaterals.map(c => c.address.toLowerCase()).includes(collat.collateral.toLowerCase())) {
|
40
39
|
continue;
|
@@ -119,13 +118,20 @@ async function computeCollatListAndReturnVaults(chainId, vaults) {
|
|
119
118
|
}))));
|
120
119
|
return vaultsPerChain;
|
121
120
|
}
|
122
|
-
export async function getEulerV2Vaults() {
|
121
|
+
export async function getEulerV2Vaults(chainId) {
|
122
|
+
let chainIdArray;
|
123
|
+
if (!!chainId) {
|
124
|
+
chainIdArray = [chainId];
|
125
|
+
}
|
126
|
+
else {
|
127
|
+
chainIdArray = eulerChainIds;
|
128
|
+
}
|
123
129
|
let vaults = [];
|
124
130
|
// 0_ Fetch all euler vaults from database
|
125
131
|
const storedVaults = await apiDbClient.logged.findMany({
|
126
132
|
where: { type: LoggedEntityType.EULER },
|
127
133
|
});
|
128
|
-
const res = await Promise.all(
|
134
|
+
const res = await Promise.all(chainIdArray.map(async (chainId) => {
|
129
135
|
let vaultsPerChain = [];
|
130
136
|
chainId = chainId;
|
131
137
|
try {
|
@@ -205,7 +211,15 @@ export async function getEulerV2Vaults() {
|
|
205
211
|
log.info("👋 exiting getEulerV2Vaults");
|
206
212
|
return vaults;
|
207
213
|
}
|
208
|
-
export async function updateEulerVaultsCollatInDatabase() {
|
214
|
+
export async function updateEulerVaultsCollatInDatabase(chainId) {
|
215
|
+
log.info("🏁 start updating vaults collat data");
|
216
|
+
let chainIdArray;
|
217
|
+
if (!!chainId) {
|
218
|
+
chainIdArray = [chainId];
|
219
|
+
}
|
220
|
+
else {
|
221
|
+
chainIdArray = eulerChainIds;
|
222
|
+
}
|
209
223
|
// 0_ Fetch all euler vaults from database
|
210
224
|
const vaults = await apiDbClient.logged.findMany({
|
211
225
|
where: { type: LoggedEntityType.EULER },
|
@@ -213,7 +227,7 @@ export async function updateEulerVaultsCollatInDatabase() {
|
|
213
227
|
const clonedVaults = _.cloneDeep(vaults);
|
214
228
|
let toUpdateVaults = [];
|
215
229
|
// 1_ Return all vaults already stored with their collateral updated
|
216
|
-
const res = await Promise.all(
|
230
|
+
const res = await Promise.all(chainIdArray.map(async (chainId) => computeCollatListAndReturnVaults(chainId, clonedVaults.filter(entity => entity.chainId === chainId).map(entity => entity.entityData))));
|
217
231
|
for (const resPerChain of res) {
|
218
232
|
if (!!resPerChain && resPerChain.length > 0) {
|
219
233
|
toUpdateVaults = toUpdateVaults.concat(resPerChain.filter(updatedVault => {
|
@@ -243,4 +257,9 @@ export async function updateEulerVaultsCollatInDatabase() {
|
|
243
257
|
throw new Error("Error while updating vaults to API database (`Logged` table)");
|
244
258
|
}
|
245
259
|
}
|
260
|
+
else {
|
261
|
+
log.info("🤷🏻 no vaults to update");
|
262
|
+
}
|
263
|
+
log.info("🏁 exiting vault collateral update");
|
264
|
+
return;
|
246
265
|
}
|
@@ -33,7 +33,8 @@ export class MorphoMetadata {
|
|
33
33
|
}
|
34
34
|
case MorphoSubCampaignType.BORROWING_BLUE:
|
35
35
|
case MorphoSubCampaignType.COLLATERAL_BLUE: {
|
36
|
-
|
36
|
+
const typedParams = params;
|
37
|
+
return `https://www.compound.blue/borrow/${typedParams.marketId.toLowerCase()}`;
|
37
38
|
}
|
38
39
|
}
|
39
40
|
}
|
package/dist/src/index.d.ts
CHANGED
@@ -5023,7 +5023,7 @@ declare const app: Elysia<"", false, {
|
|
5023
5023
|
get: {
|
5024
5024
|
body: unknown;
|
5025
5025
|
params: {};
|
5026
|
-
query:
|
5026
|
+
query: unknown;
|
5027
5027
|
headers: unknown;
|
5028
5028
|
response: {
|
5029
5029
|
200: EulerVaultType[];
|
@@ -5031,14 +5031,54 @@ declare const app: Elysia<"", false, {
|
|
5031
5031
|
};
|
5032
5032
|
};
|
5033
5033
|
} & {
|
5034
|
-
|
5035
|
-
|
5036
|
-
|
5037
|
-
|
5038
|
-
|
5039
|
-
|
5040
|
-
|
5041
|
-
|
5034
|
+
euler: {
|
5035
|
+
":chainId": {
|
5036
|
+
get: {
|
5037
|
+
body: unknown;
|
5038
|
+
params: {
|
5039
|
+
chainId: number;
|
5040
|
+
};
|
5041
|
+
query: unknown;
|
5042
|
+
headers: unknown;
|
5043
|
+
response: {
|
5044
|
+
200: EulerVaultType[];
|
5045
|
+
};
|
5046
|
+
};
|
5047
|
+
};
|
5048
|
+
};
|
5049
|
+
} & {
|
5050
|
+
euler: {
|
5051
|
+
update: {
|
5052
|
+
post: {
|
5053
|
+
body: unknown;
|
5054
|
+
params: {};
|
5055
|
+
query: unknown;
|
5056
|
+
headers: {
|
5057
|
+
authorization: string;
|
5058
|
+
};
|
5059
|
+
response: {
|
5060
|
+
200: void;
|
5061
|
+
};
|
5062
|
+
};
|
5063
|
+
};
|
5064
|
+
};
|
5065
|
+
} & {
|
5066
|
+
euler: {
|
5067
|
+
update: {
|
5068
|
+
":chainId": {
|
5069
|
+
post: {
|
5070
|
+
body: unknown;
|
5071
|
+
params: {
|
5072
|
+
chainId: number;
|
5073
|
+
};
|
5074
|
+
query: unknown;
|
5075
|
+
headers: {
|
5076
|
+
authorization: string;
|
5077
|
+
};
|
5078
|
+
response: {
|
5079
|
+
200: void;
|
5080
|
+
};
|
5081
|
+
};
|
5042
5082
|
};
|
5043
5083
|
};
|
5044
5084
|
};
|
@@ -177,9 +177,7 @@ const updatePendings = async (data) => {
|
|
177
177
|
await apiDbClient.rewardBreakdown.createMany({
|
178
178
|
data: breakdownToCreate.map(x => {
|
179
179
|
const rewardId = RewardService.hashId(data.root, x.recipient, rewardTokenId);
|
180
|
-
const rewardBreakdownId = RewardService.hashBreakdownId(rewardId, campaignId, x.reason);
|
181
180
|
return {
|
182
|
-
stringId: rewardBreakdownId,
|
183
181
|
reason: x.reason,
|
184
182
|
amount: "0",
|
185
183
|
pending: x.pending,
|
@@ -1,13 +1,13 @@
|
|
1
1
|
import { Redis } from "@/cache";
|
2
2
|
import { getEulerV2Vaults, updateEulerVaultsCollatInDatabase } from "@/engine/dynamicData/utils/getEulerV2Vaults";
|
3
3
|
(async () => {
|
4
|
+
await Redis.safeSet("EulerV2Vaults", await getEulerV2Vaults());
|
4
5
|
try {
|
5
|
-
await Redis.safeSet("EulerV2Vaults", await getEulerV2Vaults());
|
6
6
|
await updateEulerVaultsCollatInDatabase();
|
7
|
-
process.exit(1);
|
8
7
|
}
|
9
|
-
catch (
|
10
|
-
console.error(
|
8
|
+
catch (e) {
|
9
|
+
console.error(e);
|
11
10
|
process.exit(1);
|
12
11
|
}
|
12
|
+
process.exit(0);
|
13
13
|
})();
|
@@ -58,25 +58,22 @@ const etherlinkReferralProgram = {
|
|
58
58
|
cumulativeBoost: false,
|
59
59
|
};
|
60
60
|
const blacklistEtherlink = [
|
61
|
-
"0x8872642881C7C3f4124f3215a0D12CDf807EEB01",
|
62
|
-
"0x50D760f3a8630e620BC0D29E8031E8a37dEB4751",
|
63
|
-
"0xA237E96Abc3180AF377EcF22aE590C02991f9b1F",
|
64
61
|
"0x851CAD3E0b90C2535725eCeFcCDfeeb7996B9414",
|
65
|
-
"0x931ef6d9ea6FfFfd73D5F7CE35664BAD76cBc784",
|
66
|
-
"0xf663c334Ae22e9A086193A52918f873154Bdf2d4",
|
67
|
-
"0x6c1b204185A55E9DaA0bF026720Fe94458ddd89F",
|
68
|
-
"0x56A8b583276278513Eb78c3d132a80c1e81B9405",
|
69
|
-
"0x6a2f09Bc9E6b82b38FCa096792B94f36FAd657Ac",
|
70
62
|
"0xf99Fdd1e71838433516DE7aD98aa82BFa3f17AE2",
|
71
|
-
"0xf1fAD4fecd686a79Fd2a4618F657f0BA0332e18A",
|
72
|
-
"0x51832D40579d86fb95Cc843EF32326BD51904956",
|
73
63
|
"0x0D1C515CCb1B723eCBA2Cbb14c458168078529DA",
|
64
|
+
"0x8872642881C7C3f4124f3215a0D12CDf807EEB01",
|
74
65
|
"0x4d6ab6cBd964Fa1D33dA0232DA21fA3E5d23d05D",
|
66
|
+
"0x931ef6d9ea6FfFfd73D5F7CE35664BAD76cBc784",
|
75
67
|
"0x6ECEc7954b61Da887B8f3e56111D7Dd6bebc3877",
|
68
|
+
"0x6a2f09Bc9E6b82b38FCa096792B94f36FAd657Ac",
|
76
69
|
"0x41Be85bf6c460b1DC35efBE2C3143F9732CD6496",
|
70
|
+
"0x56A8b583276278513Eb78c3d132a80c1e81B9405",
|
77
71
|
"0x635518E05BAe895F85680Ce66Fb8EA92EE64FE2f",
|
72
|
+
"0xf1fAD4fecd686a79Fd2a4618F657f0BA0332e18A",
|
78
73
|
"0xB05D1019772a14bb8853A94469B45ECfC7A985E8",
|
74
|
+
"0xf663c334Ae22e9A086193A52918f873154Bdf2d4",
|
79
75
|
"0x82DAa20C1781d142295a7cF2a8913798695E50a2",
|
76
|
+
"0x51832D40579d86fb95Cc843EF32326BD51904956",
|
80
77
|
"0xbC086a895F6c1fF7Dd09022cC7fDEd52a2451Be5",
|
81
78
|
"0xFdAD5D95246E8b5B5147bCDE23ddCc6BbF1f7fC0",
|
82
79
|
"0x19f898d95295D072235272C015B80787B177140e",
|
@@ -95,11 +92,13 @@ const blacklistEtherlink = [
|
|
95
92
|
"0x0893cA2b0f0b8B87815B61c7717C25B8Bf834082",
|
96
93
|
"0x9D0E0e95305872E0f8065093b66E5FA224B5826f",
|
97
94
|
"0xa0E147eA78D8d696D73bbd43dE353b3ab076B3a0",
|
98
|
-
"
|
95
|
+
"0xA237E96Abc3180AF377EcF22aE590C02991f9b1F",
|
96
|
+
"0x50D760f3a8630e620BC0D29E8031E8a37dEB4751",
|
99
97
|
"0x8F6dcd0db53029d1116E86DA6d38Bf047f504e08",
|
100
98
|
"0x1CC9F701399f586568F2B0498b137c561B288F6B",
|
101
99
|
"0xB387D0A73619791420De4a1e5e710023Cb0f49c0",
|
102
100
|
"0xA0fc58e4EE3a3E183dfa492147C97e81D42f5C86",
|
101
|
+
"0xEcCcFF3Ca6580BeeB85c679495afBDB1877F3a99",
|
103
102
|
];
|
104
103
|
export var swapxCampaigns;
|
105
104
|
(function (swapxCampaigns) {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import type { Elysia } from "elysia";
|
2
2
|
declare const _default: (app: Elysia) => Elysia<"", false, {
|
3
3
|
decorator: {};
|
4
4
|
store: {};
|
@@ -16,7 +16,7 @@ declare const _default: (app: Elysia) => Elysia<"", false, {
|
|
16
16
|
get: {
|
17
17
|
body: unknown;
|
18
18
|
params: {};
|
19
|
-
query:
|
19
|
+
query: unknown;
|
20
20
|
headers: unknown;
|
21
21
|
response: {
|
22
22
|
200: EulerVaultType[];
|
@@ -24,14 +24,54 @@ declare const _default: (app: Elysia) => Elysia<"", false, {
|
|
24
24
|
};
|
25
25
|
};
|
26
26
|
} & {
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
27
|
+
euler: {
|
28
|
+
":chainId": {
|
29
|
+
get: {
|
30
|
+
body: unknown;
|
31
|
+
params: {
|
32
|
+
chainId: number;
|
33
|
+
};
|
34
|
+
query: unknown;
|
35
|
+
headers: unknown;
|
36
|
+
response: {
|
37
|
+
200: EulerVaultType[];
|
38
|
+
};
|
39
|
+
};
|
40
|
+
};
|
41
|
+
};
|
42
|
+
} & {
|
43
|
+
euler: {
|
44
|
+
update: {
|
45
|
+
post: {
|
46
|
+
body: unknown;
|
47
|
+
params: {};
|
48
|
+
query: unknown;
|
49
|
+
headers: {
|
50
|
+
authorization: string;
|
51
|
+
};
|
52
|
+
response: {
|
53
|
+
200: void;
|
54
|
+
};
|
55
|
+
};
|
56
|
+
};
|
57
|
+
};
|
58
|
+
} & {
|
59
|
+
euler: {
|
60
|
+
update: {
|
61
|
+
":chainId": {
|
62
|
+
post: {
|
63
|
+
body: unknown;
|
64
|
+
params: {
|
65
|
+
chainId: number;
|
66
|
+
};
|
67
|
+
query: unknown;
|
68
|
+
headers: {
|
69
|
+
authorization: string;
|
70
|
+
};
|
71
|
+
response: {
|
72
|
+
200: void;
|
73
|
+
};
|
74
|
+
};
|
35
75
|
};
|
36
76
|
};
|
37
77
|
};
|
@@ -1,17 +1,42 @@
|
|
1
1
|
import { Redis } from "@/cache";
|
2
2
|
import { getEulerV2Vaults, updateEulerVaultsCollatInDatabase } from "@/engine/dynamicData/utils/getEulerV2Vaults";
|
3
|
-
import {
|
3
|
+
import { AuthorizationHeadersDto, BackOfficeGuard } from "@/guards/BackOffice.guard";
|
4
|
+
import { ChainUniqueDto } from "@/modules/v4/chain/chain.model";
|
5
|
+
import { UnsupportedNetwork } from "@/utils/error";
|
6
|
+
import { eulerChainIds } from "@sdk";
|
4
7
|
export default (app) => app
|
5
8
|
.get("/euler", async () => {
|
6
9
|
return await Redis.getOrSet("EulerV2Vaults", getEulerV2Vaults);
|
7
10
|
}, {
|
8
|
-
|
11
|
+
tags: ["euler"],
|
12
|
+
})
|
13
|
+
.get("/euler/:chainId", async ({ params }) => {
|
14
|
+
return (await Redis.getOrSet("EulerV2Vaults", getEulerV2Vaults, params.chainId)).filter(v => v.chainId === params.chainId);
|
15
|
+
}, {
|
16
|
+
params: ChainUniqueDto,
|
17
|
+
beforeHandle: ({ params }) => {
|
18
|
+
if (!eulerChainIds.includes(params.chainId))
|
19
|
+
throw new UnsupportedNetwork(params.chainId);
|
20
|
+
},
|
9
21
|
tags: ["euler"],
|
10
22
|
})
|
11
23
|
// DO NOT MODIFY THIS LINE, USED FOR DEBUGGING PURPOSES
|
12
|
-
.
|
24
|
+
.post("/euler/update", async () => {
|
13
25
|
return await updateEulerVaultsCollatInDatabase();
|
14
26
|
}, {
|
15
|
-
|
27
|
+
headers: AuthorizationHeadersDto,
|
28
|
+
beforeHandle: BackOfficeGuard,
|
29
|
+
tags: ["euler"],
|
30
|
+
})
|
31
|
+
.post("/euler/update/:chainId", async ({ params }) => {
|
32
|
+
return await updateEulerVaultsCollatInDatabase(params.chainId);
|
33
|
+
}, {
|
34
|
+
params: ChainUniqueDto,
|
35
|
+
headers: AuthorizationHeadersDto,
|
36
|
+
beforeHandle: async ({ params, headers }) => {
|
37
|
+
if (!eulerChainIds.includes(params.chainId))
|
38
|
+
throw new UnsupportedNetwork(params.chainId);
|
39
|
+
await BackOfficeGuard({ headers });
|
40
|
+
},
|
16
41
|
tags: ["euler"],
|
17
42
|
});
|
@@ -231,7 +231,7 @@ export declare const v3: Elysia<"/v3", false, {
|
|
231
231
|
get: {
|
232
232
|
body: unknown;
|
233
233
|
params: {};
|
234
|
-
query:
|
234
|
+
query: unknown;
|
235
235
|
headers: unknown;
|
236
236
|
response: {
|
237
237
|
200: EulerVaultType[];
|
@@ -239,14 +239,54 @@ export declare const v3: Elysia<"/v3", false, {
|
|
239
239
|
};
|
240
240
|
};
|
241
241
|
} & {
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
242
|
+
euler: {
|
243
|
+
":chainId": {
|
244
|
+
get: {
|
245
|
+
body: unknown;
|
246
|
+
params: {
|
247
|
+
chainId: number;
|
248
|
+
};
|
249
|
+
query: unknown;
|
250
|
+
headers: unknown;
|
251
|
+
response: {
|
252
|
+
200: EulerVaultType[];
|
253
|
+
};
|
254
|
+
};
|
255
|
+
};
|
256
|
+
};
|
257
|
+
} & {
|
258
|
+
euler: {
|
259
|
+
update: {
|
260
|
+
post: {
|
261
|
+
body: unknown;
|
262
|
+
params: {};
|
263
|
+
query: unknown;
|
264
|
+
headers: {
|
265
|
+
authorization: string;
|
266
|
+
};
|
267
|
+
response: {
|
268
|
+
200: void;
|
269
|
+
};
|
270
|
+
};
|
271
|
+
};
|
272
|
+
};
|
273
|
+
} & {
|
274
|
+
euler: {
|
275
|
+
update: {
|
276
|
+
":chainId": {
|
277
|
+
post: {
|
278
|
+
body: unknown;
|
279
|
+
params: {
|
280
|
+
chainId: number;
|
281
|
+
};
|
282
|
+
query: unknown;
|
283
|
+
headers: {
|
284
|
+
authorization: string;
|
285
|
+
};
|
286
|
+
response: {
|
287
|
+
200: void;
|
288
|
+
};
|
289
|
+
};
|
250
290
|
};
|
251
291
|
};
|
252
292
|
};
|