@curvefi/api 2.63.6 → 2.63.8

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.
@@ -2,6 +2,8 @@ import { lowerCaseValues } from "./utils.js";
2
2
  export const ALIASES_ETHEREUM = lowerCaseValues({
3
3
  "crv": "0xD533a949740bb3306d119CC777fa900bA034cd52",
4
4
  "minter": '0xd061D61a4d941c39E5453435B6345Dc261C2fcE0',
5
+ "root_gauge_factory": "0x306A45a1478A000dC701A6e1f7a569afb8D9DCD6",
6
+ "root_gauge_factory_arbitrum": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
5
7
  "voting_escrow": "0x5f3b5DfEb7B28CDbD7FAba78963EE202a494e2A2",
6
8
  "fee_distributor": "0xA464e6DCda8AC41e03616F95f4BC98a13b8922Dc",
7
9
  "fee_distributor_crvusd": "0xD16d5eC345Dd86Fb63C6a9C43c517210F1027914",
@@ -25,8 +27,8 @@ export const ALIASES_ETHEREUM = lowerCaseValues({
25
27
  });
26
28
  export const ALIASES_POLYGON = lowerCaseValues({
27
29
  "crv": "0x172370d5cd63279efa6d502dab29171933a610af",
28
- "child_gauge_factory": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
29
- "root_gauge_factory": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
30
+ "child_gauge_factory": "0x55a1C26CE60490A15Bdd6bD73De4F6346525e01e",
31
+ "child_gauge_factory_old": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
30
32
  "voting_escrow": "0xb5acc710aede048600e10eedcefdf98d4abf4b1e",
31
33
  "fee_distributor": "0xA464e6DCda8AC41e03616F95f4BC98a13b8922Dc",
32
34
  "gauge_controller": "0x2F50D538606Fa9EDD2B11E2446BEb18C9D5846bB",
@@ -46,8 +48,8 @@ export const ALIASES_POLYGON = lowerCaseValues({
46
48
  });
47
49
  export const ALIASES_FANTOM = lowerCaseValues({
48
50
  "crv": "0x1E4F97b9f9F913c46F1632781732927B9019C68b",
49
- "child_gauge_factory": "0xDb205f215f568ADf21b9573b62566f6d9a40bed6",
50
- "root_gauge_factory": "0xDb205f215f568ADf21b9573b62566f6d9a40bed6",
51
+ "child_gauge_factory": "0x004A476B5B76738E34c86C7144554B9d34402F13",
52
+ "child_gauge_factory_old": "0xDb205f215f568ADf21b9573b62566f6d9a40bed6",
51
53
  "voting_escrow": "0xb75dca485e21a77e1b433ecacb74475fc67e259c",
52
54
  "fee_distributor": "0xA464e6DCda8AC41e03616F95f4BC98a13b8922Dc",
53
55
  "gauge_controller": "0x2F50D538606Fa9EDD2B11E2446BEb18C9D5846bB",
@@ -67,8 +69,8 @@ export const ALIASES_FANTOM = lowerCaseValues({
67
69
  });
68
70
  export const ALIASES_AVALANCHE = lowerCaseValues({
69
71
  "crv": "0x47536F17F4fF30e64A96a7555826b8f9e66ec468",
70
- "child_gauge_factory": "0xDb205f215f568ADf21b9573b62566f6d9a40bed6",
71
- "root_gauge_factory": "0xDb205f215f568ADf21b9573b62566f6d9a40bed6",
72
+ "child_gauge_factory": "0x97aDC08FA1D849D2C48C5dcC1DaB568B169b0267",
73
+ "child_gauge_factory_old": "0xDb205f215f568ADf21b9573b62566f6d9a40bed6",
72
74
  "voting_escrow": "0xc55837710bc500f1e3c7bb9dd1d51f7c5647e657",
73
75
  "fee_distributor": "0xA464e6DCda8AC41e03616F95f4BC98a13b8922Dc",
74
76
  "gauge_controller": "0x2F50D538606Fa9EDD2B11E2446BEb18C9D5846bB",
@@ -89,7 +91,6 @@ export const ALIASES_AVALANCHE = lowerCaseValues({
89
91
  export const ALIASES_ARBITRUM = lowerCaseValues({
90
92
  "crv": "0x11cDb42B0EB46D95f990BeDD4695A6e3fA034978",
91
93
  "child_gauge_factory": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
92
- "root_gauge_factory": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
93
94
  "voting_escrow": "0x98c80fa823759b642c3e02f40533c164f40727ae",
94
95
  "fee_distributor": "0xA464e6DCda8AC41e03616F95f4BC98a13b8922Dc",
95
96
  "gauge_controller": "0x2F50D538606Fa9EDD2B11E2446BEb18C9D5846bB",
@@ -109,8 +110,8 @@ export const ALIASES_ARBITRUM = lowerCaseValues({
109
110
  });
110
111
  export const ALIASES_OPTIMISM = lowerCaseValues({
111
112
  "crv": "0x0994206dfE8De6Ec6920FF4D779B0d950605Fb53",
112
- "child_gauge_factory": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
113
- "root_gauge_factory": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
113
+ "child_gauge_factory": "0x871fBD4E01012e2E8457346059e8C189d664DbA4",
114
+ "child_gauge_factory_old": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
114
115
  "voting_escrow": "0x65a0b01756e837e6670634816e4f5b3a3ff21107",
115
116
  "fee_distributor": "0xA464e6DCda8AC41e03616F95f4BC98a13b8922Dc",
116
117
  "gauge_controller": "0x2F50D538606Fa9EDD2B11E2446BEb18C9D5846bB",
@@ -132,8 +133,7 @@ export const ALIASES_OPTIMISM = lowerCaseValues({
132
133
  });
133
134
  export const ALIASES_XDAI = lowerCaseValues({
134
135
  "crv": "0x712b3d230f3c1c19db860d80619288b1f0bdd0bd",
135
- "child_gauge_factory": "0x7BE6BD57A319A7180f71552E58c9d32Da32b6f96",
136
- "root_gauge_factory": "0x06471ED238306a427241B3eA81352244E77B004F",
136
+ "child_gauge_factory": "0x06471ED238306a427241B3eA81352244E77B004F",
137
137
  "child_gauge_factory_old": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
138
138
  "voting_escrow": "0xefde221f306152971d8e9f181bfe998447975810",
139
139
  "fee_distributor": "0xA464e6DCda8AC41e03616F95f4BC98a13b8922Dc",
@@ -154,8 +154,8 @@ export const ALIASES_XDAI = lowerCaseValues({
154
154
  });
155
155
  export const ALIASES_MOONBEAM = lowerCaseValues({
156
156
  "crv": "0x7C598c96D02398d89FbCb9d41Eab3DF0C16F227D",
157
- "child_gauge_factory": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
158
- "root_gauge_factory": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
157
+ "child_gauge_factory": "0xe35A879E5EfB4F1Bb7F70dCF3250f2e19f096bd8",
158
+ "child_gauge_factory_old": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
159
159
  "voting_escrow": "0x0000000000000000000000000000000000000000",
160
160
  "fee_distributor": "0xA464e6DCda8AC41e03616F95f4BC98a13b8922Dc",
161
161
  "gauge_controller": "0x2F50D538606Fa9EDD2B11E2446BEb18C9D5846bB",
@@ -175,7 +175,7 @@ export const ALIASES_MOONBEAM = lowerCaseValues({
175
175
  });
176
176
  export const ALIASES_AURORA = lowerCaseValues({
177
177
  "crv": "0x64D5BaF5ac030e2b7c435aDD967f787ae94D0205",
178
- "child_gauge_factory": "0x0000000000000000000000000000000000000000",
178
+ "child_gauge_factory": "0xe35A879E5EfB4F1Bb7F70dCF3250f2e19f096bd8",
179
179
  "voting_escrow": "0x0000000000000000000000000000000000000000",
180
180
  "fee_distributor": "0xA464e6DCda8AC41e03616F95f4BC98a13b8922Dc",
181
181
  "gauge_controller": "0x2F50D538606Fa9EDD2B11E2446BEb18C9D5846bB",
@@ -195,8 +195,8 @@ export const ALIASES_AURORA = lowerCaseValues({
195
195
  });
196
196
  export const ALIASES_KAVA = lowerCaseValues({
197
197
  "crv": "0x64D5BaF5ac030e2b7c435aDD967f787ae94D0205",
198
- "child_gauge_factory": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
199
- "root_gauge_factory": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
198
+ "child_gauge_factory": "0xe35A879E5EfB4F1Bb7F70dCF3250f2e19f096bd8",
199
+ "child_gauge_factory_old": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
200
200
  "voting_escrow": "0x0000000000000000000000000000000000000000",
201
201
  "fee_distributor": "0xA464e6DCda8AC41e03616F95f4BC98a13b8922Dc",
202
202
  "gauge_controller": "0x2F50D538606Fa9EDD2B11E2446BEb18C9D5846bB",
@@ -216,8 +216,8 @@ export const ALIASES_KAVA = lowerCaseValues({
216
216
  });
217
217
  export const ALIASES_CELO = lowerCaseValues({
218
218
  "crv": "0x0a7432cF27F1aE3825c313F3C81e7D3efD7639aB",
219
- "child_gauge_factory": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
220
- "root_gauge_factory": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
219
+ "child_gauge_factory": "0xe35A879E5EfB4F1Bb7F70dCF3250f2e19f096bd8",
220
+ "child_gauge_factory_old": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
221
221
  "voting_escrow": "0x0000000000000000000000000000000000000000",
222
222
  "fee_distributor": "0xA464e6DCda8AC41e03616F95f4BC98a13b8922Dc",
223
223
  "gauge_controller": "0x2F50D538606Fa9EDD2B11E2446BEb18C9D5846bB",
@@ -237,7 +237,7 @@ export const ALIASES_CELO = lowerCaseValues({
237
237
  });
238
238
  export const ALIASES_ZKSYNC = lowerCaseValues({
239
239
  "crv": "0x5945932099f124194452a4c62d34bB37f16183B2",
240
- "child_gauge_factory": "0x0000000000000000000000000000000000000000",
240
+ "child_gauge_factory": "0x167D9C27070Ce04b79820E6aaC0cF243d6098812",
241
241
  "voting_escrow": "0x0000000000000000000000000000000000000000",
242
242
  "fee_distributor": "0x0000000000000000000000000000000000000000",
243
243
  "gauge_controller": "0x0000000000000000000000000000000000000000",
@@ -257,8 +257,8 @@ export const ALIASES_ZKSYNC = lowerCaseValues({
257
257
  });
258
258
  export const ALIASES_BASE = lowerCaseValues({
259
259
  "crv": "0x8Ee73c484A26e0A5df2Ee2a4960B789967dd0415",
260
- "child_gauge_factory": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
261
- "root_gauge_factory": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
260
+ "child_gauge_factory": "0xe35A879E5EfB4F1Bb7F70dCF3250f2e19f096bd8",
261
+ "child_gauge_factory_old": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
262
262
  "voting_escrow": "0x0000000000000000000000000000000000000000",
263
263
  "fee_distributor": "0xA464e6DCda8AC41e03616F95f4BC98a13b8922Dc",
264
264
  "gauge_controller": "0x2F50D538606Fa9EDD2B11E2446BEb18C9D5846bB",
@@ -280,8 +280,8 @@ export const ALIASES_BASE = lowerCaseValues({
280
280
  });
281
281
  export const ALIASES_BSC = lowerCaseValues({
282
282
  "crv": "0x8Ee73c484A26e0A5df2Ee2a4960B789967dd0415",
283
- "child_gauge_factory": "0xDb205f215f568ADf21b9573b62566f6d9a40bed6",
284
- "root_gauge_factory": "0xDb205f215f568ADf21b9573b62566f6d9a40bed6",
283
+ "child_gauge_factory": "0xe35A879E5EfB4F1Bb7F70dCF3250f2e19f096bd8",
284
+ "child_gauge_factory_old": "0xDb205f215f568ADf21b9573b62566f6d9a40bed6",
285
285
  "voting_escrow": "0x0000000000000000000000000000000000000000",
286
286
  "fee_distributor": "0x0000000000000000000000000000000000000000",
287
287
  "gauge_controller": "0x0000000000000000000000000000000000000000",
@@ -301,8 +301,8 @@ export const ALIASES_BSC = lowerCaseValues({
301
301
  });
302
302
  export const ALIASES_FRAXTAL = lowerCaseValues({
303
303
  "crv": "0x331B9182088e2A7d6D3Fe4742AbA1fB231aEcc56",
304
- "child_gauge_factory": "0xeF672bD94913CB6f1d2812a6e18c1fFdEd8eFf5c",
305
- "root_gauge_factory": "0xeF672bD94913CB6f1d2812a6e18c1fFdEd8eFf5c",
304
+ "child_gauge_factory": "0x0B8D6B6CeFC7Aa1C2852442e518443B1b22e1C52",
305
+ "child_gauge_factory_old": "0xeF672bD94913CB6f1d2812a6e18c1fFdEd8eFf5c",
306
306
  "voting_escrow": "0x0000000000000000000000000000000000000000",
307
307
  "fee_distributor": "0x0000000000000000000000000000000000000000",
308
308
  "gauge_controller": "0x0000000000000000000000000000000000000000",
@@ -322,8 +322,8 @@ export const ALIASES_FRAXTAL = lowerCaseValues({
322
322
  });
323
323
  export const ALIASES_XLAYER = lowerCaseValues({
324
324
  "crv": "0x0000000000000000000000000000000000000000",
325
- "child_gauge_factory": "0xeF672bD94913CB6f1d2812a6e18c1fFdEd8eFf5c",
326
- "root_gauge_factory": "0xeF672bD94913CB6f1d2812a6e18c1fFdEd8eFf5c",
325
+ "child_gauge_factory": "0xD5C3e070E121488806AaA5565283A164ACEB94Df",
326
+ "child_gauge_factory_old": "0xeF672bD94913CB6f1d2812a6e18c1fFdEd8eFf5c",
327
327
  "voting_escrow": "0x0000000000000000000000000000000000000000",
328
328
  "fee_distributor": "0x0000000000000000000000000000000000000000",
329
329
  "gauge_controller": "0x0000000000000000000000000000000000000000",
@@ -343,8 +343,8 @@ export const ALIASES_XLAYER = lowerCaseValues({
343
343
  });
344
344
  export const ALIASES_MANTLE = lowerCaseValues({
345
345
  "crv": "0x0000000000000000000000000000000000000000",
346
- "child_gauge_factory": "0xeF672bD94913CB6f1d2812a6e18c1fFdEd8eFf5c",
347
- "root_gauge_factory": "0xeF672bD94913CB6f1d2812a6e18c1fFdEd8eFf5c",
346
+ "child_gauge_factory": "0x0B8D6B6CeFC7Aa1C2852442e518443B1b22e1C52",
347
+ "child_gauge_factory_old": "0xeF672bD94913CB6f1d2812a6e18c1fFdEd8eFf5c",
348
348
  "voting_escrow": "0x0000000000000000000000000000000000000000",
349
349
  "fee_distributor": "0x0000000000000000000000000000000000000000",
350
350
  "gauge_controller": "0x0000000000000000000000000000000000000000",
package/lib/curve.js CHANGED
@@ -44,6 +44,7 @@ import gasOracleABI from './constants/abis/gas_oracle_optimism.json' assert { ty
44
44
  import gasOracleBlobABI from './constants/abis/gas_oracle_optimism_blob.json' assert { type: 'json' };
45
45
  import votingProposalABI from './constants/abis/voting_proposal.json' assert { type: 'json' };
46
46
  import circulatingSupplyABI from './constants/abis/circulating_supply.json' assert { type: 'json' };
47
+ import rootGaugeFactoryABI from "./constants/abis/gauge_factory/root_gauge_factory.json";
47
48
  import { POOLS_DATA_ETHEREUM, LLAMMAS_DATA_ETHEREUM, POOLS_DATA_POLYGON, POOLS_DATA_FANTOM, POOLS_DATA_AVALANCHE, POOLS_DATA_ARBITRUM, POOLS_DATA_OPTIMISM, POOLS_DATA_XDAI, POOLS_DATA_MOONBEAM, POOLS_DATA_AURORA, POOLS_DATA_KAVA, POOLS_DATA_CELO, POOLS_DATA_ZKSYNC, POOLS_DATA_BASE, POOLS_DATA_BSC, POOLS_DATA_FRAXTAL, POOLS_DATA_XLAYER, POOLS_DATA_MANTLE, } from './constants/pools/index.js';
48
49
  import { ALIASES_ETHEREUM, ALIASES_OPTIMISM, ALIASES_POLYGON, ALIASES_FANTOM, ALIASES_AVALANCHE, ALIASES_ARBITRUM, ALIASES_XDAI, ALIASES_MOONBEAM, ALIASES_AURORA, ALIASES_KAVA, ALIASES_CELO, ALIASES_ZKSYNC, ALIASES_BASE, ALIASES_BSC, ALIASES_FRAXTAL, ALIASES_XLAYER, ALIASES_MANTLE, } from "./constants/aliases.js";
49
50
  import { COINS_ETHEREUM, cTokensEthereum, yTokensEthereum, ycTokensEthereum, aTokensEthereum } from "./constants/coins/ethereum.js";
@@ -787,6 +788,9 @@ class Curve {
787
788
  if (this.chainId === 1) {
788
789
  this.setContract(this.constants.ALIASES.minter, minterMainnetABI);
789
790
  this.setContract(this.constants.ALIASES.fee_distributor_crvusd, feeDistributorCrvUSDABI);
791
+ this.setContract(this.constants.ALIASES.root_gauge_factory, rootGaugeFactoryABI);
792
+ //TODO should be deleted
793
+ this.setContract(this.constants.ALIASES.root_gauge_factory_arbitrum, rootGaugeFactoryABI);
790
794
  }
791
795
  else {
792
796
  this.setContract(this.constants.ALIASES.child_gauge_factory, childGaugeFactoryABI);
@@ -13,7 +13,6 @@ import { getPool } from "../pools/index.js";
13
13
  import { parseUnits, BN, mulBy1_3, getPoolIdBySwapAddress, DIGas, smartNumber } from '../utils.js';
14
14
  import CurveLpTokenV5ABI from "../constants/abis/curve_lp_token_v5.json" assert { type: 'json' };
15
15
  import Plain2ETHOracleABIABI from "../constants/abis/factory-v2/Plain2ETHOracle.json" assert { type: 'json' };
16
- import rootGaugeFactoryABI from '../constants/abis/gauge_factory/root_gauge_factory.json' assert { type: 'json' };
17
16
  import { tricryptoDeployImplementations } from "../constants/tricryptoDeployImplementations.js";
18
17
  // ------- STABLE PLAIN POOLS -------
19
18
  const _deployStablePlainPool = (name, symbol, coins, A, fee, // %
@@ -560,8 +559,7 @@ const _deployGaugeSidechain = (pool, salt, estimateGas) => __awaiter(void 0, voi
560
559
  const _deployGaugeMirror = (chainId, salt, estimateGas) => __awaiter(void 0, void 0, void 0, function* () {
561
560
  if (curve.chainId !== 1)
562
561
  throw Error("There is no deployGaugeMirror method on sidechain network");
563
- const rootGaugeFactory = NETWORK_CONSTANTS[chainId].root_gauge_factory;
564
- curve.setContract(rootGaugeFactory, rootGaugeFactoryABI);
562
+ const rootGaugeFactory = chainId !== 42161 ? NETWORK_CONSTANTS[chainId].root_gauge_factory : NETWORK_CONSTANTS[chainId].root_gauge_factory_arbitrum;
565
563
  const contract = curve.contracts[rootGaugeFactory].contract;
566
564
  const _salt = ethers.encodeBytes32String(salt);
567
565
  const gas = yield contract.deploy_gauge.estimateGas(chainId, Typed.bytes32(_salt), curve.constantOptions);
@@ -596,8 +594,7 @@ export const getDeployedGaugeMirrorAddressByTx = (tx) => __awaiter(void 0, void
596
594
  export const getDeployedGaugeMirrorAddress = (chainId) => __awaiter(void 0, void 0, void 0, function* () {
597
595
  if (curve.chainId !== 1)
598
596
  throw Error("There is no getDeployedGaugeMirrorAddress method on sidechain network");
599
- const rootGaugeFactory = NETWORK_CONSTANTS[chainId].root_gauge_factory;
600
- curve.setContract(rootGaugeFactory, rootGaugeFactoryABI);
597
+ const rootGaugeFactory = chainId !== 42161 ? NETWORK_CONSTANTS[chainId].root_gauge_factory : NETWORK_CONSTANTS[chainId].root_gauge_factory_arbitrum;
601
598
  const contract = curve.contracts[rootGaugeFactory].contract;
602
599
  const gaugeCount = yield contract.get_gauge_count(chainId);
603
600
  const currentIndex = Number(gaugeCount) - 1;
@@ -1194,11 +1194,31 @@ export class PoolTemplate {
1194
1194
  return __awaiter(this, void 0, void 0, function* () {
1195
1195
  if (this.rewardsOnly())
1196
1196
  throw Error(`${this.name} has Rewards-Only Gauge. Use claimRewards instead`);
1197
+ let isOldFactory = false;
1198
+ let contract;
1199
+ if (curve.chainId !== 1) {
1200
+ if (curve.constants.ALIASES.child_gauge_factory_old && curve.constants.ALIASES.child_gauge_factory_old !== curve.constants.ZERO_ADDRESS) {
1201
+ const oldFactoryContract = curve.contracts[curve.constants.ALIASES.child_gauge_factory_old].contract;
1202
+ const gaugeAddress = yield oldFactoryContract.get_gauge_from_lp_token(this.lpToken);
1203
+ isOldFactory = gaugeAddress.toLowerCase() === this.gauge.address.toLowerCase();
1204
+ if (isOldFactory) {
1205
+ contract = oldFactoryContract;
1206
+ }
1207
+ }
1208
+ }
1209
+ if (!isOldFactory) {
1210
+ contract = curve.chainId === 1 ?
1211
+ curve.contracts[curve.constants.ALIASES.minter].contract :
1212
+ curve.contracts[curve.constants.ALIASES.child_gauge_factory].contract;
1213
+ }
1214
+ if (!contract) {
1215
+ throw new Error("Failed to find the correct contract for estimating gas");
1216
+ }
1197
1217
  if (curve.chainId === 1) {
1198
- return Number(yield curve.contracts[curve.constants.ALIASES.minter].contract.mint.estimateGas(this.gauge.address, curve.constantOptions));
1218
+ return Number(yield contract.mint.estimateGas(this.gauge.address, curve.constantOptions));
1199
1219
  }
1200
1220
  else {
1201
- return smartNumber(yield curve.contracts[curve.constants.ALIASES.child_gauge_factory].contract.mint.estimateGas(this.gauge.address, curve.constantOptions));
1221
+ return smartNumber(yield contract.mint.estimateGas(this.gauge.address, curve.constantOptions));
1202
1222
  }
1203
1223
  });
1204
1224
  }
@@ -1206,9 +1226,26 @@ export class PoolTemplate {
1206
1226
  return __awaiter(this, void 0, void 0, function* () {
1207
1227
  if (this.rewardsOnly())
1208
1228
  throw Error(`${this.name} has Rewards-Only Gauge. Use claimRewards instead`);
1209
- const contract = curve.chainId === 1 ?
1210
- curve.contracts[curve.constants.ALIASES.minter].contract :
1211
- curve.contracts[curve.constants.ALIASES.child_gauge_factory].contract;
1229
+ let isOldFactory = false;
1230
+ let contract;
1231
+ if (curve.chainId !== 1) {
1232
+ if (curve.constants.ALIASES.child_gauge_factory_old && curve.constants.ALIASES.child_gauge_factory_old !== curve.constants.ZERO_ADDRESS) {
1233
+ const oldFactoryContract = curve.contracts[curve.constants.ALIASES.child_gauge_factory_old].contract;
1234
+ const gaugeAddress = yield oldFactoryContract.get_gauge_from_lp_token(this.lpToken);
1235
+ isOldFactory = gaugeAddress.toLowerCase() === this.gauge.address.toLowerCase();
1236
+ if (isOldFactory) {
1237
+ contract = oldFactoryContract;
1238
+ }
1239
+ }
1240
+ }
1241
+ if (!isOldFactory) {
1242
+ contract = curve.chainId === 1 ?
1243
+ curve.contracts[curve.constants.ALIASES.minter].contract :
1244
+ curve.contracts[curve.constants.ALIASES.child_gauge_factory].contract;
1245
+ }
1246
+ if (!contract) {
1247
+ throw new Error("Failed to find the correct contract for minting");
1248
+ }
1212
1249
  yield curve.updateFeeData();
1213
1250
  const gasLimit = mulBy1_3(DIGas(yield contract.mint.estimateGas(this.gauge.address, curve.constantOptions)));
1214
1251
  return (yield contract.mint(this.gauge.address, Object.assign(Object.assign({}, curve.options), { gasLimit }))).hash;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curvefi/api",
3
- "version": "2.63.6",
3
+ "version": "2.63.8",
4
4
  "description": "JavaScript library for curve.fi",
5
5
  "main": "lib/index.js",
6
6
  "author": "Macket",