@merkl/api 0.10.212 → 0.10.213

Sign up to get free protection for your applications and to get access to all the features.
@@ -59,9 +59,14 @@ export class CurveNPoolProcessor extends GenericProcessor {
59
59
  for (let i = 0; i < typeInfo.numberTokens; i++) {
60
60
  const symbol = typeInfo[`symbolToken${i}`];
61
61
  const parsedSymbol = symbol.split("_")[0].slice(1);
62
- let price = (await pricer.get({ symbol: parsedSymbol })) ?? 0;
62
+ let price = (await pricer.get({ symbol: symbol })) ?? 0;
63
63
  if (price === 0) {
64
- price = (await pricer.get({ symbol: hardcodedSymbol })) ?? 0;
64
+ // For cross curve
65
+ const parsedSymbol = symbol.split("_")[0].slice(1);
66
+ price = (await pricer.get({ symbol: parsedSymbol })) ?? 0;
67
+ if (price === 0) {
68
+ price = (await pricer.get({ symbol: hardcodedSymbol })) ?? 0;
69
+ }
65
70
  }
66
71
  const decimals = Number(typeInfo[`decimalsToken${i}`]);
67
72
  const amount = BN2Number(typeInfo[`balanceToken${i}`], decimals);
@@ -43,10 +43,9 @@ function satisfiesNameConditions(name, type) {
43
43
  return (lowerCaseName === "crvusd/frax" ||
44
44
  lowerCaseName === "ezeth/wfrxeth" ||
45
45
  lowerCaseName === "pufeth/wsteth" ||
46
- lowerCaseName === "hai/lusd" ||
47
- lowerCaseName === "eywa/usdt");
46
+ lowerCaseName === "hai/lusd");
48
47
  case tokenType.crosscurve:
49
- return lowerCaseName.startsWith("crosscurve");
48
+ return lowerCaseName.startsWith("crosscurve") || lowerCaseName === "eywa/usdt";
50
49
  case tokenType.silostaking:
51
50
  return lowerCaseName === "isei";
52
51
  case tokenType.beefy:
@@ -129,7 +129,12 @@ export function decodeCall(calls, index, key, type) {
129
129
  case "coin2":
130
130
  return CurveInterface.decodeFunctionResult("coins", returnData)[0];
131
131
  case "N_COINS":
132
- return CurveStableSwapNGInterface.decodeFunctionResult("N_COINS", returnData)[0];
132
+ try {
133
+ return CurveStableSwapNGInterface.decodeFunctionResult("N_COINS", returnData)[0];
134
+ }
135
+ catch (e) {
136
+ return 2;
137
+ }
133
138
  case "balances":
134
139
  return CurveStableSwapNGInterface.decodeFunctionResult("balances", returnData)[0];
135
140
  case "calcNetShareValue":
@@ -102,6 +102,9 @@ export function generateCardName(type, typeInfo, campaign, symbols = [""]) {
102
102
  case tokenType.cpmmGamma:
103
103
  return `Provide ${typeInfo.symbolToken0}/${typeInfo.symbolToken1} on ${typeInfo.protocol}`;
104
104
  case tokenType.crosscurve:
105
+ if (typeInfo.name.toLowerCase() === "eywa/usdt") {
106
+ return `Curve ${typeInfo.name}`;
107
+ }
105
108
  return `${typeInfo.name}`;
106
109
  default:
107
110
  return `Hold ${typeInfo.name} (${campaign.campaignParameters.symbolTargetToken})`;