๐Gas Saving Technique 15: Cache External Call
Introduction
Impact & Details
How to Implement Caching for Gas Savings
solidityCopy code// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface IRewardStaking {
function rewardToken() external view returns (address);
}
contract MyContract {
address public extraPool;
function someFunction() public {
// ... some code ...
address token1 = IRewardStaking(extraPool).rewardToken();
// ... some code that doesn't modify token1 ...
address token2 = IRewardStaking(extraPool).rewardToken();
// ... more code ...
}
}Recommended Mitigation Steps
Conclusion
PreviousGas Saving Technique 14: struct layout/ variable packingNextGas Saving Technique 16: Early Validation before external call
Last updated