Platform: Code4rena
Start Date: 22/09/2022
Pot Size: $30,000 USDC
Total HM: 12
Participants: 133
Period: 3 days
Judge: 0xean
Total Solo HM: 2
Id: 165
League: ETH
Rank: 112/133
Findings: 1
Award: $12.81
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: pfapostol
Also found by: 0x040, 0x1f8b, 0x4non, 0x5rings, 0xA5DF, 0xNazgul, 0xSmartContract, 0xmatt, 0xsam, Amithuddar, Aymen0909, B2, Ben, Bnke0x0, Chom, CodingNameKiki, Deivitto, Diana, Fitraldys, Funen, IllIllI, JAGADESH, JC, Metatron, Ocean_Sky, PaludoX0, Pheonix, RaymondFam, ReyAdmirado, RockingMiles, Rohan16, Rolezn, Satyam_Sharma, Sm4rty, SnowMan, SooYa, Tagir2003, TomJ, Tomio, Triangle, V_B, Waze, __141345__, ajtra, albincsergo, asutorufos, aysha, beardofginger, bobirichman, brgltd, bulej93, bytera, c3phas, ch0bu, cryptostellar5, cryptphi, d3e4, delfin454000, dharma09, drdr, durianSausage, emrekocak, erictee, fatherOfBlocks, gogo, got_targ, imare, jag, karanctf, ladboy233, leosathya, lukris02, medikko, mics, millersplanet, natzuu, neko_nyaa, oyc_109, peanuts, prasantgupta52, rbserver, ret2basic, rokinot, ronnyx2017, rotcivegaf, sach1r0, samruna, seyni, slowmoses, tnevler, wagmi, zishansami
12.8108 USDC - $12.81
File: src/ERC20/ERC20PermitPermissionedMint.sol require(minters[msg.sender] == true, "Only minters");
File: src/ERC20/ERC20PermitPermissionedMint.sol require(minter_address != address(0), "Zero address detected");
File: src/ERC20/ERC20PermitPermissionedMint.sol require(minter_address != address(0), "Zero address detected");
File: src/ERC20/ERC20PermitPermissionedMint.sol require(minters[minter_address] == true, "Address nonexistant");
File: src/ERC20/ERC20PermitPermissionedMint.sol require(_timelock_address != address(0), "Zero address detected");
File: src/frxETHMinter.sol require(sfrxeth_recieved > 0, 'No sfrxETH was returned');
File: src/frxETHMinter.sol require(!submitPaused, "Submit is paused");
File: src/frxETHMinter.sol require(msg.value != 0, "Cannot submit 0");
File: src/frxETHMinter.sol require(!depositEtherPaused, "Depositing ETH is paused");
File: src/frxETHMinter.sol require(numDeposits > 0, "Not enough ETH in contract");
File: src/frxETHMinter.sol require(!activeValidators[pubKey], "Validator already has 32 ETH");
File: src/frxETHMinter.sol require (newRatio <= RATIO_PRECISION, "Ratio cannot surpass 100%");
File: src/frxETHMinter.sol require(amount <= currentWithheldETH, "Not enough withheld ETH in contract");
File: src/frxETHMinter.sol require(success, "Invalid transfer");
File: src/frxETHMinter.sol require(success, "Invalid transfer");
File: src/frxETHMinter.sol require(IERC20(tokenAddress).transfer(owner, tokenAmount), "recoverERC20: Transfer failed");
File: src/OperatorRegistry.sol require(msg.sender == timelock_address || msg.sender == owner, "Not owner or timelock");
File: src/OperatorRegistry.sol require(numVals != 0, "Validator stack is empty");
File: src/OperatorRegistry.sol require(numValidators() == 0, "Clear validator array first");
File: src/OperatorRegistry.sol require(_timelock_address != address(0), "Zero address detected");
File: src/ERC20/ERC20PermitPermissionedMint.sol for (uint i = 0; i < minters_array.length; i++){
File: src/ERC20/ERC20PermitPermissionedMint.sol for (uint i = 0; i < minters_array.length; i++){
File: src/OperatorRegistry.sol for (uint256 i = 0; i < arrayLength; ++i) {
File: src/OperatorRegistry.sol for (uint256 i = 0; i < times; ++i) {
File: src/OperatorRegistry.sol for (uint256 i = 0; i < arrayLength; ++i) {
File: src/OperatorRegistry.sol for (uint256 i = 0; i < times; ++i) {
File: src/OperatorRegistry.sol for (uint256 i = 0; i < original_validators.length; ++i) {
File: src/ERC20/ERC20PermitPermissionedMint.sol for (uint i = 0; i < minters_array.length; i++){
File: src/OperatorRegistry.sol for (uint256 i = 0; i < arrayLength; ++i) {
File: src/OperatorRegistry.sol for (uint256 i = 0; i < times; ++i) {
File: src/OperatorRegistry.sol for (uint256 i = 0; i < arrayLength; ++i) {
File: src/OperatorRegistry.sol for (uint256 i = 0; i < times; ++i) {
File: src/OperatorRegistry.sol for (uint256 i = 0; i < original_validators.length; ++i) {
File: src/OperatorRegistry.sol uint numVals = numValidators();
File: src/OperatorRegistry.sol require(numValidators() == 0, "Clear validator array first");