@curvefi/api 2.56.0 → 2.56.2

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.
@@ -35,9 +35,13 @@ export declare const tricryptoDeployImplementations: {
35
35
  implementationIdx: number;
36
36
  };
37
37
  324: {
38
+ amm_native_transfers_disabled: string;
39
+ amm_native_transfers_enabled: string;
38
40
  implementationIdx: number;
39
41
  };
40
42
  1284: {
43
+ amm_native_transfers_disabled: string;
44
+ amm_native_transfers_enabled: string;
41
45
  implementationIdx: number;
42
46
  };
43
47
  2222: {
@@ -1,73 +1,77 @@
1
1
  export var tricryptoDeployImplementations = {
2
2
  1: {
3
- amm_native_transfers_disabled: '0x0000000000000000000000000000000000000000',
4
- amm_native_transfers_enabled: '0x66442B0C5260B92cAa9c234ECf2408CBf6b19a6f',
3
+ amm_native_transfers_disabled: '0x0000000000000000000000000000000000000000'.toLowerCase(),
4
+ amm_native_transfers_enabled: '0x66442B0C5260B92cAa9c234ECf2408CBf6b19a6f'.toLowerCase(),
5
5
  implementationIdx: 0,
6
6
  },
7
7
  10: {
8
- amm_native_transfers_disabled: '0x0458ea5F4CD00E873264Be2031Ceb8f9d9b3116c',
9
- amm_native_transfers_enabled: '0x1FE2a06c8bd81AE65FD1C5036451890b37976369',
8
+ amm_native_transfers_disabled: '0x0458ea5F4CD00E873264Be2031Ceb8f9d9b3116c'.toLowerCase(),
9
+ amm_native_transfers_enabled: '0x1FE2a06c8bd81AE65FD1C5036451890b37976369'.toLowerCase(),
10
10
  implementationIdx: 1,
11
11
  },
12
12
  56: {
13
- amm_native_transfers_disabled: '0x6A8cbed756804B16E05E741eDaBd5cB544AE21bf',
14
- amm_native_transfers_enabled: '0xBff334F8D5912AC5c4f2c590A2396d1C5d990123',
13
+ amm_native_transfers_disabled: '0x6A8cbed756804B16E05E741eDaBd5cB544AE21bf'.toLowerCase(),
14
+ amm_native_transfers_enabled: '0xBff334F8D5912AC5c4f2c590A2396d1C5d990123'.toLowerCase(),
15
15
  implementationIdx: 1,
16
16
  },
17
17
  100: {
18
- amm_native_transfers_disabled: '0x3f445D38E820c010a7A6E33c5F80cBEBE6930f61',
19
- amm_native_transfers_enabled: '0xa54f3c1dfa5f7dbf2564829d14b3b74a65d26ae2',
18
+ amm_native_transfers_disabled: '0x3f445D38E820c010a7A6E33c5F80cBEBE6930f61'.toLowerCase(),
19
+ amm_native_transfers_enabled: '0xa54f3c1dfa5f7dbf2564829d14b3b74a65d26ae2'.toLowerCase(),
20
20
  implementationIdx: 1,
21
21
  },
22
22
  137: {
23
- amm_native_transfers_disabled: '0x3d6cB2F6DcF47CDd9C13E4e3beAe9af041d8796a',
24
- amm_native_transfers_enabled: '0x0c59d36b23f809f8b6C7cb4c8C590a0AC103baEf',
23
+ amm_native_transfers_disabled: '0x3d6cB2F6DcF47CDd9C13E4e3beAe9af041d8796a'.toLowerCase(),
24
+ amm_native_transfers_enabled: '0x0c59d36b23f809f8b6C7cb4c8C590a0AC103baEf'.toLowerCase(),
25
25
  implementationIdx: 1,
26
26
  },
27
27
  250: {
28
- amm_native_transfers_disabled: '0xd125E7a0cEddF89c6473412d85835450897be6Dc',
29
- amm_native_transfers_enabled: '0x76303e4fDcA0AbF28aB3ee42Ce086E6503431F1D',
28
+ amm_native_transfers_disabled: '0xd125E7a0cEddF89c6473412d85835450897be6Dc'.toLowerCase(),
29
+ amm_native_transfers_enabled: '0x76303e4fDcA0AbF28aB3ee42Ce086E6503431F1D'.toLowerCase(),
30
30
  implementationIdx: 1,
31
31
  },
32
32
  252: {
33
- amm_native_transfers_disabled: '0x1A83348F9cCFD3Fe1A8C0adBa580Ac4e267Fe495',
34
- amm_native_transfers_enabled: '0xd3b17f862956464ae4403ccf829ce69199856e1e',
33
+ amm_native_transfers_disabled: '0x1A83348F9cCFD3Fe1A8C0adBa580Ac4e267Fe495'.toLowerCase(),
34
+ amm_native_transfers_enabled: '0xd3b17f862956464ae4403ccf829ce69199856e1e'.toLowerCase(),
35
35
  implementationIdx: 1,
36
36
  },
37
37
  324: {
38
+ amm_native_transfers_disabled: '0x0000000000000000000000000000000000000000'.toLowerCase(),
39
+ amm_native_transfers_enabled: '0x0000000000000000000000000000000000000000'.toLowerCase(),
38
40
  implementationIdx: 0,
39
41
  },
40
42
  1284: {
43
+ amm_native_transfers_disabled: '0x0000000000000000000000000000000000000000'.toLowerCase(),
44
+ amm_native_transfers_enabled: '0x0000000000000000000000000000000000000000'.toLowerCase(),
41
45
  implementationIdx: 0,
42
46
  },
43
47
  2222: {
44
- amm_native_transfers_disabled: '0x0c59d36b23f809f8b6C7cb4c8C590a0AC103baEf',
45
- amm_native_transfers_enabled: '0xFAbC421e3368D158d802684A217a83c083c94CeB',
48
+ amm_native_transfers_disabled: '0x0c59d36b23f809f8b6C7cb4c8C590a0AC103baEf'.toLowerCase(),
49
+ amm_native_transfers_enabled: '0xFAbC421e3368D158d802684A217a83c083c94CeB'.toLowerCase(),
46
50
  implementationIdx: 1,
47
51
  },
48
52
  8453: {
49
- amm_native_transfers_disabled: '0x0c59d36b23f809f8b6C7cb4c8C590a0AC103baEf',
50
- amm_native_transfers_enabled: '0xa274c88e09fDF1798a7517096557e6c1bEa1f65A',
53
+ amm_native_transfers_disabled: '0x0c59d36b23f809f8b6C7cb4c8C590a0AC103baEf'.toLowerCase(),
54
+ amm_native_transfers_enabled: '0xa274c88e09fDF1798a7517096557e6c1bEa1f65A'.toLowerCase(),
51
55
  implementationIdx: 1,
52
56
  },
53
57
  42161: {
54
- amm_native_transfers_disabled: '0x1f7C86AffE5bCF7a1D74a8c8E2ef9E03BF31c1BD',
55
- amm_native_transfers_enabled: '0xd7E72f3615aa65b92A4DBdC211E296a35512988B',
58
+ amm_native_transfers_disabled: '0x1f7C86AffE5bCF7a1D74a8c8E2ef9E03BF31c1BD'.toLowerCase(),
59
+ amm_native_transfers_enabled: '0xd7E72f3615aa65b92A4DBdC211E296a35512988B'.toLowerCase(),
56
60
  implementationIdx: 1,
57
61
  },
58
62
  42220: {
59
- amm_native_transfers_disabled: '0x0c59d36b23f809f8b6C7cb4c8C590a0AC103baEf',
60
- amm_native_transfers_enabled: '0xFAbC421e3368D158d802684A217a83c083c94CeB',
63
+ amm_native_transfers_disabled: '0x0c59d36b23f809f8b6C7cb4c8C590a0AC103baEf'.toLowerCase(),
64
+ amm_native_transfers_enabled: '0xFAbC421e3368D158d802684A217a83c083c94CeB'.toLowerCase(),
61
65
  implementationIdx: 1,
62
66
  },
63
67
  43114: {
64
- amm_native_transfers_disabled: '0x0c59d36b23f809f8b6C7cb4c8C590a0AC103baEf',
65
- amm_native_transfers_enabled: '0xFAbC421e3368D158d802684A217a83c083c94CeB',
68
+ amm_native_transfers_disabled: '0x0c59d36b23f809f8b6C7cb4c8C590a0AC103baEf'.toLowerCase(),
69
+ amm_native_transfers_enabled: '0xFAbC421e3368D158d802684A217a83c083c94CeB'.toLowerCase(),
66
70
  implementationIdx: 1,
67
71
  },
68
72
  1313161554: {
69
- amm_native_transfers_disabled: '0x3d6cB2F6DcF47CDd9C13E4e3beAe9af041d8796a',
70
- amm_native_transfers_enabled: '0x0c59d36b23f809f8b6C7cb4c8C590a0AC103baEf',
73
+ amm_native_transfers_disabled: '0x3d6cB2F6DcF47CDd9C13E4e3beAe9af041d8796a'.toLowerCase(),
74
+ amm_native_transfers_enabled: '0x0c59d36b23f809f8b6C7cb4c8C590a0AC103baEf'.toLowerCase(),
71
75
  implementationIdx: 1,
72
76
  },
73
77
  };
package/lib/curve.js CHANGED
@@ -391,7 +391,7 @@ var Curve = /** @class */ (function () {
391
391
  return __generator(this, function (_h) {
392
392
  switch (_h.label) {
393
393
  case 0:
394
- if (this.chainId === 1313161554)
394
+ if ([252, 1313161554].includes(this.chainId))
395
395
  return [2 /*return*/];
396
396
  if (!useApi) return [3 /*break*/, 2];
397
397
  _a = this.constants;
@@ -679,7 +679,7 @@ var Curve = /** @class */ (function () {
679
679
  return __generator(this, function (_b) {
680
680
  switch (_b.label) {
681
681
  case 0:
682
- if (this.chainId === 1313161554)
682
+ if ([252, 1313161554].includes(this.chainId))
683
683
  return [2 /*return*/, []];
684
684
  currentPoolIds = Object.keys(this.constants.FACTORY_POOLS_DATA);
685
685
  lastPoolIdx = currentPoolIds.length === 0 ? -1 : Number(currentPoolIds[currentPoolIds.length - 1].split("-")[2]);
@@ -772,7 +772,7 @@ var Curve = /** @class */ (function () {
772
772
  return __generator(this, function (_b) {
773
773
  switch (_b.label) {
774
774
  case 0:
775
- if (this.chainId === 1313161554)
775
+ if ([252, 1313161554].includes(this.chainId))
776
776
  return [2 /*return*/, ''];
777
777
  _a = lowerCasePoolDataAddresses;
778
778
  return [4 /*yield*/, getFactoryPoolData.call(this, 0, poolAddress)];
@@ -1113,7 +1113,7 @@ var Curve = /** @class */ (function () {
1113
1113
  this.setContract(this.constants.ALIASES.crypto_calc, cryptoCalcZapABI);
1114
1114
  this.setContract(this.constants.ALIASES.stable_calc, StableCalcZapABI);
1115
1115
  this.setContract(this.constants.ALIASES.factory, factoryABI);
1116
- if (!(this.chainId !== 1313161554)) return [3 /*break*/, 20];
1116
+ if (!(this.chainId !== 1313161554 && this.chainId !== 252)) return [3 /*break*/, 20];
1117
1117
  factoryContract = this.contracts[this.constants.ALIASES.factory].contract;
1118
1118
  _o = this.constants.ALIASES;
1119
1119
  return [4 /*yield*/, factoryContract.admin(this.constantOptions)];
@@ -59,12 +59,14 @@ import factoryGaugeABI from "../constants/abis/gauge_factory.json" assert { type
59
59
  import gaugeChildABI from "../constants/abis/gauge_child.json" assert { type: 'json' };
60
60
  import ERC20ABI from "../constants/abis/ERC20.json" assert { type: 'json' };
61
61
  import cryptoFactorySwapABI from "../constants/abis/factory-crypto/factory-crypto-pool-2.json" assert { type: 'json' };
62
+ import twocryptoFactorySwapABI from "../constants/abis/factory-twocrypto/factory-twocrypto-pool.json" assert { type: 'json' };
62
63
  import tricryptoFactorySwapABI from "../constants/abis/factory-tricrypto/factory-tricrypto-pool.json" assert { type: 'json' };
63
64
  import { FACTORY_CONSTANTS } from "./constants.js";
64
65
  import { CRYPTO_FACTORY_CONSTANTS } from "./constants-crypto.js";
65
66
  import { getPoolIdByAddress, setFactoryZapContracts } from "./common.js";
66
67
  import { _getPoolsFromApi } from "../external-api.js";
67
68
  import { assetTypeNameHandler, getPoolName, isStableNgPool } from "../utils.js";
69
+ import { tricryptoDeployImplementations } from "../constants/tricryptoDeployImplementations";
68
70
  export var lowerCasePoolDataAddresses = function (poolsData) {
69
71
  var _a;
70
72
  for (var _i = 0, poolsData_1 = poolsData; _i < poolsData_1.length; _i++) {
@@ -95,6 +97,11 @@ function setFactorySwapContracts(rawPoolList, factoryType) {
95
97
  _this.setContract(pool.address, cryptoFactorySwapABI);
96
98
  });
97
99
  }
100
+ else if (factoryType === "factory-twocrypto") {
101
+ rawPoolList.forEach(function (pool) {
102
+ _this.setContract(pool.address, twocryptoFactorySwapABI);
103
+ });
104
+ }
98
105
  else if (factoryType === "factory-tricrypto") {
99
106
  rawPoolList.forEach(function (pool) {
100
107
  _this.setContract(pool.address, tricryptoFactorySwapABI);
@@ -132,6 +139,14 @@ function setFactoryCoinsContracts(rawPoolList) {
132
139
  }
133
140
  }
134
141
  }
142
+ var getSwapAbiByFactoryType = function (factoryType) {
143
+ var map = {
144
+ "factory-crypto": cryptoFactorySwapABI,
145
+ "factory-twocrypto": twocryptoFactorySwapABI,
146
+ "facroty-tricrypto": tricryptoFactorySwapABI,
147
+ };
148
+ return map[factoryType];
149
+ };
135
150
  export function getFactoryPoolsDataFromApi(factoryType) {
136
151
  return __awaiter(this, void 0, void 0, function () {
137
152
  var network, isCrypto, rawPoolList, _a, mainAddresses, FACTORY_POOLS_DATA;
@@ -168,13 +183,45 @@ export function getFactoryPoolsDataFromApi(factoryType) {
168
183
  var coinDecimals = pool.coins.map(function (c) { return Number(c.decimals); });
169
184
  if (isCrypto) {
170
185
  var wrappedCoinNames = pool.coins.map(function (c) { return c.symbol === nativeToken.symbol ? nativeToken.wrappedSymbol : c.symbol; });
171
- var underlyingCoinNames = pool.coins.map(function (c) { return c.symbol === nativeToken.wrappedSymbol ? nativeToken.symbol : c.symbol; });
172
- var underlyingCoinAddresses = coinAddresses.map(function (addr) { return addr === nativeToken.wrappedAddress ? nativeToken.address : addr; });
173
- var isPlain = !coinAddresses.includes(nativeToken.wrappedAddress);
186
+ var underlyingCoinNames = pool.coins.map(function (c) {
187
+ if (factoryType === 'factory-twocrypto') {
188
+ return c.symbol;
189
+ }
190
+ else if (factoryType === 'factory-tricrypto') {
191
+ var isETHEnabled = pool.implementationAddress === tricryptoDeployImplementations[curve.chainId].amm_native_transfers_enabled;
192
+ if (isETHEnabled) {
193
+ return c.symbol;
194
+ }
195
+ else {
196
+ return c.symbol === nativeToken.wrappedSymbol ? nativeToken.symbol : c.symbol;
197
+ }
198
+ }
199
+ else {
200
+ return c.symbol === nativeToken.wrappedSymbol ? nativeToken.symbol : c.symbol;
201
+ }
202
+ });
203
+ var underlyingCoinAddresses = coinAddresses.map(function (addr) {
204
+ if (factoryType === 'factory-twocrypto') {
205
+ return addr;
206
+ }
207
+ else if (factoryType === 'factory-tricrypto') {
208
+ var isETHEnabled = pool.implementationAddress === tricryptoDeployImplementations[curve.chainId].amm_native_transfers_enabled;
209
+ if (isETHEnabled) {
210
+ return addr;
211
+ }
212
+ else {
213
+ return addr === nativeToken.wrappedAddress ? nativeToken.address : addr;
214
+ }
215
+ }
216
+ else {
217
+ return addr === nativeToken.wrappedAddress ? nativeToken.address : addr;
218
+ }
219
+ });
220
+ var isPlain = underlyingCoinNames.toString() === wrappedCoinNames.toString();
174
221
  var lpTokenBasePoolIdDict = CRYPTO_FACTORY_CONSTANTS[_this.chainId].lpTokenBasePoolIdDict;
175
222
  var basePoolIdZapDict = CRYPTO_FACTORY_CONSTANTS[_this.chainId].basePoolIdZapDict;
176
223
  var basePoolId = lpTokenBasePoolIdDict[coinAddresses[1]];
177
- if (factoryType !== "factory-tricrypto" && basePoolId) { // isMeta
224
+ if (factoryType !== "factory-tricrypto" && factoryType !== "factory-twocrypto" && basePoolId) { // isMeta
178
225
  var allPoolsData = __assign(__assign({}, _this.constants.POOLS_DATA), FACTORY_POOLS_DATA);
179
226
  var basePoolCoinNames = __spreadArray([], allPoolsData[basePoolId].underlying_coins, true);
180
227
  var basePoolCoinAddresses = __spreadArray([], allPoolsData[basePoolId].underlying_coin_addresses, true);
@@ -224,7 +271,7 @@ export function getFactoryPoolsDataFromApi(factoryType) {
224
271
  wrapped_coin_addresses: coinAddresses,
225
272
  underlying_decimals: coinDecimals,
226
273
  wrapped_decimals: coinDecimals,
227
- swap_abi: factoryType === "factory-tricrypto" ? tricryptoFactorySwapABI : cryptoFactorySwapABI,
274
+ swap_abi: getSwapAbiByFactoryType(factoryType),
228
275
  gauge_abi: _this.chainId === 1 ? factoryGaugeABI : gaugeChildABI,
229
276
  in_api: true,
230
277
  is_stable_ng: false,
@@ -192,8 +192,7 @@ function setTwocryptoFactoryCoinsContracts(coinAddresses) {
192
192
  }
193
193
  }
194
194
  function getTwocryptoFactoryUnderlyingCoinAddresses(coinAddresses) {
195
- var _this = this;
196
- return __spreadArray([], coinAddresses.map(function (coins) { return coins.map(function (c) { return c === _this.constants.NATIVE_TOKEN.wrappedAddress ? _this.constants.NATIVE_TOKEN.address : c; }); }), true);
195
+ return __spreadArray([], coinAddresses.map(function (coins) { return coins.map(function (c) { return c; }); }), true);
197
196
  }
198
197
  function getExistingCoinAddressNameDict() {
199
198
  var dict = {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curvefi/api",
3
- "version": "2.56.0",
3
+ "version": "2.56.2",
4
4
  "description": "JavaScript library for curve.fi",
5
5
  "main": "lib/index.js",
6
6
  "author": "Macket",