@pendle/core-v2 4.0.5 → 4.0.6
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.
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapBase.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapL1.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapL1.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapL2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapL2.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol/IExecutorHelper.json +168 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol/IExecutorHelperL2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol/IExecutorHelperL2.json +378 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol/InputScalingHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol/InputScalingHelper.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol/ScalingDataLib.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol/CalldataReader.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol/CalldataReader.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol/CalldataWriter.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol/CalldataWriter.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol/Common.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol/Common.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol/DexScaler.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol/DexScaler.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol/ExecutorReader.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol/ExecutorReader.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol/InputScalingHelperL2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol/InputScalingHelperL2.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol/ScalingDataL2Lib.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol/ScalingDataL2Lib.json +2 -2
- package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol +58 -1
- package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol +107 -1
- package/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol +14 -0
- package/contracts/router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol +32 -0
- package/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol +6 -0
- package/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol +59 -2
- package/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol +22 -1
- package/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol +24 -0
- package/deployments/1-core.json +1 -1
- package/deployments/10-core.json +1 -1
- package/deployments/42161-core.json +1 -1
- package/deployments/56-core.json +1 -1
- package/package.json +1 -1
- package/typechain-types/IExecutorHelper.ts +273 -0
- package/typechain-types/IExecutorHelperL2.ts +455 -0
- package/typechain-types/factories/IExecutorHelperL2__factory.ts +378 -0
- package/typechain-types/factories/IExecutorHelper__factory.ts +168 -0
- package/typechain-types/factories/PendleSwapL1__factory.ts +1 -1
- package/typechain-types/factories/PendleSwapL2__factory.ts +1 -1
|
@@ -232,9 +232,12 @@ interface IExecutorHelperL2 {
|
|
|
232
232
|
|
|
233
233
|
struct VelocoreV2 {
|
|
234
234
|
address vault;
|
|
235
|
+
uint256 amount;
|
|
235
236
|
address tokenIn;
|
|
236
237
|
address tokenOut;
|
|
237
|
-
|
|
238
|
+
address stablePool; // if not empty then use stable pool
|
|
239
|
+
address wrapToken;
|
|
240
|
+
bool isConvertFirst;
|
|
238
241
|
}
|
|
239
242
|
|
|
240
243
|
struct MaticMigrate {
|
|
@@ -252,6 +255,46 @@ interface IExecutorHelperL2 {
|
|
|
252
255
|
address toToken;
|
|
253
256
|
}
|
|
254
257
|
|
|
258
|
+
struct BalancerV1 {
|
|
259
|
+
address pool;
|
|
260
|
+
uint256 amount;
|
|
261
|
+
address tokenIn;
|
|
262
|
+
address tokenOut;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
struct SwaapV2 {
|
|
266
|
+
address router;
|
|
267
|
+
uint256 amount;
|
|
268
|
+
bytes data;
|
|
269
|
+
address tokenIn;
|
|
270
|
+
address tokenOut;
|
|
271
|
+
address recipient;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
struct ArbswapStable {
|
|
275
|
+
address pool;
|
|
276
|
+
uint256 dx;
|
|
277
|
+
uint256 tokenIndexFrom;
|
|
278
|
+
address tokenIn;
|
|
279
|
+
address tokenOut;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
struct BancorV2 {
|
|
283
|
+
address pool;
|
|
284
|
+
address[] swapPath;
|
|
285
|
+
uint256 amount;
|
|
286
|
+
address recipient;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
struct Ambient {
|
|
290
|
+
address pool;
|
|
291
|
+
uint128 qty;
|
|
292
|
+
address base;
|
|
293
|
+
address quote;
|
|
294
|
+
uint256 poolIdx;
|
|
295
|
+
uint8 settleFlags;
|
|
296
|
+
}
|
|
297
|
+
|
|
255
298
|
function executeUniswap(
|
|
256
299
|
uint256 index,
|
|
257
300
|
bytes memory data,
|
|
@@ -557,4 +600,67 @@ interface IExecutorHelperL2 {
|
|
|
557
600
|
bool getPoolOnly,
|
|
558
601
|
address nextPool
|
|
559
602
|
) external payable returns (address tokenOut, uint256 tokenAmountOut, address pool);
|
|
603
|
+
|
|
604
|
+
function executeBalancerV1(
|
|
605
|
+
uint256 index,
|
|
606
|
+
bytes memory data,
|
|
607
|
+
uint256 previousAmountOut,
|
|
608
|
+
address tokenIn,
|
|
609
|
+
bool getPoolOnly,
|
|
610
|
+
address nextPool
|
|
611
|
+
) external payable returns (address tokenOut, uint256 tokenAmountOut, address pool);
|
|
612
|
+
|
|
613
|
+
function executeSwaapV2(
|
|
614
|
+
uint256 index,
|
|
615
|
+
bytes memory data,
|
|
616
|
+
uint256 previousAmountOut,
|
|
617
|
+
address tokenIn,
|
|
618
|
+
bool getPoolOnly,
|
|
619
|
+
address nextPool
|
|
620
|
+
) external payable returns (address tokenOut, uint256 tokenAmountOut, address pool);
|
|
621
|
+
|
|
622
|
+
function executeNomiswapStable(
|
|
623
|
+
uint256 index,
|
|
624
|
+
bytes memory data,
|
|
625
|
+
uint256 previousAmountOut,
|
|
626
|
+
address tokenIn,
|
|
627
|
+
bool getPoolOnly,
|
|
628
|
+
address nextPool
|
|
629
|
+
) external payable returns (address tokenOut, uint256 tokenAmountOut, address pool);
|
|
630
|
+
|
|
631
|
+
function executeArbswapStable(
|
|
632
|
+
uint256 index,
|
|
633
|
+
bytes memory data,
|
|
634
|
+
uint256 previousAmountOut,
|
|
635
|
+
address tokenIn,
|
|
636
|
+
bool getPoolOnly,
|
|
637
|
+
address nextPool
|
|
638
|
+
) external payable returns (address tokenOut, uint256 tokenAmountOut, address pool);
|
|
639
|
+
|
|
640
|
+
function executeBancorV2(
|
|
641
|
+
uint256 index,
|
|
642
|
+
bytes memory data,
|
|
643
|
+
uint256 previousAmountOut,
|
|
644
|
+
address tokenIn,
|
|
645
|
+
bool getPoolOnly,
|
|
646
|
+
address nextPool
|
|
647
|
+
) external payable returns (address tokenOut, uint256 tokenAmountOut, address pool);
|
|
648
|
+
|
|
649
|
+
function executeBancorV3(
|
|
650
|
+
uint256 index,
|
|
651
|
+
bytes memory data,
|
|
652
|
+
uint256 previousAmountOut,
|
|
653
|
+
address tokenIn,
|
|
654
|
+
bool getPoolOnly,
|
|
655
|
+
address nextPool
|
|
656
|
+
) external payable returns (address tokenOut, uint256 tokenAmountOut, address pool);
|
|
657
|
+
|
|
658
|
+
function executeAmbient(
|
|
659
|
+
uint256 index,
|
|
660
|
+
bytes memory data,
|
|
661
|
+
uint256 previousAmountOut,
|
|
662
|
+
address tokenIn,
|
|
663
|
+
bool getPoolOnly,
|
|
664
|
+
address nextPool
|
|
665
|
+
) external payable returns (address tokenOut, uint256 tokenAmountOut, address pool);
|
|
560
666
|
}
|
|
@@ -248,6 +248,20 @@ library InputScalingHelper {
|
|
|
248
248
|
swap.data = ScalingDataLib.newMantis(swap.data, oldAmount, newAmount); // @dev using Mantis struct because Solidly V2 and Mantis have same fields
|
|
249
249
|
} else if (functionSelector == IExecutorHelper.executeKokonut.selector) {
|
|
250
250
|
swap.data = ScalingDataLib.newKokonut(swap.data, oldAmount, newAmount);
|
|
251
|
+
} else if (functionSelector == IExecutorHelper.executeBalancerV1.selector) {
|
|
252
|
+
swap.data = ScalingDataLib.newBalancerV1(swap.data, oldAmount, newAmount);
|
|
253
|
+
} else if (functionSelector == IExecutorHelper.executeSwaapV2.selector) {
|
|
254
|
+
revert("InputScalingHelper: Can not scale SwaapV2 swap");
|
|
255
|
+
} else if (functionSelector == IExecutorHelper.executeNomiswapStable.selector) {
|
|
256
|
+
swap.data = ScalingDataLib.newMantis(swap.data, oldAmount, newAmount); // @dev using Mantis struct because NomiswapV2 and Mantis have same fields
|
|
257
|
+
} else if (functionSelector == IExecutorHelper.executeArbswapStable.selector) {
|
|
258
|
+
swap.data = ScalingDataLib.newArbswapStable(swap.data, oldAmount, newAmount);
|
|
259
|
+
} else if (functionSelector == IExecutorHelper.executeBancorV2.selector) {
|
|
260
|
+
swap.data = ScalingDataLib.newBancorV2(swap.data, oldAmount, newAmount);
|
|
261
|
+
} else if (functionSelector == IExecutorHelper.executeBancorV3.selector) {
|
|
262
|
+
swap.data = ScalingDataLib.newMantis(swap.data, oldAmount, newAmount); // @dev using Mantis struct because Bancor V3 and Mantis have same fields
|
|
263
|
+
} else if (functionSelector == IExecutorHelper.executeAmbient.selector) {
|
|
264
|
+
swap.data = ScalingDataLib.newAmbient(swap.data, oldAmount, newAmount);
|
|
251
265
|
} else {
|
|
252
266
|
revert("AggregationExecutor: Dex type not supported");
|
|
253
267
|
}
|
|
@@ -241,4 +241,36 @@ library ScalingDataLib {
|
|
|
241
241
|
kokonut.dx = (kokonut.dx * newAmount) / oldAmount;
|
|
242
242
|
return abi.encode(kokonut);
|
|
243
243
|
}
|
|
244
|
+
|
|
245
|
+
function newBalancerV1(
|
|
246
|
+
bytes memory data,
|
|
247
|
+
uint256 oldAmount,
|
|
248
|
+
uint256 newAmount
|
|
249
|
+
) internal pure returns (bytes memory) {
|
|
250
|
+
IExecutorHelper.BalancerV1 memory balancerV1 = abi.decode(data, (IExecutorHelper.BalancerV1));
|
|
251
|
+
balancerV1.amount = (balancerV1.amount * newAmount) / oldAmount;
|
|
252
|
+
return abi.encode(balancerV1);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
function newArbswapStable(
|
|
256
|
+
bytes memory data,
|
|
257
|
+
uint256 oldAmount,
|
|
258
|
+
uint256 newAmount
|
|
259
|
+
) internal pure returns (bytes memory) {
|
|
260
|
+
IExecutorHelper.ArbswapStable memory arbswapStable = abi.decode(data, (IExecutorHelper.ArbswapStable));
|
|
261
|
+
arbswapStable.dx = (arbswapStable.dx * newAmount) / oldAmount;
|
|
262
|
+
return abi.encode(arbswapStable);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
function newBancorV2(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
266
|
+
IExecutorHelper.BancorV2 memory bancorV2 = abi.decode(data, (IExecutorHelper.BancorV2));
|
|
267
|
+
bancorV2.amount = (bancorV2.amount * newAmount) / oldAmount;
|
|
268
|
+
return abi.encode(bancorV2);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
function newAmbient(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
272
|
+
IExecutorHelper.Ambient memory ambient = abi.decode(data, (IExecutorHelper.Ambient));
|
|
273
|
+
ambient.qty = uint128((uint256(ambient.qty) * newAmount) / oldAmount);
|
|
274
|
+
return abi.encode(ambient);
|
|
275
|
+
}
|
|
244
276
|
}
|
|
@@ -55,6 +55,12 @@ library CalldataReader {
|
|
|
55
55
|
return (uint32(bytes4(ret)), startByte);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
+
function _readUint128(bytes memory data, uint256 startByte) internal pure returns (uint128, uint256) {
|
|
59
|
+
bytes memory ret;
|
|
60
|
+
(ret, startByte) = _calldataVal(data, startByte, 16);
|
|
61
|
+
return (uint128(bytes16(ret)), startByte);
|
|
62
|
+
}
|
|
63
|
+
|
|
58
64
|
function _readUint160(bytes memory data, uint256 startByte) internal pure returns (uint160, uint256) {
|
|
59
65
|
bytes memory ret;
|
|
60
66
|
(ret, startByte) = _calldataVal(data, startByte, 20);
|
|
@@ -361,9 +361,8 @@ library DexScaler {
|
|
|
361
361
|
|
|
362
362
|
(, startByte) = data._readPool(startByte); // pool
|
|
363
363
|
|
|
364
|
-
(, startByte) = data._readAddress(startByte); // tokenOut
|
|
365
|
-
|
|
366
364
|
(uint256 amount, ) = data._readUint128AsUint256(startByte); // amount
|
|
365
|
+
|
|
367
366
|
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (amount * newAmount) / oldAmount, "scaleVelocoreV2");
|
|
368
367
|
}
|
|
369
368
|
|
|
@@ -379,4 +378,62 @@ library DexScaler {
|
|
|
379
378
|
(uint256 amount, ) = data._readUint128AsUint256(startByte); // amount
|
|
380
379
|
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (amount * newAmount) / oldAmount, "scaleKokonut");
|
|
381
380
|
}
|
|
381
|
+
|
|
382
|
+
function scaleBalancerV1(
|
|
383
|
+
bytes memory data,
|
|
384
|
+
uint256 oldAmount,
|
|
385
|
+
uint256 newAmount
|
|
386
|
+
) internal pure returns (bytes memory) {
|
|
387
|
+
uint256 startByte;
|
|
388
|
+
|
|
389
|
+
(, startByte) = data._readPool(startByte); // pool
|
|
390
|
+
|
|
391
|
+
(uint256 amount, ) = data._readUint128AsUint256(startByte); // amount
|
|
392
|
+
|
|
393
|
+
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (amount * newAmount) / oldAmount, "scaleBalancerV1");
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
function scaleArbswapStable(
|
|
397
|
+
bytes memory data,
|
|
398
|
+
uint256 oldAmount,
|
|
399
|
+
uint256 newAmount
|
|
400
|
+
) internal pure returns (bytes memory) {
|
|
401
|
+
uint256 startByte;
|
|
402
|
+
|
|
403
|
+
(, startByte) = data._readPool(startByte); // pool
|
|
404
|
+
|
|
405
|
+
(uint256 dx, ) = data._readUint128AsUint256(startByte); // dx
|
|
406
|
+
|
|
407
|
+
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (dx * newAmount) / oldAmount, "scaleArbswapStable");
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
function scaleBancorV2(
|
|
411
|
+
bytes memory data,
|
|
412
|
+
uint256 oldAmount,
|
|
413
|
+
uint256 newAmount
|
|
414
|
+
) internal pure returns (bytes memory) {
|
|
415
|
+
uint256 startByte;
|
|
416
|
+
|
|
417
|
+
(, startByte) = data._readPool(startByte); // pool
|
|
418
|
+
|
|
419
|
+
(, startByte) = data._readAddressArray(startByte); // swapPath
|
|
420
|
+
|
|
421
|
+
(uint256 amount, ) = data._readUint128AsUint256(startByte); // amount
|
|
422
|
+
|
|
423
|
+
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (amount * newAmount) / oldAmount, "scaleBancorV2");
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
function scaleAmbient(
|
|
427
|
+
bytes memory data,
|
|
428
|
+
uint256 oldAmount,
|
|
429
|
+
uint256 newAmount
|
|
430
|
+
) internal pure returns (bytes memory) {
|
|
431
|
+
uint256 startByte;
|
|
432
|
+
|
|
433
|
+
(, startByte) = data._readPool(startByte); // pool
|
|
434
|
+
|
|
435
|
+
(uint128 qty, ) = data._readUint128(startByte); // amount
|
|
436
|
+
|
|
437
|
+
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (qty * newAmount) / oldAmount, "scaleAmbient");
|
|
438
|
+
}
|
|
382
439
|
}
|
|
@@ -62,7 +62,14 @@ library InputScalingHelperL2 {
|
|
|
62
62
|
VelocoreV2,
|
|
63
63
|
Smardex,
|
|
64
64
|
SolidlyV2,
|
|
65
|
-
Kokonut
|
|
65
|
+
Kokonut,
|
|
66
|
+
BalancerV1,
|
|
67
|
+
SwaapV2,
|
|
68
|
+
NomiswapStable,
|
|
69
|
+
ArbswapStable,
|
|
70
|
+
BancorV2,
|
|
71
|
+
BancorV3,
|
|
72
|
+
Ambient
|
|
66
73
|
}
|
|
67
74
|
|
|
68
75
|
function _getScaledInputData(bytes calldata inputData, uint256 newAmount) internal pure returns (bytes memory) {
|
|
@@ -317,6 +324,20 @@ library InputScalingHelperL2 {
|
|
|
317
324
|
swap.data = swap.data.newMantis(oldAmount, newAmount); // @dev use identical calldata structure as Mantis
|
|
318
325
|
} else if (DexIndex(functionSelectorIndex) == DexIndex.Kokonut) {
|
|
319
326
|
swap.data = swap.data.newKokonut(oldAmount, newAmount);
|
|
327
|
+
} else if (DexIndex(functionSelectorIndex) == DexIndex.BalancerV1) {
|
|
328
|
+
swap.data = swap.data.newBalancerV1(oldAmount, newAmount);
|
|
329
|
+
} else if (DexIndex(functionSelectorIndex) == DexIndex.SwaapV2) {
|
|
330
|
+
revert("InputScalingHelper: Can not scale SwaapV2 swap");
|
|
331
|
+
} else if (DexIndex(functionSelectorIndex) == DexIndex.NomiswapStable) {
|
|
332
|
+
swap.data = swap.data.newMantis(oldAmount, newAmount); // @dev use identical calldata structure as Mantis
|
|
333
|
+
} else if (DexIndex(functionSelectorIndex) == DexIndex.ArbswapStable) {
|
|
334
|
+
swap.data = swap.data.newArbswapStable(oldAmount, newAmount);
|
|
335
|
+
} else if (DexIndex(functionSelectorIndex) == DexIndex.BancorV2) {
|
|
336
|
+
swap.data = swap.data.newBancorV2(oldAmount, newAmount);
|
|
337
|
+
} else if (DexIndex(functionSelectorIndex) == DexIndex.BancorV3) {
|
|
338
|
+
swap.data = swap.data.newMantis(oldAmount, newAmount); // @dev use identical calldata structure as Mantis
|
|
339
|
+
} else if (DexIndex(functionSelectorIndex) == DexIndex.Ambient) {
|
|
340
|
+
swap.data = swap.data.newAmbient(oldAmount, newAmount);
|
|
320
341
|
} else {
|
|
321
342
|
revert("InputScaleHelper: Dex type not supported");
|
|
322
343
|
}
|
|
@@ -170,4 +170,28 @@ library ScalingDataL2Lib {
|
|
|
170
170
|
function newKokonut(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
171
171
|
return data.scaleKokonut(oldAmount, newAmount);
|
|
172
172
|
}
|
|
173
|
+
|
|
174
|
+
function newBalancerV1(
|
|
175
|
+
bytes memory data,
|
|
176
|
+
uint256 oldAmount,
|
|
177
|
+
uint256 newAmount
|
|
178
|
+
) internal pure returns (bytes memory) {
|
|
179
|
+
return data.scaleBalancerV1(oldAmount, newAmount);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
function newArbswapStable(
|
|
183
|
+
bytes memory data,
|
|
184
|
+
uint256 oldAmount,
|
|
185
|
+
uint256 newAmount
|
|
186
|
+
) internal pure returns (bytes memory) {
|
|
187
|
+
return data.scaleArbswapStable(oldAmount, newAmount);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
function newBancorV2(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
191
|
+
return data.scaleBancorV2(oldAmount, newAmount);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
function newAmbient(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
195
|
+
return data.scaleAmbient(oldAmount, newAmount);
|
|
196
|
+
}
|
|
173
197
|
}
|
package/deployments/1-core.json
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"bulkSellerOffchain": "0x9ACc60F915dFcd190D270fc92567aE71776bd320",
|
|
25
25
|
"router": "0x00000000005BBB0EF59571E58418F9a4357b68A0",
|
|
26
26
|
"routerStatic": "0x263833d47eA3fA4a30f269323aba6a107f9eB14C",
|
|
27
|
-
"pendleSwap": "
|
|
27
|
+
"pendleSwap": "0x1f5B1f22585f430C3a1a7D16e1E1100945965e35",
|
|
28
28
|
"routerHelper": "0x462206b11d185ef6F64B41D344325401C37EC335",
|
|
29
29
|
"ptOracle": "0xbbd487268A295531d299c125F3e5f749884A3e30",
|
|
30
30
|
"yieldContractFactoryV3": "0xdF3601014686674e53d1Fa52F7602525483F9122",
|
package/deployments/10-core.json
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"marketFactory": "0x17F100fB4bE2707675c6439468d38249DD993d58",
|
|
22
22
|
"router": "0x00000000005BBB0EF59571E58418F9a4357b68A0",
|
|
23
23
|
"routerStatic": "0x704478Dd72FD7F9B83d1F1e0fc18C14B54F034d0",
|
|
24
|
-
"pendleSwap": "
|
|
24
|
+
"pendleSwap": "0x7076dEE976098B444f68C6382E8f062237879a9F",
|
|
25
25
|
"routerHelper": "0x462206b11d185ef6F64B41D344325401C37EC335",
|
|
26
26
|
"ptOracle": "0x0b692f06CA82e3075dC537224450885Fd138e655",
|
|
27
27
|
"externalRewardDistributor": "0x1fBaCedf510dAA79dfD9B41227A7ba192d5D548D",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"marketFactory": "0xf5a7De2D276dbda3EEf1b62A9E718EFf4d29dDC8",
|
|
22
22
|
"router": "0x00000000005BBB0EF59571E58418F9a4357b68A0",
|
|
23
23
|
"routerStatic": "0xAdB09F65bd90d19e3148D9ccb693F3161C6DB3E8",
|
|
24
|
-
"pendleSwap": "
|
|
24
|
+
"pendleSwap": "0x1f5B1f22585f430C3a1a7D16e1E1100945965e35",
|
|
25
25
|
"routerHelper": "0x462206b11d185ef6F64B41D344325401C37EC335",
|
|
26
26
|
"ptOracle": "0x7e16e4253CE4a1C96422a9567B23b4b5Ebc207F1",
|
|
27
27
|
"yieldContractFactoryV3": "0xEb38531db128EcA928aea1B1CE9E5609B15ba146",
|
package/deployments/56-core.json
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"marketFactory": "0x2bEa6BfD8fbFF45aA2a893EB3B6d85D10EFcC70E",
|
|
22
22
|
"router": "0x00000000005BBB0EF59571E58418F9a4357b68A0",
|
|
23
23
|
"routerStatic": "0x2700ADB035F82a11899ce1D3f1BF8451c296eABb",
|
|
24
|
-
"pendleSwap": "
|
|
24
|
+
"pendleSwap": "0x8536b3519eaE59741B340bccE6c522c545606C59",
|
|
25
25
|
"routerHelper": "0x09D65812dCD0f276e052583d41885cA5C7Dd0086",
|
|
26
26
|
"ptOracle": "0x70ee0A6DB4F5a2Dc4d9c0b57bE97B9987e75BAFD",
|
|
27
27
|
"yieldContractFactoryV3": "0x40Ae6da2d92aa3DCb7f8d7a7209FD12BDfcb7C85",
|