Platform: Code4rena
Start Date: 22/09/2023
Pot Size: $100,000 USDC
Total HM: 15
Participants: 175
Period: 14 days
Judge: alcueca
Total Solo HM: 4
Id: 287
League: ETH
Rank: 136/175
Findings: 1
Award: $11.47
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: MrPotatoMagic
Also found by: 0xAadi, 0xDING99YA, 0xDemon, 0xRstStn, 0xSmartContract, 0xStriker, 0xWaitress, 0xbrett8571, 0xfuje, 0xsagetony, 0xsurena, 33BYTEZZZ, 3docSec, 7ashraf, ABA, ABAIKUNANBAEV, Aamir, Audinarey, Bauchibred, Black_Box_DD, Daniel526, DanielArmstrong, DanielTan_MetaTrust, Dinesh11G, Eurovickk, Franklin, Inspecktor, John, Jorgect, Joshuajee, K42, Kek, Koolex, LokiThe5th, MIQUINHO, Myd, NoTechBG, QiuhaoLi, SanketKogekar, Sathish9098, Sentry, Soul22, SovaSlava, Stormreckson, Tendency, Topmark, Udsen, V1235816, Viktor_Cortess, Viraz, Yanchuan, ZdravkoHr, Zims, albahaca, albertwh1te, alexweb3, alexxander, ast3ros, audityourcontracts, bareli, bin2chen, bronze_pickaxe, c0pp3rscr3w3r, cartlex_, castle_chain, chaduke, debo, ether_sky, gumgumzum, imare, its_basu, jaraxxus, jasonxiale, josephdara, kodyvim, ladboy233, lanrebayode77, lsaudit, mert_eren, minhtrng, n1punp, nadin, niroh, nmirchev8, orion, peakbolt, perseverancesuccess, pfapostol, ptsanev, rvierdiiev, saneryee, shaflow2, te_aut, terrancrypt, twcctop, unsafesol, ustas, versiyonbir, windhustler, yongskiws, zhaojie, ziyou-
11.4657 USDC - $11.47
https://github.com/code-423n4/2023-09-maia/blob/main/src/RootPort.sol#L76C5-L77C86
/// @notice Mapping from Underlying Address to isUnderlying (bool). mapping(address bridgeAgentFactory => bool isActive) public isBridgeAgentFactory;
https://github.com/code-423n4/2023-09-maia/blob/main/src/RootPort.sol#L79C5-L80C43
/// @notice Bridge Agents deployed in root chain. address[] public bridgeAgentFactories;
toggleBranchBridgeAgentFactory
of the CoreRootRouter
contractThe toggleBranchBridgeAgentFactory
function in the CoreRootRouter
contract contains an unnecessary parameter.
To optimize the code, it is advisable to remove this extraneous parameter.
https://github.com/code-423n4/2023-09-maia/blob/main/src/CoreRootRouter.sol#L148-L177
/** * @notice Add or Remove a Branch Bridge Agent Factory. * @param _rootBridgeAgentFactory Address of the root Bridge Agent Factory. * @param _branchBridgeAgentFactory Address of the branch Bridge Agent Factory. * @param _refundee Receiver of any leftover execution gas upon reaching the destination network. * @param _dstChainId Chain Id of the branch chain where the new Bridge Agent will be deployed. * @param _gParams Gas parameters for remote execution. */ function toggleBranchBridgeAgentFactory( address _rootBridgeAgentFactory, address _branchBridgeAgentFactory, address _refundee, uint16 _dstChainId, GasParams calldata _gParams ) external payable onlyOwner { if (!IPort(rootPortAddress).isBridgeAgentFactory(_rootBridgeAgentFactory)) { revert UnrecognizedBridgeAgentFactory(); } // Encode CallData bytes memory params = abi.encode(_branchBridgeAgentFactory); // Pack funcId into data bytes memory payload = abi.encodePacked(bytes1(0x03), params); //Add new global token to branch chain IBridgeAgent(bridgeAgentAddress).callOut{value: msg.value}( payable(_refundee), _refundee, _dstChainId, payload, _gParams ); }
In this function, the _rootBridgeAgentFactory
parameter is superfluous for the operation of the function.
Removing this parameter is essential to enhance the efficiency of the code.
#0 - c4-pre-sort
2023-10-15T12:13:05Z
0xA5DF marked the issue as sufficient quality report
#1 - c4-judge
2023-10-20T13:37:51Z
alcueca marked the issue as grade-b