revamped lock() conditionals

This commit is contained in:
hueso 2023-05-22 02:12:25 -03:00
parent 4281526d77
commit 9c15bfb38c

View File

@ -167,6 +167,21 @@ contract P2PIX is BaseUtils {
address sender; uint256 forwarder;
(sender, forwarder) = _isTrustedForwarder();
// transaction forwarding must leave `merkleProof` empty;
// otherwise, the trustedForwarder must be previously added
// to a seller whitelist.
if (merkleProof.length != 0) {
_merkleVerify( merkleProof, sellerAllowList(k), sender);
} else if (_amount > REPUTATION_LOWERBOUND && forwarder == 0) {
uint256 userCredit = userRecord[_castAddrToKey(msg.sender)];
uint256 spendLimit; (spendLimit) = _limiter(userCredit / WAD);
if (
_amount > (spendLimit * WAD) || _amount > LOCKAMOUNT_UPPERBOUND
) revert AmountNotAllowed();
}
DT.Lock memory l = DT.Lock(
k,
cCounter,
@ -177,30 +192,7 @@ contract P2PIX is BaseUtils {
sender
);
// transaction forwarding must leave `merkleProof` empty;
// otherwise, the trustedForwarder must be previously added
// to a seller whitelist.
if (merkleProof.length != 0) {
_merkleVerify(merkleProof, sellerAllowList(k), sender);
lockID = _addLock(bal, _amount, cCounter, l, t, k);
} else {
if (l.amount <= REPUTATION_LOWERBOUND) {
lockID = _addLock(bal, _amount, cCounter, l, t, k);
} else {
if (forwarder != 0) {
lockID = _addLock(bal, _amount, cCounter, l, t, k);
} else {
uint256 userCredit = userRecord[_castAddrToKey(msg.sender)];
uint256 spendLimit; (spendLimit) = _limiter(userCredit / WAD);
if (
l.amount > (spendLimit * WAD) ||
l.amount > LOCKAMOUNT_UPPERBOUND
) revert AmountNotAllowed();
lockID = _addLock(bal, _amount, cCounter, l, t, k);
/* */}/* */}/* */}
lockID = _addLock(bal, _amount, cCounter, l, t, k);
}
/// @notice Lock release method that liquidate lock