diff --git a/.github/assets/revive-dev-node-polkavm-resolc.json b/.github/assets/revive-dev-node-polkavm-resolc.json new file mode 100644 index 00000000..e9206a6b --- /dev/null +++ b/.github/assets/revive-dev-node-polkavm-resolc.json @@ -0,0 +1,939 @@ +{ + "fixtures/solidity/simple/algorithm/cryptography/caesar_cypher.sol::2::Y M0 S-": "Failed", + "fixtures/solidity/simple/try_catch/revert_long_data.sol::0::Y M0 S+": "Failed", + "fixtures/solidity/simple/try_catch/revert_long_data.sol::0::Y M0 S-": "Failed", + "fixtures/solidity/simple/try_catch/revert_long_data.sol::0::Y M1 S+": "Failed", + "fixtures/solidity/simple/try_catch/revert_long_data.sol::0::Y M1 S-": "Failed", + "fixtures/solidity/simple/try_catch/revert_long_data.sol::0::Y M2 S+": "Failed", + "fixtures/solidity/simple/try_catch/revert_long_data.sol::0::Y M2 S-": "Failed", + "fixtures/solidity/simple/try_catch/revert_long_data.sol::0::Y M3 S+": "Failed", + "fixtures/solidity/simple/try_catch/revert_long_data.sol::0::Y M3 S-": "Failed", + "fixtures/solidity/simple/try_catch/revert_long_data.sol::0::Y Ms S+": "Failed", + "fixtures/solidity/simple/try_catch/revert_long_data.sol::0::Y Ms S-": "Failed", + "fixtures/solidity/simple/try_catch/revert_long_data.sol::0::Y Mz S+": "Failed", + "fixtures/solidity/simple/try_catch/revert_long_data.sol::0::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::5::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::5::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::5::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::5::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::11::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::11::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::11::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::11::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::11::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::11::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::11::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::11::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::11::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::11::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::11::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::11::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::12::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::12::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::12::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::12::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::12::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::12::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::12::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::12::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::12::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::12::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::12::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::12::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::13::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::13::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::13::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::13::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::13::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::13::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::13::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::13::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::13::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::13::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::13::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::13::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::19::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::19::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::19::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::19::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::25::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::25::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::25::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::25::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::25::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::25::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::25::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::25::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::25::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::25::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::25::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::25::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::26::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::26::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::26::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::26::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::26::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::26::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::26::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::26::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::26::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::26::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::26::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::26::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::27::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::27::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::27::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::27::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::27::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::27::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::27::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::27::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::27::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::27::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::27::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::27::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::33::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::33::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::33::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::33::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::39::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::39::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::39::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::39::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::39::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::39::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::39::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::39::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::39::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::39::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::39::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::39::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::40::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::40::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::40::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::40::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::40::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::40::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::40::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::40::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::40::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::40::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::40::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::40::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::41::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::41::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::41::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::41::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::41::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::41::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::41::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::41::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::41::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::41::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::41::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::41::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::47::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::47::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::47::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::47::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::53::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::53::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::53::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::53::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::53::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::53::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::53::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::53::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::53::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::53::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::53::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::53::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::54::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::54::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::54::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::54::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::54::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::54::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::54::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::54::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::54::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::54::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::54::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::54::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::55::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::55::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::55::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::55::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::55::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::55::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::55::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::55::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::55::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::55::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::55::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::55::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::61::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::61::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::61::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::61::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::67::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::67::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::67::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::67::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::67::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::67::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::67::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::67::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::67::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::67::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::67::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::67::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::68::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::68::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::68::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::68::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::68::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::68::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::68::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::68::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::68::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::68::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::68::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::68::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::69::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::69::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::69::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::69::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::69::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::69::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::69::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::69::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::69::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::69::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::69::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::69::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::75::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::75::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::75::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::75::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::81::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::81::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::81::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::81::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::81::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::81::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::81::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::81::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::81::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::81::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::81::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::81::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::82::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::82::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::82::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::82::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::82::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::82::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::82::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::82::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::82::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::82::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::82::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::82::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::83::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::83::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::83::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::83::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::83::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::83::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::83::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::83::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::83::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::83::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::83::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::83::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::95::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::95::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::95::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::95::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::95::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::95::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::95::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::95::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::95::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::95::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::95::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::95::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::96::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::96::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::96::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::96::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::96::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::96::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::96::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::96::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::96::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::96::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::96::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::96::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::97::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::97::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::97::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::97::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::97::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::97::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::97::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::97::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::97::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::97::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::97::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::97::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::109::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::109::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::109::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::109::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::109::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::109::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::109::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::109::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::109::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::109::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::109::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::109::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::110::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::110::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::110::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::110::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::110::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::110::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::110::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::110::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::110::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::110::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::110::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::110::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::111::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::111::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::111::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::111::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::111::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::111::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::111::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::111::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::111::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::111::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::111::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::111::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::123::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::123::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::123::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::123::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::123::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::123::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::123::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::123::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::123::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::123::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::123::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::123::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::124::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::124::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::124::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::124::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::124::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::124::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::124::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::124::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::124::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::124::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::124::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::124::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::125::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::125::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::125::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::125::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::125::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::125::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::125::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::125::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::125::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::125::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::125::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::125::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::137::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::137::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::137::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::137::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::137::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::137::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::137::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::137::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::137::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::137::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::137::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::137::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::138::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::138::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::138::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::138::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::138::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::138::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::138::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::138::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::138::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::138::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::138::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::138::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::139::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::139::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::139::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::139::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::139::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::139::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::139::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::139::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::139::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::139::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::139::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::139::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::151::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::151::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::151::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::151::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::151::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::151::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::151::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::151::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::151::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::151::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::151::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::151::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::152::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::152::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::152::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::152::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::152::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::152::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::152::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::152::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::152::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::152::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::152::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::152::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::153::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::153::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::153::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::153::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::153::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::153::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::153::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::153::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::153::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::153::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::153::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::153::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::154::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::154::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::154::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::154::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::154::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::154::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::154::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::154::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::154::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::154::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::154::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::154::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::155::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::155::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::155::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::155::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::155::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::155::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::155::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::155::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::155::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::155::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::155::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::155::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::156::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::156::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::156::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::156::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::156::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::156::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::156::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::156::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::156::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::156::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::156::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::156::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::157::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::157::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::157::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::157::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::157::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::157::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::157::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::157::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::157::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::157::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::157::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::157::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::158::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::158::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::158::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::158::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::158::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::158::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::158::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::158::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::158::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::158::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::158::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::158::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::159::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::159::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::159::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::159::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::159::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::159::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::159::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::159::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::159::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::159::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::159::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::159::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::160::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::160::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::160::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::160::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::160::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::160::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::160::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::160::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::160::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::160::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::160::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::160::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::161::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::161::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::161::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::161::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::161::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::161::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::161::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::161::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::161::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::161::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::161::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::161::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::162::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::162::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::162::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::162::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::162::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::162::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::162::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::162::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::162::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::162::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::162::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::162::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::163::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::163::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::163::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::163::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::163::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::163::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::163::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::163::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::163::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::163::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::163::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::163::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::164::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::164::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::164::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::164::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::164::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::164::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::164::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::164::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::164::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::164::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::164::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::164::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::165::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::165::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::165::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::165::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::165::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::165::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::165::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::165::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::165::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::165::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::165::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::165::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::166::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::166::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::166::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::166::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::166::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::166::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::166::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::166::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::166::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::166::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::166::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::166::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::167::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::167::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::167::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::167::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::167::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::167::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::167::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::167::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::167::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::167::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::167::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::167::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::168::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::168::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::168::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::168::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::168::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::168::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::168::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::168::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::168::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::168::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::168::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::168::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::169::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::169::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::169::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::169::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::169::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::169::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::169::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::169::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::169::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::169::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::169::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::169::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::170::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::170::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::170::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::170::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::170::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::170::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::170::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::170::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::170::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::170::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::170::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::170::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::171::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::171::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::171::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::171::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::171::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::171::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::171::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::171::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::171::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::171::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::171::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::171::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::172::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::172::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::172::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::172::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::172::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::172::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::172::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::172::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::172::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::172::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::172::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::172::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::173::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::173::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::173::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::173::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::173::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::173::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::173::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::173::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::173::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::173::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::173::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::173::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::174::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::174::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::174::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::174::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::174::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::174::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::174::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::174::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::174::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::174::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::174::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::174::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::175::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::175::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::175::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::175::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::175::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::175::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::175::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::175::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::175::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::175::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::175::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::175::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::176::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::176::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::176::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::176::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::176::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::176::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::176::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::176::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::176::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::176::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::176::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::176::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::177::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::177::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::177::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::177::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::177::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::177::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::177::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::177::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::177::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::177::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::177::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::177::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::178::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::178::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::178::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::178::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::178::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::178::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::178::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::178::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::178::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::178::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::178::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::178::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::179::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::179::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::179::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::179::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::179::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::179::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::179::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::179::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::179::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::179::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::179::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::179::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::180::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::180::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::180::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::180::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::180::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::180::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::180::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::180::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::180::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::180::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::180::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::180::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::181::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::181::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::181::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::181::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::181::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::181::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::181::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::181::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::181::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::181::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::181::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::181::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::182::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::182::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::182::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::182::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::182::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::182::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::182::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::182::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::182::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::182::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::182::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::182::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::183::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::183::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::183::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::183::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::183::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::183::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::183::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::183::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::183::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::183::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::183::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::183::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::184::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::184::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::184::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::184::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::184::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::184::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::184::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::184::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::184::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::184::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::184::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::184::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::185::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::185::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::185::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::185::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::185::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::185::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::185::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::185::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::185::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::185::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::185::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::185::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::186::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::186::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::186::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::186::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::186::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::186::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::186::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::186::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::186::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::186::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::186::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::186::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::187::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::187::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::187::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::187::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::187::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::187::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::187::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::187::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::187::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::187::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::187::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::187::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::188::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::188::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::188::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::188::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::188::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::188::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::188::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::188::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::188::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::188::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::188::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::188::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::189::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::189::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::189::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::189::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::189::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::189::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::189::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::189::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::189::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::189::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::189::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::189::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::190::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::190::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::190::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::190::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::190::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::190::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::190::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::190::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::190::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::190::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::190::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::190::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::191::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::191::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::191::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::191::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::191::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::191::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::191::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::191::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::191::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::191::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::191::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::191::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::192::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::192::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::192::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::192::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::192::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::192::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::192::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::192::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::192::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::192::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::192::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::192::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::193::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::193::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::193::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::193::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::193::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::193::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::193::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::193::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::193::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::193::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::193::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::193::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::194::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::194::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::194::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::194::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::194::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::194::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::194::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::194::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::194::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::194::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::194::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::194::Y Mz S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::195::Y M0 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::195::Y M0 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::195::Y M1 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::195::Y M1 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::195::Y M2 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::195::Y M2 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::195::Y M3 S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::195::Y M3 S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::195::Y Ms S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::195::Y Ms S-": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::195::Y Mz S+": "Failed", + "fixtures/solidity/simple/yul_instructions/revert.sol::195::Y Mz S-": "Failed" +} diff --git a/.github/workflows/differential-tests.yml b/.github/workflows/differential-tests.yml new file mode 100644 index 00000000..f6cc2112 --- /dev/null +++ b/.github/workflows/differential-tests.yml @@ -0,0 +1,176 @@ +name: Verify Reproducible Builds + +on: + workflow_call: + +env: + # The compiler modes to use for compilation by retester. + MODES: "Y M0 S+, Y M3 S+, Y Mz S+" + SOLC_VERSION: "0.8.34" + +jobs: + build: + uses: ./.github/workflows/reusable-build.yml + with: + is_release: false + retention_days: 1 + + compile-and-export-hashes-native: + needs: build + strategy: + fail-fast: false + matrix: + include: + - platform: linux-x86_64 + target: x86_64-unknown-linux-musl + runner: ubuntu-24.04 + - platform: macos-arm64 + target: universal-apple-darwin + runner: macos-15 + - platform: macos-x86_64 + target: universal-apple-darwin + runner: macos-15-intel + - platform: windows-x86_64 + target: x86_64-pc-windows-msvc + runner: windows-2022 + runs-on: ${{ matrix.runner }} + steps: + # For some deeply nested contracts in `resolc-compiler-tests`, Windows + # will generate a "Filename too long" error. This step enables long paths. + - name: Enable Git Long Paths (Windows) + if: ${{ runner.os == 'Windows' }} + run: git config --system core.longpaths true + + - name: Checkout revive + uses: actions/checkout@v4 + with: + path: revive + submodules: recursive + + - name: Download Binary + uses: actions/download-artifact@v4 + with: + name: resolc-${{ matrix.target }} + path: resolc-bin + + - name: Make resolc Executable + shell: bash + run: chmod +x "resolc-bin/resolc-${{ matrix.target }}${{ runner.os == 'Windows' && '.exe' || '' }}" + + - name: Compile Contracts + id: compile + uses: ./revive/revive-differential-tests/.github/actions/compile-contracts + with: + revive-differential-tests-path: revive/revive-differential-tests + resolc-path: resolc-bin/resolc-${{ matrix.target }}${{ runner.os == 'Windows' && '.exe' || '' }} + solc-version: ${{ env.SOLC_VERSION }} + modes: ${{ env.MODES }} + upload-artifact-name: compilation-report-${{ matrix.platform }} + + - name: Export Bytecode Hashes + uses: ./revive/revive-differential-tests/.github/actions/export-bytecode-hashes + with: + revive-differential-tests-path: revive/revive-differential-tests + report-path: ${{ steps.compile.outputs.report-path }} + remove-prefix: ${{ steps.compile.outputs.contracts-source-prefix }} + platform-label: ${{ matrix.platform }} + upload-artifact-name: hashes-${{ matrix.platform }} + + compare-hashes: + needs: compile-and-export-hashes-native + runs-on: ubuntu-24.04 + steps: + - name: Checkout revive + uses: actions/checkout@v4 + with: + path: revive + submodules: true + + - name: Compare Bytecode Hashes + uses: ./revive/revive-differential-tests/.github/actions/compare-bytecode-hashes + with: + revive-differential-tests-path: revive/revive-differential-tests + hash-artifact-names: "hashes-linux-x86_64, hashes-macos-arm64, hashes-macos-x86_64, hashes-windows-x86_64" + modes: ${{ env.MODES }} + upload-artifact-name: hash-comparison-result + + run-e2e-tests: + needs: build + runs-on: parity-large + timeout-minutes: 75 + env: + # Commit SHA that produced the polkadot-sdk crate pinned in Cargo.toml, + # obtained from the crate's .cargo_vcs_info.json via: + # curl -sL https://crates.io/api/v1/crates/polkadot-sdk//download | tar xzO '*/.cargo_vcs_info.json' + # Current version: 2603.0.0 + POLKADOT_SDK_REF: "c56b086a3cfcb3a48b75fd1ef9c77ad9b7408b95" + RUSTFLAGS: "-Awarnings" + steps: + - name: Checkout revive + uses: actions/checkout@v4 + with: + path: revive + submodules: recursive + + - name: Download Binary + uses: actions/download-artifact@v4 + with: + name: resolc-x86_64-unknown-linux-musl + path: ./resolc-bin + + - name: Make resolc Executable + shell: bash + run: chmod +x ./resolc-bin/resolc-x86_64-unknown-linux-musl + + - name: Checkout Polkadot SDK + uses: actions/checkout@v4 + with: + repository: paritytech/polkadot-sdk + ref: ${{ env.POLKADOT_SDK_REF }} + path: polkadot-sdk + submodules: recursive + + - name: Install Dependencies + run: | + sudo apt-get update + sudo apt-get install -y build-essential pkg-config libssl-dev protobuf-compiler llvm clang libclang-dev + + - name: Download forklift + run: | + curl -fsSLo forklift https://github.com/paritytech/forklift/releases/download/0.15.0/forklift_0.15.0_linux_amd64 + chmod +x forklift + sudo mv forklift /usr/local/bin/ + + - name: Configure forklift + run: | + mkdir -p .forklift + cp polkadot-sdk/.forklift/config.toml .forklift/config.toml + + - name: Set Up Rust Toolchain + uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: "1.90.0" + target: "wasm32-unknown-unknown" + components: "rust-src" + rustflags: "" + + - name: Run Differential E2E Tests + uses: ./revive/revive-differential-tests/.github/actions/run-differential-tests + with: + revive-differential-tests-path: revive/revive-differential-tests + polkadot-sdk-path: ./polkadot-sdk + cargo-command: "forklift cargo" + platform: revive-dev-node-polkavm-resolc + resolc-path: ./resolc-bin/resolc-x86_64-unknown-linux-musl + solc-version: ${{ env.SOLC_VERSION }} + expectations-file-path: ./revive/.github/assets/revive-dev-node-polkavm-resolc.json + + # Sentinel job that depends on the jobs we want to allow completing (instead of + # being canceled once the other job chains complete). Thus, run-e2e-tests + # will always run even if compare-hashes finishes first, and vice versa. + wait-for-jobs: + if: ${{ always() }} + needs: [compare-hashes, run-e2e-tests] + runs-on: ubuntu-24.04 + steps: + - run: echo "All jobs finished" diff --git a/.github/workflows/release-nightly.yml b/.github/workflows/release-nightly.yml index 64bb4a50..662459ec 100644 --- a/.github/workflows/release-nightly.yml +++ b/.github/workflows/release-nightly.yml @@ -53,46 +53,11 @@ jobs: is_release: false retention_days: 40 - create-macos-fat-binary: - if: ${{ needs.check_commits.outputs.has_commits == 'true' }} - needs: [build] - outputs: - resolc-universal-apple-darwin_url: ${{ steps.set-output.outputs.resolc-universal-apple-darwin_url }} - resolc-universal-apple-darwin_sha: ${{ steps.set-output.outputs.resolc-universal-apple-darwin_sha }} - runs-on: macos-15 - steps: - - uses: actions/download-artifact@v4 - with: - merge-multiple: true - - - name: Create macOS Fat Binary - run: | - lipo resolc-aarch64-apple-darwin resolc-x86_64-apple-darwin -create -output resolc-universal-apple-darwin - - - name: Make Executable - run: | - chmod +x resolc-universal-apple-darwin - - - uses: actions/upload-artifact@v4 - id: artifact-upload-step - with: - name: resolc-universal-apple-darwin - path: resolc-universal-apple-darwin - retention-days: 40 - - - name: Set output variables - id: set-output - env: - TARGET: resolc-universal-apple-darwin - run: | - echo "${TARGET}_url=${{ steps.artifact-upload-step.outputs.artifact-url }}" >> "$GITHUB_OUTPUT" - echo "${TARGET}_sha=${{ steps.artifact-upload-step.outputs.artifact-digest }}" >> "$GITHUB_OUTPUT" - generate-nightly-json: runs-on: ubuntu-24.04 if: ${{ needs.check_commits.outputs.has_commits == 'true' }} environment: tags - needs: [build, create-macos-fat-binary, check_commits] + needs: [build, check_commits] steps: - name: Checkout revive uses: actions/checkout@v4 @@ -129,8 +94,6 @@ jobs: run: | echo '[' > data.json echo '${{ toJSON(needs.build.outputs) }}' >> data.json - echo ',' >> data.json - echo '${{ toJSON(needs.create-macos-fat-binary.outputs) }}' >> data.json echo ']' >> data.json chmod +x bins/resolc-x86_64-unknown-linux-musl export FIRST_SOLC_VERSION=$(./bins/resolc-x86_64-unknown-linux-musl --supported-solc-versions | cut -f 1 -d "," | tr -d ">=") diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ed4b5fcf..86ca8b06 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -69,7 +69,7 @@ jobs: create-release: if: startsWith(github.ref_name, 'v') needs: [check-version-changed, build] - runs-on: macos-15 + runs-on: ubuntu-24.04 environment: tags steps: - name: Download Artifacts @@ -77,10 +77,6 @@ jobs: with: merge-multiple: true - - name: Create macOS Fat Binary - run: | - lipo resolc-aarch64-apple-darwin resolc-x86_64-apple-darwin -create -output resolc-universal-apple-darwin - - name: Make Executable run: | chmod +x resolc-x86_64-unknown-linux-musl @@ -88,12 +84,12 @@ jobs: - name: Create sha-256 checksum run: | - shasum -a 256 resolc-x86_64-unknown-linux-musl > checksums.txt - shasum -a 256 resolc-universal-apple-darwin >> checksums.txt - shasum -a 256 resolc-x86_64-pc-windows-msvc.exe >> checksums.txt - shasum -a 256 resolc.js >> checksums.txt - shasum -a 256 resolc.wasm >> checksums.txt - shasum -a 256 resolc_web.js >> checksums.txt + sha256sum resolc-x86_64-unknown-linux-musl > checksums.txt + sha256sum resolc-universal-apple-darwin >> checksums.txt + sha256sum resolc-x86_64-pc-windows-msvc.exe >> checksums.txt + sha256sum resolc.js >> checksums.txt + sha256sum resolc.wasm >> checksums.txt + sha256sum resolc_web.js >> checksums.txt - uses: actions/create-github-app-token@v1 id: app-token @@ -126,7 +122,7 @@ jobs: npm-release: needs: [create-release] - runs-on: macos-15 + runs-on: ubuntu-24.04 environment: tags steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/reusable-build.yml b/.github/workflows/reusable-build.yml index 04657bc4..a1a594d0 100644 --- a/.github/workflows/reusable-build.yml +++ b/.github/workflows/reusable-build.yml @@ -25,6 +25,10 @@ on: value: ${{ jobs.build.outputs.resolc-x86_64-apple-darwin_url }} resolc-x86_64-apple-darwin_sha: value: ${{ jobs.build.outputs.resolc-x86_64-apple-darwin_sha }} + resolc-universal-apple-darwin_url: + value: ${{ jobs.create-macos-universal.outputs.resolc-universal-apple-darwin_url }} + resolc-universal-apple-darwin_sha: + value: ${{ jobs.create-macos-universal.outputs.resolc-universal-apple-darwin_sha }} resolc-x86_64-pc-windows-msvc_url: value: ${{ jobs.build.outputs.resolc-x86_64-pc-windows-msvc_url }} resolc-x86_64-pc-windows-msvc_sha: @@ -37,6 +41,9 @@ on: env: CARGO_TERM_COLOR: always RUST_MUSL_CROSS_IMAGE: messense/rust-musl-cross@sha256:2a8837c43bf12e246f1ebd05191de9ee27fcd22f9ca81511ccd4cf75dc16d71c + # An empty string is interpreted as the latest published release (default behavior). + # To test a specific draft release, use the full name (e.g. "llvm-21.1.8-revive.5789e11"). + LLVM_VERSION: "" jobs: build: @@ -51,6 +58,23 @@ jobs: resolc-x86_64-apple-darwin_sha: ${{ steps.set-output.outputs.resolc-x86_64-apple-darwin_sha }} resolc-x86_64-pc-windows-msvc_url: ${{ steps.set-output.outputs.resolc-x86_64-pc-windows-msvc_url }} resolc-x86_64-pc-windows-msvc_sha: ${{ steps.set-output.outputs.resolc-x86_64-pc-windows-msvc_sha }} + # Queue jobs for the same target and commit instead of running in parallel or cancelling + # the first job. This allows the second workflow to use cached builds from the first if + # it is triggered by the same commit. + # + # Example: Workflow A and Workflow B both call this workflow for the same commit: + # + # Time | Workflow A | Workflow B + # -----|---------------------------|--------------------------- + # T1 | Job starts, cache miss | + # T2 | Building... | Job queued (same group) + # T3 | Build done, cache saved | Job queued + # T4 | Job finishes | Job starts, cache hit + # T5 | | Skips build, job finishes + concurrency: + # Use `reusable-build` and not `${{ github.workflow }}` here so that callers share the same concurrency group. + group: reusable-build-${{ matrix.target }}-${{ github.sha }} + cancel-in-progress: false strategy: matrix: target: @@ -81,18 +105,31 @@ jobs: if: runner.os == 'Windows' run: git config --system core.longpaths true - uses: actions/checkout@v4 + + # Cache build artifacts by target and commit (restores if available, saves on cache miss). + - name: Check Build Cache + id: cache + uses: actions/cache@v5 + with: + # Use glob to match binaries with and without extensions. + path: resolc-${{ matrix.target }}* + key: build-${{ matrix.target }}-${{ github.sha }} + - uses: actions-rust-lang/setup-rust-toolchain@v1 + if: ${{ steps.cache.outputs.cache-hit != 'true' }} with: rustflags: "" cache-key: ${{ matrix.target }} - name: Download LLVM + if: ${{ steps.cache.outputs.cache-hit != 'true' }} uses: ./.github/actions/get-llvm with: target: ${{ matrix.target }} + version: ${{ env.LLVM_VERSION }} - name: Build (Native) - if: ${{ matrix.type == 'native' }} + if: ${{ steps.cache.outputs.cache-hit != 'true' && matrix.type == 'native' }} shell: bash run: | export LLVM_SYS_211_PREFIX=$PWD/llvm-${{ matrix.target }} @@ -100,7 +137,7 @@ jobs: mv target/release/resolc resolc-${{ matrix.target }} || mv target/release/resolc.exe resolc-${{ matrix.target }}.exe - name: Build (MUSL) - if: ${{ matrix.type == 'musl' }} + if: ${{ steps.cache.outputs.cache-hit != 'true' && matrix.type == 'musl' }} run: | docker run -v $PWD:/opt/revive $RUST_MUSL_CROSS_IMAGE /bin/bash -c " cd /opt/revive @@ -137,37 +174,106 @@ jobs: echo "resolc-${{ matrix.target }}_url=${{ steps.artifact-upload-step.outputs.artifact-url }}" >> "$GITHUB_OUTPUT" echo "resolc-${{ matrix.target }}_sha=${{ steps.artifact-upload-step.outputs.artifact-digest }}" >> "$GITHUB_OUTPUT" + create-macos-universal: + needs: build + runs-on: macos-15 + concurrency: + # Use `reusable-build` and not `${{ github.workflow }}` here so that callers share the same concurrency group. + group: reusable-build-universal-apple-darwin-${{ github.sha }} + cancel-in-progress: false + outputs: + resolc-universal-apple-darwin_url: ${{ steps.set-output.outputs.resolc-universal-apple-darwin_url }} + resolc-universal-apple-darwin_sha: ${{ steps.set-output.outputs.resolc-universal-apple-darwin_sha }} + steps: + - name: Check Build Cache + id: cache + uses: actions/cache@v5 + with: + path: resolc-universal-apple-darwin + key: build-universal-apple-darwin-${{ github.sha }} + + - name: Download macOS Artifacts + if: ${{ steps.cache.outputs.cache-hit != 'true' }} + uses: actions/download-artifact@v4 + with: + pattern: resolc-*-apple-darwin + merge-multiple: true + + - name: Create macOS Fat Binary + if: ${{ steps.cache.outputs.cache-hit != 'true' }} + run: | + lipo resolc-aarch64-apple-darwin resolc-x86_64-apple-darwin -create -output resolc-universal-apple-darwin + chmod +x resolc-universal-apple-darwin + + - name: Upload Universal Binary + uses: actions/upload-artifact@v4 + id: artifact-upload-step + with: + name: resolc-universal-apple-darwin + path: resolc-universal-apple-darwin + retention-days: ${{ inputs.retention_days }} + + - name: Set output variables + if: ${{ !inputs.is_release }} + id: set-output + run: | + echo "resolc-universal-apple-darwin_url=${{ steps.artifact-upload-step.outputs.artifact-url }}" >> "$GITHUB_OUTPUT" + echo "resolc-universal-apple-darwin_sha=${{ steps.artifact-upload-step.outputs.artifact-digest }}" >> "$GITHUB_OUTPUT" + build-wasm: runs-on: ubuntu-24.04 outputs: resolc_web_js_url: ${{ steps.set-output.outputs.resolc_web_js_url }} resolc_web_js_sha: ${{ steps.set-output.outputs.resolc_web_js_sha }} + # Queue jobs for the same target and commit instead of running in parallel or cancelling + # the first job. This allows the second workflow to use cached builds from the first if + # it is triggered by the same commit. + concurrency: + # Use `reusable-build` and not `${{ github.workflow }}` here so that callers share the same concurrency group. + group: reusable-build-wasm32-unknown-emscripten-${{ github.sha }} + cancel-in-progress: false env: RELEASE_RESOLC_WASM_URI: https://github.com/paritytech/revive/releases/download/${{ github.ref_name }}/resolc.wasm steps: - uses: actions/checkout@v4 + + # Cache build artifacts by commit (restores if available, saves on cache miss). + - name: Check Build Cache + id: cache + uses: actions/cache@v5 + with: + path: resolc-wasm32-unknown-emscripten + key: build-wasm32-unknown-emscripten-${{ github.sha }} + # Pin to 1.92.0 until LLVM WASM libraries are rebuilt with -fwasm-exceptions # See: https://github.com/paritytech/revive/issues/XXX - uses: actions-rust-lang/setup-rust-toolchain@v1 + if: ${{ steps.cache.outputs.cache-hit != 'true' }} with: toolchain: "1.92.0" target: wasm32-unknown-emscripten rustflags: "" - name: Download Host LLVM + if: ${{ steps.cache.outputs.cache-hit != 'true' }} uses: ./.github/actions/get-llvm with: target: x86_64-unknown-linux-gnu + version: ${{ env.LLVM_VERSION }} - name: Download Wasm LLVM + if: ${{ steps.cache.outputs.cache-hit != 'true' }} uses: ./.github/actions/get-llvm with: target: wasm32-unknown-emscripten + version: ${{ env.LLVM_VERSION }} - name: Download EMSDK + if: ${{ steps.cache.outputs.cache-hit != 'true' }} uses: ./.github/actions/get-emsdk - name: Build + if: ${{ steps.cache.outputs.cache-hit != 'true' }} run: | export LLVM_SYS_211_PREFIX=$PWD/llvm-x86_64-unknown-linux-gnu export REVIVE_LLVM_TARGET_PREFIX=$PWD/llvm-wasm32-unknown-emscripten @@ -175,6 +281,14 @@ jobs: make install-wasm chmod -x ./target/wasm32-unknown-emscripten/release/resolc.wasm + - name: Compress Artifact + if: ${{ steps.cache.outputs.cache-hit != 'true' }} + run: | + mkdir -p resolc-wasm32-unknown-emscripten + mv ./target/wasm32-unknown-emscripten/release/resolc.js ./resolc-wasm32-unknown-emscripten/ + mv ./target/wasm32-unknown-emscripten/release/resolc.wasm ./resolc-wasm32-unknown-emscripten/ + mv ./target/wasm32-unknown-emscripten/release/resolc_web.js ./resolc-wasm32-unknown-emscripten/ + - name: Set Up Node.js uses: actions/setup-node@v3 with: @@ -185,8 +299,11 @@ jobs: mkdir -p solc curl -sSLo solc/soljson.js https://github.com/argotorg/solidity/releases/download/v0.8.34/soljson.js node -e " - const soljson = require('solc/soljson'); - const createRevive = require('./target/wasm32-unknown-emscripten/release/resolc.js'); + // Make sure to require './solc/soljson' and not 'solc/soljson' in order to use + // the explicitly downloaded solc, rather than resolving an npm package potentially + // installed in prior workflow steps. + const soljson = require('./solc/soljson'); + const createRevive = require('./resolc-wasm32-unknown-emscripten/resolc.js'); const compiler = createRevive(); compiler.soljson = soljson; @@ -224,13 +341,6 @@ jobs: if(!bytecode.startsWith('50564d')) { process.exit(1); } " - - name: Compress Artifact - run: | - mkdir -p resolc-wasm32-unknown-emscripten - mv ./target/wasm32-unknown-emscripten/release/resolc.js ./resolc-wasm32-unknown-emscripten/ - mv ./target/wasm32-unknown-emscripten/release/resolc.wasm ./resolc-wasm32-unknown-emscripten/ - mv ./target/wasm32-unknown-emscripten/release/resolc_web.js ./resolc-wasm32-unknown-emscripten/ - - name: Upload artifacts (Release) if: ${{ inputs.is_release }} uses: actions/upload-artifact@v4 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2d0b95b3..7269dbba 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -60,3 +60,8 @@ jobs: - name: Test docs run: make doc + + run-differential-tests: + # Only run this if `test` successfully completes. + needs: test + uses: ./.github/workflows/differential-tests.yml diff --git a/revive-differential-tests b/revive-differential-tests index 21330aa9..69cc64e0 160000 --- a/revive-differential-tests +++ b/revive-differential-tests @@ -1 +1 @@ -Subproject commit 21330aa90053e9a66cb8d54c4e15942f5ab90242 +Subproject commit 69cc64e070727fa3b9567a99bf26f01a4022570b