Commit 7b68fe4d authored by clabby's avatar clabby

Allow for a game to be created with a root claim committing to a paniced VM state

Fix test
parent 508fbf35
This diff is collapsed.
......@@ -104,8 +104,8 @@ FaultDisputeGame_Test:test_extraData_succeeds() (gas: 32377)
FaultDisputeGame_Test:test_gameData_succeeds() (gas: 32804)
FaultDisputeGame_Test:test_gameType_succeeds() (gas: 8309)
FaultDisputeGame_Test:test_initialize_correctData_succeeds() (gas: 57628)
FaultDisputeGame_Test:test_initialize_firstOutput_reverts() (gas: 210609)
FaultDisputeGame_Test:test_initialize_l1HeadTooOld_reverts() (gas: 228370)
FaultDisputeGame_Test:test_initialize_firstOutput_reverts() (gas: 210629)
FaultDisputeGame_Test:test_initialize_l1HeadTooOld_reverts() (gas: 228390)
FaultDisputeGame_Test:test_move_clockCorrectness_succeeds() (gas: 415971)
FaultDisputeGame_Test:test_move_clockTimeExceeded_reverts() (gas: 23197)
FaultDisputeGame_Test:test_move_defendRoot_reverts() (gas: 13344)
......@@ -298,81 +298,81 @@ LegacyERC20ETH_Test:test_transferFrom_doesNotExist_reverts() (gas: 12957)
LegacyERC20ETH_Test:test_transfer_doesNotExist_reverts() (gas: 10755)
LegacyMessagePasser_Test:test_passMessageToL1_succeeds() (gas: 34524)
LibPosition_Test:test_pos_correctness_succeeds() (gas: 38689)
MIPS_Test:test_add_succeeds() (gas: 122424)
MIPS_Test:test_addiSign_succeeds() (gas: 122415)
MIPS_Test:test_addi_succeeds() (gas: 122612)
MIPS_Test:test_addu_succeeds() (gas: 122466)
MIPS_Test:test_addui_succeeds() (gas: 122674)
MIPS_Test:test_and_succeeds() (gas: 122485)
MIPS_Test:test_andi_succeeds() (gas: 122418)
MIPS_Test:test_beq_succeeds() (gas: 202809)
MIPS_Test:test_bgez_succeeds() (gas: 121711)
MIPS_Test:test_bgtz_succeeds() (gas: 121632)
MIPS_Test:test_blez_succeeds() (gas: 121588)
MIPS_Test:test_bltz_succeeds() (gas: 121731)
MIPS_Test:test_bne_succeeds() (gas: 121797)
MIPS_Test:test_add_succeeds() (gas: 122420)
MIPS_Test:test_addiSign_succeeds() (gas: 122411)
MIPS_Test:test_addi_succeeds() (gas: 122608)
MIPS_Test:test_addu_succeeds() (gas: 122462)
MIPS_Test:test_addui_succeeds() (gas: 122670)
MIPS_Test:test_and_succeeds() (gas: 122481)
MIPS_Test:test_andi_succeeds() (gas: 122414)
MIPS_Test:test_beq_succeeds() (gas: 202801)
MIPS_Test:test_bgez_succeeds() (gas: 121707)
MIPS_Test:test_bgtz_succeeds() (gas: 121628)
MIPS_Test:test_blez_succeeds() (gas: 121584)
MIPS_Test:test_bltz_succeeds() (gas: 121727)
MIPS_Test:test_bne_succeeds() (gas: 121793)
MIPS_Test:test_branch_inDelaySlot_fails() (gas: 85999)
MIPS_Test:test_brk_succeeds() (gas: 122096)
MIPS_Test:test_clo_succeeds() (gas: 122153)
MIPS_Test:test_clone_succeeds() (gas: 122049)
MIPS_Test:test_clz_succeeds() (gas: 122624)
MIPS_Test:test_div_succeeds() (gas: 122603)
MIPS_Test:test_divu_succeeds() (gas: 122588)
MIPS_Test:test_exit_succeeds() (gas: 122096)
MIPS_Test:test_fcntl_succeeds() (gas: 204281)
MIPS_Test:test_brk_succeeds() (gas: 122092)
MIPS_Test:test_clo_succeeds() (gas: 122149)
MIPS_Test:test_clone_succeeds() (gas: 122045)
MIPS_Test:test_clz_succeeds() (gas: 122620)
MIPS_Test:test_div_succeeds() (gas: 122599)
MIPS_Test:test_divu_succeeds() (gas: 122584)
MIPS_Test:test_exit_succeeds() (gas: 122094)
MIPS_Test:test_fcntl_succeeds() (gas: 204273)
MIPS_Test:test_illegal_instruction_fails() (gas: 91462)
MIPS_Test:test_invalid_root_fails() (gas: 435636)
MIPS_Test:test_jal_nonzeroRegion_succeeds() (gas: 120741)
MIPS_Test:test_jal_succeeds() (gas: 120730)
MIPS_Test:test_jalr_succeeds() (gas: 121849)
MIPS_Test:test_jr_succeeds() (gas: 121543)
MIPS_Test:test_jal_nonzeroRegion_succeeds() (gas: 120737)
MIPS_Test:test_jal_succeeds() (gas: 120726)
MIPS_Test:test_jalr_succeeds() (gas: 121845)
MIPS_Test:test_jr_succeeds() (gas: 121539)
MIPS_Test:test_jump_inDelaySlot_fails() (gas: 85367)
MIPS_Test:test_jump_nonzeroRegion_succeeds() (gas: 120485)
MIPS_Test:test_jump_succeeds() (gas: 120415)
MIPS_Test:test_lb_succeeds() (gas: 127656)
MIPS_Test:test_lbu_succeeds() (gas: 127554)
MIPS_Test:test_lh_succeeds() (gas: 127677)
MIPS_Test:test_lhu_succeeds() (gas: 127594)
MIPS_Test:test_ll_succeeds() (gas: 127816)
MIPS_Test:test_lui_succeeds() (gas: 121697)
MIPS_Test:test_lw_succeeds() (gas: 127445)
MIPS_Test:test_lwl_succeeds() (gas: 242054)
MIPS_Test:test_lwr_succeeds() (gas: 242342)
MIPS_Test:test_mfhi_succeeds() (gas: 122058)
MIPS_Test:test_mflo_succeeds() (gas: 122187)
MIPS_Test:test_mmap_succeeds() (gas: 119016)
MIPS_Test:test_movn_succeeds() (gas: 203481)
MIPS_Test:test_movz_succeeds() (gas: 203349)
MIPS_Test:test_mthi_succeeds() (gas: 122102)
MIPS_Test:test_mtlo_succeeds() (gas: 122210)
MIPS_Test:test_mul_succeeds() (gas: 121702)
MIPS_Test:test_mult_succeeds() (gas: 122406)
MIPS_Test:test_multu_succeeds() (gas: 122443)
MIPS_Test:test_nor_succeeds() (gas: 122535)
MIPS_Test:test_or_succeeds() (gas: 122492)
MIPS_Test:test_ori_succeeds() (gas: 122495)
MIPS_Test:test_preimage_read_succeeds() (gas: 234412)
MIPS_Test:test_preimage_write_succeeds() (gas: 127038)
MIPS_Test:test_prestate_exited_succeeds() (gas: 113282)
MIPS_Test:test_sb_succeeds() (gas: 160527)
MIPS_Test:test_sc_succeeds() (gas: 160721)
MIPS_Test:test_sh_succeeds() (gas: 160564)
MIPS_Test:test_sll_succeeds() (gas: 121663)
MIPS_Test:test_sllv_succeeds() (gas: 121892)
MIPS_Test:test_slt_succeeds() (gas: 204676)
MIPS_Test:test_sltu_succeeds() (gas: 122709)
MIPS_Test:test_sra_succeeds() (gas: 121914)
MIPS_Test:test_srav_succeeds() (gas: 122182)
MIPS_Test:test_srl_succeeds() (gas: 121745)
MIPS_Test:test_srlv_succeeds() (gas: 121910)
MIPS_Test:test_jump_nonzeroRegion_succeeds() (gas: 120481)
MIPS_Test:test_jump_succeeds() (gas: 120411)
MIPS_Test:test_lb_succeeds() (gas: 127652)
MIPS_Test:test_lbu_succeeds() (gas: 127550)
MIPS_Test:test_lh_succeeds() (gas: 127673)
MIPS_Test:test_lhu_succeeds() (gas: 127590)
MIPS_Test:test_ll_succeeds() (gas: 127812)
MIPS_Test:test_lui_succeeds() (gas: 121693)
MIPS_Test:test_lw_succeeds() (gas: 127441)
MIPS_Test:test_lwl_succeeds() (gas: 242046)
MIPS_Test:test_lwr_succeeds() (gas: 242334)
MIPS_Test:test_mfhi_succeeds() (gas: 122054)
MIPS_Test:test_mflo_succeeds() (gas: 122183)
MIPS_Test:test_mmap_succeeds() (gas: 119012)
MIPS_Test:test_movn_succeeds() (gas: 203473)
MIPS_Test:test_movz_succeeds() (gas: 203341)
MIPS_Test:test_mthi_succeeds() (gas: 122098)
MIPS_Test:test_mtlo_succeeds() (gas: 122206)
MIPS_Test:test_mul_succeeds() (gas: 121698)
MIPS_Test:test_mult_succeeds() (gas: 122402)
MIPS_Test:test_multu_succeeds() (gas: 122439)
MIPS_Test:test_nor_succeeds() (gas: 122531)
MIPS_Test:test_or_succeeds() (gas: 122488)
MIPS_Test:test_ori_succeeds() (gas: 122491)
MIPS_Test:test_preimage_read_succeeds() (gas: 234408)
MIPS_Test:test_preimage_write_succeeds() (gas: 127034)
MIPS_Test:test_prestate_exited_succeeds() (gas: 113280)
MIPS_Test:test_sb_succeeds() (gas: 160523)
MIPS_Test:test_sc_succeeds() (gas: 160717)
MIPS_Test:test_sh_succeeds() (gas: 160560)
MIPS_Test:test_sll_succeeds() (gas: 121659)
MIPS_Test:test_sllv_succeeds() (gas: 121888)
MIPS_Test:test_slt_succeeds() (gas: 204668)
MIPS_Test:test_sltu_succeeds() (gas: 122705)
MIPS_Test:test_sra_succeeds() (gas: 121910)
MIPS_Test:test_srav_succeeds() (gas: 122178)
MIPS_Test:test_srl_succeeds() (gas: 121741)
MIPS_Test:test_srlv_succeeds() (gas: 121906)
MIPS_Test:test_step_abi_succeeds() (gas: 58417)
MIPS_Test:test_sub_succeeds() (gas: 122519)
MIPS_Test:test_subu_succeeds() (gas: 122516)
MIPS_Test:test_sw_succeeds() (gas: 160539)
MIPS_Test:test_swl_succeeds() (gas: 160600)
MIPS_Test:test_swr_succeeds() (gas: 160675)
MIPS_Test:test_xor_succeeds() (gas: 122520)
MIPS_Test:test_xori_succeeds() (gas: 122572)
MIPS_Test:test_sub_succeeds() (gas: 122515)
MIPS_Test:test_subu_succeeds() (gas: 122512)
MIPS_Test:test_sw_succeeds() (gas: 160535)
MIPS_Test:test_swl_succeeds() (gas: 160596)
MIPS_Test:test_swr_succeeds() (gas: 160671)
MIPS_Test:test_xor_succeeds() (gas: 122516)
MIPS_Test:test_xori_succeeds() (gas: 122568)
MerkleTrie_get_Test:test_get_corruptedProof_reverts() (gas: 5733)
MerkleTrie_get_Test:test_get_extraProofElements_reverts() (gas: 58889)
MerkleTrie_get_Test:test_get_invalidDataRemainder_reverts() (gas: 35845)
......
......@@ -16,7 +16,7 @@
"src/L2/L2StandardBridge.sol": "0xe025dcccbf21d48828ecf588941c9ba04c91b87bdd177a653d3f1b265b0b02a8",
"src/L2/L2ToL1MessagePasser.sol": "0xda56ba2e5b2c28fa8ca2df24077d49e96155a00ecc99cd0778d681be6ed166fe",
"src/L2/SequencerFeeVault.sol": "0x37816035c992d38cf7e3d5a1846b02d017dd7bdca46abe6e5c5171b9ee6225ab",
"src/dispute/FaultDisputeGame.sol": "0x43a8ef33b55a90532760cf4062038fe548aa68316457520bcf64e206a160a453",
"src/dispute/FaultDisputeGame.sol": "0x7b8462c29d003e96a73491c644001e1a9034bcc45c5be2a7bac3caf80d521635",
"src/legacy/DeployerWhitelist.sol": "0xf2129ec3da75307ba8e21bc943c332bb04704642e6e263149b5c8ee92dbcb7a8",
"src/legacy/L1BlockNumber.sol": "0x30aae1fc85103476af0226b6e98c71c01feebbdc35d93401390b1ad438a37be6",
"src/legacy/LegacyMessagePasser.sol": "0x5c08b0a663cc49d30e4e38540f6aefab19ef287c3ecd31c8d8c3decd5f5bd497",
......
......@@ -445,7 +445,8 @@ contract FaultDisputeGame is IFaultDisputeGame, Clone, Semver {
// The VMStatus must indicate (1) 'invalid', to argue that disputed thing is invalid.
// Games that agree with the existing outcome are not allowed.
// NOTE(clabby): This assumption will change in Alpha Chad.
if (uint8(Claim.unwrap(rootClaim())[0]) != VMStatus.unwrap(VMStatuses.INVALID)) {
uint8 vmStatus = uint8(Claim.unwrap(rootClaim())[0]);
if (!(vmStatus == VMStatus.unwrap(VMStatuses.INVALID) || vmStatus == VMStatus.unwrap(VMStatuses.PANIC))) {
revert UnexpectedRootClaim(rootClaim());
}
......
......@@ -147,7 +147,8 @@ contract FaultDisputeGame_Test is FaultDisputeGame_Init {
function testFuzz_initialize_badRootStatus_reverts(Claim rootClaim, bytes calldata extraData) public {
// Ensure that the `gameType` is within the bounds of the `GameType` enum's possible values.
// Ensure the root claim does not have the correct VM status
if (uint8(Claim.unwrap(rootClaim)[0]) == 1) rootClaim = changeClaimStatus(rootClaim, VMStatuses.VALID);
uint8 vmStatus = uint8(Claim.unwrap(rootClaim)[0]);
if (vmStatus == 1 || vmStatus == 2) rootClaim = changeClaimStatus(rootClaim, VMStatuses.VALID);
vm.expectRevert(abi.encodeWithSelector(UnexpectedRootClaim.selector, rootClaim));
factory.create(GameTypes.FAULT, rootClaim, extraData);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment