Skip to content

Instantly share code, notes, and snippets.

@MathisGD
Created July 10, 2023 16:47
Show Gist options
  • Save MathisGD/eee8c4c2e8783b3a49bf4daf99c19b46 to your computer and use it in GitHub Desktop.
Save MathisGD/eee8c4c2e8783b3a49bf4daf99c19b46 to your computer and use it in GitHub Desktop.
cost of calling a contract does not depend on its size
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;
import "forge-std/Test.sol";
import "forge-std/console.sol";
contract CounterLong {
uint slot = 2;
string public constant name = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis luctus lectus tellus, vitae ultrices enim euismod vitae. Vestibulum nulla metus, facilisis sit amet ipsum posuere, eleifend vulputate nibh. Cras tempus, est sed facilisis volutpat, sapien leo tincidunt erat, at convallis turpis leo ac sapien. Donec sed nunc ac ligula cursus ullamcorper. Integer ac nibh consectetur, commodo elit in, tincidunt mauris. Vestibulum posuere, arcu non eleifend tempus, ante dolor vehicula ligula, euismod vehicula odio est nec elit. Phasellus porttitor lectus eget suscipit blandit. Nulla facilisi.";
function ping(uint a) external {
slot = a;
}
}
contract CounterShort {
uint slot = 2;
string public constant name = "Lorem ipsum...";
function ping(uint a) external {
slot = a;
}
}
contract TesstCounterLong is Test {
CounterLong counter;
function setUp() public {
counter = new CounterLong();
}
function test() public {
counter.ping(1);
}
}
contract TesstCounterShort is Test {
CounterShort counter;
function setUp() public {
counter = new CounterShort();
}
function test() public {
counter.ping(1);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment