Platform: Code4rena
Start Date: 21/04/2022
Pot Size: $100,000 USDC
Total HM: 18
Participants: 60
Period: 7 days
Judge: gzeon
Total Solo HM: 10
Id: 112
League: ETH
Rank: 47/60
Findings: 2
Award: $155.04
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: Dravee
Also found by: IllIllI, MaratCerby, UnusualTurtle, WatchPug, antonttc, berndartmueller, cccz, danb, horsefacts, hyh, pauliax, rayn, wuwe1
It is recommended to use safe ETH transfer to avoid malicious execution on transferring ETH to contracts.
https://github.com/Uniswap/solidity-lib/blob/master/contracts/libraries/TransferHelper.sol
Recommended code: error SafeTransferNativeFailed(); ... function _doTransferOut(address payable to, uint256 amount) internal override { (bool success, ) = to.call{value: amount}(new bytes(0));
// we allow only successful calls if (!success) { revert SafeTransferNativeFailed(); }
}
#0 - chase-manning
2022-04-28T11:38:59Z
Duplicate of #52
🌟 Selected for report: joestakey
Also found by: 0v3rf10w, 0x1f8b, 0x4non, 0xDjango, 0xNazgul, 0xkatana, 0xmint, Dravee, Funen, IllIllI, MaratCerby, NoamYakov, Tadashi, TerrierLover, Tomio, WatchPug, catchup, defsec, fatherOfBlocks, hake, horsefacts, kenta, oyc_109, pauliax, rayn, rfa, robee, saian, securerodd, simon135, slywaters, sorrynotsorry, tin537, z3s
84.957 USDC - $84.96
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/AddressProvider.sol#L64
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ADDRESS_WHITELISTED(); .. if (_whiteListedFeeHandlers.contains(feeHandler)) { revert Error_ADDRESS_WHITELISTED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/AddressProvider.sol#L70
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ADDRESS_NOT_WHITELISTED(); .. if (!_whiteListedFeeHandlers.contains(feeHandler)) { revert Error_ADDRESS_NOT_WHITELISTED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/AddressProvider.sol#L96
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ZERO_ADDRESS_NOT_ALLOWED(); .. if (pool == address(0)) { revert Error_ZERO_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/AddressProvider.sol#L100
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ZERO_ADDRESS_NOT_ALLOWED(); .. if (poolToken == address(0)) { revert Error_ZERO_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/AddressProvider.sol#L170
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ADDRESS_DOES_NOT_EXIST(); .. if (!_addressKeyMetas.contains(key)) { revert Error_ADDRESS_DOES_NOT_EXIST(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/AddressProvider.sol#L179
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ADDRESS_DOES_NOT_EXIST(); .. if (!(!checkExists || _addressKeyMetas.contains(key))) { revert Error_ADDRESS_DOES_NOT_EXIST(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/AddressProvider.sol#L188
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ADDRESS_DOES_NOT_EXIST(); .. if (!exists) { revert Error_ADDRESS_DOES_NOT_EXIST(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/AddressProvider.sol#L230
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ADDRESS_DOES_NOT_EXIST(); .. if (meta.frozen) { revert Error_ADDRESS_DOES_NOT_EXIST(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/AddressProvider.sol#L231
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_ARGUMENT(); .. if (!meta.freezable) { revert Error_INVALID_ARGUMENT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/AddressProvider.sol#L249
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ADDRESS_FROZEN(); .. if (meta.frozen) { revert Error_ADDRESS_FROZEN(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/AddressProvider.sol#L259
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ADDRESS_FROZEN(); .. if (meta.frozen) { revert Error_ADDRESS_FROZEN(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/AddressProvider.sol#L284
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ZERO_ADDRESS_NOT_ALLOWED(); .. if (token == address(0)) { revert Error_ZERO_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/AddressProvider.sol#L285
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_STAKER_VAULT_EXISTS(); .. if (_stakerVaults.contains(token)) { revert Error_STAKER_VAULT_EXISTS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/AddressProvider.sol#L314
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ADDRESS_NOT_FOUND(); .. if (!exists) { revert Error_ADDRESS_NOT_FOUND(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/AddressProvider.sol#L417
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_ARGUMENT(); .. if (_addressKeyMetas.contains(key)) { revert Error_INVALID_ARGUMENT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/AddressProvider.sol#L423
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_ARGUMENT(); .. if (!_addressKeyMetas.set(key, meta.toUInt())) { revert Error_INVALID_ARGUMENT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/Controller.sol#L32
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ADDRESS_ALREADY_SET(); .. if (address(inflationManager) != address(0)) { revert Error_ADDRESS_ALREADY_SET(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/Controller.sol#L33
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_ARGUMENT(); .. if (_inflationManager == address(0)) { revert Error_INVALID_ARGUMENT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/Controller.sol#L80
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ZERO_ADDRESS_NOT_ALLOWED(); .. if (addressProvider.getBKDLocker() == address(0)) { revert Error_ZERO_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_EXCEEDS_MAX_BOOST(); .. if (_spendRatio > ICvxLocker(CVX_LOCKER).maximumBoostPayment()) { revert Error_EXCEEDS_MAX_BOOST(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/CvxCrvRewardsLocker.sol#L135
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_PREPARED_WITHDRAWAL(); .. if (prepareWithdrawal) { revert Error_PREPARED_WITHDRAWAL(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/GasBank.sol#L42-L45
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (!(msg.sender == account || addressProvider.isAction(msg.sender))) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/GasBank.sol#L68
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (currentBalance < amount) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/GasBank.sol#L69-L72
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (!(msg.sender == account || addressProvider.isAction(msg.sender))) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/GasBank.sol#L76
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_NOT_ENOUGH_FUNDS(); .. if (currentBalance - amount < ethRequired) { revert Error_NOT_ENOUGH_FUNDS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/GasBank.sol#L91
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_FAILED_TRANSFER(); .. if (!success) { revert Error_FAILED_TRANSFER(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/LpToken.sol#L22
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (msg.sender != minter) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/LpToken.sol#L34
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ZERO_ADDRESS_NOT_ALLOWED(); .. if (_minter == address(0)) { revert Error_ZERO_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/StakerVault.sol#L61
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ZERO_ADDRESS_NOT_ALLOWED(); .. if (address(_controller) == address(0)) { revert Error_ZERO_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/StakerVault.sol#L70
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ROLE_EXISTS(); .. if (currentAddresses[_LP_GAUGE] != address(0)) { revert Error_ROLE_EXISTS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/StakerVault.sol#L93
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (msg.sender != address(controller.inflationManager())) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/StakerVault.sol#L106
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_SELF_TRANSFER_NOT_ALLOWED(); .. if (msg.sender == account) { revert Error_SELF_TRANSFER_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/StakerVault.sol#L107
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INSUFFICIENT_BALANCE(); .. if (balances[msg.sender] < amount) { revert Error_INSUFFICIENT_BALANCE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/StakerVault.sol#L139
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_SAME_ADDRESS_NOT_ALLOWED(); .. if (src == dst) { revert Error_SAME_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/StakerVault.sol#L150
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INSUFFICIENT_BALANCE(); .. if (startingAllowance < amount) { revert Error_INSUFFICIENT_BALANCE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/StakerVault.sol#L153
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INSUFFICIENT_BALANCE(); .. if (srcTokens < amount) { revert Error_INSUFFICIENT_BALANCE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/StakerVault.sol#L203
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (!controller.addressProvider().isAction(msg.sender)) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/StakerVault.sol#L224
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (!controller.addressProvider().isAction(msg.sender)) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/StakerVault.sol#L324
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INSUFFICIENT_BALANCE(); .. if (IERC20(token).balanceOf(msg.sender) < amount) { revert Error_INSUFFICIENT_BALANCE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/StakerVault.sol#L340
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (staked != amount) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/StakerVault.sol#L367-L370
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (!(src == msg.sender || allowance_ >= amount || address(pool) == msg.sender)) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/StakerVault.sol#L371
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INSUFFICIENT_BALANCE(); .. if (balances[src] < amount) { revert Error_INSUFFICIENT_BALANCE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (!_roleManager().hasRole(role, msg.sender)) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (!_roleManager().hasRole(Roles.GOVERNANCE, msg.sender)) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (!_roleManager().hasAnyRole(role1, role2, msg.sender)) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (!_roleManager().hasAnyRole(role1, role2, role3, msg.sender)) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/access/RoleManager.sol#L26
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (!hasRole(Roles.GOVERNANCE, msg.sender)) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/access/RoleManager.sol#L44
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_CANNOT_REVOKE_ROLE(); .. if (getRoleMemberCount(Roles.GOVERNANCE) <= 1) { revert Error_CANNOT_REVOKE_ROLE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/access/RoleManager.sol#L110
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_CANNOT_REVOKE_ROLE(); .. if (role == Roles.GOVERNANCE) { revert Error_CANNOT_REVOKE_ROLE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/access/RoleManager.sol#L111
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_ARGUMENT(); .. if (!hasRole(role, account)) { revert Error_INVALID_ARGUMENT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INSUFFICIENT_UPDATE_BALANCE(); .. if (amountLeft != 0) { revert Error_INSUFFICIENT_UPDATE_BALANCE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INSUFFICIENT_UPDATE_BALANCE(); .. if (swapper == address(0)) { revert Error_INSUFFICIENT_UPDATE_BALANCE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_ARGUMENT(); .. if (protocols.length != handlers.length) { revert Error_INVALID_ARGUMENT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_PROTOCOL_NOT_FOUND(); .. if (!_supportedProtocols.contains(protocol)) { revert Error_PROTOCOL_NOT_FOUND(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (record.singleTopUpAmount <= 0) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (record.threshold <= ScaledMath.ONE) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (record.singleTopUpAmount > record.totalTopUpAmount) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_POSITION_ALREADY_EXISTS(); .. if (_positions[msg.sender][account][protocol].threshold != 0) { revert Error_POSITION_ALREADY_EXISTS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_SWAP_PATH_NOT_FOUND(); .. if (!_isSwappable(record.depositToken, record.actionToken)) { revert Error_SWAP_PATH_NOT_FOUND(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_TOKEN_NOT_USABLE(); .. if (!isUsable(record.depositToken)) { revert Error_TOKEN_NOT_USABLE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_VALUE_TOO_LOW_FOR_GAS(); .. if (msg.value < gasDeposit) { revert Error_VALUE_TOO_LOW_FOR_GAS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_NO_POSITION_EXISTS(); .. if (position.threshold == 0) { revert Error_NO_POSITION_EXISTS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (newActionFee > _MAX_ACTION_FEE) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (!(newSwapperSlippage >= _MIN_SWAPPER_SLIPPAGE && newSwapperSlippage <= _MAX_SWAPPER_SLIPPAGE)) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_NOT_ENOUGH_BKD_STAKED(); .. if (!controller.canKeeperExecuteAction(msg.sender)) { revert Error_NOT_ENOUGH_BKD_STAKED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_NO_POSITION_EXISTS(); .. if (position.threshold == 0) { revert Error_NO_POSITION_EXISTS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INSUFFICIENT_BALANCE(); .. if (position.totalTopUpAmount == 0) { revert Error_INSUFFICIENT_BALANCE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INSUFFICIENT_THRESHOLD(); .. if (vars.userFactor >= position.threshold) { revert Error_INSUFFICIENT_THRESHOLD(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ESTIMATED_GAS_TOO_HIGH(); .. if (vars.estimatedRequiredWeiForGas > vars.estimatedRequiredGas * vars.userGasPrice + maxWeiForGas) { revert Error_ESTIMATED_GAS_TOO_HIGH(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_GAS_BANK_BALANCE_TOO_LOW(); .. if (vars.gasBankBalance + maxWeiForGas < vars.estimatedRequiredWeiForGas) { revert Error_GAS_BANK_BALANCE_TOO_LOW(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_TOP_UP_FAILED(); .. if (!(vars.success && abi.decode(vars.topupResult, (bool)))) { revert Error_TOP_UP_FAILED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_GAS_TOO_HIGH(); .. if (vars.reimbursedWeiForGas + maxWeiForGas < vars.requiredWeiForGas) { revert Error_GAS_TOO_HIGH(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_PROTOCOL_NOT_FOUND(); .. if (!(!ensureExists || handler != address(0))) { revert Error_PROTOCOL_NOT_FOUND(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (keeperFee + treasuryFee > ScaledMath.ONE) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ZERO_ADDRESS_NOT_ALLOWED(); .. if (getKeeperGauge(lpToken) != address(0)) { revert Error_ZERO_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ZERO_ADDRESS_NOT_ALLOWED(); .. if (_keeperGauge == address(0)) { revert Error_ZERO_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (msg.sender != actionContract) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_NOTHING_TO_CLAIM(); .. if (totalClaimable <= 0) { revert Error_NOTHING_TO_CLAIM(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (newKeeperFee > ScaledMath.ONE) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (pendingUInts256[_TREASURY_FEE_FRACTION_KEY] + pendingUInts256[_KEEPER_FEE_FRACTION_KEY] > ScaledMath.ONE) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (newTreasuryFee > ScaledMath.ONE) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (pendingUInts256[_TREASURY_FEE_FRACTION_KEY] + pendingUInts256[_KEEPER_FEE_FRACTION_KEY] > ScaledMath.ONE) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNDERLYING_NOT_SUPPORTED(); .. if (reserve.aTokenAddress == address(0)) { revert Error_UNDERLYING_NOT_SUPPORTED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_FAILED_MINT(); .. if (err != 0) { revert Error_FAILED_MINT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_FAILED_TRANSFER(); .. if (!success) { revert Error_FAILED_TRANSFER(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_FAILED_REPAY_BORROW(); .. if (err != 0) { revert Error_FAILED_REPAY_BORROW(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_FAILED_METHOD_CALL(); .. if (oErr != 0) { revert Error_FAILED_METHOD_CALL(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_FAILED_METHOD_CALL(); .. if (vars.oraclePriceMantissa == 0) { revert Error_FAILED_METHOD_CALL(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_ARGUMENT(); .. if (feed == previousFeed) { revert Error_INVALID_ARGUMENT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_ARGUMENT(); .. if (stalePriceDelay_ < 1 hours) { revert Error_INVALID_ARGUMENT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ASSET_NOT_SUPPORTED(); .. if (feed == address(0)) { revert Error_ASSET_NOT_SUPPORTED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_STALE_PRICE(); .. if (block.timestamp > updatedAt + stalePriceDelay) { revert Error_STALE_PRICE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_NEGATIVE_PRICE(); .. if (answer < 0) { revert Error_NEGATIVE_PRICE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/Erc20Pool.sol#L20
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ZERO_ADDRESS_NOT_ALLOWED(); .. if (underlying_ == address(0)) { revert Error_ZERO_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/Erc20Pool.sol#L30
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_VALUE(); .. if (msg.value != 0) { revert Error_INVALID_VALUE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/EthPool.sol#L25
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_SENDER(); .. if (msg.sender != from) { revert Error_INVALID_SENDER(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/EthPool.sol#L26
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (msg.value != amount) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L76
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ZERO_ADDRESS_NOT_ALLOWED(); .. if (address(_controller) == address(0)) { revert Error_ZERO_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L136
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ADDRESS_ALREADY_SET(); .. if (address(lpToken) != address(0)) { revert Error_ADDRESS_ALREADY_SET(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L137
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_MINTER(); .. if (ILpToken(_lpToken).minter() != address(this)) { revert Error_INVALID_MINTER(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (!(msg.sender == address(lpToken) || msg.sender == address(staker))) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L179
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (_newRatio > ScaledMath.ONE) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L208
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (newRatio > (ScaledMath.DECIMAL_SCALE * 50) / 100) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L331
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ADDRESS_ALREADY_SET(); .. if (address(staker) != address(0)) { revert Error_ADDRESS_ALREADY_SET(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L333
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ZERO_ADDRESS_NOT_ALLOWED(); .. if (stakerVault == address(0)) { revert Error_ZERO_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L387
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_NOT_CAPPED(); .. if (!isCapped()) { revert Error_NOT_CAPPED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L399
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_NOT_CAPPED(); .. if (!isCapped()) { revert Error_NOT_CAPPED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L400
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_SAME_AS_CURRENT(); .. if (depositCap == _depositCap) { revert Error_SAME_AS_CURRENT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L401
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (_depositCap == 0) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INSUFFICIENT_BALANCE(); .. if (lpBalance_ + staker.balanceOf(msg.sender) < redeemLpTokens) { revert Error_INSUFFICIENT_BALANCE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L471
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (underlyingAmount == 0) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L473
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INSUFFICIENT_BALANCE(); .. if (lpToken_.balanceOf(account) == 0) { revert Error_INSUFFICIENT_BALANCE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_EXCEEDS_DEPOSIT_CAP(); .. if (currentUnderlyingBalance + depositAmount > depositCap) { revert Error_EXCEEDS_DEPOSIT_CAP(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L525
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (mintedLp < minTokenAmount) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L549
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (redeemLpTokens == 0) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L551
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INSUFFICIENT_BALANCE(); .. if (lpToken_.balanceOf(msg.sender) < redeemLpTokens) { revert Error_INSUFFICIENT_BALANCE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L562
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_NOT_ENOUGH_FUNDS_WITHDRAWN(); .. if (redeemUnderlying < minRedeemAmount) { revert Error_NOT_ENOUGH_FUNDS_WITHDRAWN(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L811
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (maxFee < minFee) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/LiquidityPool.sol#L812
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (maxFee > _MAX_WITHDRAWAL_FEE) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/PoolFactory.sol#L159
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_POOL_IMPLEMENTATION(); .. if (vars.poolImplementation == address(0)) { revert Error_INVALID_POOL_IMPLEMENTATION(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/PoolFactory.sol#L162
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_LP_TOKEN_IMPLEMENTATION(); .. if (vars.lpTokenImplementation == address(0)) { revert Error_INVALID_LP_TOKEN_IMPLEMENTATION(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/PoolFactory.sol#L165
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_VAULT_IMPLEMENTATION(); .. if (vars.vaultImplementation == address(0)) { revert Error_INVALID_VAULT_IMPLEMENTATION(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_NVALID_STAKER_VAULT_IMPLEMENTATION(); .. if (vars.stakerVaultImplementation == address(0)) { revert Error_NVALID_STAKER_VAULT_IMPLEMENTATION(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_POOL_IMPLEMENTATION(); .. if (ILiquidityPool(vars.poolImplementation).getUnderlying() != address(0)) { revert Error_INVALID_POOL_IMPLEMENTATION(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/pool/PoolFactory.sol#L184
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_DECIMALS(); .. if (lpTokenArgs.decimals != 18) { revert Error_INVALID_DECIMALS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_DEPOSIT_FAILED(); .. if (!_deposit()) { revert Error_DEPOSIT_FAILED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_VALUE(); .. if (msg.value != 0) { revert Error_INVALID_VALUE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (msg.sender != vault) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_STRATEGY_SHUT_DOWN(); .. if (isShutdown) { revert Error_STRATEGY_SHUT_DOWN(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (!(msg.sender == vault || _roleManager().hasRole(Roles.GOVERNANCE, msg.sender))) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (crvCommunityReserveShare_ > ScaledMath.ONE) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_CommunityReserveMustBeSet(); .. if (communityReserve == address(0)) { revert Error_CommunityReserveMustBeSet(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (cvxCommunityReserveShare_ > ScaledMath.ONE) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_CommunityReserveMustBeSet(); .. if (communityReserve == address(0)) { revert Error_CommunityReserveMustBeSet(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (msg.sender != _strategist) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_TOKEN_TO_ADD(); .. if (!(token_ != address(CVX) && token != address(underlying) && token_ != address(_CRV))) { revert Error_INVALID_TOKEN_TO_ADD(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_FailedToSendEth(); .. if (!sent) { revert Error_FailedToSendEth(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_SLIPPAGE_TOLERANCE(); .. if (slippageTolerance_ > ScaledMath.ONE) { revert Error_INVALID_SLIPPAGE_TOLERANCE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_SLIPPAGE_TOLERANCE(); .. if (slippageTolerance_ <= 0.8e18) { revert Error_INVALID_SLIPPAGE_TOLERANCE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ZERO_ADDRESS_NOT_ALLOWED(); .. if (token_ == address(0)) { revert Error_ZERO_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_SAME_ADDRESS_NOT_ALLOWED(); .. if (curvePool_ == address(curvePools[token_])) { revert Error_SAME_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ZERO_ADDRESS_NOT_ALLOWED(); .. if (token_ == address(0)) { revert Error_ZERO_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/utils/Pausable.sol#L10
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_CONTRACT_PAUSED(); .. if (isPaused) { revert Error_CONTRACT_PAUSED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/utils/Pausable.sol#L15
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_PAUSE(); .. if (!_isAuthorizedToPause(msg.sender)) { revert Error_UNAUTHORIZED_PAUSE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/utils/Preparable.sol#L28
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_DEADLINE_NOT_ZERO(); .. if (deadlines[key] != 0) { revert Error_DEADLINE_NOT_ZERO(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/utils/Preparable.sol#L29
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_DELAY_TOO_SHORT(); .. if (delay < _MIN_DELAY) { revert Error_DELAY_TOO_SHORT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/utils/Preparable.sol#L86
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_DEADLINE_NOT_ZERO(); .. if (deadlines[key] == 0) { revert Error_DEADLINE_NOT_ZERO(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/utils/Preparable.sol#L98
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_DEADLINE_NOT_ZERO(); .. if (deadlines[key] == 0) { revert Error_DEADLINE_NOT_ZERO(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/utils/Preparable.sol#L110
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_DEADLINE_NOT_ZERO(); .. if (block.timestamp < deadline) { revert Error_DEADLINE_NOT_ZERO(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/utils/Preparable.sol#L111
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_DEADLINE_NOT_SET(); .. if (deadline == 0) { revert Error_DEADLINE_NOT_SET(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/Erc20Vault.sol#L20
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ZERO_ADDRESS_NOT_ALLOWED(); .. if (underlying_ == address(0)) { revert Error_ZERO_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/Vault.sol#L53
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (msg.sender != pool) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/Vault.sol#L58-L61
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (!(msg.sender == pool || _roleManager().hasRole(Roles.GOVERNANCE, msg.sender))) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/Vault.sol#L66-L69
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (!(msg.sender == pool || _roleManager().hasRole(Roles.MAINTENANCE, msg.sender))) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/Vault.sol#L88
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (_debtLimit > ScaledMath.ONE) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/Vault.sol#L89
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (_targetAllocation > ScaledMath.ONE) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/Vault.sol#L90
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (_bound > MAX_DEVIATION_BOUND) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/Vault.sol#L164
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (amount <= 0) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/Vault.sol#L165
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_POOL_NOT_PAUSED(); .. if (!IPausable(pool).isPaused()) { revert Error_POOL_NOT_PAUSED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/Vault.sol#L167
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INSUFFICIENT_BALANCE(); .. if (amount > reserveBalance_) { revert Error_INSUFFICIENT_BALANCE(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/Vault.sol#L194
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ADDRESS_ALREADY_SET(); .. if (currentAddresses[_STRATEGY_KEY] != address(0)) { revert Error_ADDRESS_ALREADY_SET(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/Vault.sol#L195
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ZERO_ADDRESS_NOT_ALLOWED(); .. if (strategy_ == address(0)) { revert Error_ZERO_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/Vault.sol#L198
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_ZERO_ADDRESS_NOT_ALLOWED(); .. if (IStrategy(strategy_).strategist() == address(0)) { revert Error_ZERO_ADDRESS_NOT_ALLOWED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/Vault.sol#L264
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (newPerformanceFee > MAX_PERFORMANCE_FEE) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/Vault.sol#L392
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (newBound > MAX_DEVIATION_BOUND) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/Vault.sol#L429
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_STRATEGY_DOES_NOT_EXIST(); .. if (!exists) { revert Error_STRATEGY_DOES_NOT_EXIST(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/Vault.sol#L762-L765
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_Sum_Of_Strategist_Fee_And_Reserve_Fee_Should_Be_Below_One(); .. if (reserveFee + strategistFee > ScaledMath.ONE) { revert Error_Sum_Of_Strategist_Fee_And_Reserve_Fee_Should_Be_Below_One(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/VaultReserve.sol#L28
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_UNAUTHORIZED_ACCESS(); .. if (!_roleManager().hasRole(Roles.VAULT, msg.sender)) { revert Error_UNAUTHORIZED_ACCESS(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/VaultReserve.sol#L51
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (msg.value != amount) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/VaultReserve.sol#L59
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INVALID_AMOUNT(); .. if (received < amount) { revert Error_INVALID_AMOUNT(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/VaultReserve.sol#L73
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_RESERVE_ACCESS_EXCEEDED(); .. if (!canWithdraw(msg.sender)) { revert Error_RESERVE_ACCESS_EXCEEDED(); }
As per 0.8.4 solidity version it supports new custom errors. Recommending to replace all require(something) to error LongErrorNameWithParameters(uint256 param1, uint256 param2); if (!something) { revert LongErrorNameWithParameters(param1, param2); }
Pros:
Affected code: https://github.com/code-423n4/2022-04-backd/blob/c856714a50437cb33240a5964b63687c9876275b/backd/contracts/vault/VaultReserve.sol#L75
https://blog.soliditylang.org/2021/04/21/custom-errors/
Recommended code: error Error_INSUFFICIENT_BALANCE(); .. if (accountBalance < amount) { revert Error_INSUFFICIENT_BALANCE(); }
#0 - liveactionllama
2022-04-27T17:46:25Z
Warden created this issue as a placeholder, because their submission was too large for the contest form. They then emailed their md file to our team. I've updated this issue with their md file content.
#1 - gzeoneth
2022-05-08T20:54:13Z
This report is a 100x replicate of the "use custom error" suggestion, the warden should submit 1 entry and list all occurrence instead.