@pendle/core-v2 4.5.1-beta-3 → 4.5.1-beta-4
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/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.json +44 -34
- package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.json +44 -34
- package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.json +30 -0
- package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +46 -36
- package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
- package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -7
- package/contracts/interfaces/IPActionMiscV3.sol +4 -3
- package/contracts/interfaces/IPReflector.sol +6 -0
- package/contracts/router/ActionMiscV3.sol +14 -27
- package/contracts/router/Reflector.sol +21 -13
- package/package.json +2 -2
- package/typechain-types/ActionMiscV3.ts +55 -44
- package/typechain-types/IPActionMiscV3.ts +55 -44
- package/typechain-types/IPAllActionV3.ts +55 -44
- package/typechain-types/IPReflector.ts +95 -0
- package/typechain-types/Reflector.ts +1 -4
- package/typechain-types/factories/ActionMiscV3__factory.ts +45 -35
- package/typechain-types/factories/IPActionMiscV3__factory.ts +44 -34
- package/typechain-types/factories/IPAllActionV3__factory.ts +44 -34
- package/typechain-types/factories/IPReflector__factory.ts +42 -0
- package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
- package/typechain-types/factories/Reflector__factory.ts +1 -6
- package/typechain-types/hardhat.d.ts +9 -18
- package/typechain-types/index.ts +2 -4
|
@@ -3,7 +3,7 @@ pragma solidity ^0.8.17;
|
|
|
3
3
|
|
|
4
4
|
import "./base/ActionBase.sol";
|
|
5
5
|
import "../interfaces/IPActionMiscV3.sol";
|
|
6
|
-
import "
|
|
6
|
+
import "../interfaces/IPReflector.sol";
|
|
7
7
|
|
|
8
8
|
contract ActionMiscV3 is IPActionMiscV3, ActionBase {
|
|
9
9
|
function mintSyFromToken(
|
|
@@ -117,8 +117,6 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
|
|
|
117
117
|
netTokenOut = IStandardizedYield(SY).redeem(receiver, netSyInterm, tokenRedeemSy, minTokenOut, true);
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
// double check event orders
|
|
121
|
-
|
|
122
120
|
function exitPreExpToToken(
|
|
123
121
|
address receiver,
|
|
124
122
|
address market,
|
|
@@ -251,17 +249,6 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
|
|
|
251
249
|
p.totalSyOut = p.netSyFromRemove + p.netSyFromRedeem;
|
|
252
250
|
}
|
|
253
251
|
|
|
254
|
-
function multicallAlpha(
|
|
255
|
-
address payable reflector,
|
|
256
|
-
bytes calldata selfCall,
|
|
257
|
-
bytes calldata reflectCall
|
|
258
|
-
) external payable returns (bytes memory selfRes, bytes memory reflectRes) {
|
|
259
|
-
(, selfRes) = _delegateToSelf(selfCall, false);
|
|
260
|
-
reflectRes = _callToReflector(reflector, reflectCall);
|
|
261
|
-
|
|
262
|
-
// ? We don't need to check balance here, can trust SDK?
|
|
263
|
-
}
|
|
264
|
-
|
|
265
252
|
// ----------------- MISC FUNCTIONS -----------------
|
|
266
253
|
|
|
267
254
|
function boostMarkets(address[] memory markets) external {
|
|
@@ -279,6 +266,17 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
|
|
|
279
266
|
}
|
|
280
267
|
}
|
|
281
268
|
|
|
269
|
+
function callAndReflect(
|
|
270
|
+
address payable reflector,
|
|
271
|
+
bytes calldata selfCall1,
|
|
272
|
+
bytes calldata selfCall2,
|
|
273
|
+
bytes calldata reflectCall
|
|
274
|
+
) external payable returns (bytes memory selfRes1, bytes memory selfRes2, bytes memory reflectRes) {
|
|
275
|
+
(, selfRes1) = _delegateToSelf(selfCall1, false);
|
|
276
|
+
if (selfCall2.length > 0) (, selfRes2) = _delegateToSelf(selfCall2, false);
|
|
277
|
+
reflectRes = _callToReflector(reflector, reflectCall);
|
|
278
|
+
}
|
|
279
|
+
|
|
282
280
|
function simulate(address target, bytes calldata data) external payable {
|
|
283
281
|
(bool success, bytes memory result) = target.delegatecall(data);
|
|
284
282
|
revert Errors.SimulationResults(success, result);
|
|
@@ -298,18 +296,7 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
|
|
|
298
296
|
}
|
|
299
297
|
}
|
|
300
298
|
|
|
301
|
-
function _callToReflector(address payable reflector, bytes memory data) internal returns (bytes memory
|
|
302
|
-
|
|
303
|
-
// TODO: is the payable necessary?
|
|
304
|
-
|
|
305
|
-
bool success;
|
|
306
|
-
(success, result) = Reflector(reflector).reflect(data);
|
|
307
|
-
|
|
308
|
-
if (!success) {
|
|
309
|
-
assembly {
|
|
310
|
-
// We use Yul's revert() to bubble up errors from the target contract.
|
|
311
|
-
revert(add(32, result), mload(result))
|
|
312
|
-
}
|
|
313
|
-
}
|
|
299
|
+
function _callToReflector(address payable reflector, bytes memory data) internal returns (bytes memory) {
|
|
300
|
+
return IPReflector(reflector).reflect(data);
|
|
314
301
|
}
|
|
315
302
|
}
|
|
@@ -2,25 +2,33 @@
|
|
|
2
2
|
pragma solidity ^0.8.17;
|
|
3
3
|
|
|
4
4
|
import "../interfaces/IPAllActionV3.sol";
|
|
5
|
+
import "../interfaces/IPReflector.sol";
|
|
5
6
|
import "../core/libraries/TokenHelper.sol";
|
|
6
7
|
|
|
7
|
-
contract Reflector is TokenHelper {
|
|
8
|
+
contract Reflector is TokenHelper, IPReflector {
|
|
8
9
|
using SafeERC20 for IERC20;
|
|
9
10
|
|
|
10
11
|
mapping(address => bool) internal approved;
|
|
11
12
|
|
|
12
13
|
receive() external payable {}
|
|
13
14
|
|
|
14
|
-
function reflect(bytes calldata inputData) external returns (
|
|
15
|
-
(uint256 value, bytes memory newCalldata) =
|
|
15
|
+
function reflect(bytes calldata inputData) external returns (bytes memory result) {
|
|
16
|
+
(uint256 value, bytes memory newCalldata) = _getNewCalldata(inputData);
|
|
17
|
+
bool success;
|
|
18
|
+
|
|
16
19
|
(success, result) = msg.sender.call{value: value}(newCalldata);
|
|
20
|
+
if (!success) {
|
|
21
|
+
assembly {
|
|
22
|
+
// We use Yul's revert() to bubble up errors from the target contract.
|
|
23
|
+
revert(add(32, result), mload(result))
|
|
24
|
+
}
|
|
25
|
+
}
|
|
17
26
|
}
|
|
18
27
|
|
|
19
|
-
function
|
|
28
|
+
function _getNewCalldata(bytes calldata inputData) internal returns (uint256 value, bytes memory newCalldata) {
|
|
20
29
|
bytes4 selector = bytes4(inputData[:4]);
|
|
21
30
|
bytes calldata data = inputData[4:];
|
|
22
31
|
|
|
23
|
-
// TODO: can we do nicer here?
|
|
24
32
|
if (selector == IPActionAddRemoveLiqV3.addLiquiditySingleToken.selector) {
|
|
25
33
|
(
|
|
26
34
|
address v1,
|
|
@@ -31,30 +39,30 @@ contract Reflector is TokenHelper {
|
|
|
31
39
|
LimitOrderData memory v6
|
|
32
40
|
) = abi.decode(data, (address, address, uint256, ApproxParams, TokenInput, LimitOrderData));
|
|
33
41
|
|
|
34
|
-
value =
|
|
42
|
+
value = _scaleTokenInputAndGetValue(v5);
|
|
35
43
|
newCalldata = abi.encodeWithSelector(selector, v1, v2, v3, v4, v5, v6);
|
|
36
|
-
_safeApproveInf(v5.tokenIn, msg.sender);
|
|
37
44
|
} else if (selector == IPActionAddRemoveLiqV3.addLiquiditySingleTokenKeepYt.selector) {
|
|
38
45
|
(address v1, address v2, uint256 v3, uint256 v4, TokenInput memory v5) = abi.decode(
|
|
39
46
|
data,
|
|
40
47
|
(address, address, uint256, uint256, TokenInput)
|
|
41
48
|
);
|
|
42
49
|
|
|
43
|
-
value =
|
|
50
|
+
value = _scaleTokenInputAndGetValue(v5);
|
|
44
51
|
newCalldata = abi.encodeWithSelector(selector, v1, v2, v3, v4, v5);
|
|
45
52
|
} else {
|
|
46
53
|
revert("UNSUPPORTED_SELECTOR");
|
|
47
54
|
}
|
|
48
55
|
}
|
|
49
56
|
|
|
50
|
-
function
|
|
51
|
-
|
|
57
|
+
function _scaleTokenInputAndGetValue(TokenInput memory inp) internal returns (uint256 ethValue) {
|
|
58
|
+
require(inp.swapData.swapType == SwapType.NONE, "SWAP_NOT_ALLOWED"); // the exit call should already swap
|
|
52
59
|
|
|
53
60
|
inp.netTokenIn = _selfBalance(inp.tokenIn);
|
|
54
|
-
ethValue = inp.tokenIn == NATIVE ? inp.netTokenIn : 0;
|
|
55
61
|
|
|
56
|
-
if (inp.tokenIn
|
|
57
|
-
|
|
62
|
+
if (inp.tokenIn == NATIVE) {
|
|
63
|
+
ethValue = inp.netTokenIn;
|
|
64
|
+
} else if (!approved[inp.tokenIn]) {
|
|
65
|
+
IERC20(inp.tokenIn).forceApprove(msg.sender, type(uint256).max);
|
|
58
66
|
approved[inp.tokenIn] = true;
|
|
59
67
|
}
|
|
60
68
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@pendle/core-v2",
|
|
3
3
|
"description": "Core smart contracts of Pendle Protocol.",
|
|
4
4
|
"license": "BUSL-1.1",
|
|
5
|
-
"version": "4.5.1-beta-
|
|
5
|
+
"version": "4.5.1-beta-4",
|
|
6
6
|
"homepage": "https://pendle.finance",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"pendle",
|
|
@@ -49,4 +49,4 @@
|
|
|
49
49
|
"@openzeppelin/contracts": "4.9.3",
|
|
50
50
|
"@openzeppelin/contracts-upgradeable": "4.9.3"
|
|
51
51
|
}
|
|
52
|
-
}
|
|
52
|
+
}
|
|
@@ -234,6 +234,7 @@ export interface ActionMiscV3Interface extends utils.Interface {
|
|
|
234
234
|
contractName: "ActionMiscV3";
|
|
235
235
|
functions: {
|
|
236
236
|
"boostMarkets(address[])": FunctionFragment;
|
|
237
|
+
"callAndReflect(address,bytes,bytes,bytes)": FunctionFragment;
|
|
237
238
|
"exitPostExpToSy(address,address,uint256,uint256,uint256)": FunctionFragment;
|
|
238
239
|
"exitPostExpToToken(address,address,uint256,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)))": FunctionFragment;
|
|
239
240
|
"exitPreExpToSy(address,address,uint256,uint256,uint256,uint256,(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[],bytes))": FunctionFragment;
|
|
@@ -242,7 +243,6 @@ export interface ActionMiscV3Interface extends utils.Interface {
|
|
|
242
243
|
"mintPyFromToken(address,address,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)))": FunctionFragment;
|
|
243
244
|
"mintSyFromToken(address,address,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)))": FunctionFragment;
|
|
244
245
|
"multicall((bool,bytes)[])": FunctionFragment;
|
|
245
|
-
"multicallAlpha(address,bytes,bytes)": FunctionFragment;
|
|
246
246
|
"redeemDueInterestAndRewards(address,address[],address[],address[])": FunctionFragment;
|
|
247
247
|
"redeemPyToSy(address,address,uint256,uint256)": FunctionFragment;
|
|
248
248
|
"redeemPyToToken(address,address,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)))": FunctionFragment;
|
|
@@ -256,6 +256,10 @@ export interface ActionMiscV3Interface extends utils.Interface {
|
|
|
256
256
|
functionFragment: "boostMarkets",
|
|
257
257
|
values: [string[]]
|
|
258
258
|
): string;
|
|
259
|
+
encodeFunctionData(
|
|
260
|
+
functionFragment: "callAndReflect",
|
|
261
|
+
values: [string, BytesLike, BytesLike, BytesLike]
|
|
262
|
+
): string;
|
|
259
263
|
encodeFunctionData(
|
|
260
264
|
functionFragment: "exitPostExpToSy",
|
|
261
265
|
values: [string, string, BigNumberish, BigNumberish, BigNumberish]
|
|
@@ -304,10 +308,6 @@ export interface ActionMiscV3Interface extends utils.Interface {
|
|
|
304
308
|
functionFragment: "multicall",
|
|
305
309
|
values: [IPActionMiscV3.Call3Struct[]]
|
|
306
310
|
): string;
|
|
307
|
-
encodeFunctionData(
|
|
308
|
-
functionFragment: "multicallAlpha",
|
|
309
|
-
values: [string, BytesLike, BytesLike]
|
|
310
|
-
): string;
|
|
311
311
|
encodeFunctionData(
|
|
312
312
|
functionFragment: "redeemDueInterestAndRewards",
|
|
313
313
|
values: [string, string[], string[], string[]]
|
|
@@ -341,6 +341,10 @@ export interface ActionMiscV3Interface extends utils.Interface {
|
|
|
341
341
|
functionFragment: "boostMarkets",
|
|
342
342
|
data: BytesLike
|
|
343
343
|
): Result;
|
|
344
|
+
decodeFunctionResult(
|
|
345
|
+
functionFragment: "callAndReflect",
|
|
346
|
+
data: BytesLike
|
|
347
|
+
): Result;
|
|
344
348
|
decodeFunctionResult(
|
|
345
349
|
functionFragment: "exitPostExpToSy",
|
|
346
350
|
data: BytesLike
|
|
@@ -370,10 +374,6 @@ export interface ActionMiscV3Interface extends utils.Interface {
|
|
|
370
374
|
data: BytesLike
|
|
371
375
|
): Result;
|
|
372
376
|
decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result;
|
|
373
|
-
decodeFunctionResult(
|
|
374
|
-
functionFragment: "multicallAlpha",
|
|
375
|
-
data: BytesLike
|
|
376
|
-
): Result;
|
|
377
377
|
decodeFunctionResult(
|
|
378
378
|
functionFragment: "redeemDueInterestAndRewards",
|
|
379
379
|
data: BytesLike
|
|
@@ -628,6 +628,14 @@ export interface ActionMiscV3 extends BaseContract {
|
|
|
628
628
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
629
629
|
): Promise<ContractTransaction>;
|
|
630
630
|
|
|
631
|
+
callAndReflect(
|
|
632
|
+
reflector: string,
|
|
633
|
+
selfCall1: BytesLike,
|
|
634
|
+
selfCall2: BytesLike,
|
|
635
|
+
reflectCall: BytesLike,
|
|
636
|
+
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
637
|
+
): Promise<ContractTransaction>;
|
|
638
|
+
|
|
631
639
|
exitPostExpToSy(
|
|
632
640
|
receiver: string,
|
|
633
641
|
market: string,
|
|
@@ -697,13 +705,6 @@ export interface ActionMiscV3 extends BaseContract {
|
|
|
697
705
|
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
698
706
|
): Promise<ContractTransaction>;
|
|
699
707
|
|
|
700
|
-
multicallAlpha(
|
|
701
|
-
reflector: string,
|
|
702
|
-
selfCall: BytesLike,
|
|
703
|
-
reflectCall: BytesLike,
|
|
704
|
-
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
705
|
-
): Promise<ContractTransaction>;
|
|
706
|
-
|
|
707
708
|
redeemDueInterestAndRewards(
|
|
708
709
|
user: string,
|
|
709
710
|
sys: string[],
|
|
@@ -764,6 +765,14 @@ export interface ActionMiscV3 extends BaseContract {
|
|
|
764
765
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
765
766
|
): Promise<ContractTransaction>;
|
|
766
767
|
|
|
768
|
+
callAndReflect(
|
|
769
|
+
reflector: string,
|
|
770
|
+
selfCall1: BytesLike,
|
|
771
|
+
selfCall2: BytesLike,
|
|
772
|
+
reflectCall: BytesLike,
|
|
773
|
+
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
774
|
+
): Promise<ContractTransaction>;
|
|
775
|
+
|
|
767
776
|
exitPostExpToSy(
|
|
768
777
|
receiver: string,
|
|
769
778
|
market: string,
|
|
@@ -833,13 +842,6 @@ export interface ActionMiscV3 extends BaseContract {
|
|
|
833
842
|
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
834
843
|
): Promise<ContractTransaction>;
|
|
835
844
|
|
|
836
|
-
multicallAlpha(
|
|
837
|
-
reflector: string,
|
|
838
|
-
selfCall: BytesLike,
|
|
839
|
-
reflectCall: BytesLike,
|
|
840
|
-
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
841
|
-
): Promise<ContractTransaction>;
|
|
842
|
-
|
|
843
845
|
redeemDueInterestAndRewards(
|
|
844
846
|
user: string,
|
|
845
847
|
sys: string[],
|
|
@@ -897,6 +899,20 @@ export interface ActionMiscV3 extends BaseContract {
|
|
|
897
899
|
callStatic: {
|
|
898
900
|
boostMarkets(markets: string[], overrides?: CallOverrides): Promise<void>;
|
|
899
901
|
|
|
902
|
+
callAndReflect(
|
|
903
|
+
reflector: string,
|
|
904
|
+
selfCall1: BytesLike,
|
|
905
|
+
selfCall2: BytesLike,
|
|
906
|
+
reflectCall: BytesLike,
|
|
907
|
+
overrides?: CallOverrides
|
|
908
|
+
): Promise<
|
|
909
|
+
[string, string, string] & {
|
|
910
|
+
selfRes1: string;
|
|
911
|
+
selfRes2: string;
|
|
912
|
+
reflectRes: string;
|
|
913
|
+
}
|
|
914
|
+
>;
|
|
915
|
+
|
|
900
916
|
exitPostExpToSy(
|
|
901
917
|
receiver: string,
|
|
902
918
|
market: string,
|
|
@@ -978,13 +994,6 @@ export interface ActionMiscV3 extends BaseContract {
|
|
|
978
994
|
overrides?: CallOverrides
|
|
979
995
|
): Promise<IPActionMiscV3.ResultStructOutput[]>;
|
|
980
996
|
|
|
981
|
-
multicallAlpha(
|
|
982
|
-
reflector: string,
|
|
983
|
-
selfCall: BytesLike,
|
|
984
|
-
reflectCall: BytesLike,
|
|
985
|
-
overrides?: CallOverrides
|
|
986
|
-
): Promise<[string, string] & { selfRes: string; reflectRes: string }>;
|
|
987
|
-
|
|
988
997
|
redeemDueInterestAndRewards(
|
|
989
998
|
user: string,
|
|
990
999
|
sys: string[],
|
|
@@ -1228,6 +1237,14 @@ export interface ActionMiscV3 extends BaseContract {
|
|
|
1228
1237
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
1229
1238
|
): Promise<BigNumber>;
|
|
1230
1239
|
|
|
1240
|
+
callAndReflect(
|
|
1241
|
+
reflector: string,
|
|
1242
|
+
selfCall1: BytesLike,
|
|
1243
|
+
selfCall2: BytesLike,
|
|
1244
|
+
reflectCall: BytesLike,
|
|
1245
|
+
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
1246
|
+
): Promise<BigNumber>;
|
|
1247
|
+
|
|
1231
1248
|
exitPostExpToSy(
|
|
1232
1249
|
receiver: string,
|
|
1233
1250
|
market: string,
|
|
@@ -1297,13 +1314,6 @@ export interface ActionMiscV3 extends BaseContract {
|
|
|
1297
1314
|
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
1298
1315
|
): Promise<BigNumber>;
|
|
1299
1316
|
|
|
1300
|
-
multicallAlpha(
|
|
1301
|
-
reflector: string,
|
|
1302
|
-
selfCall: BytesLike,
|
|
1303
|
-
reflectCall: BytesLike,
|
|
1304
|
-
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
1305
|
-
): Promise<BigNumber>;
|
|
1306
|
-
|
|
1307
1317
|
redeemDueInterestAndRewards(
|
|
1308
1318
|
user: string,
|
|
1309
1319
|
sys: string[],
|
|
@@ -1365,6 +1375,14 @@ export interface ActionMiscV3 extends BaseContract {
|
|
|
1365
1375
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
1366
1376
|
): Promise<PopulatedTransaction>;
|
|
1367
1377
|
|
|
1378
|
+
callAndReflect(
|
|
1379
|
+
reflector: string,
|
|
1380
|
+
selfCall1: BytesLike,
|
|
1381
|
+
selfCall2: BytesLike,
|
|
1382
|
+
reflectCall: BytesLike,
|
|
1383
|
+
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
1384
|
+
): Promise<PopulatedTransaction>;
|
|
1385
|
+
|
|
1368
1386
|
exitPostExpToSy(
|
|
1369
1387
|
receiver: string,
|
|
1370
1388
|
market: string,
|
|
@@ -1434,13 +1452,6 @@ export interface ActionMiscV3 extends BaseContract {
|
|
|
1434
1452
|
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
1435
1453
|
): Promise<PopulatedTransaction>;
|
|
1436
1454
|
|
|
1437
|
-
multicallAlpha(
|
|
1438
|
-
reflector: string,
|
|
1439
|
-
selfCall: BytesLike,
|
|
1440
|
-
reflectCall: BytesLike,
|
|
1441
|
-
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
1442
|
-
): Promise<PopulatedTransaction>;
|
|
1443
|
-
|
|
1444
1455
|
redeemDueInterestAndRewards(
|
|
1445
1456
|
user: string,
|
|
1446
1457
|
sys: string[],
|
|
@@ -234,6 +234,7 @@ export interface IPActionMiscV3Interface extends utils.Interface {
|
|
|
234
234
|
contractName: "IPActionMiscV3";
|
|
235
235
|
functions: {
|
|
236
236
|
"boostMarkets(address[])": FunctionFragment;
|
|
237
|
+
"callAndReflect(address,bytes,bytes,bytes)": FunctionFragment;
|
|
237
238
|
"exitPostExpToSy(address,address,uint256,uint256,uint256)": FunctionFragment;
|
|
238
239
|
"exitPostExpToToken(address,address,uint256,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)))": FunctionFragment;
|
|
239
240
|
"exitPreExpToSy(address,address,uint256,uint256,uint256,uint256,(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[],bytes))": FunctionFragment;
|
|
@@ -242,7 +243,6 @@ export interface IPActionMiscV3Interface extends utils.Interface {
|
|
|
242
243
|
"mintPyFromToken(address,address,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)))": FunctionFragment;
|
|
243
244
|
"mintSyFromToken(address,address,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)))": FunctionFragment;
|
|
244
245
|
"multicall((bool,bytes)[])": FunctionFragment;
|
|
245
|
-
"multicallAlpha(address,bytes,bytes)": FunctionFragment;
|
|
246
246
|
"redeemDueInterestAndRewards(address,address[],address[],address[])": FunctionFragment;
|
|
247
247
|
"redeemPyToSy(address,address,uint256,uint256)": FunctionFragment;
|
|
248
248
|
"redeemPyToToken(address,address,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)))": FunctionFragment;
|
|
@@ -256,6 +256,10 @@ export interface IPActionMiscV3Interface extends utils.Interface {
|
|
|
256
256
|
functionFragment: "boostMarkets",
|
|
257
257
|
values: [string[]]
|
|
258
258
|
): string;
|
|
259
|
+
encodeFunctionData(
|
|
260
|
+
functionFragment: "callAndReflect",
|
|
261
|
+
values: [string, BytesLike, BytesLike, BytesLike]
|
|
262
|
+
): string;
|
|
259
263
|
encodeFunctionData(
|
|
260
264
|
functionFragment: "exitPostExpToSy",
|
|
261
265
|
values: [string, string, BigNumberish, BigNumberish, BigNumberish]
|
|
@@ -304,10 +308,6 @@ export interface IPActionMiscV3Interface extends utils.Interface {
|
|
|
304
308
|
functionFragment: "multicall",
|
|
305
309
|
values: [IPActionMiscV3.Call3Struct[]]
|
|
306
310
|
): string;
|
|
307
|
-
encodeFunctionData(
|
|
308
|
-
functionFragment: "multicallAlpha",
|
|
309
|
-
values: [string, BytesLike, BytesLike]
|
|
310
|
-
): string;
|
|
311
311
|
encodeFunctionData(
|
|
312
312
|
functionFragment: "redeemDueInterestAndRewards",
|
|
313
313
|
values: [string, string[], string[], string[]]
|
|
@@ -341,6 +341,10 @@ export interface IPActionMiscV3Interface extends utils.Interface {
|
|
|
341
341
|
functionFragment: "boostMarkets",
|
|
342
342
|
data: BytesLike
|
|
343
343
|
): Result;
|
|
344
|
+
decodeFunctionResult(
|
|
345
|
+
functionFragment: "callAndReflect",
|
|
346
|
+
data: BytesLike
|
|
347
|
+
): Result;
|
|
344
348
|
decodeFunctionResult(
|
|
345
349
|
functionFragment: "exitPostExpToSy",
|
|
346
350
|
data: BytesLike
|
|
@@ -370,10 +374,6 @@ export interface IPActionMiscV3Interface extends utils.Interface {
|
|
|
370
374
|
data: BytesLike
|
|
371
375
|
): Result;
|
|
372
376
|
decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result;
|
|
373
|
-
decodeFunctionResult(
|
|
374
|
-
functionFragment: "multicallAlpha",
|
|
375
|
-
data: BytesLike
|
|
376
|
-
): Result;
|
|
377
377
|
decodeFunctionResult(
|
|
378
378
|
functionFragment: "redeemDueInterestAndRewards",
|
|
379
379
|
data: BytesLike
|
|
@@ -628,6 +628,14 @@ export interface IPActionMiscV3 extends BaseContract {
|
|
|
628
628
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
629
629
|
): Promise<ContractTransaction>;
|
|
630
630
|
|
|
631
|
+
callAndReflect(
|
|
632
|
+
reflector: string,
|
|
633
|
+
selfCall1: BytesLike,
|
|
634
|
+
selfCall2: BytesLike,
|
|
635
|
+
reflectCall: BytesLike,
|
|
636
|
+
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
637
|
+
): Promise<ContractTransaction>;
|
|
638
|
+
|
|
631
639
|
exitPostExpToSy(
|
|
632
640
|
receiver: string,
|
|
633
641
|
market: string,
|
|
@@ -697,13 +705,6 @@ export interface IPActionMiscV3 extends BaseContract {
|
|
|
697
705
|
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
698
706
|
): Promise<ContractTransaction>;
|
|
699
707
|
|
|
700
|
-
multicallAlpha(
|
|
701
|
-
reflector: string,
|
|
702
|
-
selfCall: BytesLike,
|
|
703
|
-
reflectCall: BytesLike,
|
|
704
|
-
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
705
|
-
): Promise<ContractTransaction>;
|
|
706
|
-
|
|
707
708
|
redeemDueInterestAndRewards(
|
|
708
709
|
user: string,
|
|
709
710
|
sys: string[],
|
|
@@ -764,6 +765,14 @@ export interface IPActionMiscV3 extends BaseContract {
|
|
|
764
765
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
765
766
|
): Promise<ContractTransaction>;
|
|
766
767
|
|
|
768
|
+
callAndReflect(
|
|
769
|
+
reflector: string,
|
|
770
|
+
selfCall1: BytesLike,
|
|
771
|
+
selfCall2: BytesLike,
|
|
772
|
+
reflectCall: BytesLike,
|
|
773
|
+
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
774
|
+
): Promise<ContractTransaction>;
|
|
775
|
+
|
|
767
776
|
exitPostExpToSy(
|
|
768
777
|
receiver: string,
|
|
769
778
|
market: string,
|
|
@@ -833,13 +842,6 @@ export interface IPActionMiscV3 extends BaseContract {
|
|
|
833
842
|
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
834
843
|
): Promise<ContractTransaction>;
|
|
835
844
|
|
|
836
|
-
multicallAlpha(
|
|
837
|
-
reflector: string,
|
|
838
|
-
selfCall: BytesLike,
|
|
839
|
-
reflectCall: BytesLike,
|
|
840
|
-
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
841
|
-
): Promise<ContractTransaction>;
|
|
842
|
-
|
|
843
845
|
redeemDueInterestAndRewards(
|
|
844
846
|
user: string,
|
|
845
847
|
sys: string[],
|
|
@@ -897,6 +899,20 @@ export interface IPActionMiscV3 extends BaseContract {
|
|
|
897
899
|
callStatic: {
|
|
898
900
|
boostMarkets(markets: string[], overrides?: CallOverrides): Promise<void>;
|
|
899
901
|
|
|
902
|
+
callAndReflect(
|
|
903
|
+
reflector: string,
|
|
904
|
+
selfCall1: BytesLike,
|
|
905
|
+
selfCall2: BytesLike,
|
|
906
|
+
reflectCall: BytesLike,
|
|
907
|
+
overrides?: CallOverrides
|
|
908
|
+
): Promise<
|
|
909
|
+
[string, string, string] & {
|
|
910
|
+
selfRes1: string;
|
|
911
|
+
selfRes2: string;
|
|
912
|
+
reflectRes: string;
|
|
913
|
+
}
|
|
914
|
+
>;
|
|
915
|
+
|
|
900
916
|
exitPostExpToSy(
|
|
901
917
|
receiver: string,
|
|
902
918
|
market: string,
|
|
@@ -978,13 +994,6 @@ export interface IPActionMiscV3 extends BaseContract {
|
|
|
978
994
|
overrides?: CallOverrides
|
|
979
995
|
): Promise<IPActionMiscV3.ResultStructOutput[]>;
|
|
980
996
|
|
|
981
|
-
multicallAlpha(
|
|
982
|
-
reflector: string,
|
|
983
|
-
selfCall: BytesLike,
|
|
984
|
-
reflectCall: BytesLike,
|
|
985
|
-
overrides?: CallOverrides
|
|
986
|
-
): Promise<[string, string] & { selfRes: string; reflectRes: string }>;
|
|
987
|
-
|
|
988
997
|
redeemDueInterestAndRewards(
|
|
989
998
|
user: string,
|
|
990
999
|
sys: string[],
|
|
@@ -1228,6 +1237,14 @@ export interface IPActionMiscV3 extends BaseContract {
|
|
|
1228
1237
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
1229
1238
|
): Promise<BigNumber>;
|
|
1230
1239
|
|
|
1240
|
+
callAndReflect(
|
|
1241
|
+
reflector: string,
|
|
1242
|
+
selfCall1: BytesLike,
|
|
1243
|
+
selfCall2: BytesLike,
|
|
1244
|
+
reflectCall: BytesLike,
|
|
1245
|
+
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
1246
|
+
): Promise<BigNumber>;
|
|
1247
|
+
|
|
1231
1248
|
exitPostExpToSy(
|
|
1232
1249
|
receiver: string,
|
|
1233
1250
|
market: string,
|
|
@@ -1297,13 +1314,6 @@ export interface IPActionMiscV3 extends BaseContract {
|
|
|
1297
1314
|
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
1298
1315
|
): Promise<BigNumber>;
|
|
1299
1316
|
|
|
1300
|
-
multicallAlpha(
|
|
1301
|
-
reflector: string,
|
|
1302
|
-
selfCall: BytesLike,
|
|
1303
|
-
reflectCall: BytesLike,
|
|
1304
|
-
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
1305
|
-
): Promise<BigNumber>;
|
|
1306
|
-
|
|
1307
1317
|
redeemDueInterestAndRewards(
|
|
1308
1318
|
user: string,
|
|
1309
1319
|
sys: string[],
|
|
@@ -1365,6 +1375,14 @@ export interface IPActionMiscV3 extends BaseContract {
|
|
|
1365
1375
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
1366
1376
|
): Promise<PopulatedTransaction>;
|
|
1367
1377
|
|
|
1378
|
+
callAndReflect(
|
|
1379
|
+
reflector: string,
|
|
1380
|
+
selfCall1: BytesLike,
|
|
1381
|
+
selfCall2: BytesLike,
|
|
1382
|
+
reflectCall: BytesLike,
|
|
1383
|
+
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
1384
|
+
): Promise<PopulatedTransaction>;
|
|
1385
|
+
|
|
1368
1386
|
exitPostExpToSy(
|
|
1369
1387
|
receiver: string,
|
|
1370
1388
|
market: string,
|
|
@@ -1434,13 +1452,6 @@ export interface IPActionMiscV3 extends BaseContract {
|
|
|
1434
1452
|
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
1435
1453
|
): Promise<PopulatedTransaction>;
|
|
1436
1454
|
|
|
1437
|
-
multicallAlpha(
|
|
1438
|
-
reflector: string,
|
|
1439
|
-
selfCall: BytesLike,
|
|
1440
|
-
reflectCall: BytesLike,
|
|
1441
|
-
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
1442
|
-
): Promise<PopulatedTransaction>;
|
|
1443
|
-
|
|
1444
1455
|
redeemDueInterestAndRewards(
|
|
1445
1456
|
user: string,
|
|
1446
1457
|
sys: string[],
|