@merkl/api 0.10.283 → 0.10.284
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/database/api/.generated/edge.js +1 -1
- package/dist/database/api/.generated/index.js +3 -3
- package/dist/database/api/.generated/{libquery_engine-debian-openssl-1.1.x.so.node → libquery_engine-debian-openssl-3.0.x.so.node} +0 -0
- package/dist/database/engine/.generated/edge.js +1 -1
- package/dist/database/engine/.generated/index.js +3 -3
- package/dist/database/engine/.generated/{libquery_engine-debian-openssl-1.1.x.so.node → libquery_engine-debian-openssl-3.0.x.so.node} +0 -0
- package/dist/src/eden/index.d.ts +65 -0
- package/dist/src/entities/opportunity.js +285 -0
- package/dist/src/index.d.ts +25 -0
- package/dist/src/libs/positions/prepareFetch.js +0 -2
- package/dist/src/modules/v4/claims/claims.service.js +1 -0
- package/dist/src/modules/v4/opportunity/opportunity.service.js +1 -1
- package/dist/src/modules/v4/router.d.ts +25 -0
- package/dist/src/modules/v4/router.js +2 -0
- package/dist/tsconfig.package.tsbuildinfo +1 -1
- package/package.json +1 -1
- /package/dist/src/modules/v4/opportunity/subservices/{getVestMetaData.d.ts → getVestMetaData.service.d.ts} +0 -0
- /package/dist/src/modules/v4/opportunity/subservices/{getVestMetaData.js → getVestMetaData.service.js} +0 -0
@@ -550,7 +550,7 @@ const config = {
|
|
550
550
|
"binaryTargets": [
|
551
551
|
{
|
552
552
|
"fromEnvVar": null,
|
553
|
-
"value": "debian-openssl-
|
553
|
+
"value": "debian-openssl-3.0.x",
|
554
554
|
"native": true
|
555
555
|
},
|
556
556
|
{
|
@@ -628,8 +628,8 @@ exports.PrismaClient = PrismaClient
|
|
628
628
|
Object.assign(exports, Prisma)
|
629
629
|
|
630
630
|
// file annotations for bundling tools to include these files
|
631
|
-
path.join(__dirname, "libquery_engine-debian-openssl-
|
632
|
-
path.join(process.cwd(), "database/api/.generated/libquery_engine-debian-openssl-
|
631
|
+
path.join(__dirname, "libquery_engine-debian-openssl-3.0.x.so.node");
|
632
|
+
path.join(process.cwd(), "database/api/.generated/libquery_engine-debian-openssl-3.0.x.so.node")
|
633
633
|
|
634
634
|
// file annotations for bundling tools to include these files
|
635
635
|
path.join(__dirname, "libquery_engine-linux-arm64-openssl-1.1.x.so.node");
|
Binary file
|
@@ -374,7 +374,7 @@ const config = {
|
|
374
374
|
"binaryTargets": [
|
375
375
|
{
|
376
376
|
"fromEnvVar": null,
|
377
|
-
"value": "debian-openssl-
|
377
|
+
"value": "debian-openssl-3.0.x",
|
378
378
|
"native": true
|
379
379
|
},
|
380
380
|
{
|
@@ -452,8 +452,8 @@ exports.PrismaClient = PrismaClient
|
|
452
452
|
Object.assign(exports, Prisma)
|
453
453
|
|
454
454
|
// file annotations for bundling tools to include these files
|
455
|
-
path.join(__dirname, "libquery_engine-debian-openssl-
|
456
|
-
path.join(process.cwd(), "database/engine/.generated/libquery_engine-debian-openssl-
|
455
|
+
path.join(__dirname, "libquery_engine-debian-openssl-3.0.x.so.node");
|
456
|
+
path.join(process.cwd(), "database/engine/.generated/libquery_engine-debian-openssl-3.0.x.so.node")
|
457
457
|
|
458
458
|
// file annotations for bundling tools to include these files
|
459
459
|
path.join(__dirname, "libquery_engine-linux-arm64-openssl-1.1.x.so.node");
|
Binary file
|
package/dist/src/eden/index.d.ts
CHANGED
@@ -882,6 +882,26 @@ declare const eden: {
|
|
882
882
|
}>>;
|
883
883
|
};
|
884
884
|
};
|
885
|
+
explorers: {
|
886
|
+
post: (body: {
|
887
|
+
type: "ETHERSCAN" | "BLOCKSCOUT";
|
888
|
+
url: string;
|
889
|
+
chainId: number;
|
890
|
+
}, options: {
|
891
|
+
headers: {
|
892
|
+
authorization: string;
|
893
|
+
};
|
894
|
+
query?: Record<string, unknown> | undefined;
|
895
|
+
fetch?: RequestInit | undefined;
|
896
|
+
}) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
|
897
|
+
200: {
|
898
|
+
type: import("../../database/api/.generated").$Enums.ExplorerType;
|
899
|
+
url: string;
|
900
|
+
id: string;
|
901
|
+
chainId: number;
|
902
|
+
};
|
903
|
+
}>>;
|
904
|
+
};
|
885
905
|
tokens: ((params: {
|
886
906
|
id: string | number;
|
887
907
|
}) => {
|
@@ -3839,6 +3859,31 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
|
|
3839
3859
|
};
|
3840
3860
|
};
|
3841
3861
|
};
|
3862
|
+
} & {
|
3863
|
+
v4: {
|
3864
|
+
explorers: {
|
3865
|
+
post: {
|
3866
|
+
body: {
|
3867
|
+
type: "ETHERSCAN" | "BLOCKSCOUT";
|
3868
|
+
url: string;
|
3869
|
+
chainId: number;
|
3870
|
+
};
|
3871
|
+
params: {};
|
3872
|
+
query: unknown;
|
3873
|
+
headers: {
|
3874
|
+
authorization: string;
|
3875
|
+
};
|
3876
|
+
response: {
|
3877
|
+
200: {
|
3878
|
+
type: import("../../database/api/.generated").$Enums.ExplorerType;
|
3879
|
+
url: string;
|
3880
|
+
id: string;
|
3881
|
+
chainId: number;
|
3882
|
+
};
|
3883
|
+
};
|
3884
|
+
};
|
3885
|
+
};
|
3886
|
+
};
|
3842
3887
|
} & {
|
3843
3888
|
v4: {
|
3844
3889
|
tokens: {
|
@@ -7197,6 +7242,26 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
|
|
7197
7242
|
}>>;
|
7198
7243
|
};
|
7199
7244
|
};
|
7245
|
+
explorers: {
|
7246
|
+
post: (body: {
|
7247
|
+
type: "ETHERSCAN" | "BLOCKSCOUT";
|
7248
|
+
url: string;
|
7249
|
+
chainId: number;
|
7250
|
+
}, options: {
|
7251
|
+
headers: {
|
7252
|
+
authorization: string;
|
7253
|
+
};
|
7254
|
+
query?: Record<string, unknown> | undefined;
|
7255
|
+
fetch?: RequestInit | undefined;
|
7256
|
+
}) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
|
7257
|
+
200: {
|
7258
|
+
type: import("../../database/api/.generated").$Enums.ExplorerType;
|
7259
|
+
url: string;
|
7260
|
+
id: string;
|
7261
|
+
chainId: number;
|
7262
|
+
};
|
7263
|
+
}>>;
|
7264
|
+
};
|
7200
7265
|
tokens: ((params: {
|
7201
7266
|
id: string | number;
|
7202
7267
|
}) => {
|
@@ -583,6 +583,291 @@ export const extractOpportunities = {
|
|
583
583
|
};
|
584
584
|
return opportunity;
|
585
585
|
},
|
586
|
+
[Campaign.ERC20]: (campaign, campaigns, prices) => {
|
587
|
+
const { chainId, tvl, campaignParameters: params, typeInfo, computeChainId, mainParameter } = campaign;
|
588
|
+
const { active, all } = campaigns;
|
589
|
+
// DEPRECATED!!!!
|
590
|
+
const map = {
|
591
|
+
actions: {
|
592
|
+
pool: [
|
593
|
+
"uniswapv2",
|
594
|
+
"velodrome",
|
595
|
+
"aerodrome",
|
596
|
+
"balancerGauge",
|
597
|
+
"balancerPool",
|
598
|
+
"curve",
|
599
|
+
"aura",
|
600
|
+
"akron",
|
601
|
+
"beefy",
|
602
|
+
"dragonswap",
|
603
|
+
"poolside",
|
604
|
+
"koi",
|
605
|
+
"pancakeswap",
|
606
|
+
"tempest",
|
607
|
+
"cross_curve",
|
608
|
+
"zkswap",
|
609
|
+
"maverickBoostedPosition",
|
610
|
+
"zkSwapThreePool",
|
611
|
+
"syncswap",
|
612
|
+
"rfx",
|
613
|
+
],
|
614
|
+
borrow: ["radiant_borrow", "aave_borrowing", "euler_borrow", "zerolend_borrowing"],
|
615
|
+
lend: [
|
616
|
+
"gearbox",
|
617
|
+
"compound",
|
618
|
+
"radiant_lend",
|
619
|
+
"aave_lending",
|
620
|
+
"sturdy_aggregator",
|
621
|
+
"sturdy_silo",
|
622
|
+
"fraxlend",
|
623
|
+
"moonwell",
|
624
|
+
"ionic",
|
625
|
+
"fluid",
|
626
|
+
"silostaking",
|
627
|
+
"euler_lend",
|
628
|
+
"layerbank",
|
629
|
+
"zerolend_lending",
|
630
|
+
"venus",
|
631
|
+
"reactor_fusion",
|
632
|
+
"woofi",
|
633
|
+
],
|
634
|
+
},
|
635
|
+
icons: {
|
636
|
+
pool: () => {
|
637
|
+
if (["balancerGauge", "balancerPool"].includes(campaign.type ?? ""))
|
638
|
+
return Object.values(typeInfo.poolTokens ?? {})
|
639
|
+
.map(tkn => tkn?.symbol)
|
640
|
+
.filter(tkn => tkn);
|
641
|
+
if (["curve"].includes(campaign.type ?? ""))
|
642
|
+
return Object.values(typeInfo.poolTokens ?? {}).filter(tkn => tkn);
|
643
|
+
if (["rfx"].includes(campaign.type ?? "")) {
|
644
|
+
return [typeInfo.symbolShortToken, typeInfo.symbolLongToken];
|
645
|
+
}
|
646
|
+
if (["maverickBoostedPosition"].includes(campaign.type ?? "")) {
|
647
|
+
return [typeInfo.symbolTokenA, typeInfo.symbolTokenB];
|
648
|
+
}
|
649
|
+
return [typeInfo.symbolToken0, typeInfo.symbolToken1];
|
650
|
+
},
|
651
|
+
lend: () => (campaign.type === "compound" ? [typeInfo.symbolBaseToken] : [typeInfo.symbolUnderlyingToken]),
|
652
|
+
borrow: () => [typeInfo.symbolUnderlyingToken],
|
653
|
+
hold: () => {
|
654
|
+
if (["toros", "enzyme"].includes(campaign.type))
|
655
|
+
return [typeInfo.symbolUnderlyingToken];
|
656
|
+
return [campaign.campaignParameters.symbolTargetToken];
|
657
|
+
},
|
658
|
+
},
|
659
|
+
};
|
660
|
+
const action = Object.entries(map.actions).find(([_action, _types]) => _types.includes(campaign.type ?? ""))?.[0] ?? "hold";
|
661
|
+
const icons = map.icons[action]();
|
662
|
+
const opportunity = {
|
663
|
+
id: `${Campaign.ERC20}_${mainParameter}`,
|
664
|
+
platform: params.symbolTargetToken,
|
665
|
+
name: typeInfo?.cardName,
|
666
|
+
chainId: !computeChainId ? chainId : computeChainId,
|
667
|
+
distributionChainId: chainId,
|
668
|
+
tvl,
|
669
|
+
action,
|
670
|
+
apr: getApr(active),
|
671
|
+
status: getStatus(all),
|
672
|
+
tags: getTags(campaigns.all),
|
673
|
+
dailyrewards: getDailyRewards(active, prices),
|
674
|
+
tokenIcons: icons,
|
675
|
+
campaigns: { ...campaigns, type: Campaign.ERC20, ids: campaigns.all.map(c => c.campaignId) },
|
676
|
+
rewardTokenIcons: getRewardTokenIcons(campaigns.active),
|
677
|
+
dailyRewardTokens: getRewardTokens(campaigns.active),
|
678
|
+
};
|
679
|
+
return opportunity;
|
680
|
+
},
|
681
|
+
[Campaign.ERC20LOGPROCESSOR]: (campaign, campaigns, prices) => {
|
682
|
+
const { chainId, tvl, campaignParameters: params, typeInfo, computeChainId, mainParameter } = campaign;
|
683
|
+
const { active, all } = campaigns;
|
684
|
+
// DEPRECATED!!!!
|
685
|
+
const map = {
|
686
|
+
actions: {
|
687
|
+
pool: [
|
688
|
+
"uniswapv2",
|
689
|
+
"velodrome",
|
690
|
+
"aerodrome",
|
691
|
+
"balancerGauge",
|
692
|
+
"balancerPool",
|
693
|
+
"curve",
|
694
|
+
"aura",
|
695
|
+
"akron",
|
696
|
+
"beefy",
|
697
|
+
"dragonswap",
|
698
|
+
"poolside",
|
699
|
+
"koi",
|
700
|
+
"pancakeswap",
|
701
|
+
"tempest",
|
702
|
+
"cross_curve",
|
703
|
+
"zkswap",
|
704
|
+
"maverickBoostedPosition",
|
705
|
+
"zkSwapThreePool",
|
706
|
+
"syncswap",
|
707
|
+
"rfx",
|
708
|
+
],
|
709
|
+
borrow: ["radiant_borrow", "aave_borrowing", "euler_borrow", "zerolend_borrowing"],
|
710
|
+
lend: [
|
711
|
+
"gearbox",
|
712
|
+
"compound",
|
713
|
+
"radiant_lend",
|
714
|
+
"aave_lending",
|
715
|
+
"sturdy_aggregator",
|
716
|
+
"sturdy_silo",
|
717
|
+
"fraxlend",
|
718
|
+
"moonwell",
|
719
|
+
"ionic",
|
720
|
+
"fluid",
|
721
|
+
"silostaking",
|
722
|
+
"euler_lend",
|
723
|
+
"layerbank",
|
724
|
+
"zerolend_lending",
|
725
|
+
"venus",
|
726
|
+
"reactor_fusion",
|
727
|
+
"woofi",
|
728
|
+
],
|
729
|
+
},
|
730
|
+
icons: {
|
731
|
+
pool: () => {
|
732
|
+
if (["balancerGauge", "balancerPool"].includes(campaign.type ?? ""))
|
733
|
+
return Object.values(typeInfo.poolTokens ?? {})
|
734
|
+
.map(tkn => tkn?.symbol)
|
735
|
+
.filter(tkn => tkn);
|
736
|
+
if (["curve"].includes(campaign.type ?? ""))
|
737
|
+
return Object.values(typeInfo.poolTokens ?? {}).filter(tkn => tkn);
|
738
|
+
if (["rfx"].includes(campaign.type ?? "")) {
|
739
|
+
return [typeInfo.symbolShortToken, typeInfo.symbolLongToken];
|
740
|
+
}
|
741
|
+
if (["maverickBoostedPosition"].includes(campaign.type ?? "")) {
|
742
|
+
return [typeInfo.symbolTokenA, typeInfo.symbolTokenB];
|
743
|
+
}
|
744
|
+
return [typeInfo.symbolToken0, typeInfo.symbolToken1];
|
745
|
+
},
|
746
|
+
lend: () => (campaign.type === "compound" ? [typeInfo.symbolBaseToken] : [typeInfo.symbolUnderlyingToken]),
|
747
|
+
borrow: () => [typeInfo.symbolUnderlyingToken],
|
748
|
+
hold: () => {
|
749
|
+
if (["toros", "enzyme"].includes(campaign.type))
|
750
|
+
return [typeInfo.symbolUnderlyingToken];
|
751
|
+
return [campaign.campaignParameters.symbolTargetToken];
|
752
|
+
},
|
753
|
+
},
|
754
|
+
};
|
755
|
+
const action = Object.entries(map.actions).find(([_action, _types]) => _types.includes(campaign.type ?? ""))?.[0] ?? "hold";
|
756
|
+
const icons = map.icons[action]();
|
757
|
+
const opportunity = {
|
758
|
+
id: `${Campaign.ERC20}_${mainParameter}`,
|
759
|
+
platform: params.symbolTargetToken,
|
760
|
+
name: typeInfo?.cardName,
|
761
|
+
chainId: !computeChainId ? chainId : computeChainId,
|
762
|
+
distributionChainId: chainId,
|
763
|
+
tvl,
|
764
|
+
action,
|
765
|
+
apr: getApr(active),
|
766
|
+
status: getStatus(all),
|
767
|
+
tags: getTags(campaigns.all),
|
768
|
+
dailyrewards: getDailyRewards(active, prices),
|
769
|
+
tokenIcons: icons,
|
770
|
+
campaigns: { ...campaigns, type: Campaign.ERC20, ids: campaigns.all.map(c => c.campaignId) },
|
771
|
+
rewardTokenIcons: getRewardTokenIcons(campaigns.active),
|
772
|
+
dailyRewardTokens: getRewardTokens(campaigns.active),
|
773
|
+
};
|
774
|
+
return opportunity;
|
775
|
+
},
|
776
|
+
[Campaign.ERC20REBASELOGPROCESSOR]: (campaign, campaigns, prices) => {
|
777
|
+
const { chainId, tvl, campaignParameters: params, typeInfo, computeChainId, mainParameter } = campaign;
|
778
|
+
const { active, all } = campaigns;
|
779
|
+
// DEPRECATED!!!!
|
780
|
+
const map = {
|
781
|
+
actions: {
|
782
|
+
pool: [
|
783
|
+
"uniswapv2",
|
784
|
+
"velodrome",
|
785
|
+
"aerodrome",
|
786
|
+
"balancerGauge",
|
787
|
+
"balancerPool",
|
788
|
+
"curve",
|
789
|
+
"aura",
|
790
|
+
"akron",
|
791
|
+
"beefy",
|
792
|
+
"dragonswap",
|
793
|
+
"poolside",
|
794
|
+
"koi",
|
795
|
+
"pancakeswap",
|
796
|
+
"tempest",
|
797
|
+
"cross_curve",
|
798
|
+
"zkswap",
|
799
|
+
"maverickBoostedPosition",
|
800
|
+
"zkSwapThreePool",
|
801
|
+
"syncswap",
|
802
|
+
"rfx",
|
803
|
+
],
|
804
|
+
borrow: ["radiant_borrow", "aave_borrowing", "euler_borrow", "zerolend_borrowing"],
|
805
|
+
lend: [
|
806
|
+
"gearbox",
|
807
|
+
"compound",
|
808
|
+
"radiant_lend",
|
809
|
+
"aave_lending",
|
810
|
+
"sturdy_aggregator",
|
811
|
+
"sturdy_silo",
|
812
|
+
"fraxlend",
|
813
|
+
"moonwell",
|
814
|
+
"ionic",
|
815
|
+
"fluid",
|
816
|
+
"silostaking",
|
817
|
+
"euler_lend",
|
818
|
+
"layerbank",
|
819
|
+
"zerolend_lending",
|
820
|
+
"venus",
|
821
|
+
"reactor_fusion",
|
822
|
+
"woofi",
|
823
|
+
],
|
824
|
+
},
|
825
|
+
icons: {
|
826
|
+
pool: () => {
|
827
|
+
if (["balancerGauge", "balancerPool"].includes(campaign.type ?? ""))
|
828
|
+
return Object.values(typeInfo.poolTokens ?? {})
|
829
|
+
.map(tkn => tkn?.symbol)
|
830
|
+
.filter(tkn => tkn);
|
831
|
+
if (["curve"].includes(campaign.type ?? ""))
|
832
|
+
return Object.values(typeInfo.poolTokens ?? {}).filter(tkn => tkn);
|
833
|
+
if (["rfx"].includes(campaign.type ?? "")) {
|
834
|
+
return [typeInfo.symbolShortToken, typeInfo.symbolLongToken];
|
835
|
+
}
|
836
|
+
if (["maverickBoostedPosition"].includes(campaign.type ?? "")) {
|
837
|
+
return [typeInfo.symbolTokenA, typeInfo.symbolTokenB];
|
838
|
+
}
|
839
|
+
return [typeInfo.symbolToken0, typeInfo.symbolToken1];
|
840
|
+
},
|
841
|
+
lend: () => (campaign.type === "compound" ? [typeInfo.symbolBaseToken] : [typeInfo.symbolUnderlyingToken]),
|
842
|
+
borrow: () => [typeInfo.symbolUnderlyingToken],
|
843
|
+
hold: () => {
|
844
|
+
if (["toros", "enzyme"].includes(campaign.type))
|
845
|
+
return [typeInfo.symbolUnderlyingToken];
|
846
|
+
return [campaign.campaignParameters.symbolTargetToken];
|
847
|
+
},
|
848
|
+
},
|
849
|
+
};
|
850
|
+
const action = Object.entries(map.actions).find(([_action, _types]) => _types.includes(campaign.type ?? ""))?.[0] ?? "hold";
|
851
|
+
const icons = map.icons[action]();
|
852
|
+
const opportunity = {
|
853
|
+
id: `${Campaign.ERC20}_${mainParameter}`,
|
854
|
+
platform: params.symbolTargetToken,
|
855
|
+
name: typeInfo?.cardName,
|
856
|
+
chainId: !computeChainId ? chainId : computeChainId,
|
857
|
+
distributionChainId: chainId,
|
858
|
+
tvl,
|
859
|
+
action,
|
860
|
+
apr: getApr(active),
|
861
|
+
status: getStatus(all),
|
862
|
+
tags: getTags(campaigns.all),
|
863
|
+
dailyrewards: getDailyRewards(active, prices),
|
864
|
+
tokenIcons: icons,
|
865
|
+
campaigns: { ...campaigns, type: Campaign.ERC20, ids: campaigns.all.map(c => c.campaignId) },
|
866
|
+
rewardTokenIcons: getRewardTokenIcons(campaigns.active),
|
867
|
+
dailyRewardTokens: getRewardTokens(campaigns.active),
|
868
|
+
};
|
869
|
+
return opportunity;
|
870
|
+
},
|
586
871
|
};
|
587
872
|
/**
|
588
873
|
* @returns the opportunities map with their corresponding campaign's data added
|
package/dist/src/index.d.ts
CHANGED
@@ -1042,6 +1042,31 @@ declare const app: Elysia<"", false, {
|
|
1042
1042
|
};
|
1043
1043
|
};
|
1044
1044
|
};
|
1045
|
+
} & {
|
1046
|
+
v4: {
|
1047
|
+
explorers: {
|
1048
|
+
post: {
|
1049
|
+
body: {
|
1050
|
+
type: "ETHERSCAN" | "BLOCKSCOUT";
|
1051
|
+
url: string;
|
1052
|
+
chainId: number;
|
1053
|
+
};
|
1054
|
+
params: {};
|
1055
|
+
query: unknown;
|
1056
|
+
headers: {
|
1057
|
+
authorization: string;
|
1058
|
+
};
|
1059
|
+
response: {
|
1060
|
+
200: {
|
1061
|
+
type: import("../database/api/.generated").$Enums.ExplorerType;
|
1062
|
+
url: string;
|
1063
|
+
id: string;
|
1064
|
+
chainId: number;
|
1065
|
+
};
|
1066
|
+
};
|
1067
|
+
};
|
1068
|
+
};
|
1069
|
+
};
|
1045
1070
|
} & {
|
1046
1071
|
v4: {
|
1047
1072
|
tokens: {
|
@@ -385,8 +385,6 @@ campaign //FIXME
|
|
385
385
|
return prepareCompoundFetch(previous, campaign);
|
386
386
|
case Campaign.EIGENLAYER:
|
387
387
|
return prepareEigenLayerFetch(previous, campaign);
|
388
|
-
case Campaign.VEST:
|
389
|
-
return prepareEigenLayerFetch(previous, campaign);
|
390
388
|
default:
|
391
389
|
return previous;
|
392
390
|
}
|
@@ -22,7 +22,7 @@ import { getJsonAirdropMetadata } from "./subservices/getJsonAirDropMetadata.ser
|
|
22
22
|
import { getMorphoMetadata } from "./subservices/getMorphoMetadata.service";
|
23
23
|
import { getRadiantMetadata } from "./subservices/getRadiantMetadata.service";
|
24
24
|
import { getSiloMetadata } from "./subservices/getSiloMetadata.service";
|
25
|
-
import { getVestMetaData } from "./subservices/getVestMetaData";
|
25
|
+
import { getVestMetaData } from "./subservices/getVestMetaData.service";
|
26
26
|
export class OpportunityService {
|
27
27
|
static hashId(opportunity) {
|
28
28
|
return Bun.hash(`${opportunity.chainId}${opportunity.type}${opportunity.identifier}`).toString();
|
@@ -920,6 +920,31 @@ export declare const v4: Elysia<"/v4", false, {
|
|
920
920
|
};
|
921
921
|
};
|
922
922
|
};
|
923
|
+
} & {
|
924
|
+
v4: {
|
925
|
+
explorers: {
|
926
|
+
post: {
|
927
|
+
body: {
|
928
|
+
type: "ETHERSCAN" | "BLOCKSCOUT";
|
929
|
+
url: string;
|
930
|
+
chainId: number;
|
931
|
+
};
|
932
|
+
params: {};
|
933
|
+
query: unknown;
|
934
|
+
headers: {
|
935
|
+
authorization: string;
|
936
|
+
};
|
937
|
+
response: {
|
938
|
+
200: {
|
939
|
+
type: import("../../../database/api/.generated").$Enums.ExplorerType;
|
940
|
+
url: string;
|
941
|
+
id: string;
|
942
|
+
chainId: number;
|
943
|
+
};
|
944
|
+
};
|
945
|
+
};
|
946
|
+
};
|
947
|
+
};
|
923
948
|
} & {
|
924
949
|
v4: {
|
925
950
|
tokens: {
|
@@ -18,6 +18,7 @@ import Elysia from "elysia";
|
|
18
18
|
import { BoostController } from "./boost";
|
19
19
|
import { ClaimController } from "./claims";
|
20
20
|
import { DynamicDataController } from "./dynamicData";
|
21
|
+
import { ExplorerController } from "./explorer/explorer.controller";
|
21
22
|
import { InteractionController } from "./interaction/interaction.controller";
|
22
23
|
import { LiquidityController } from "./liquidity/liquidity.controller";
|
23
24
|
import { MerklRootController } from "./merklRoot";
|
@@ -51,6 +52,7 @@ export const v4 = new Elysia({ tags: ["v4"], prefix: "/v4" })
|
|
51
52
|
.use(OpportunityController)
|
52
53
|
.use(CampaignController)
|
53
54
|
.use(ProtocolController)
|
55
|
+
.use(ExplorerController)
|
54
56
|
.use(TokenController)
|
55
57
|
.use(RewardController)
|
56
58
|
.use(ChainController)
|