Platform: Code4rena
Start Date: 02/08/2022
Pot Size: $50,000 USDC
Total HM: 12
Participants: 69
Period: 5 days
Judge: gzeon
Total Solo HM: 5
Id: 150
League: ETH
Rank: 38/69
Findings: 2
Award: $108.69
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: IllIllI
Also found by: 0x1f8b, 0xDjango, 0xNazgul, 0xc0ffEE, 8olidity, Bnke0x0, Chom, CodingNameKiki, Deivitto, Dravee, Funen, JC, JohnSmith, NoamYakov, ReyAdmirado, Rohan16, Rolezn, Sm4rty, SooYa, TomFrenchBlockchain, TomJ, Waze, __141345__, ajtra, ak1, aysha, bin2chen, bobirichman, brgltd, bulej93, c3phas, delfin454000, durianSausage, erictee, fatherOfBlocks, gogo, horsefacts, hyh, ladboy233, mics, natzuu, nxrblsrpr, oyc_109, rbserver, samruna, sikorico, simon135, tofunmi, wagmi
69.6581 USDC - $69.66
1.Override function arguments that are unused should have the variable name removed or commented out to avoid compiler warnings
contracts/actions/automated/MIMOAutoAction.sol 32: function setAutomation(uint256 vaultId, AutomatedVault calldata autoParams) external override { 57: function getAutomatedVault(uint256 vaultId) external view override returns (AutomatedVault memory) { 64: function getOperationTracker(uint256 vaultId) external view override returns (uint256) {
contracts/actions/automated/MIMOAutoRebalance.sol 54: function rebalance(uint256 vaultId, IMIMOSwap.SwapData calldata swapData) external override {
contracts/actions/managed/MIMOManagedAction.sol 33: function setManagement(uint256 vaultId, ManagedVault calldata mgtParams) external override { 55: function setManager(address manager, bool isManager) external override { 70: function getManagedVault(uint256 vaultId) external view override returns (ManagedVault memory) { 77: function getOperationTracker(uint256 vaultId) external view override returns (uint256) { 84: function getManager(address manager) external view override returns (bool) {
contracts/proxy/MIMOProxy.sol 127: function multicall(address[] calldata targets, bytes[] calldata data) external override returns (bytes[] memory) {
contracts/proxy/MIMOProxyFactory.sol 33: function isProxy(address proxy) external view override returns (bool result) { 40: function deploy() external override returns (IMIMOProxy proxy) {
contracts/proxy/MIMOProxyRegistry.sol 33: function getCurrentProxy(address owner) external view override returns (IMIMOProxy proxy) {
contracts/proxy/MIMOProxy.sol 38: receive() external payable {}
contracts/proxy/MIMOProxyFactory.sol 40: function deploy() external override returns (IMIMOProxy proxy) {
contracts/proxy/MIMOProxy.sol 104: function setPermission(
contracts/proxy/MIMOProxy.sol 30: minGasReserve = 5_000;
🌟 Selected for report: Dravee
Also found by: 0x040, 0x1f8b, 0xDjango, 0xNazgul, 0xSmartContract, 0xc0ffEE, Aymen0909, Bnke0x0, Chom, CodingNameKiki, Deivitto, Fitraldys, Funen, IllIllI, JC, JohnSmith, NoamYakov, ReyAdmirado, Rolezn, TomJ, Waze, ajtra, bearonbike, bobirichman, brgltd, c3phas, durianSausage, fatherOfBlocks, gogo, ignacio, jag, joestakey, ladboy233, mics, oyc_109, rbserver, samruna, sikorico, simon135
39.0334 USDC - $39.03
contracts/actions/automated/MIMOAutoAction.sol 36: if (mimoProxy != vaultOwner && vaultOwner != msg.sender) {
contracts/actions/managed/MIMOManagedAction.sol 37: if (mimoProxy != vaultOwner && vaultOwner != msg.sender) {
contracts/proxy/MIMOProxyRegistry.sol 49: if (address(currentProxy) != address(0) && currentProxy.owner() == owner) {
contracts/actions/MIMOLeverage.sol 50: if (depositAmount > 0) {
contracts/actions/MIMORebalance.sol 135: if (fee > 0) {
contracts/actions/MIMOSwap.sol 56: if (response.length > 0) {
contracts/proxy/MIMOProxy.sol 92: if (response.length > 0) { 135: if (response.length > 0) {
contracts/proxy/MIMOProxy.sol (Before) 132: for (uint256 i = 0; i < targets.length; i++) {
(After) 132: for (uint256 i; i < targets.length;) {
unchecked{
++i;
}