// See Mesc Reference for setup: https://github.com/paradigmxyz/mesc/tree/main/cli#reference contract TestSetup is Test { function fetchRpcUrlFromMesc(string memory networkName) internal returns (string memory url) { string[] memory inputs = new string[](3); inputs[0] = "mesc"; inputs[1] = "url"; inputs[2] = networkName; bytes memory res = vm.ffi(inputs); url = string(res); } function setUp() public { string memory network = "avax-c-chain"; uint256 cchainForkId = vm.createSelectFork(fetchRpcUrlFromMesc(network), 41022344); network = "eth-mainnet"; uint256 mainnetForkId = vm.createSelectFork(fetchRpcUrlFromMesc(network), 19120056); // Do something } }