Skip to content

Commit ae44cae

Browse files
committed
Rename
Order.pionexTokenAmount -> Order.minPionexTokenAmount; remainingAmount -> remainingUserTokenAmount
1 parent cfe0365 commit ae44cae

File tree

4 files changed

+34
-34
lines changed

4 files changed

+34
-34
lines changed

contracts/PionexContract.sol

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ contract PionexContract is IPionexContract, StrategyBase, BaseLibEIP712, Signatu
109109
// Check provided pionexToken/userToken ratio is better than or equal to user's specfied pionexToken/userToken ratio
110110
// -> _params.pionexTokenAmount/_params.userTokenAmount >= _order.pionexTokenAmount/_order.userTokenAmount
111111
require(
112-
_params.pionexTokenAmount.mul(_order.userTokenAmount) >= _order.pionexTokenAmount.mul(_params.userTokenAmount),
112+
_params.pionexTokenAmount.mul(_order.userTokenAmount) >= _order.minPionexTokenAmount.mul(_params.userTokenAmount),
113113
"PionexContract: pionex/user token ratio not good enough"
114114
);
115115
// Check gas fee factor and pionex strategy fee factor do not exceed limit
@@ -133,7 +133,7 @@ contract PionexContract is IPionexContract, StrategyBase, BaseLibEIP712, Signatu
133133
_validateTraderFill(fill, _params.pionexSig);
134134
}
135135

136-
(uint256 userTokenAmount, uint256 remainingAmount) = _quoteOrderFromMakerToken(_order, orderHash, _params.userTokenAmount);
136+
(uint256 userTokenAmount, uint256 remainingUserTokenAmount) = _quoteOrderFromMakerToken(_order, orderHash, _params.userTokenAmount);
137137
// Calculate pionexTokenAmount according to the provided pionexToken/userToken ratio
138138
uint256 pionexTokenAmount = userTokenAmount.mul(_params.pionexTokenAmount).div(_params.userTokenAmount);
139139

@@ -149,7 +149,7 @@ contract PionexContract is IPionexContract, StrategyBase, BaseLibEIP712, Signatu
149149
pionexToken: _order.pionexToken,
150150
userTokenAmount: userTokenAmount,
151151
pionexTokenAmount: pionexTokenAmount,
152-
remainingAmount: remainingAmount,
152+
remainingUserTokenAmount: remainingUserTokenAmount,
153153
gasFeeFactor: _params.gasFeeFactor,
154154
pionexStrategyFeeFactor: _params.pionexStrategyFeeFactor
155155
})
@@ -211,7 +211,7 @@ contract PionexContract is IPionexContract, StrategyBase, BaseLibEIP712, Signatu
211211
IERC20 pionexToken;
212212
uint256 userTokenAmount;
213213
uint256 pionexTokenAmount;
214-
uint256 remainingAmount;
214+
uint256 remainingUserTokenAmount;
215215
uint16 gasFeeFactor;
216216
uint16 pionexStrategyFeeFactor;
217217
}
@@ -251,7 +251,7 @@ contract PionexContract is IPionexContract, StrategyBase, BaseLibEIP712, Signatu
251251
pionexToken: address(_settlement.pionexToken),
252252
userTokenFilledAmount: _settlement.userTokenAmount,
253253
pionexTokenFilledAmount: _settlement.pionexTokenAmount,
254-
remainingAmount: _settlement.remainingAmount,
254+
remainingUserTokenAmount: _settlement.remainingUserTokenAmount,
255255
tokenlonFee: tokenlonFee,
256256
pionexFee: pionexFee
257257
})
@@ -268,7 +268,7 @@ contract PionexContract is IPionexContract, StrategyBase, BaseLibEIP712, Signatu
268268
require(!isCancelled, "PionexContract: Order is cancelled already");
269269
{
270270
PionexContractLibEIP712.Order memory cancelledOrder = _order;
271-
cancelledOrder.pionexTokenAmount = 0;
271+
cancelledOrder.minPionexTokenAmount = 0;
272272

273273
bytes32 cancelledOrderHash = getEIP712Hash(PionexContractLibEIP712._getOrderStructHash(cancelledOrder));
274274
require(isValidSignature(_order.user, cancelledOrderHash, bytes(""), _cancelOrderMakerSig), "PionexContract: Cancel request is not signed by user");
@@ -340,7 +340,7 @@ contract PionexContract is IPionexContract, StrategyBase, BaseLibEIP712, Signatu
340340
address pionexToken;
341341
uint256 userTokenFilledAmount;
342342
uint256 pionexTokenFilledAmount;
343-
uint256 remainingAmount;
343+
uint256 remainingUserTokenAmount;
344344
uint256 tokenlonFee;
345345
uint256 pionexFee;
346346
}
@@ -357,7 +357,7 @@ contract PionexContract is IPionexContract, StrategyBase, BaseLibEIP712, Signatu
357357
pionexToken: _params.pionexToken,
358358
userTokenFilledAmount: _params.userTokenFilledAmount,
359359
pionexTokenFilledAmount: _params.pionexTokenFilledAmount,
360-
remainingAmount: _params.remainingAmount,
360+
remainingUserTokenAmount: _params.remainingUserTokenAmount,
361361
tokenlonFee: _params.tokenlonFee,
362362
pionexFee: _params.pionexFee
363363
})

contracts/interfaces/IPionexContract.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ interface IPionexContract is IStrategyBase {
4848
address pionexToken;
4949
uint256 userTokenFilledAmount;
5050
uint256 pionexTokenFilledAmount;
51-
uint256 remainingAmount;
51+
uint256 remainingUserTokenAmount;
5252
uint256 tokenlonFee;
5353
uint256 pionexFee;
5454
}

contracts/utils/PionexContractLibEIP712.sol

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ library PionexContractLibEIP712 {
1010
IERC20 userToken;
1111
IERC20 pionexToken;
1212
uint256 userTokenAmount;
13-
uint256 pionexTokenAmount;
13+
uint256 minPionexTokenAmount;
1414
address user;
1515
address pionex;
1616
uint256 salt;
@@ -24,7 +24,7 @@ library PionexContractLibEIP712 {
2424
"address userToken,",
2525
"address pionexToken,",
2626
"uint256 userTokenAmount,",
27-
"uint256 pionexTokenAmount,",
27+
"uint256 minPionexTokenAmount,",
2828
"address user,",
2929
"address pionex,",
3030
"uint256 salt,",
@@ -33,7 +33,7 @@ library PionexContractLibEIP712 {
3333
)
3434
);
3535
*/
36-
bytes32 private constant ORDER_TYPEHASH = 0x97aec2eaa3064135fc2be6548ccc65711bf2143e0a4ad193212bfdee8913eb9d;
36+
bytes32 private constant ORDER_TYPEHASH = 0xc3eca7f47a388a29b03acba9184de40640fb7d9394cc3ef572b90c15c2f34feb;
3737

3838
function _getOrderStructHash(Order memory _order) internal pure returns (bytes32) {
3939
return
@@ -43,7 +43,7 @@ library PionexContractLibEIP712 {
4343
address(_order.userToken),
4444
address(_order.pionexToken),
4545
_order.userTokenAmount,
46-
_order.pionexTokenAmount,
46+
_order.minPionexTokenAmount,
4747
_order.user,
4848
_order.pionex,
4949
_order.salt,

test/forkMainnet/PionexContract.t.sol

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ contract PionexContractTest is StrategySharedSetup {
7272
dai, // userToken
7373
usdt, // pionexToken
7474
100 * 1e18, // userTokenAmount
75-
90 * 1e6, // pionexTokenAmount
75+
90 * 1e6, // minPionexTokenAmount
7676
user, // user
7777
address(0), // pionex
7878
uint256(1001), // salt
@@ -85,7 +85,7 @@ contract PionexContractTest is StrategySharedSetup {
8585
pionex,
8686
receiver,
8787
DEFAULT_ORDER.userTokenAmount,
88-
DEFAULT_ORDER.pionexTokenAmount,
88+
DEFAULT_ORDER.minPionexTokenAmount,
8989
uint256(1002),
9090
DEADLINE
9191
);
@@ -652,21 +652,21 @@ contract PionexContractTest is StrategySharedSetup {
652652
address(DEFAULT_ORDER.userToken),
653653
address(DEFAULT_ORDER.pionexToken),
654654
DEFAULT_ORDER.userTokenAmount,
655-
DEFAULT_ORDER.pionexTokenAmount,
656-
0, // remainingAmount should be zero after order fully filled
657-
DEFAULT_ORDER.pionexTokenAmount.mul(10).div(100), // tokenlonFee = 10% pionexTokenAmount
658-
DEFAULT_ORDER.pionexTokenAmount.mul(3).div(100) // pionexStrategyFee = 0.5% + 2.5% = 3% pionexTokenAmount
655+
DEFAULT_ORDER.minPionexTokenAmount,
656+
0, // remainingUserTokenAmount should be zero after order fully filled
657+
DEFAULT_ORDER.minPionexTokenAmount.mul(10).div(100), // tokenlonFee = 10% pionexTokenAmount
658+
DEFAULT_ORDER.minPionexTokenAmount.mul(3).div(100) // pionexStrategyFee = 0.5% + 2.5% = 3% pionexTokenAmount
659659
)
660660
);
661661
vm.prank(pionex, pionex); // Only EOA
662662
userProxy.toLimitOrder(payload);
663663

664-
pionexTakerAsset.assertChange(-int256(DEFAULT_ORDER.pionexTokenAmount.mul(97).div(100))); // 3% fee for Pionex is deducted from pionexTokenAmount directly
664+
pionexTakerAsset.assertChange(-int256(DEFAULT_ORDER.minPionexTokenAmount.mul(97).div(100))); // 3% fee for Pionex is deducted from pionexTokenAmount directly
665665
receiverMakerAsset.assertChange(int256(DEFAULT_ORDER.userTokenAmount));
666-
userTakerAsset.assertChange(int256(DEFAULT_ORDER.pionexTokenAmount.mul(87).div(100))); // 10% fee for Tokenlon and 3% fee for Pionex
666+
userTakerAsset.assertChange(int256(DEFAULT_ORDER.minPionexTokenAmount.mul(87).div(100))); // 10% fee for Tokenlon and 3% fee for Pionex
667667
userMakerAsset.assertChange(-int256(DEFAULT_ORDER.userTokenAmount));
668668
fcMakerAsset.assertChange(0);
669-
fcTakerAsset.assertChange(int256(DEFAULT_ORDER.pionexTokenAmount.mul(10).div(100)));
669+
fcTakerAsset.assertChange(int256(DEFAULT_ORDER.minPionexTokenAmount.mul(10).div(100)));
670670
}
671671

672672
function testFullyFillByTraderWithBetterTakerMakerTokenRatio() public {
@@ -704,7 +704,7 @@ contract PionexContractTest is StrategySharedSetup {
704704
address(DEFAULT_ORDER.pionexToken),
705705
DEFAULT_ORDER.userTokenAmount,
706706
fill.pionexTokenAmount,
707-
0, // remainingAmount should be zero after order fully filled
707+
0, // remainingUserTokenAmount should be zero after order fully filled
708708
0,
709709
0
710710
)
@@ -797,7 +797,7 @@ contract PionexContractTest is StrategySharedSetup {
797797
PionexContractLibEIP712.Fill memory fill = DEFAULT_FILL;
798798
// set the fill amount to 2x of order quota
799799
fill.userTokenAmount = DEFAULT_ORDER.userTokenAmount.mul(2);
800-
fill.pionexTokenAmount = DEFAULT_ORDER.pionexTokenAmount.mul(2);
800+
fill.pionexTokenAmount = DEFAULT_ORDER.minPionexTokenAmount.mul(2);
801801

802802
IPionexContract.TraderParams memory traderParams = DEFAULT_TRADER_PARAMS;
803803
traderParams.userTokenAmount = fill.userTokenAmount;
@@ -815,9 +815,9 @@ contract PionexContractTest is StrategySharedSetup {
815815
userProxy.toLimitOrder(payload);
816816

817817
// Balance change should be bound by order amount (not affected by 2x fill amount)
818-
pionexTakerAsset.assertChange(-int256(DEFAULT_ORDER.pionexTokenAmount));
818+
pionexTakerAsset.assertChange(-int256(DEFAULT_ORDER.minPionexTokenAmount));
819819
receiverMakerAsset.assertChange(int256(DEFAULT_ORDER.userTokenAmount));
820-
userTakerAsset.assertChange(int256(DEFAULT_ORDER.pionexTokenAmount));
820+
userTakerAsset.assertChange(int256(DEFAULT_ORDER.minPionexTokenAmount));
821821
userMakerAsset.assertChange(-int256(DEFAULT_ORDER.userTokenAmount));
822822
}
823823

@@ -830,7 +830,7 @@ contract PionexContractTest is StrategySharedSetup {
830830
PionexContractLibEIP712.Fill memory fill = DEFAULT_FILL;
831831
// set the fill amount to 2x of order quota
832832
fill.userTokenAmount = DEFAULT_ORDER.userTokenAmount.mul(2);
833-
fill.pionexTokenAmount = DEFAULT_ORDER.pionexTokenAmount.mul(2).mul(11).div(10); // 10% more
833+
fill.pionexTokenAmount = DEFAULT_ORDER.minPionexTokenAmount.mul(2).mul(11).div(10); // 10% more
834834

835835
IPionexContract.TraderParams memory traderParams = DEFAULT_TRADER_PARAMS;
836836
traderParams.userTokenAmount = fill.userTokenAmount;
@@ -848,9 +848,9 @@ contract PionexContractTest is StrategySharedSetup {
848848
userProxy.toLimitOrder(payload);
849849

850850
// Balance change should be bound by order amount (not affected by 2x fill amount)
851-
pionexTakerAsset.assertChange(-int256(DEFAULT_ORDER.pionexTokenAmount.mul(11).div(10))); // 10% more
851+
pionexTakerAsset.assertChange(-int256(DEFAULT_ORDER.minPionexTokenAmount.mul(11).div(10))); // 10% more
852852
receiverMakerAsset.assertChange(int256(DEFAULT_ORDER.userTokenAmount));
853-
userTakerAsset.assertChange(int256(DEFAULT_ORDER.pionexTokenAmount.mul(11).div(10))); // 10% more
853+
userTakerAsset.assertChange(int256(DEFAULT_ORDER.minPionexTokenAmount.mul(11).div(10))); // 10% more
854854
userMakerAsset.assertChange(-int256(DEFAULT_ORDER.userTokenAmount));
855855
}
856856

@@ -900,9 +900,9 @@ contract PionexContractTest is StrategySharedSetup {
900900
userProxy.toLimitOrder(payload2);
901901

902902
// Half of the order filled after 2 txs
903-
pionexTakerAsset.assertChange(-int256(DEFAULT_ORDER.pionexTokenAmount.div(2)));
903+
pionexTakerAsset.assertChange(-int256(DEFAULT_ORDER.minPionexTokenAmount.div(2)));
904904
receiverMakerAsset.assertChange(int256(DEFAULT_ORDER.userTokenAmount.div(2)));
905-
userTakerAsset.assertChange(int256(DEFAULT_ORDER.pionexTokenAmount.div(2)));
905+
userTakerAsset.assertChange(int256(DEFAULT_ORDER.minPionexTokenAmount.div(2)));
906906
userMakerAsset.assertChange(-int256(DEFAULT_ORDER.userTokenAmount.div(2)));
907907
}
908908

@@ -964,7 +964,7 @@ contract PionexContractTest is StrategySharedSetup {
964964

965965
function testCannotFillCanceledOrder() public {
966966
PionexContractLibEIP712.Order memory zeroOrder = DEFAULT_ORDER;
967-
zeroOrder.pionexTokenAmount = 0;
967+
zeroOrder.minPionexTokenAmount = 0;
968968

969969
bytes memory cancelPayload = _genCancelLimitOrderPayload(DEFAULT_ORDER, _signOrder(userPrivateKey, zeroOrder, SignatureValidator.SignatureType.EIP712));
970970
vm.prank(pionex, pionex); // Only EOA
@@ -978,7 +978,7 @@ contract PionexContractTest is StrategySharedSetup {
978978

979979
function testCannotCancelIfNotMaker() public {
980980
PionexContractLibEIP712.Order memory zeroOrder = DEFAULT_ORDER;
981-
zeroOrder.pionexTokenAmount = 0;
981+
zeroOrder.minPionexTokenAmount = 0;
982982

983983
bytes memory cancelPayload = _genCancelLimitOrderPayload(
984984
DEFAULT_ORDER,
@@ -1001,7 +1001,7 @@ contract PionexContractTest is StrategySharedSetup {
10011001

10021002
function testCannotCancelTwice() public {
10031003
PionexContractLibEIP712.Order memory zeroOrder = DEFAULT_ORDER;
1004-
zeroOrder.pionexTokenAmount = 0;
1004+
zeroOrder.minPionexTokenAmount = 0;
10051005

10061006
bytes memory payload = _genCancelLimitOrderPayload(DEFAULT_ORDER, _signOrder(userPrivateKey, zeroOrder, SignatureValidator.SignatureType.EIP712));
10071007
vm.prank(pionex, pionex); // Only EOA

0 commit comments

Comments
 (0)