23 lines
898 B
Solidity
23 lines
898 B
Solidity
|
|
// SPDX-License-Identifier: MIT
|
||
|
|
pragma solidity ^0.8.20;
|
||
|
|
|
||
|
|
import {Script, console} from "forge-std/Script.sol";
|
||
|
|
import {Chain138MainnetCheckpoint} from "../../contracts/mainnet-checkpoint/Chain138MainnetCheckpoint.sol";
|
||
|
|
|
||
|
|
/// @notice Replay aggregator calldata on a mainnet fork to surface revert reason.
|
||
|
|
contract SimulateSubmitFromCalldata is Script {
|
||
|
|
function run() external {
|
||
|
|
address hub = vm.envAddress("CHAIN138_MAINNET_CHECKPOINT_PROXY");
|
||
|
|
bytes memory data = vm.envBytes("CHECKPOINT_SUBMIT_CALLDATA");
|
||
|
|
vm.prank(vm.envAddress("CHECKPOINT_SUBMIT_FROM"));
|
||
|
|
(bool ok, bytes memory ret) = hub.call(data);
|
||
|
|
if (!ok) {
|
||
|
|
if (ret.length > 0) {
|
||
|
|
console.logBytes(ret);
|
||
|
|
}
|
||
|
|
revert("submit simulation failed");
|
||
|
|
}
|
||
|
|
console.log("ok, latest", Chain138MainnetCheckpoint(hub).getLatestBatchId());
|
||
|
|
}
|
||
|
|
}
|