@merkl/api 0.10.324 → 0.10.326

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 (23) hide show
  1. package/dist/src/eden/index.d.ts +3 -3
  2. package/dist/src/index.d.ts +1 -1
  3. package/dist/src/libs/campaigns/campaignTypes/ERC20DynamicData.js +5 -14
  4. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/tokenType.d.ts +2 -2
  5. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/GenericProcessor.d.ts +5 -6
  6. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesRound1.d.ts +2 -3
  7. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesRound1.js +2 -1
  8. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesRound2.d.ts +2 -2
  9. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesRound3.d.ts +1 -2
  10. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesRound4.d.ts +2 -3
  11. package/dist/src/libs/campaigns/utils/fetchLogs.d.ts +1 -1
  12. package/dist/src/libs/campaigns/utils/fetchLogs.js +34 -11
  13. package/dist/src/libs/campaigns/utils/getCompV2ForksVaults.js +2 -0
  14. package/dist/src/modules/v4/dynamicData/dynamicData.service.js +1 -1
  15. package/dist/src/modules/v4/programPayload/programPayload.repository.d.ts +3 -3
  16. package/dist/src/modules/v4/programPayload/programPayload.repository.js +3 -3
  17. package/dist/src/modules/v4/programPayload/programPayload.service.js +3 -0
  18. package/dist/src/routes/v3/multiChainPositions.d.ts +2 -2
  19. package/dist/src/routes/v3/multiChainPositions.js +1 -1
  20. package/dist/src/routes/v3/router.d.ts +1 -1
  21. package/dist/src/utils/encodeCalls.d.ts +2 -2
  22. package/dist/tsconfig.package.tsbuildinfo +1 -1
  23. package/package.json +1 -1
@@ -2789,8 +2789,8 @@ declare const eden: {
2789
2789
  headers?: Record<string, unknown> | undefined;
2790
2790
  query: {
2791
2791
  chainIds?: string | string[] | undefined;
2792
+ creatorTag?: string | undefined;
2792
2793
  user: string;
2793
- creatorTag: string;
2794
2794
  };
2795
2795
  fetch?: RequestInit | undefined;
2796
2796
  }) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
@@ -6602,8 +6602,8 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
6602
6602
  params: {};
6603
6603
  query: {
6604
6604
  chainIds?: string | string[] | undefined;
6605
+ creatorTag?: string | undefined;
6605
6606
  user: string;
6606
- creatorTag: string;
6607
6607
  };
6608
6608
  headers: unknown;
6609
6609
  response: {
@@ -9783,8 +9783,8 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
9783
9783
  headers?: Record<string, unknown> | undefined;
9784
9784
  query: {
9785
9785
  chainIds?: string | string[] | undefined;
9786
+ creatorTag?: string | undefined;
9786
9787
  user: string;
9787
- creatorTag: string;
9788
9788
  };
9789
9789
  fetch?: RequestInit | undefined;
9790
9790
  }) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
@@ -3495,8 +3495,8 @@ declare const app: Elysia<"", false, {
3495
3495
  params: {};
3496
3496
  query: {
3497
3497
  chainIds?: string | string[] | undefined;
3498
+ creatorTag?: string | undefined;
3498
3499
  user: string;
3499
- creatorTag: string;
3500
3500
  };
3501
3501
  headers: unknown;
3502
3502
  response: {
@@ -1,6 +1,5 @@
1
1
  import { merklChainDataWithCache } from "../../merklChainData";
2
- import { BN2Number, BalancerPoolInterface, ERC20Interface, EnzymeInterface, FactoryInterface, MetamorphoInterface, YEAR, } from "@sdk";
3
- import { batchMulticallCallWithRetry } from "../../../utils/generic";
2
+ import { BN2Number, BalancerPoolInterface, ChainInteractionService, ERC20Interface, EnzymeInterface, FactoryInterface, MetamorphoInterface, YEAR, } from "@sdk";
4
3
  import { Pricer } from "../../../utils/pricer";
5
4
  import { getLastEligibilityRatio } from "../utils/getLastEligibilityRatio";
6
5
  import { getTVL } from "./ERC20SubTypes/helpers/getTVL";
@@ -57,9 +56,7 @@ export async function ERC20DynamicData(chainId, campaigns) {
57
56
  target: campaign.campaignParameters.targetToken,
58
57
  });
59
58
  }
60
- const resultRound1 = await batchMulticallCallWithRetry(chainId, {
61
- calls: callsRounds1,
62
- });
59
+ const resultRound1 = await ChainInteractionService(chainId).fetchState(callsRounds1);
63
60
  const tokenTypesByCampaign = {};
64
61
  // Round 2: Decode result from round 1 and get some additional info for the types before the final calls
65
62
  const callsRounds2 = [];
@@ -75,9 +72,7 @@ export async function ERC20DynamicData(chainId, campaigns) {
75
72
  tokenTypesByCampaign[campaign.campaignId] = typeStruct;
76
73
  callsRounds2.push(...typeStruct.calls);
77
74
  }
78
- const resultRound2 = await batchMulticallCallWithRetry(chainId, {
79
- calls: callsRounds2,
80
- });
75
+ const resultRound2 = await ChainInteractionService(chainId).fetchState(callsRounds2);
81
76
  // Round 3: Decode result from round 2 and get some additional info for the types before the final calls
82
77
  const callsRounds3 = [];
83
78
  let j = 0;
@@ -88,9 +83,7 @@ export async function ERC20DynamicData(chainId, campaigns) {
88
83
  j += callsForCampaign;
89
84
  callsRounds3.push(...tokenTypesByCampaign[campaign.campaignId].calls);
90
85
  }
91
- const resultRound3 = await batchMulticallCallWithRetry(chainId, {
92
- calls: callsRounds3,
93
- });
86
+ const resultRound3 = await ChainInteractionService(chainId).fetchState(callsRounds3);
94
87
  // Final round before execute
95
88
  let callsFinal = [];
96
89
  j = 0;
@@ -101,9 +94,7 @@ export async function ERC20DynamicData(chainId, campaigns) {
101
94
  callsFinal = callsFinal.concat(tokenTypesByCampaign[campaign.campaignId].calls);
102
95
  }
103
96
  // Round 4: Get the final data
104
- const resultsFinal = await batchMulticallCallWithRetry(chainId, {
105
- calls: callsFinal,
106
- });
97
+ const resultsFinal = await ChainInteractionService(chainId).fetchState(callsFinal);
107
98
  j = 0;
108
99
  let calls = [];
109
100
  for (const campaign of campaigns) {
@@ -1,4 +1,4 @@
1
- import type { Multicall3 } from "libs/sdk/src/generated/Multicall";
1
+ import type { CallDto } from "@sdk";
2
2
  export declare enum tokenType {
3
3
  aura = "aura",
4
4
  poolside = "poolside",
@@ -72,6 +72,6 @@ export declare const tokenTypeToProtocol: {
72
72
  };
73
73
  export type tokenTypeStruct = {
74
74
  type: tokenType;
75
- calls: Multicall3.Call3Struct[];
75
+ calls: CallDto[];
76
76
  typeInfo: any;
77
77
  };
@@ -1,6 +1,5 @@
1
1
  import type { Pricer } from "../../../../../utils/pricer";
2
- import { type Campaign, type CampaignParameters } from "@sdk";
3
- import type { Multicall3 } from "libs/sdk/src/generated/Multicall";
2
+ import { type CallDto, type Campaign, type CampaignParameters } from "@sdk";
4
3
  import { type tokenType, type tokenTypeStruct } from "../helpers/tokenType";
5
4
  export declare enum roundType {
6
5
  one = "round1",
@@ -62,11 +61,11 @@ export declare class GenericProcessor<Input extends callKeys, DataRaw extends da
62
61
  computeRound3(index: number, type: tokenType, typeInfo: DataRaw, calls: string[]): tokenTypeStruct;
63
62
  computeRound4(index: number, type: tokenType, typeInfo: DataRaw, calls: string[], campaign: CampaignParameters<Campaign.ERC20> | CampaignParameters<Campaign.ERC20LOGPROCESSOR> | CampaignParameters<Campaign.ERC20REBASELOGPROCESSOR> | CampaignParameters<Campaign.EULER>): tokenTypeStruct;
64
63
  computeRound5(index: number, type: tokenType, typeInfo: DataRaw, calls: string[], campaign: CampaignParameters<Campaign.ERC20> | CampaignParameters<Campaign.ERC20LOGPROCESSOR> | CampaignParameters<Campaign.ERC20REBASELOGPROCESSOR> | CampaignParameters<Campaign.EULER>, pricer: Pricer): Promise<tokenTypeStruct>;
65
- generateWhitelistCall(type: tokenType, typeInfo: DataRaw, campaign: CampaignParameters<Campaign.ERC20> | CampaignParameters<Campaign.ERC20LOGPROCESSOR> | CampaignParameters<Campaign.ERC20REBASELOGPROCESSOR> | CampaignParameters<Campaign.EULER>): Multicall3.Call3Struct[];
66
- generateBlackListCall(type: tokenType, typeInfo: DataRaw, campaign: CampaignParameters<Campaign.ERC20> | CampaignParameters<Campaign.ERC20LOGPROCESSOR> | CampaignParameters<Campaign.ERC20REBASELOGPROCESSOR> | CampaignParameters<Campaign.EULER>): Multicall3.Call3Struct[];
64
+ generateWhitelistCall(type: tokenType, typeInfo: DataRaw, campaign: CampaignParameters<Campaign.ERC20> | CampaignParameters<Campaign.ERC20LOGPROCESSOR> | CampaignParameters<Campaign.ERC20REBASELOGPROCESSOR> | CampaignParameters<Campaign.EULER>): CallDto[];
65
+ generateBlackListCall(type: tokenType, typeInfo: DataRaw, campaign: CampaignParameters<Campaign.ERC20> | CampaignParameters<Campaign.ERC20LOGPROCESSOR> | CampaignParameters<Campaign.ERC20REBASELOGPROCESSOR> | CampaignParameters<Campaign.EULER>): CallDto[];
67
66
  decodeListedSupply(index: number, decimals: number, list: string[], calls: string[]): string;
68
67
  decodeRound(round: callType[], index: number, calls: string[], type: tokenType, data: DataRaw): void;
69
68
  decodePreviousRound(round: roundType, calls: string[], data: DataRaw, type: tokenType, index: number): void;
70
- encodeRound(round: callType[], callInfo: Input, type: tokenType): Multicall3.Call3Struct[];
71
- encodeNextRound(round: roundType, type: tokenType, data: DataRaw): Multicall3.Call3Struct[];
69
+ encodeRound(round: callType[], callInfo: Input, type: tokenType): CallDto[];
70
+ encodeNextRound(round: roundType, type: tokenType, data: DataRaw): CallDto[];
72
71
  }
@@ -1,4 +1,3 @@
1
- import { type Campaign, type CampaignParameters } from "@sdk";
2
- import type { Multicall3 } from "libs/sdk/src/generated/Multicall";
1
+ import { type Campaign, type CampaignParameters, type ResultDto } from "@sdk";
3
2
  import { type tokenTypeStruct } from "./helpers/tokenType";
4
- export declare function getTokenTypeRound1(calls: Multicall3.ResultStructOutput[], targetToken: string, index: number, campaign: CampaignParameters<Campaign.ERC20> | CampaignParameters<Campaign.ERC20LOGPROCESSOR> | CampaignParameters<Campaign.ERC20REBASELOGPROCESSOR> | CampaignParameters<Campaign.EULER>): tokenTypeStruct;
3
+ export declare function getTokenTypeRound1(calls: ResultDto[], targetToken: string, index: number, campaign: CampaignParameters<Campaign.ERC20> | CampaignParameters<Campaign.ERC20LOGPROCESSOR> | CampaignParameters<Campaign.ERC20REBASELOGPROCESSOR> | CampaignParameters<Campaign.EULER>): tokenTypeStruct;
@@ -48,7 +48,8 @@ function satisfiesNameConditions(name, type) {
48
48
  return (lowerCaseName === "crvusd/frax" ||
49
49
  lowerCaseName === "ezeth/wfrxeth" ||
50
50
  lowerCaseName === "pufeth/wsteth" ||
51
- lowerCaseName === "hai/lusd");
51
+ lowerCaseName === "hai/lusd" ||
52
+ lowerCaseName === "weth/pufeth");
52
53
  case tokenType.crosscurve:
53
54
  return lowerCaseName.startsWith("crosscurve") || lowerCaseName === "eywa/usdt";
54
55
  case tokenType.silostaking:
@@ -1,3 +1,3 @@
1
- import type { Multicall3 } from "libs/sdk/src/generated/Multicall";
1
+ import type { ResultDto } from "@sdk";
2
2
  import type { tokenType, tokenTypeStruct } from "./helpers/tokenType";
3
- export declare function getTokenTypeRound2(index: number, type: tokenType, typeInfo: any, calls: Multicall3.ResultStructOutput[]): tokenTypeStruct;
3
+ export declare function getTokenTypeRound2(index: number, type: tokenType, typeInfo: any, calls: ResultDto[]): tokenTypeStruct;
@@ -1,3 +1,2 @@
1
- import type { Multicall3 } from "libs/sdk/src/generated/Multicall";
2
1
  import type { tokenType, tokenTypeStruct } from "./helpers/tokenType";
3
- export declare function getTokenTypeRound3(index: number, type: tokenType, typeInfo: any, calls: Multicall3.ResultStructOutput[]): tokenTypeStruct;
2
+ export declare function getTokenTypeRound3(index: number, type: tokenType, typeInfo: any, calls: ResultDto[]): tokenTypeStruct;
@@ -1,4 +1,3 @@
1
- import type { Campaign, CampaignParameters } from "@sdk";
2
- import type { Multicall3 } from "libs/sdk/src/generated/Multicall";
1
+ import type { Campaign, CampaignParameters, ResultDto } from "@sdk";
3
2
  import type { tokenType, tokenTypeStruct } from "./helpers/tokenType";
4
- export declare function getTokenTypeRound4(index: number, type: tokenType, typeInfo: any, calls: Multicall3.ResultStructOutput[], campaign: CampaignParameters<Campaign.ERC20> | CampaignParameters<Campaign.ERC20LOGPROCESSOR> | CampaignParameters<Campaign.ERC20REBASELOGPROCESSOR> | CampaignParameters<Campaign.EULER>): tokenTypeStruct;
3
+ export declare function getTokenTypeRound4(index: number, type: tokenType, typeInfo: any, calls: ResultDto[], campaign: CampaignParameters<Campaign.ERC20> | CampaignParameters<Campaign.ERC20LOGPROCESSOR> | CampaignParameters<Campaign.ERC20REBASELOGPROCESSOR> | CampaignParameters<Campaign.EULER>): tokenTypeStruct;
@@ -1,4 +1,4 @@
1
- import type { MerklChainId } from "@sdk";
1
+ import { type MerklChainId } from "@sdk";
2
2
  export type LogType = {
3
3
  data: string;
4
4
  topics: ReadonlyArray<string>;
@@ -1,10 +1,28 @@
1
1
  import { log } from "../../../utils/logger";
2
2
  import { providers } from "../../../utils/providers";
3
+ import { getContractCreationBlock } from "@sdk";
3
4
  import axios from "axios";
4
5
  async function fetchLogs(chainId, topics, addresses, fromBlock, toBlock) {
5
6
  const url = providers[chainId].connection.url;
6
- if (fromBlock === undefined || fromBlock === null || !toBlock) {
7
- throw new Error("fromBlock and toBlock are required");
7
+ if (fromBlock === undefined || fromBlock === null || !toBlock || fromBlock > toBlock) {
8
+ throw new Error(`fromBlock and toBlock are required and fromBlock must be less than toBlock - fromBlock: ${fromBlock} - toBlock:${toBlock}`);
9
+ }
10
+ // Take the min of all address creation blocks
11
+ if (fromBlock === 0) {
12
+ let contractCreationBlock = toBlock;
13
+ for (const address of addresses) {
14
+ try {
15
+ const aux = await getContractCreationBlock(address, providers[chainId]);
16
+ if (aux < contractCreationBlock) {
17
+ contractCreationBlock = aux;
18
+ }
19
+ }
20
+ catch {
21
+ contractCreationBlock = 0;
22
+ log.warn(`⚠️ couldn't get contract creation blocknumber for ${address}`);
23
+ }
24
+ }
25
+ fromBlock = contractCreationBlock;
8
26
  }
9
27
  const headers = {
10
28
  accept: "application/json",
@@ -12,11 +30,12 @@ async function fetchLogs(chainId, topics, addresses, fromBlock, toBlock) {
12
30
  };
13
31
  let tempFromBlock = fromBlock;
14
32
  let tempToBlock = toBlock;
15
- log.local(`fetching logs between blocks ${fromBlock} and ${toBlock}`);
33
+ log.info(`⏳ fetching logs between blocks ${fromBlock} and ${toBlock}`);
16
34
  let step = tempToBlock - tempFromBlock;
17
35
  // Binary search to fetch logs and avoid errors
18
36
  let logs = [];
19
37
  let isRateLimitingError = false;
38
+ // let stepLimited = false;
20
39
  while (true) {
21
40
  try {
22
41
  const data = {
@@ -25,9 +44,9 @@ async function fetchLogs(chainId, topics, addresses, fromBlock, toBlock) {
25
44
  method: "eth_getLogs",
26
45
  params: [
27
46
  {
28
- address: [...addresses],
47
+ address: addresses,
29
48
  topics: topics,
30
- fromBlock: `0x${(tempFromBlock + 1).toString(16)}`, // fromBlock is included
49
+ fromBlock: `0x${(tempFromBlock).toString(16)}`, // fromBlock is included
31
50
  toBlock: `0x${tempToBlock.toString(16)}`, // toBlock is included
32
51
  },
33
52
  ],
@@ -43,13 +62,17 @@ async function fetchLogs(chainId, topics, addresses, fromBlock, toBlock) {
43
62
  if (res.data.error?.code === 413) {
44
63
  throw new Error("Request entity too large");
45
64
  }
65
+ // Check if we hit the maximum log limit for a single call
46
66
  if (res.data.result?.length === 10000)
47
67
  throw new Error("Log size exceeded");
48
- logs = logs.concat(...res.data.result);
49
- log.local(`fetched ${res.data.result.length} logs between blocks ${tempFromBlock} and ${tempToBlock}`);
68
+ const logsBatch = res.data.result || [];
69
+ logs = logs.concat(...logsBatch);
70
+ const batchSize = logsBatch.length;
71
+ const blockRange = tempToBlock - tempFromBlock + 1;
72
+ log.local(`fetched ${batchSize} logs between blocks ${tempFromBlock} and ${tempToBlock} (block range: ${blockRange})`);
50
73
  }
51
74
  catch (e) {
52
- if (e.toString() === "Error: Request failed with status code 429") {
75
+ if (e instanceof Error && e.toString() === "Error: Request failed with status code 429") {
53
76
  isRateLimitingError = true;
54
77
  }
55
78
  if (isRateLimitingError) {
@@ -59,11 +82,11 @@ async function fetchLogs(chainId, topics, addresses, fromBlock, toBlock) {
59
82
  }
60
83
  const message = `error making POST request: ${e}`;
61
84
  log.error("fetchLogs", message);
62
- throw message;
85
+ throw new Error(message);
63
86
  }
64
87
  if (tempToBlock === toBlock)
65
88
  break;
66
- tempFromBlock = Math.min(tempFromBlock + step, toBlock);
89
+ tempFromBlock = Math.min(tempToBlock + 1, toBlock);
67
90
  tempToBlock = Math.min(tempToBlock + step, toBlock);
68
91
  }
69
92
  catch {
@@ -74,7 +97,7 @@ async function fetchLogs(chainId, topics, addresses, fromBlock, toBlock) {
74
97
  isRateLimitingError = false;
75
98
  }
76
99
  if (step === 0) {
77
- log.error("fetchLogs", `error fetching logs for ${addresses}`);
100
+ log.error("fetchLogs", `error fetching logs for ${addresses}`);
78
101
  return { logs, block: tempFromBlock };
79
102
  }
80
103
  tempToBlock = tempFromBlock + step;
@@ -1,5 +1,6 @@
1
1
  import { Redis } from "../../../cache";
2
2
  import { batchMulticallCallWithRetry } from "../../../utils/generic";
3
+ import { log } from "../../../utils/logger";
3
4
  import { providers } from "../../../utils/providers";
4
5
  import { CTokenInterface, ChainId, CompFork, Comptrollers, ERC20Interface, NULL_ADDRESS, } from "@sdk";
5
6
  import { defaultAbiCoder } from "ethers/lib/utils";
@@ -15,6 +16,7 @@ async function getCompoundV2ForksVaults() {
15
16
  if ([ChainId.LINEA].includes(chainId)) {
16
17
  continue;
17
18
  }
19
+ log.local(`Fetching Compound V2 vaults for chainId ${ChainId[chainId]} and compFork ${CompFork[compFork]}`);
18
20
  const toBlock = await providers[chainId].getBlockNumber();
19
21
  const comptrollerAddress = Comptrollers[compFork][chainId];
20
22
  if (!comptrollerAddress) {
@@ -12,7 +12,7 @@ export class DynamicDataService {
12
12
  amount: "1000000000000000000", // 1 EXR in wei
13
13
  campaignSubType: 0,
14
14
  chainId: chainId,
15
- computeChainId: 1,
15
+ computeChainId: chainId,
16
16
  creator: "0xexamplecreatoraddress",
17
17
  endTimestamp: 1672531199, // Example end timestamp
18
18
  index: 0,
@@ -36,7 +36,7 @@ export declare enum pufferCampaigns {
36
36
  export declare enum zkSyncCampaigns {
37
37
  Izumi_Finance_Zk_Weth = "Izumi Finance ZK/WETH 0xd62bc9f19bd94fde9c41df4b6eb6419ea6b8e25c",
38
38
  Izumi_Finance_WBTC_BTC = "Izumi Finance WBTC/BTC 0x6e357cd3a4b38bbca4c34777379cf6989e3da501",
39
- Izumi_Finance_WETH_USDC = "Izumi Finance WBTC/BTC 0x43ff8a10b6678462265b00286796e88f03c8839a",
39
+ Izumi_Finance_WETH_USDC = "Izumi Finance WETH/USDC 0x43ff8a10b6678462265b00286796e88f03c8839a",
40
40
  Venus_USDCe = "Venus USDCe 0x1af23bd57c62a99c59ad48236553d0dd11e49d2d",
41
41
  Venus_USDC = "Venus USDC 0x84064c058f2efea4ab648bb6bd7e40f83ffde39a",
42
42
  Venus_WBTC = "Venus WBTC 0xaf8fd83cfcbe963211faaf1847f0f217f80b4719",
@@ -89,8 +89,8 @@ export declare enum zkSyncCampaigns {
89
89
  SyncSwap_USDC_USDCe = "SyncSwap USDC/USDC.e Stable Pool 0xa93472c1b88243793e145b237b7172f1ee547836",
90
90
  SyncSwap_wETH_wstETH = "SyncSwap WETH/wstETH Aqua Pool 0x12e7a9423d9128287e63017ee6d1f20e1c237f15",
91
91
  SyncSwap_ETH_wrsETH = "SyncSwap ETH/wrsETH Aqua Pool 0x58ba6ddb7af82a106219dc412395ad56284bc5b3",
92
- SyncSwap_ZK_ETH = "SyncSwap WBTC-M-BTC Stable Pool v2.1 0x45856bd6bb9f076f4c558a4d5932c6c8d832b0d0",
93
- SyncSwap_USDCe_ETH = "SyncSwap WBTC-M-BTC Stable Pool v2.1 0x80115c708e12edd42e504c1cd52aea96c547c05c",
92
+ SyncSwap_ZK_ETH = "SyncSwap ZK-ETH 0x45856bd6bb9f076f4c558a4d5932c6c8d832b0d0",
93
+ SyncSwap_USDCe_ETH = "SyncSwap USDCe-ETH 0x80115c708e12edd42e504c1cd52aea96c547c05c",
94
94
  SyncSwap_USDC_USDM_Range = "SyncSwap USDC/USDM Range Pool 0xc9d2f9f56904dd71de34f2d696f5afc508f93ac3",
95
95
  SyncSwap_ETH_wrsETH_Range = "SyncSwap USDC/USDM Range Pool 0xfe1fc5128b5f5e7c0742bf4bfcbb5466fdf96e12",
96
96
  SyncSwap_ZK_ETH_Range = "SyncSwap ZK/ETH Range Pool 0x01e00f0064fa11bb35d1251df35376d60af7d435",
@@ -39,7 +39,7 @@ export var zkSyncCampaigns;
39
39
  (function (zkSyncCampaigns) {
40
40
  zkSyncCampaigns["Izumi_Finance_Zk_Weth"] = "Izumi Finance ZK/WETH 0xd62bc9f19bd94fde9c41df4b6eb6419ea6b8e25c";
41
41
  zkSyncCampaigns["Izumi_Finance_WBTC_BTC"] = "Izumi Finance WBTC/BTC 0x6e357cd3a4b38bbca4c34777379cf6989e3da501";
42
- zkSyncCampaigns["Izumi_Finance_WETH_USDC"] = "Izumi Finance WBTC/BTC 0x43ff8a10b6678462265b00286796e88f03c8839a";
42
+ zkSyncCampaigns["Izumi_Finance_WETH_USDC"] = "Izumi Finance WETH/USDC 0x43ff8a10b6678462265b00286796e88f03c8839a";
43
43
  zkSyncCampaigns["Venus_USDCe"] = "Venus USDCe 0x1af23bd57c62a99c59ad48236553d0dd11e49d2d";
44
44
  zkSyncCampaigns["Venus_USDC"] = "Venus USDC 0x84064c058f2efea4ab648bb6bd7e40f83ffde39a";
45
45
  zkSyncCampaigns["Venus_WBTC"] = "Venus WBTC 0xaf8fd83cfcbe963211faaf1847f0f217f80b4719";
@@ -92,8 +92,8 @@ export var zkSyncCampaigns;
92
92
  zkSyncCampaigns["SyncSwap_USDC_USDCe"] = "SyncSwap USDC/USDC.e Stable Pool 0xa93472c1b88243793e145b237b7172f1ee547836";
93
93
  zkSyncCampaigns["SyncSwap_wETH_wstETH"] = "SyncSwap WETH/wstETH Aqua Pool 0x12e7a9423d9128287e63017ee6d1f20e1c237f15";
94
94
  zkSyncCampaigns["SyncSwap_ETH_wrsETH"] = "SyncSwap ETH/wrsETH Aqua Pool 0x58ba6ddb7af82a106219dc412395ad56284bc5b3";
95
- zkSyncCampaigns["SyncSwap_ZK_ETH"] = "SyncSwap WBTC-M-BTC Stable Pool v2.1 0x45856bd6bb9f076f4c558a4d5932c6c8d832b0d0";
96
- zkSyncCampaigns["SyncSwap_USDCe_ETH"] = "SyncSwap WBTC-M-BTC Stable Pool v2.1 0x80115c708e12edd42e504c1cd52aea96c547c05c";
95
+ zkSyncCampaigns["SyncSwap_ZK_ETH"] = "SyncSwap ZK-ETH 0x45856bd6bb9f076f4c558a4d5932c6c8d832b0d0";
96
+ zkSyncCampaigns["SyncSwap_USDCe_ETH"] = "SyncSwap USDCe-ETH 0x80115c708e12edd42e504c1cd52aea96c547c05c";
97
97
  zkSyncCampaigns["SyncSwap_USDC_USDM_Range"] = "SyncSwap USDC/USDM Range Pool 0xc9d2f9f56904dd71de34f2d696f5afc508f93ac3";
98
98
  zkSyncCampaigns["SyncSwap_ETH_wrsETH_Range"] = "SyncSwap USDC/USDM Range Pool 0xfe1fc5128b5f5e7c0742bf4bfcbb5466fdf96e12";
99
99
  zkSyncCampaigns["SyncSwap_ZK_ETH_Range"] = "SyncSwap ZK/ETH Range Pool 0x01e00f0064fa11bb35d1251df35376d60af7d435";
@@ -140,6 +140,9 @@ export class ProgramPayloadService {
140
140
  const queryCampaign = { ...query, campaign, amount: amount };
141
141
  campaignPayloads = ProgramPayloadService.buildPayload(queryCampaign, campaignPayloads);
142
142
  }
143
+ else {
144
+ throw new Error(`Campaign ${campaign} not found`);
145
+ }
143
146
  }
144
147
  return campaignPayloads;
145
148
  }
@@ -2,7 +2,7 @@ import type Elysia from "elysia";
2
2
  export declare const query: import("@sinclair/typebox").TObject<{
3
3
  chainIds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>>;
4
4
  user: import("@sinclair/typebox").TString;
5
- creatorTag: import("@sinclair/typebox").TString;
5
+ creatorTag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
6
6
  }>;
7
7
  declare const _default: (app: Elysia) => Elysia<"", false, {
8
8
  decorator: {};
@@ -23,8 +23,8 @@ declare const _default: (app: Elysia) => Elysia<"", false, {
23
23
  params: {};
24
24
  query: {
25
25
  chainIds?: string | string[] | undefined;
26
+ creatorTag?: string | undefined;
26
27
  user: string;
27
- creatorTag: string;
28
28
  };
29
29
  headers: unknown;
30
30
  response: {
@@ -8,7 +8,7 @@ import { throwOnUnsupportedChainId } from "../../utils/throw";
8
8
  export const query = t.Object({
9
9
  chainIds: t.Optional(t.Union([t.String(), t.Array(t.String())])),
10
10
  user: t.String(),
11
- creatorTag: t.String(),
11
+ creatorTag: t.Optional(t.String()),
12
12
  });
13
13
  export default (app) => app.use(checkQueryAddressValidity()).get("/multiChainPositions", async ({ query, set }) => {
14
14
  let rawChainIds = query.chainIds;
@@ -379,8 +379,8 @@ export declare const v3: Elysia<"/v3", false, {
379
379
  params: {};
380
380
  query: {
381
381
  chainIds?: string | string[] | undefined;
382
+ creatorTag?: string | undefined;
382
383
  user: string;
383
- creatorTag: string;
384
384
  };
385
385
  headers: unknown;
386
386
  response: {
@@ -1,3 +1,3 @@
1
1
  import { tokenType } from "../libs/campaigns/campaignTypes/ERC20SubTypes/helpers/tokenType";
2
- import type { Multicall3 } from "libs/sdk/src/generated/Multicall";
3
- export declare function createCall(target: string, key: string, type?: tokenType, metaData?: any): Multicall3.Call3Struct;
2
+ import { type CallDto } from "@sdk";
3
+ export declare function createCall(target: string, key: string, type?: tokenType, metaData?: any): CallDto;