@merkl/api 1.3.76 → 1.3.77

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.
Files changed (45) hide show
  1. package/dist/src/index.d.ts +316 -316
  2. package/dist/src/jobs/prices.js.map +1 -1
  3. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +79 -79
  4. package/dist/src/modules/v4/campaign/campaign.test.controller.d.ts +237 -237
  5. package/dist/src/{utils/prices/priceFetcherFactory.d.ts → modules/v4/priceSource/priceFetchers/factory.d.ts} +1 -1
  6. package/dist/src/modules/v4/priceSource/priceFetchers/factory.js.map +1 -0
  7. package/dist/src/{utils/prices/services → modules/v4/priceSource/priceFetchers/implementations}/OnChainCallService.d.ts +5 -3
  8. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/OnChainCallService.js.map +1 -0
  9. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/coinGeckoService.d.ts +10 -0
  10. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/coinGeckoService.js.map +1 -0
  11. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/defillamaService.d.ts +10 -0
  12. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/defillamaService.js.map +1 -0
  13. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/dexScreenerService.d.ts +9 -0
  14. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/dexScreenerService.js.map +1 -0
  15. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/erc4626Service.d.ts +9 -0
  16. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/erc4626Service.js.map +1 -0
  17. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/indexCoopService.d.ts +10 -0
  18. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/indexCoopService.js.map +1 -0
  19. package/dist/src/{utils/prices/services → modules/v4/priceSource/priceFetchers/implementations}/uniswapV2PriceService.d.ts +5 -3
  20. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/uniswapV2PriceService.js.map +1 -0
  21. package/dist/src/{utils/prices/services/priceFetcher.d.ts → modules/v4/priceSource/priceFetchers/interface.d.ts} +4 -4
  22. package/dist/src/modules/v4/priceSource/priceFetchers/interface.js.map +1 -0
  23. package/dist/src/modules/v4/priceSource/priceSource.repository.js.map +1 -1
  24. package/dist/src/modules/v4/priceSource/priceSource.service.js.map +1 -1
  25. package/dist/src/modules/v4/programPayload/subPayloads/aave.d.ts +35 -1
  26. package/dist/src/modules/v4/programPayload/subPayloads/aave.js.map +1 -1
  27. package/dist/src/modules/v4/router.d.ts +332 -332
  28. package/dist/src/utils/prices/priceService.js.map +1 -1
  29. package/package.json +1 -1
  30. package/dist/src/utils/prices/priceFetcherFactory.js.map +0 -1
  31. package/dist/src/utils/prices/services/OnChainCallService.js.map +0 -1
  32. package/dist/src/utils/prices/services/coinGeckoService.d.ts +0 -13
  33. package/dist/src/utils/prices/services/coinGeckoService.js.map +0 -1
  34. package/dist/src/utils/prices/services/defillamaService.d.ts +0 -13
  35. package/dist/src/utils/prices/services/defillamaService.js.map +0 -1
  36. package/dist/src/utils/prices/services/dexScreenerService.d.ts +0 -11
  37. package/dist/src/utils/prices/services/dexScreenerService.js.map +0 -1
  38. package/dist/src/utils/prices/services/erc4626Service.d.ts +0 -9
  39. package/dist/src/utils/prices/services/erc4626Service.js.map +0 -1
  40. package/dist/src/utils/prices/services/getERC4626.d.ts +0 -4
  41. package/dist/src/utils/prices/services/getERC4626.js.map +0 -1
  42. package/dist/src/utils/prices/services/indexCoopService.d.ts +0 -12
  43. package/dist/src/utils/prices/services/indexCoopService.js.map +0 -1
  44. package/dist/src/utils/prices/services/priceFetcher.js.map +0 -1
  45. package/dist/src/utils/prices/services/uniswapV2PriceService.js.map +0 -1
@@ -747,85 +747,6 @@ export declare const CampaignTestController: Elysia<"/campaigns", {
747
747
  };
748
748
  response: {
749
749
  200: {
750
- id: string;
751
- chainId: number;
752
- type: string;
753
- identifier: string;
754
- name: string;
755
- status: "LIVE" | "PAST" | "SOON";
756
- action: any;
757
- tokens: ({
758
- address: string;
759
- chainId: number;
760
- decimals: number;
761
- icon: string;
762
- id: string;
763
- isNative: boolean;
764
- isTest: boolean;
765
- name: string | null;
766
- symbol: string;
767
- type: import("@package/databases").TokenType;
768
- verified: boolean;
769
- } & {
770
- price?: number | null | undefined;
771
- updatedAt?: number | null | undefined;
772
- priceSource?: string | null | undefined;
773
- isTokenWrapper?: boolean | undefined;
774
- tokenWrapperAddress?: string | undefined;
775
- })[];
776
- mainProtocol: "aave" | "aerodrome" | "ajna" | "akron" | "ambient" | "angles" | "arrakis" | "arthswap" | "aura" | "avalon" | "badger" | "balancer" | "base-swap" | "beefy" | "beraborrow" | "beratrax" | "bunni" | "camelot" | "cian" | "compound" | "concrete" | "cross_curve" | "crust" | "curve" | "curveNPool" | "dlend" | "dolomite" | "dragonswap" | "eigenlayer" | "ekubo" | "enzyme" | "equalizer" | "equilibria" | "euler" | "fenix" | "filament" | "fluid" | "fluidvault" | "frax" | "fraxlend" | "gamma" | "gammaswap" | "gearbox" | "hanji" | "holdstation" | "horiza" | "hourglass" | "hybra-pair" | "hyperdrive" | "hypurrfi" | "ichi" | "iguana" | "ion" | "ionic" | "ironclad" | "izumi" | "katana" | "kim" | "koi" | "kyo" | "lagoon" | "layerbank" | "lendle" | "lnd" | "maha" | "mangrove" | "maverick" | "mimswap" | "moonwell" | "morpho" | "neptune" | "oku" | "oxium" | "pancake-swap" | "pendle" | "pinto" | "poolside" | "puffer" | "punchswap" | "quickswap" | "ra" | "radiant" | "ramses" | "reactor_fusion" | "reserve" | "retro" | "rfx" | "sake" | "satlayer" | "satoshi" | "silo" | "sonex" | "sonicmarket" | "spectra" | "splice" | "stability" | "stabull" | "stryke" | "sturdy" | "summerfinance" | "superlend" | "supswap" | "sushi-swap" | "swap-x" | "swapr" | "syncswap" | "tako-tako" | "teller" | "tempest" | "termmax" | "thirdtrade" | "thruster" | "toros" | "trader-joe" | "uniswap" | "uranium" | "veda" | "velodrome" | "venus" | "vest" | "vicuna" | "voltage" | "woofi" | "xlend" | "yei" | "zero" | "zerolend" | "zk-swap" | "zkSwapThreePool" | undefined;
777
- description: string;
778
- howToSteps: string[];
779
- depositUrl: string | undefined;
780
- explorerAddress: string | undefined;
781
- tags: string[];
782
- } | {
783
- id: string;
784
- chainId: number;
785
- type: string;
786
- identifier: string;
787
- name: string;
788
- description: string;
789
- howToSteps: string[];
790
- depositUrl: string | null;
791
- explorerAddress: string | null;
792
- status: import("@package/databases").Status;
793
- action: import("@package/databases").OpportunityAction;
794
- mainProtocolId: string | null;
795
- tvl: number;
796
- apr: number;
797
- maxApr: number | null;
798
- dailyRewards: number;
799
- tags: string[];
800
- lastCampaignCreatedAt: Date;
801
- manualOverrides: import("@package/databases").OpportunityManualOverride[];
802
- liveCampaigns: number;
803
- Protocols: {
804
- id: string;
805
- tags: string[];
806
- name: string;
807
- description: string;
808
- url: string;
809
- icon: string;
810
- }[];
811
- Tokens: {
812
- id: string;
813
- name: string | null;
814
- chainId: number;
815
- address: string;
816
- decimals: number;
817
- symbol: string;
818
- displaySymbol: string;
819
- icon: string;
820
- verified: boolean;
821
- isTest: boolean;
822
- type: import("@package/databases").TokenType;
823
- isNative: boolean;
824
- price: number | null;
825
- updatedAt: number | null;
826
- priceSource: string | null;
827
- }[];
828
- } | {
829
750
  distributionChain?: ({
830
751
  endOfDisputePeriod: number;
831
752
  icon: string;
@@ -945,6 +866,85 @@ export declare const CampaignTestController: Elysia<"/campaigns", {
945
866
  startTimestamp: number;
946
867
  subType: number | null;
947
868
  type: string;
869
+ } | {
870
+ id: string;
871
+ chainId: number;
872
+ type: string;
873
+ identifier: string;
874
+ name: string;
875
+ status: "LIVE" | "PAST" | "SOON";
876
+ action: any;
877
+ tokens: ({
878
+ address: string;
879
+ chainId: number;
880
+ decimals: number;
881
+ icon: string;
882
+ id: string;
883
+ isNative: boolean;
884
+ isTest: boolean;
885
+ name: string | null;
886
+ symbol: string;
887
+ type: import("@package/databases").TokenType;
888
+ verified: boolean;
889
+ } & {
890
+ price?: number | null | undefined;
891
+ updatedAt?: number | null | undefined;
892
+ priceSource?: string | null | undefined;
893
+ isTokenWrapper?: boolean | undefined;
894
+ tokenWrapperAddress?: string | undefined;
895
+ })[];
896
+ mainProtocol: "aave" | "aerodrome" | "ajna" | "akron" | "ambient" | "angles" | "arrakis" | "arthswap" | "aura" | "avalon" | "badger" | "balancer" | "base-swap" | "beefy" | "beraborrow" | "beratrax" | "bunni" | "camelot" | "cian" | "compound" | "concrete" | "cross_curve" | "crust" | "curve" | "curveNPool" | "dlend" | "dolomite" | "dragonswap" | "eigenlayer" | "ekubo" | "enzyme" | "equalizer" | "equilibria" | "euler" | "fenix" | "filament" | "fluid" | "fluidvault" | "frax" | "fraxlend" | "gamma" | "gammaswap" | "gearbox" | "hanji" | "holdstation" | "horiza" | "hourglass" | "hybra-pair" | "hyperdrive" | "hypurrfi" | "ichi" | "iguana" | "ion" | "ionic" | "ironclad" | "izumi" | "katana" | "kim" | "koi" | "kyo" | "lagoon" | "layerbank" | "lendle" | "lnd" | "maha" | "mangrove" | "maverick" | "mimswap" | "moonwell" | "morpho" | "neptune" | "oku" | "oxium" | "pancake-swap" | "pendle" | "pinto" | "poolside" | "puffer" | "punchswap" | "quickswap" | "ra" | "radiant" | "ramses" | "reactor_fusion" | "reserve" | "retro" | "rfx" | "sake" | "satlayer" | "satoshi" | "silo" | "sonex" | "sonicmarket" | "spectra" | "splice" | "stability" | "stabull" | "stryke" | "sturdy" | "summerfinance" | "superlend" | "supswap" | "sushi-swap" | "swap-x" | "swapr" | "syncswap" | "tako-tako" | "teller" | "tempest" | "termmax" | "thirdtrade" | "thruster" | "toros" | "trader-joe" | "uniswap" | "uranium" | "veda" | "velodrome" | "venus" | "vest" | "vicuna" | "voltage" | "woofi" | "xlend" | "yei" | "zero" | "zerolend" | "zk-swap" | "zkSwapThreePool" | undefined;
897
+ description: string;
898
+ howToSteps: string[];
899
+ depositUrl: string | undefined;
900
+ explorerAddress: string | undefined;
901
+ tags: string[];
902
+ } | {
903
+ id: string;
904
+ chainId: number;
905
+ type: string;
906
+ identifier: string;
907
+ name: string;
908
+ description: string;
909
+ howToSteps: string[];
910
+ depositUrl: string | null;
911
+ explorerAddress: string | null;
912
+ status: import("@package/databases").Status;
913
+ action: import("@package/databases").OpportunityAction;
914
+ mainProtocolId: string | null;
915
+ tvl: number;
916
+ apr: number;
917
+ maxApr: number | null;
918
+ dailyRewards: number;
919
+ tags: string[];
920
+ lastCampaignCreatedAt: Date;
921
+ manualOverrides: import("@package/databases").OpportunityManualOverride[];
922
+ liveCampaigns: number;
923
+ Protocols: {
924
+ id: string;
925
+ tags: string[];
926
+ name: string;
927
+ description: string;
928
+ url: string;
929
+ icon: string;
930
+ }[];
931
+ Tokens: {
932
+ id: string;
933
+ name: string | null;
934
+ chainId: number;
935
+ address: string;
936
+ decimals: number;
937
+ symbol: string;
938
+ displaySymbol: string;
939
+ icon: string;
940
+ verified: boolean;
941
+ isTest: boolean;
942
+ type: import("@package/databases").TokenType;
943
+ isNative: boolean;
944
+ price: number | null;
945
+ updatedAt: number | null;
946
+ priceSource: string | null;
947
+ }[];
948
948
  };
949
949
  422: {
950
950
  type: "validation";
@@ -1084,85 +1084,6 @@ export declare const CampaignTestController: Elysia<"/campaigns", {
1084
1084
  };
1085
1085
  response: {
1086
1086
  200: {
1087
- id: string;
1088
- chainId: number;
1089
- type: string;
1090
- identifier: string;
1091
- name: string;
1092
- status: "LIVE" | "PAST" | "SOON";
1093
- action: any;
1094
- tokens: ({
1095
- address: string;
1096
- chainId: number;
1097
- decimals: number;
1098
- icon: string;
1099
- id: string;
1100
- isNative: boolean;
1101
- isTest: boolean;
1102
- name: string | null;
1103
- symbol: string;
1104
- type: import("@package/databases").TokenType;
1105
- verified: boolean;
1106
- } & {
1107
- price?: number | null | undefined;
1108
- updatedAt?: number | null | undefined;
1109
- priceSource?: string | null | undefined;
1110
- isTokenWrapper?: boolean | undefined;
1111
- tokenWrapperAddress?: string | undefined;
1112
- })[];
1113
- mainProtocol: "aave" | "aerodrome" | "ajna" | "akron" | "ambient" | "angles" | "arrakis" | "arthswap" | "aura" | "avalon" | "badger" | "balancer" | "base-swap" | "beefy" | "beraborrow" | "beratrax" | "bunni" | "camelot" | "cian" | "compound" | "concrete" | "cross_curve" | "crust" | "curve" | "curveNPool" | "dlend" | "dolomite" | "dragonswap" | "eigenlayer" | "ekubo" | "enzyme" | "equalizer" | "equilibria" | "euler" | "fenix" | "filament" | "fluid" | "fluidvault" | "frax" | "fraxlend" | "gamma" | "gammaswap" | "gearbox" | "hanji" | "holdstation" | "horiza" | "hourglass" | "hybra-pair" | "hyperdrive" | "hypurrfi" | "ichi" | "iguana" | "ion" | "ionic" | "ironclad" | "izumi" | "katana" | "kim" | "koi" | "kyo" | "lagoon" | "layerbank" | "lendle" | "lnd" | "maha" | "mangrove" | "maverick" | "mimswap" | "moonwell" | "morpho" | "neptune" | "oku" | "oxium" | "pancake-swap" | "pendle" | "pinto" | "poolside" | "puffer" | "punchswap" | "quickswap" | "ra" | "radiant" | "ramses" | "reactor_fusion" | "reserve" | "retro" | "rfx" | "sake" | "satlayer" | "satoshi" | "silo" | "sonex" | "sonicmarket" | "spectra" | "splice" | "stability" | "stabull" | "stryke" | "sturdy" | "summerfinance" | "superlend" | "supswap" | "sushi-swap" | "swap-x" | "swapr" | "syncswap" | "tako-tako" | "teller" | "tempest" | "termmax" | "thirdtrade" | "thruster" | "toros" | "trader-joe" | "uniswap" | "uranium" | "veda" | "velodrome" | "venus" | "vest" | "vicuna" | "voltage" | "woofi" | "xlend" | "yei" | "zero" | "zerolend" | "zk-swap" | "zkSwapThreePool" | undefined;
1114
- description: string;
1115
- howToSteps: string[];
1116
- depositUrl: string | undefined;
1117
- explorerAddress: string | undefined;
1118
- tags: string[];
1119
- } | {
1120
- id: string;
1121
- chainId: number;
1122
- type: string;
1123
- identifier: string;
1124
- name: string;
1125
- description: string;
1126
- howToSteps: string[];
1127
- depositUrl: string | null;
1128
- explorerAddress: string | null;
1129
- status: import("@package/databases").Status;
1130
- action: import("@package/databases").OpportunityAction;
1131
- mainProtocolId: string | null;
1132
- tvl: number;
1133
- apr: number;
1134
- maxApr: number | null;
1135
- dailyRewards: number;
1136
- tags: string[];
1137
- lastCampaignCreatedAt: Date;
1138
- manualOverrides: import("@package/databases").OpportunityManualOverride[];
1139
- liveCampaigns: number;
1140
- Protocols: {
1141
- id: string;
1142
- tags: string[];
1143
- name: string;
1144
- description: string;
1145
- url: string;
1146
- icon: string;
1147
- }[];
1148
- Tokens: {
1149
- id: string;
1150
- name: string | null;
1151
- chainId: number;
1152
- address: string;
1153
- decimals: number;
1154
- symbol: string;
1155
- displaySymbol: string;
1156
- icon: string;
1157
- verified: boolean;
1158
- isTest: boolean;
1159
- type: import("@package/databases").TokenType;
1160
- isNative: boolean;
1161
- price: number | null;
1162
- updatedAt: number | null;
1163
- priceSource: string | null;
1164
- }[];
1165
- } | {
1166
1087
  distributionChain?: ({
1167
1088
  endOfDisputePeriod: number;
1168
1089
  icon: string;
@@ -1282,6 +1203,85 @@ export declare const CampaignTestController: Elysia<"/campaigns", {
1282
1203
  startTimestamp: number;
1283
1204
  subType: number | null;
1284
1205
  type: string;
1206
+ } | {
1207
+ id: string;
1208
+ chainId: number;
1209
+ type: string;
1210
+ identifier: string;
1211
+ name: string;
1212
+ status: "LIVE" | "PAST" | "SOON";
1213
+ action: any;
1214
+ tokens: ({
1215
+ address: string;
1216
+ chainId: number;
1217
+ decimals: number;
1218
+ icon: string;
1219
+ id: string;
1220
+ isNative: boolean;
1221
+ isTest: boolean;
1222
+ name: string | null;
1223
+ symbol: string;
1224
+ type: import("@package/databases").TokenType;
1225
+ verified: boolean;
1226
+ } & {
1227
+ price?: number | null | undefined;
1228
+ updatedAt?: number | null | undefined;
1229
+ priceSource?: string | null | undefined;
1230
+ isTokenWrapper?: boolean | undefined;
1231
+ tokenWrapperAddress?: string | undefined;
1232
+ })[];
1233
+ mainProtocol: "aave" | "aerodrome" | "ajna" | "akron" | "ambient" | "angles" | "arrakis" | "arthswap" | "aura" | "avalon" | "badger" | "balancer" | "base-swap" | "beefy" | "beraborrow" | "beratrax" | "bunni" | "camelot" | "cian" | "compound" | "concrete" | "cross_curve" | "crust" | "curve" | "curveNPool" | "dlend" | "dolomite" | "dragonswap" | "eigenlayer" | "ekubo" | "enzyme" | "equalizer" | "equilibria" | "euler" | "fenix" | "filament" | "fluid" | "fluidvault" | "frax" | "fraxlend" | "gamma" | "gammaswap" | "gearbox" | "hanji" | "holdstation" | "horiza" | "hourglass" | "hybra-pair" | "hyperdrive" | "hypurrfi" | "ichi" | "iguana" | "ion" | "ionic" | "ironclad" | "izumi" | "katana" | "kim" | "koi" | "kyo" | "lagoon" | "layerbank" | "lendle" | "lnd" | "maha" | "mangrove" | "maverick" | "mimswap" | "moonwell" | "morpho" | "neptune" | "oku" | "oxium" | "pancake-swap" | "pendle" | "pinto" | "poolside" | "puffer" | "punchswap" | "quickswap" | "ra" | "radiant" | "ramses" | "reactor_fusion" | "reserve" | "retro" | "rfx" | "sake" | "satlayer" | "satoshi" | "silo" | "sonex" | "sonicmarket" | "spectra" | "splice" | "stability" | "stabull" | "stryke" | "sturdy" | "summerfinance" | "superlend" | "supswap" | "sushi-swap" | "swap-x" | "swapr" | "syncswap" | "tako-tako" | "teller" | "tempest" | "termmax" | "thirdtrade" | "thruster" | "toros" | "trader-joe" | "uniswap" | "uranium" | "veda" | "velodrome" | "venus" | "vest" | "vicuna" | "voltage" | "woofi" | "xlend" | "yei" | "zero" | "zerolend" | "zk-swap" | "zkSwapThreePool" | undefined;
1234
+ description: string;
1235
+ howToSteps: string[];
1236
+ depositUrl: string | undefined;
1237
+ explorerAddress: string | undefined;
1238
+ tags: string[];
1239
+ } | {
1240
+ id: string;
1241
+ chainId: number;
1242
+ type: string;
1243
+ identifier: string;
1244
+ name: string;
1245
+ description: string;
1246
+ howToSteps: string[];
1247
+ depositUrl: string | null;
1248
+ explorerAddress: string | null;
1249
+ status: import("@package/databases").Status;
1250
+ action: import("@package/databases").OpportunityAction;
1251
+ mainProtocolId: string | null;
1252
+ tvl: number;
1253
+ apr: number;
1254
+ maxApr: number | null;
1255
+ dailyRewards: number;
1256
+ tags: string[];
1257
+ lastCampaignCreatedAt: Date;
1258
+ manualOverrides: import("@package/databases").OpportunityManualOverride[];
1259
+ liveCampaigns: number;
1260
+ Protocols: {
1261
+ id: string;
1262
+ tags: string[];
1263
+ name: string;
1264
+ description: string;
1265
+ url: string;
1266
+ icon: string;
1267
+ }[];
1268
+ Tokens: {
1269
+ id: string;
1270
+ name: string | null;
1271
+ chainId: number;
1272
+ address: string;
1273
+ decimals: number;
1274
+ symbol: string;
1275
+ displaySymbol: string;
1276
+ icon: string;
1277
+ verified: boolean;
1278
+ isTest: boolean;
1279
+ type: import("@package/databases").TokenType;
1280
+ isNative: boolean;
1281
+ price: number | null;
1282
+ updatedAt: number | null;
1283
+ priceSource: string | null;
1284
+ }[];
1285
1285
  };
1286
1286
  422: {
1287
1287
  type: "validation";
@@ -1312,85 +1312,6 @@ export declare const CampaignTestController: Elysia<"/campaigns", {
1312
1312
  };
1313
1313
  response: {
1314
1314
  200: {
1315
- id: string;
1316
- chainId: number;
1317
- type: string;
1318
- identifier: string;
1319
- name: string;
1320
- status: "LIVE" | "PAST" | "SOON";
1321
- action: any;
1322
- tokens: ({
1323
- address: string;
1324
- chainId: number;
1325
- decimals: number;
1326
- icon: string;
1327
- id: string;
1328
- isNative: boolean;
1329
- isTest: boolean;
1330
- name: string | null;
1331
- symbol: string;
1332
- type: import("@package/databases").TokenType;
1333
- verified: boolean;
1334
- } & {
1335
- price?: number | null | undefined;
1336
- updatedAt?: number | null | undefined;
1337
- priceSource?: string | null | undefined;
1338
- isTokenWrapper?: boolean | undefined;
1339
- tokenWrapperAddress?: string | undefined;
1340
- })[];
1341
- mainProtocol: "aave" | "aerodrome" | "ajna" | "akron" | "ambient" | "angles" | "arrakis" | "arthswap" | "aura" | "avalon" | "badger" | "balancer" | "base-swap" | "beefy" | "beraborrow" | "beratrax" | "bunni" | "camelot" | "cian" | "compound" | "concrete" | "cross_curve" | "crust" | "curve" | "curveNPool" | "dlend" | "dolomite" | "dragonswap" | "eigenlayer" | "ekubo" | "enzyme" | "equalizer" | "equilibria" | "euler" | "fenix" | "filament" | "fluid" | "fluidvault" | "frax" | "fraxlend" | "gamma" | "gammaswap" | "gearbox" | "hanji" | "holdstation" | "horiza" | "hourglass" | "hybra-pair" | "hyperdrive" | "hypurrfi" | "ichi" | "iguana" | "ion" | "ionic" | "ironclad" | "izumi" | "katana" | "kim" | "koi" | "kyo" | "lagoon" | "layerbank" | "lendle" | "lnd" | "maha" | "mangrove" | "maverick" | "mimswap" | "moonwell" | "morpho" | "neptune" | "oku" | "oxium" | "pancake-swap" | "pendle" | "pinto" | "poolside" | "puffer" | "punchswap" | "quickswap" | "ra" | "radiant" | "ramses" | "reactor_fusion" | "reserve" | "retro" | "rfx" | "sake" | "satlayer" | "satoshi" | "silo" | "sonex" | "sonicmarket" | "spectra" | "splice" | "stability" | "stabull" | "stryke" | "sturdy" | "summerfinance" | "superlend" | "supswap" | "sushi-swap" | "swap-x" | "swapr" | "syncswap" | "tako-tako" | "teller" | "tempest" | "termmax" | "thirdtrade" | "thruster" | "toros" | "trader-joe" | "uniswap" | "uranium" | "veda" | "velodrome" | "venus" | "vest" | "vicuna" | "voltage" | "woofi" | "xlend" | "yei" | "zero" | "zerolend" | "zk-swap" | "zkSwapThreePool" | undefined;
1342
- description: string;
1343
- howToSteps: string[];
1344
- depositUrl: string | undefined;
1345
- explorerAddress: string | undefined;
1346
- tags: string[];
1347
- } | {
1348
- id: string;
1349
- chainId: number;
1350
- type: string;
1351
- identifier: string;
1352
- name: string;
1353
- description: string;
1354
- howToSteps: string[];
1355
- depositUrl: string | null;
1356
- explorerAddress: string | null;
1357
- status: import("@package/databases").Status;
1358
- action: import("@package/databases").OpportunityAction;
1359
- mainProtocolId: string | null;
1360
- tvl: number;
1361
- apr: number;
1362
- maxApr: number | null;
1363
- dailyRewards: number;
1364
- tags: string[];
1365
- lastCampaignCreatedAt: Date;
1366
- manualOverrides: import("@package/databases").OpportunityManualOverride[];
1367
- liveCampaigns: number;
1368
- Protocols: {
1369
- id: string;
1370
- tags: string[];
1371
- name: string;
1372
- description: string;
1373
- url: string;
1374
- icon: string;
1375
- }[];
1376
- Tokens: {
1377
- id: string;
1378
- name: string | null;
1379
- chainId: number;
1380
- address: string;
1381
- decimals: number;
1382
- symbol: string;
1383
- displaySymbol: string;
1384
- icon: string;
1385
- verified: boolean;
1386
- isTest: boolean;
1387
- type: import("@package/databases").TokenType;
1388
- isNative: boolean;
1389
- price: number | null;
1390
- updatedAt: number | null;
1391
- priceSource: string | null;
1392
- }[];
1393
- } | {
1394
1315
  distributionChain?: ({
1395
1316
  endOfDisputePeriod: number;
1396
1317
  icon: string;
@@ -1510,6 +1431,85 @@ export declare const CampaignTestController: Elysia<"/campaigns", {
1510
1431
  startTimestamp: number;
1511
1432
  subType: number | null;
1512
1433
  type: string;
1434
+ } | {
1435
+ id: string;
1436
+ chainId: number;
1437
+ type: string;
1438
+ identifier: string;
1439
+ name: string;
1440
+ status: "LIVE" | "PAST" | "SOON";
1441
+ action: any;
1442
+ tokens: ({
1443
+ address: string;
1444
+ chainId: number;
1445
+ decimals: number;
1446
+ icon: string;
1447
+ id: string;
1448
+ isNative: boolean;
1449
+ isTest: boolean;
1450
+ name: string | null;
1451
+ symbol: string;
1452
+ type: import("@package/databases").TokenType;
1453
+ verified: boolean;
1454
+ } & {
1455
+ price?: number | null | undefined;
1456
+ updatedAt?: number | null | undefined;
1457
+ priceSource?: string | null | undefined;
1458
+ isTokenWrapper?: boolean | undefined;
1459
+ tokenWrapperAddress?: string | undefined;
1460
+ })[];
1461
+ mainProtocol: "aave" | "aerodrome" | "ajna" | "akron" | "ambient" | "angles" | "arrakis" | "arthswap" | "aura" | "avalon" | "badger" | "balancer" | "base-swap" | "beefy" | "beraborrow" | "beratrax" | "bunni" | "camelot" | "cian" | "compound" | "concrete" | "cross_curve" | "crust" | "curve" | "curveNPool" | "dlend" | "dolomite" | "dragonswap" | "eigenlayer" | "ekubo" | "enzyme" | "equalizer" | "equilibria" | "euler" | "fenix" | "filament" | "fluid" | "fluidvault" | "frax" | "fraxlend" | "gamma" | "gammaswap" | "gearbox" | "hanji" | "holdstation" | "horiza" | "hourglass" | "hybra-pair" | "hyperdrive" | "hypurrfi" | "ichi" | "iguana" | "ion" | "ionic" | "ironclad" | "izumi" | "katana" | "kim" | "koi" | "kyo" | "lagoon" | "layerbank" | "lendle" | "lnd" | "maha" | "mangrove" | "maverick" | "mimswap" | "moonwell" | "morpho" | "neptune" | "oku" | "oxium" | "pancake-swap" | "pendle" | "pinto" | "poolside" | "puffer" | "punchswap" | "quickswap" | "ra" | "radiant" | "ramses" | "reactor_fusion" | "reserve" | "retro" | "rfx" | "sake" | "satlayer" | "satoshi" | "silo" | "sonex" | "sonicmarket" | "spectra" | "splice" | "stability" | "stabull" | "stryke" | "sturdy" | "summerfinance" | "superlend" | "supswap" | "sushi-swap" | "swap-x" | "swapr" | "syncswap" | "tako-tako" | "teller" | "tempest" | "termmax" | "thirdtrade" | "thruster" | "toros" | "trader-joe" | "uniswap" | "uranium" | "veda" | "velodrome" | "venus" | "vest" | "vicuna" | "voltage" | "woofi" | "xlend" | "yei" | "zero" | "zerolend" | "zk-swap" | "zkSwapThreePool" | undefined;
1462
+ description: string;
1463
+ howToSteps: string[];
1464
+ depositUrl: string | undefined;
1465
+ explorerAddress: string | undefined;
1466
+ tags: string[];
1467
+ } | {
1468
+ id: string;
1469
+ chainId: number;
1470
+ type: string;
1471
+ identifier: string;
1472
+ name: string;
1473
+ description: string;
1474
+ howToSteps: string[];
1475
+ depositUrl: string | null;
1476
+ explorerAddress: string | null;
1477
+ status: import("@package/databases").Status;
1478
+ action: import("@package/databases").OpportunityAction;
1479
+ mainProtocolId: string | null;
1480
+ tvl: number;
1481
+ apr: number;
1482
+ maxApr: number | null;
1483
+ dailyRewards: number;
1484
+ tags: string[];
1485
+ lastCampaignCreatedAt: Date;
1486
+ manualOverrides: import("@package/databases").OpportunityManualOverride[];
1487
+ liveCampaigns: number;
1488
+ Protocols: {
1489
+ id: string;
1490
+ tags: string[];
1491
+ name: string;
1492
+ description: string;
1493
+ url: string;
1494
+ icon: string;
1495
+ }[];
1496
+ Tokens: {
1497
+ id: string;
1498
+ name: string | null;
1499
+ chainId: number;
1500
+ address: string;
1501
+ decimals: number;
1502
+ symbol: string;
1503
+ displaySymbol: string;
1504
+ icon: string;
1505
+ verified: boolean;
1506
+ isTest: boolean;
1507
+ type: import("@package/databases").TokenType;
1508
+ isNative: boolean;
1509
+ price: number | null;
1510
+ updatedAt: number | null;
1511
+ priceSource: string | null;
1512
+ }[];
1513
1513
  };
1514
1514
  422: {
1515
1515
  type: "validation";
@@ -1,5 +1,5 @@
1
1
  import { PriceSourceMethod } from "@package/databases/api";
2
- import type PriceFetcher from "./services/priceFetcher";
2
+ import type PriceFetcher from "./interface";
3
3
  /**
4
4
  * @description Factory pattern to get the correct price fetcher
5
5
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../../../../apps/api/src/modules/v4/priceSource/priceFetchers/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,gBAAgB,MAAM,oCAAoC,CAAC;AAClE,OAAO,gBAAgB,MAAM,oCAAoC,CAAC;AAClE,OAAO,kBAAkB,MAAM,sCAAsC,CAAC;AACtE,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,SAAS,MAAM,oCAAoC,CAAC;AAC3D,OAAO,qBAAqB,MAAM,yCAAyC,CAAC;AAG5E;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAC/B,MAAM,CAAU,QAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAE5D,cAAsB,EAAC,CAAC;IAEjB,GAAG,CAAC,IAAuB,EAAgB;QAChD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,iBAAiB,CAAC,SAAS;gBAC9B,OAAO,gBAAgB,CAAC,QAAQ,CAAC;YACnC,KAAK,iBAAiB,CAAC,SAAS;gBAC9B,OAAO,gBAAgB,CAAC,QAAQ,CAAC;YACnC,KAAK,iBAAiB,CAAC,OAAO;gBAC5B,OAAO,cAAc,CAAC,QAAQ,CAAC;YACjC,KAAK,iBAAiB,CAAC,WAAW;gBAChC,OAAO,kBAAkB,CAAC,QAAQ,CAAC;YACrC,KAAK,iBAAiB,CAAC,SAAS;gBAC9B,OAAO,SAAS,CAAC,QAAQ,CAAC;YAC5B,KAAK,iBAAiB,CAAC,YAAY;gBACjC,OAAO,WAAW,CAAC,QAAQ,CAAC;YAC9B,KAAK,iBAAiB,CAAC,UAAU;gBAC/B,OAAO,qBAAqB,CAAC,QAAQ,CAAC;YACxC;gBACE,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;IAAA,CACF;CACF"}
@@ -1,8 +1,10 @@
1
1
  import { type PriceSource } from "@package/databases/api";
2
- import type PriceFetcher from "./priceFetcher";
3
- import type { ResponsePriceType } from "./priceFetcher";
2
+ import type PriceFetcher from "../interface";
4
3
  export default class OnChainCallService implements PriceFetcher {
5
4
  static readonly instance: PriceFetcher;
6
5
  private constructor();
7
- getPrice(priceSources: PriceSource[]): Promise<ResponsePriceType[]>;
6
+ getPrices(priceSources: PriceSource[]): Promise<{
7
+ addressOrSymbol: string;
8
+ price: number;
9
+ }[]>;
8
10
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnChainCallService.js","sourceRoot":"","sources":["../../../../../../../../../apps/api/src/modules/v4/priceSource/priceFetchers/implementations/OnChainCallService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAoB,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAC9B,MAAM,CAAU,QAAQ,GAAiB,IAAI,kBAAkB,EAAE,CAAC;IAEzE,cAAsB,EAAC,CAAC;IAEjB,KAAK,CAAC,SAAS,CAAC,YAA2B,EAAE;QAClD,MAAM,aAAa,GAAG,YAAY;aAC/B,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,KAAK,iBAAiB,CAAC,YAAY,CAAC;aAC5E,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,WAAW,CAAC,IAOxB,CAAC;YACF,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC/D,GAAG,CAAC,IAAI,CAAC,6DAA2D,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC9F,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,IAAI,QAAQ,CACpC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,GAAG,EACR,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CACjD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAEf,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;gBAElE,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE5D,MAAM,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;gBAEnC,8DAA8D;gBAC9D,MAAM,GAAG,GAAG,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;gBAEjE,OAAO,GAAG,CAAC;YACb,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,IAAI,CAAC,4CAA0C,WAAW,CAAC,UAAU,gBAAgB,KAAK,EAAE,CAAC,CAAC;gBAClG,OAAO,SAAS,CAAC;YACnB,CAAC;QAAA,CACF,CAAC,CAAC;QACL,MAAM,cAAc,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAErF,OAAO,cAAc,CAAC,IAAI,EAAE,CAAC;IAAA,CAC9B;CACF"}
@@ -0,0 +1,10 @@
1
+ import type { PriceSource } from "@package/databases/api";
2
+ import type PriceFetcher from "../interface";
3
+ import type { PriceFetchResult } from "../interface";
4
+ export default class CoingeckoService implements PriceFetcher {
5
+ #private;
6
+ static readonly instance: CoingeckoService;
7
+ private constructor();
8
+ private baseUrl;
9
+ getPrices(priceSources: PriceSource[]): Promise<PriceFetchResult[]>;
10
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coinGeckoService.js","sourceRoot":"","sources":["../../../../../../../../../apps/api/src/modules/v4/priceSource/priceFetchers/implementations/coinGeckoService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAIlD,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAC5B,MAAM,CAAU,QAAQ,GAAqB,IAAI,gBAAgB,EAAE,CAAC;IAE3E,cAAsB,EAAC,CAAC;IAEhB,OAAO,GAAG,wCAAwC,CAAC;IAE3D,SAAS,CAAC,MAAqB,EAAE;QAC/B,MAAM,YAAY,GAAG,MAAM;aACxB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,KAAK,CAAC,IAA0B,CAAC;YAC9C,IAAI,CAAC,IAAI,EAAE,MAAM;gBAAE,OAAO,GAAG,CAAC,IAAI,CAAC,6CAA2C,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YAClG,OAAO,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC;QAAA,CACnC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAAA,CAC1C;IAEM,KAAK,CAAC,SAAS,CAAC,YAA2B,EAAE;QAClD,MAAM,SAAS,GAAG,GAAG,CAAC;QACtB,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,YAAY,GAAyB,MAAM,OAAO,CAAC,GAAG,CAC1D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAClC,OAAO,KAAK;iBACT,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;iBAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACX,MAAM,gBAAgB,GAAuB,EAAE,CAAC;gBAChD,KAAK,MAAM,WAAW,IAAI,KAAK,EAAE,CAAC;oBAChC,MAAM,IAAI,GAAG,WAAW,CAAC,IAA0B,CAAC;oBACpD,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;wBACxE,GAAG,CAAC,IAAI,CAAC,iCAA+B,WAAW,CAAC,UAAU,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;wBAC7F,SAAS;oBACX,CAAC;oBACD,gBAAgB,CAAC,IAAI,CAAC;wBACpB,eAAe,EAAE,WAAW,CAAC,UAAU;wBACvC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;qBAC9D,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,gBAAgB,CAAC;YAAA,CACzB,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACZ,GAAG,CAAC,KAAK,CAAC,qCAAmC,EAAE,GAAG,CAAC,CAAC;gBACpD,OAAO,EAAwB,CAAC;YAAA,CACjC,CAAC,CAAC;QAAA,CACN,CAAC,CACH,CAAC;QAEF,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC;IAAA,CAC5B;CACF"}
@@ -0,0 +1,10 @@
1
+ import type { PriceSource } from "@package/databases/api";
2
+ import type PriceFetcher from "../interface";
3
+ import type { PriceFetchResult } from "../interface";
4
+ export default class DefillamaService implements PriceFetcher {
5
+ #private;
6
+ static readonly instance: DefillamaService;
7
+ private constructor();
8
+ private baseUrl;
9
+ getPrices(priceSources: PriceSource[]): Promise<PriceFetchResult[]>;
10
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defillamaService.js","sourceRoot":"","sources":["../../../../../../../../../apps/api/src/modules/v4/priceSource/priceFetchers/implementations/defillamaService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAIlD,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAC5B,MAAM,CAAU,QAAQ,GAAqB,IAAI,gBAAgB,EAAE,CAAC;IAE3E,cAAsB,EAAC,CAAC;IAEhB,OAAO,GAAG,wCAAwC,CAAC;IAE3D,SAAS,CAAC,MAAqB,EAAE;QAC/B,MAAM,WAAW,GAAG,MAAM;aACvB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,KAAK,CAAC,IAA0C,CAAC;YAC9D,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK;gBAChC,OAAO,GAAG,CAAC,IAAI,CAAC,8CAA4C,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YAClF,OAAO,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAAA,CACzC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAAA,CACzC;IAEM,KAAK,CAAC,SAAS,CAAC,YAA2B,EAAE;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACzC,OAAO,KAAK;aACT,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;aAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACX,MAAM,MAAM,GAAuB,EAAE,CAAC;YACtC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,WAAW,CAAC,IAA0C,CAAC;gBACpE,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;oBAC/F,GAAG,CAAC,IAAI,CAAC,wCAAsC,WAAW,CAAC,UAAU,iBAAiB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;oBACtG,SAAS;gBACX,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC;oBACV,eAAe,EAAE,WAAW,CAAC,UAAU;oBACvC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;iBACpE,CAAC,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAAA,CACf,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACZ,GAAG,CAAC,KAAK,CAAC,qCAAmC,EAAE,GAAG,CAAC,CAAC;YACpD,OAAO,EAAwB,CAAC;QAAA,CACjC,CAAC,CAAC;IAAA,CACN;CACF"}
@@ -0,0 +1,9 @@
1
+ import type { PriceSource } from "@package/databases/api";
2
+ import type PriceFetcher from "../interface";
3
+ import type { PriceFetchResult } from "../interface";
4
+ export default class DexScreenerService implements PriceFetcher {
5
+ static readonly instance: PriceFetcher;
6
+ private baseUrl;
7
+ private constructor();
8
+ getPrices(priceSources: PriceSource[]): Promise<PriceFetchResult[]>;
9
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dexScreenerService.js","sourceRoot":"","sources":["../../../../../../../../../apps/api/src/modules/v4/priceSource/priceFetchers/implementations/dexScreenerService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAIlD,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAC9B,MAAM,CAAU,QAAQ,GAAiB,IAAI,kBAAkB,EAAE,CAAC;IAEjE,OAAO,GAAG,+CAA+C,CAAC;IAElE,cAAsB,EAAC,CAAC;IAEjB,KAAK,CAAC,SAAS,CAAC,YAA2B,EAAE;QAClD,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAC7C,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAmD,CAAC;YAC7E,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;oBAAE,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,GAAG,CAAC;QAAA,CACZ,EACD,EAA8B,CAC/B,CAAC;QAEF,uCAAuC;QACvC,MAAM,GAAG,GAAuB,EAAE,CAAC;QAEnC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YACtF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,GAAkB,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;oBACnD,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;gBAEH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAChB,GAAG,CAAC,IAAI,CAAC,+DAA2D,KAAK,EAAE,CAAC,CAAC;oBAC7E,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAED,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC;oBACpC,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACjD,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;iBAC7B,CAAC,CAAC,CAAC;YACN,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CAAC,mDAAiD,KAAK,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC5E,OAAO,EAAE,CAAC;YACZ,CAAC;QAAA,CACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACjD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QAE/C,OAAO,GAAG,CAAC;IAAA,CACZ;CACF"}
@@ -0,0 +1,9 @@
1
+ import { type PriceSource } from "@package/databases/api";
2
+ import type PriceFetcher from "../interface";
3
+ import type { PriceFetchResult } from "../interface";
4
+ export default class ERC4626Service implements PriceFetcher {
5
+ #private;
6
+ static readonly instance: PriceFetcher;
7
+ private constructor();
8
+ getPrices(priceSources: PriceSource[]): Promise<PriceFetchResult[]>;
9
+ }