@tokamak-network/thanos-contracts
Version:
1 lines • 63.3 kB
JSON
{"abi":[{"type":"constructor","inputs":[{"name":"_absolutePrestate","type":"bytes32","internalType":"Claim"},{"name":"_oracle","type":"address","internalType":"contract PreimageOracle"}],"stateMutability":"nonpayable"},{"type":"function","name":"oracle","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPreimageOracle"}],"stateMutability":"view"},{"type":"function","name":"step","inputs":[{"name":"_stateData","type":"bytes","internalType":"bytes"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"_localContext","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"postState_","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"}],"bytecode":{"object":"0x60a060405234801561001057600080fd5b506040516105d23803806105d283398101604081905261002f91610059565b608091909152600080546001600160a01b0319166001600160a01b03909216919091179055610096565b6000806040838503121561006c57600080fd5b825160208401519092506001600160a01b038116811461008b57600080fd5b809150509250929050565b6080516105226100b0600039600060af01526105226000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80637dc0d1d01461003b578063e14ced3214610085575b600080fd5b60005461005b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61009861009336600461039c565b6100a6565b60405190815260200161007c565b600080600060087f0000000000000000000000000000000000000000000000000000000000000000901b600889896040516100e2929190610410565b6040518091039020901b036101e0576000805473ffffffffffffffffffffffffffffffffffffffff1663e03110e161011b6004886102a6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526004810191909152600060248201526044016040805180830381865afa158015610175573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101999190610420565b50905060006101b3600163ffffffff608085901c16610473565b600481901b9450905060006101ca8a8c018c61048a565b90506101d685826104a3565b935050505061020d565b6101ec878901896104bb565b9092509050816101fb816104dd565b9250508080610209906104dd565b9150505b6040805160208101849052908101829052606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905280516020909101207effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01000000000000000000000000000000000000000000000000000000000000001798975050505050505050565b7f01000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83161761034c818360408051600093845233602052918152606090922091527effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01000000000000000000000000000000000000000000000000000000000000001790565b9392505050565b60008083601f84011261036557600080fd5b50813567ffffffffffffffff81111561037d57600080fd5b60208301915083602082850101111561039557600080fd5b9250929050565b6000806000806000606086880312156103b457600080fd5b853567ffffffffffffffff808211156103cc57600080fd5b6103d889838a01610353565b909750955060208801359150808211156103f157600080fd5b506103fe88828901610353565b96999598509660400135949350505050565b8183823760009101908152919050565b6000806040838503121561043357600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008282101561048557610485610444565b500390565b60006020828403121561049c57600080fd5b5035919050565b600082198211156104b6576104b6610444565b500190565b600080604083850312156104ce57600080fd5b50508035926020909101359150565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361050e5761050e610444565b506001019056fea164736f6c634300080f000a","sourceMap":"485:1563:374:-:0;;;610:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;681:37;;;;;728:6;:16;;-1:-1:-1;;;;;;728:16:374;-1:-1:-1;;;;;728:16:374;;;;;;;;;485:1563;;14:404:416;146:6;154;207:2;195:9;186:7;182:23;178:32;175:52;;;223:1;220;213:12;175:52;246:16;;305:2;290:18;;284:25;246:16;;-1:-1:-1;;;;;;338:31:416;;328:42;;318:70;;384:1;381;374:12;318:70;407:5;397:15;;;14:404;;;;;:::o;:::-;485:1563:374;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100365760003560e01c80637dc0d1d01461003b578063e14ced3214610085575b600080fd5b60005461005b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61009861009336600461039c565b6100a6565b60405190815260200161007c565b600080600060087f0000000000000000000000000000000000000000000000000000000000000000901b600889896040516100e2929190610410565b6040518091039020901b036101e0576000805473ffffffffffffffffffffffffffffffffffffffff1663e03110e161011b6004886102a6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526004810191909152600060248201526044016040805180830381865afa158015610175573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101999190610420565b50905060006101b3600163ffffffff608085901c16610473565b600481901b9450905060006101ca8a8c018c61048a565b90506101d685826104a3565b935050505061020d565b6101ec878901896104bb565b9092509050816101fb816104dd565b9250508080610209906104dd565b9150505b6040805160208101849052908101829052606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905280516020909101207effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01000000000000000000000000000000000000000000000000000000000000001798975050505050505050565b7f01000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83161761034c818360408051600093845233602052918152606090922091527effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01000000000000000000000000000000000000000000000000000000000000001790565b9392505050565b60008083601f84011261036557600080fd5b50813567ffffffffffffffff81111561037d57600080fd5b60208301915083602082850101111561039557600080fd5b9250929050565b6000806000806000606086880312156103b457600080fd5b853567ffffffffffffffff808211156103cc57600080fd5b6103d889838a01610353565b909750955060208801359150808211156103f157600080fd5b506103fe88828901610353565b96999598509660400135949350505050565b8183823760009101908152919050565b6000806040838503121561043357600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008282101561048557610485610444565b500390565b60006020828403121561049c57600080fd5b5035919050565b600082198211156104b6576104b6610444565b500190565b600080604083850312156104ce57600080fd5b50508035926020909101359150565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361050e5761050e610444565b506001019056fea164736f6c634300080f000a","sourceMap":"485:1563:374:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;574:29;;;;;;;;;;;;216:42:416;204:55;;;186:74;;174:2;159:18;574:29:374;;;;;;;;789:1257;;;;;;:::i;:::-;;:::i;:::-;;;1559:25:416;;;1547:2;1532:18;789:1257:374;1413:177:416;789:1257:374;946:18;980;1008:13;1103:1;1081:17;1068:36;;1061:1;1046:10;;1036:21;;;;;;;:::i;:::-;;;;;;;;:26;;1035:70;1031:809;;1206:11;1222:6;;;;:19;1259:86;2797:4:199;1331:13:374;1259:28;:86::i;:::-;1222:140;;;;;;;;;;;;;2053:25:416;;;;1347:1:374;2094:18:416;;;2087:34;2026:18;;1222:140:374;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1205:157:374;-1:-1:-1;1376:29:374;1408:40;1447:1;1433:10;1426:3;1410:19;;;1409:34;1408:40;:::i;:::-;1500:1;1475:26;;;;-1:-1:-1;1376:72:374;-1:-1:-1;1516:29:374;1549:33;;;;1560:10;1549:33;:::i;:::-;1515:67;-1:-1:-1;1604:34:374;1628:10;1515:67;1604:34;:::i;:::-;1596:42;;1107:542;;;1031:809;;;1740:42;;;;1751:10;1740:42;:::i;:::-;1718:64;;-1:-1:-1;1718:64:374;-1:-1:-1;1718:64:374;1796:12;1718:64;1796:12;:::i;:::-;;;;1822:7;;;;;:::i;:::-;;;;1031:809;1900:29;;;;;;2053:25:416;;;2094:18;;;2087:34;;;2026:18;;1900:29:374;;;;;;;;;;;;;1890:40;;1900:29;1890:40;;;;1996:19;1980:36;2018:11;1977:53;;789:1257;-1:-1:-1;;;;;;;;789:1257:374:o;552:449:175:-;835:11;860:19;848:32;;832:49;965:29;832:49;980:13;1676:4;1670:11;;1533:21;1787:15;;;1828:8;1822:4;1815:22;1850:27;;;1996:4;1983:18;;;2098:17;;2003:19;1979:44;2025:11;1976:61;;1455:676;965:29;958:36;552:449;-1:-1:-1;;;552:449:175:o;271:347:416:-;322:8;332:6;386:3;379:4;371:6;367:17;363:27;353:55;;404:1;401;394:12;353:55;-1:-1:-1;427:20:416;;470:18;459:30;;456:50;;;502:1;499;492:12;456:50;539:4;531:6;527:17;515:29;;591:3;584:4;575:6;567;563:19;559:30;556:39;553:59;;;608:1;605;598:12;553:59;271:347;;;;;:::o;623:785::-;722:6;730;738;746;754;807:2;795:9;786:7;782:23;778:32;775:52;;;823:1;820;813:12;775:52;863:9;850:23;892:18;933:2;925:6;922:14;919:34;;;949:1;946;939:12;919:34;988:58;1038:7;1029:6;1018:9;1014:22;988:58;:::i;:::-;1065:8;;-1:-1:-1;962:84:416;-1:-1:-1;1153:2:416;1138:18;;1125:32;;-1:-1:-1;1169:16:416;;;1166:36;;;1198:1;1195;1188:12;1166:36;;1237:60;1289:7;1278:8;1267:9;1263:24;1237:60;:::i;:::-;623:785;;;;-1:-1:-1;1316:8:416;1398:2;1383:18;1370:32;;623:785;-1:-1:-1;;;;623:785:416:o;1595:271::-;1778:6;1770;1765:3;1752:33;1734:3;1804:16;;1829:13;;;1804:16;1595:271;-1:-1:-1;1595:271:416:o;2132:245::-;2211:6;2219;2272:2;2260:9;2251:7;2247:23;2243:32;2240:52;;;2288:1;2285;2278:12;2240:52;-1:-1:-1;;2311:16:416;;2367:2;2352:18;;;2346:25;2311:16;;2346:25;;-1:-1:-1;2132:245:416:o;2382:184::-;2434:77;2431:1;2424:88;2531:4;2528:1;2521:15;2555:4;2552:1;2545:15;2571:125;2611:4;2639:1;2636;2633:8;2630:34;;;2644:18;;:::i;:::-;-1:-1:-1;2681:9:416;;2571:125::o;2701:180::-;2760:6;2813:2;2801:9;2792:7;2788:23;2784:32;2781:52;;;2829:1;2826;2819:12;2781:52;-1:-1:-1;2852:23:416;;2701:180;-1:-1:-1;2701:180:416:o;2886:128::-;2926:3;2957:1;2953:6;2950:1;2947:13;2944:39;;;2963:18;;:::i;:::-;-1:-1:-1;2999:9:416;;2886:128::o;3019:248::-;3087:6;3095;3148:2;3136:9;3127:7;3123:23;3119:32;3116:52;;;3164:1;3161;3154:12;3116:52;-1:-1:-1;;3187:23:416;;;3257:2;3242:18;;;3229:32;;-1:-1:-1;3019:248:416:o;3272:195::-;3311:3;3342:66;3335:5;3332:77;3329:103;;3412:18;;:::i;:::-;-1:-1:-1;3459:1:416;3448:13;;3272:195::o","linkReferences":{},"immutableReferences":{"226743":[{"start":175,"length":32}]}},"methodIdentifiers":{"oracle()":"7dc0d1d0","step(bytes,bytes,bytes32)":"e14ced32"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"Claim\",\"name\":\"_absolutePrestate\",\"type\":\"bytes32\"},{\"internalType\":\"contract PreimageOracle\",\"name\":\"_oracle\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"oracle\",\"outputs\":[{\"internalType\":\"contract IPreimageOracle\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_stateData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_localContext\",\"type\":\"bytes32\"}],\"name\":\"step\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"postState_\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"A mock VM for the purpose of testing the dispute game infrastructure. Note that this only works for games with an execution trace subgame max depth of 3 (8 instructions per subgame).\",\"kind\":\"dev\",\"methods\":{\"step(bytes,bytes,bytes32)\":{\"params\":{\"_localContext\":\"The local key context for the preimage oracle. Optional, can be set as a constant if the implementation only requires one set of local keys.\",\"_proof\":\"Opaque proof data, can be used to prove things about the prestate in relation to the state of the interface's implementation.\",\"_stateData\":\"The raw opaque prestate data.\"},\"returns\":{\"postState_\":\"The hash of the post state witness after the state transition.\"}}},\"title\":\"AlphabetVM\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"oracle()\":{\"notice\":\"Returns the preimage oracle used by the state machine.\"},\"step(bytes,bytes,bytes32)\":{\"notice\":\"Performs the state transition from a given prestate and returns the hash of the post state witness.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/AlphabetVM.sol\":\"AlphabetVM\"},\"evmVersion\":\"london\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/lib-keccak/contracts/lib/LibKeccak.sol\":{\"keccak256\":\"0x8dde9ac5972d35fc752b3aae40491bdd648e6d910bdc3cdba4256f56abafe672\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea269cbccc1eda4a57c6681d3c7648cd1ae3303ce1a3cdc1c703334d4be104f1\",\"dweb:/ipfs/QmRDE2GT8yRebnPbAZLBY9s3CHZt1ZjRXiRm8qufV8gpGx\"]},\"src/cannon/PreimageKeyLib.sol\":{\"keccak256\":\"0x082e910b8a3f523ac0920f0bc5a09e127fe9e48127694e5a0efce820d4654e85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bce8c13880b75f2d8561188279b2333c455c831216fc29375570d9c93767c6cc\",\"dweb:/ipfs/QmRmworxD49TBLcLS81sNUEfkQVgg3tf2L6pUDCduDJvWm\"]},\"src/cannon/PreimageOracle.sol\":{\"keccak256\":\"0x042a0ef33f329606a10e6b351e0479b5195b55618a31fa221f5ad1aae8dc67c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9809271aabd11c6b6b876336064719ae583b0f45af310d98299f2fffc0c966de\",\"dweb:/ipfs/QmUfH3LwPSJ3VjK15mcFYTe6NqTvDfPCXdGFnLiEbuqGAw\"]},\"src/cannon/interfaces/IPreimageOracle.sol\":{\"keccak256\":\"0x53e6cada4297de6604a9f4b8f47b6d38a3506b8b1ae1a0f4bb1abb5276396bca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39a5645dde6d80af9fb08044b8c8555b5d09a66314de00d5f92dc33dfb8c10a5\",\"dweb:/ipfs/QmQDJY2AudK3CFR2J8mC4uVtiiPnzCVHAyNwAxPmyNd6n3\"]},\"src/cannon/libraries/CannonErrors.sol\":{\"keccak256\":\"0x9ee5e3521460b886fc9d38383942900cf7a4f54d298aef09ac0ffd43fb3c3c5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f56cbcd24a3685de72d12fa9658410ee19ec51efec52e1b0e4117bc9d8b5cbe\",\"dweb:/ipfs/QmSrnrGS5mKXoaHzTXPtMXvDHYPfPZ1purxirYbFfaJVB9\"]},\"src/cannon/libraries/CannonTypes.sol\":{\"keccak256\":\"0x824cf959d88683db3c2a0bdfc9c27afdd363433f94c4a9e6c8e2c2d57d25e4de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18c5b0181b5db4686e270c405e007891cb86f4f37edbe12cbb4765522169ce39\",\"dweb:/ipfs/QmTJ3N1auNzyXRo23cV2TVpyyYUh2h89nG3QMCdiPDiSPe\"]},\"src/dispute/interfaces/IBigStepper.sol\":{\"keccak256\":\"0xc92ee3069677b903826c83d5b4e46e3be462f9ccf1d95e72a12b1052e3451f0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f93692bd3c8d9533ab8024ce2df6d880328826d1a92fdb9cf45301e2d0c65884\",\"dweb:/ipfs/QmUcmbjTw9gnCUNasgmQjVbSgcCPKZ1FQyA31dH4k5Nc75\"]},\"src/dispute/lib/LibPosition.sol\":{\"keccak256\":\"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d\",\"dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K\"]},\"src/dispute/lib/LibUDT.sol\":{\"keccak256\":\"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e\",\"dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX\"]},\"src/dispute/lib/Types.sol\":{\"keccak256\":\"0x227948243b4be041de133e1adc4b1dd49e9c1f519e4b5ab7f18c5bc9740539b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae2584956303586801a4c721ad39db90b8929101594f5bed10d77b28e66b3c11\",\"dweb:/ipfs/QmdoKT3UiTfBY3nBLjKRGJkngS7vq6exVQbuPqo5GwDCM1\"]},\"src/universal/ISemver.sol\":{\"keccak256\":\"0xba34562a8026f59886d2e07d1d58d90b9691d00e0788c6263cef6c22740cab44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0826f998632f83c103c3085bf2e872db79a69022b6d2e0444c83a64ca5283c2a\",\"dweb:/ipfs/QmcJ7PNqkAfKqbjFGRordtAg1v9DvcBSKvdTkVvciLyvQR\"]},\"test/mocks/AlphabetVM.sol\":{\"keccak256\":\"0xd9d8156766638c24e2825aa0da3db80b18028f83439c8c4be0f1f255dd7cb9ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1024c4a4c53a588957e63035651d029cad5825763734c4d3e49333caaf94fa03\",\"dweb:/ipfs/QmV9dQegpFGJWrJKpCVLM4r3GAkHMSA9qiyETEnG6X9EcK\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"Claim","name":"_absolutePrestate","type":"bytes32"},{"internalType":"contract PreimageOracle","name":"_oracle","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"stateMutability":"view","type":"function","name":"oracle","outputs":[{"internalType":"contract IPreimageOracle","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"_stateData","type":"bytes"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"bytes32","name":"_localContext","type":"bytes32"}],"stateMutability":"view","type":"function","name":"step","outputs":[{"internalType":"bytes32","name":"postState_","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"step(bytes,bytes,bytes32)":{"params":{"_localContext":"The local key context for the preimage oracle. Optional, can be set as a constant if the implementation only requires one set of local keys.","_proof":"Opaque proof data, can be used to prove things about the prestate in relation to the state of the interface's implementation.","_stateData":"The raw opaque prestate data."},"returns":{"postState_":"The hash of the post state witness after the state transition."}}},"version":1},"userdoc":{"kind":"user","methods":{"oracle()":{"notice":"Returns the preimage oracle used by the state machine."},"step(bytes,bytes,bytes32)":{"notice":"Performs the state transition from a given prestate and returns the hash of the post state witness."}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"test/mocks/AlphabetVM.sol":"AlphabetVM"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/lib-keccak/contracts/lib/LibKeccak.sol":{"keccak256":"0x8dde9ac5972d35fc752b3aae40491bdd648e6d910bdc3cdba4256f56abafe672","urls":["bzz-raw://ea269cbccc1eda4a57c6681d3c7648cd1ae3303ce1a3cdc1c703334d4be104f1","dweb:/ipfs/QmRDE2GT8yRebnPbAZLBY9s3CHZt1ZjRXiRm8qufV8gpGx"],"license":"MIT"},"src/cannon/PreimageKeyLib.sol":{"keccak256":"0x082e910b8a3f523ac0920f0bc5a09e127fe9e48127694e5a0efce820d4654e85","urls":["bzz-raw://bce8c13880b75f2d8561188279b2333c455c831216fc29375570d9c93767c6cc","dweb:/ipfs/QmRmworxD49TBLcLS81sNUEfkQVgg3tf2L6pUDCduDJvWm"],"license":"MIT"},"src/cannon/PreimageOracle.sol":{"keccak256":"0x042a0ef33f329606a10e6b351e0479b5195b55618a31fa221f5ad1aae8dc67c0","urls":["bzz-raw://9809271aabd11c6b6b876336064719ae583b0f45af310d98299f2fffc0c966de","dweb:/ipfs/QmUfH3LwPSJ3VjK15mcFYTe6NqTvDfPCXdGFnLiEbuqGAw"],"license":"MIT"},"src/cannon/interfaces/IPreimageOracle.sol":{"keccak256":"0x53e6cada4297de6604a9f4b8f47b6d38a3506b8b1ae1a0f4bb1abb5276396bca","urls":["bzz-raw://39a5645dde6d80af9fb08044b8c8555b5d09a66314de00d5f92dc33dfb8c10a5","dweb:/ipfs/QmQDJY2AudK3CFR2J8mC4uVtiiPnzCVHAyNwAxPmyNd6n3"],"license":"MIT"},"src/cannon/libraries/CannonErrors.sol":{"keccak256":"0x9ee5e3521460b886fc9d38383942900cf7a4f54d298aef09ac0ffd43fb3c3c5f","urls":["bzz-raw://4f56cbcd24a3685de72d12fa9658410ee19ec51efec52e1b0e4117bc9d8b5cbe","dweb:/ipfs/QmSrnrGS5mKXoaHzTXPtMXvDHYPfPZ1purxirYbFfaJVB9"],"license":"MIT"},"src/cannon/libraries/CannonTypes.sol":{"keccak256":"0x824cf959d88683db3c2a0bdfc9c27afdd363433f94c4a9e6c8e2c2d57d25e4de","urls":["bzz-raw://18c5b0181b5db4686e270c405e007891cb86f4f37edbe12cbb4765522169ce39","dweb:/ipfs/QmTJ3N1auNzyXRo23cV2TVpyyYUh2h89nG3QMCdiPDiSPe"],"license":"MIT"},"src/dispute/interfaces/IBigStepper.sol":{"keccak256":"0xc92ee3069677b903826c83d5b4e46e3be462f9ccf1d95e72a12b1052e3451f0a","urls":["bzz-raw://f93692bd3c8d9533ab8024ce2df6d880328826d1a92fdb9cf45301e2d0c65884","dweb:/ipfs/QmUcmbjTw9gnCUNasgmQjVbSgcCPKZ1FQyA31dH4k5Nc75"],"license":"MIT"},"src/dispute/lib/LibPosition.sol":{"keccak256":"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241","urls":["bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d","dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K"],"license":"MIT"},"src/dispute/lib/LibUDT.sol":{"keccak256":"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855","urls":["bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e","dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX"],"license":"MIT"},"src/dispute/lib/Types.sol":{"keccak256":"0x227948243b4be041de133e1adc4b1dd49e9c1f519e4b5ab7f18c5bc9740539b9","urls":["bzz-raw://ae2584956303586801a4c721ad39db90b8929101594f5bed10d77b28e66b3c11","dweb:/ipfs/QmdoKT3UiTfBY3nBLjKRGJkngS7vq6exVQbuPqo5GwDCM1"],"license":"MIT"},"src/universal/ISemver.sol":{"keccak256":"0xba34562a8026f59886d2e07d1d58d90b9691d00e0788c6263cef6c22740cab44","urls":["bzz-raw://0826f998632f83c103c3085bf2e872db79a69022b6d2e0444c83a64ca5283c2a","dweb:/ipfs/QmcJ7PNqkAfKqbjFGRordtAg1v9DvcBSKvdTkVvciLyvQR"],"license":"MIT"},"test/mocks/AlphabetVM.sol":{"keccak256":"0xd9d8156766638c24e2825aa0da3db80b18028f83439c8c4be0f1f255dd7cb9ef","urls":["bzz-raw://1024c4a4c53a588957e63035651d029cad5825763734c4d3e49333caaf94fa03","dweb:/ipfs/QmV9dQegpFGJWrJKpCVLM4r3GAkHMSA9qiyETEnG6X9EcK"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":226746,"contract":"test/mocks/AlphabetVM.sol:AlphabetVM","label":"oracle","offset":0,"slot":"0","type":"t_contract(IPreimageOracle)102623"}],"types":{"t_contract(IPreimageOracle)102623":{"encoding":"inplace","label":"contract IPreimageOracle","numberOfBytes":"20"}}},"userdoc":{"version":1,"kind":"user","methods":{"oracle()":{"notice":"Returns the preimage oracle used by the state machine."},"step(bytes,bytes,bytes32)":{"notice":"Performs the state transition from a given prestate and returns the hash of the post state witness."}}},"devdoc":{"version":1,"kind":"dev","details":"A mock VM for the purpose of testing the dispute game infrastructure. Note that this only works for games with an execution trace subgame max depth of 3 (8 instructions per subgame).","methods":{"step(bytes,bytes,bytes32)":{"params":{"_localContext":"The local key context for the preimage oracle. Optional, can be set as a constant if the implementation only requires one set of local keys.","_proof":"Opaque proof data, can be used to prove things about the prestate in relation to the state of the interface's implementation.","_stateData":"The raw opaque prestate data."},"returns":{"postState_":"The hash of the post state witness after the state transition."}}},"title":"AlphabetVM"},"ast":{"absolutePath":"test/mocks/AlphabetVM.sol","id":226883,"exportedSymbols":{"AlphabetVM":[226882],"Claim":[110496],"Clock":[110404],"Duration":[110528],"GameId":[110458],"GameStatus":[110608],"GameType":[110588],"GameTypes":[110656],"Hash":[110543],"IBigStepper":[109435],"IPreimageOracle":[102623],"LibClaim":[110526],"LibClock":[110456],"LibDuration":[110541],"LibGameId":[110494],"LibGameType":[110601],"LibHash":[110556],"LibPosition":[110367],"LibTimestamp":[110571],"LibVMStatus":[110586],"LocalPreimageKey":[110712],"OutputRoot":[110614],"Position":[110154],"PreimageKeyLib":[101031],"PreimageOracle":[102543],"Timestamp":[110558],"VMStatus":[110573],"VMStatuses":[110690]},"nodeType":"SourceUnit","src":"32:2017:374","nodes":[{"id":226730,"nodeType":"PragmaDirective","src":"32:24:374","nodes":[],"literals":["solidity","^","0.8",".15"]},{"id":226733,"nodeType":"ImportDirective","src":"58:86:374","nodes":[],"absolutePath":"src/dispute/interfaces/IBigStepper.sol","file":"src/dispute/interfaces/IBigStepper.sol","nameLocation":"-1:-1:-1","scope":226883,"sourceUnit":109436,"symbolAliases":[{"foreign":{"id":226731,"name":"IBigStepper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":109435,"src":"67:11:374","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":226732,"name":"IPreimageOracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102623,"src":"80:15:374","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":226736,"nodeType":"ImportDirective","src":"145:79:374","nodes":[],"absolutePath":"src/cannon/PreimageOracle.sol","file":"src/cannon/PreimageOracle.sol","nameLocation":"-1:-1:-1","scope":226883,"sourceUnit":102544,"symbolAliases":[{"foreign":{"id":226734,"name":"PreimageOracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102543,"src":"154:14:374","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":226735,"name":"PreimageKeyLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101031,"src":"170:14:374","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":226737,"nodeType":"ImportDirective","src":"225:35:374","nodes":[],"absolutePath":"src/dispute/lib/Types.sol","file":"src/dispute/lib/Types.sol","nameLocation":"-1:-1:-1","scope":226883,"sourceUnit":110713,"symbolAliases":[],"unitAlias":""},{"id":226882,"nodeType":"ContractDefinition","src":"485:1563:374","nodes":[{"id":226743,"nodeType":"VariableDeclaration","src":"526:42:374","nodes":[],"constant":false,"mutability":"immutable","name":"ABSOLUTE_PRESTATE","nameLocation":"551:17:374","scope":226882,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"},"typeName":{"id":226742,"nodeType":"UserDefinedTypeName","pathNode":{"id":226741,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":110496,"src":"526:5:374"},"referencedDeclaration":110496,"src":"526:5:374","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"}},"visibility":"internal"},{"id":226746,"nodeType":"VariableDeclaration","src":"574:29:374","nodes":[],"baseFunctions":[109434],"constant":false,"functionSelector":"7dc0d1d0","mutability":"mutable","name":"oracle","nameLocation":"597:6:374","scope":226882,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPreimageOracle_$102623","typeString":"contract IPreimageOracle"},"typeName":{"id":226745,"nodeType":"UserDefinedTypeName","pathNode":{"id":226744,"name":"IPreimageOracle","nodeType":"IdentifierPath","referencedDeclaration":102623,"src":"574:15:374"},"referencedDeclaration":102623,"src":"574:15:374","typeDescriptions":{"typeIdentifier":"t_contract$_IPreimageOracle_$102623","typeString":"contract IPreimageOracle"}},"visibility":"public"},{"id":226764,"nodeType":"FunctionDefinition","src":"610:141:374","nodes":[],"body":{"id":226763,"nodeType":"Block","src":"671:80:374","nodes":[],"statements":[{"expression":{"id":226757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":226755,"name":"ABSOLUTE_PRESTATE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226743,"src":"681:17:374","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":226756,"name":"_absolutePrestate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226749,"src":"701:17:374","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"}},"src":"681:37:374","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"}},"id":226758,"nodeType":"ExpressionStatement","src":"681:37:374"},{"expression":{"id":226761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":226759,"name":"oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226746,"src":"728:6:374","typeDescriptions":{"typeIdentifier":"t_contract$_IPreimageOracle_$102623","typeString":"contract IPreimageOracle"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":226760,"name":"_oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226752,"src":"737:7:374","typeDescriptions":{"typeIdentifier":"t_contract$_PreimageOracle_$102543","typeString":"contract PreimageOracle"}},"src":"728:16:374","typeDescriptions":{"typeIdentifier":"t_contract$_IPreimageOracle_$102623","typeString":"contract IPreimageOracle"}},"id":226762,"nodeType":"ExpressionStatement","src":"728:16:374"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":226753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":226749,"mutability":"mutable","name":"_absolutePrestate","nameLocation":"628:17:374","nodeType":"VariableDeclaration","scope":226764,"src":"622:23:374","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"},"typeName":{"id":226748,"nodeType":"UserDefinedTypeName","pathNode":{"id":226747,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":110496,"src":"622:5:374"},"referencedDeclaration":110496,"src":"622:5:374","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":226752,"mutability":"mutable","name":"_oracle","nameLocation":"662:7:374","nodeType":"VariableDeclaration","scope":226764,"src":"647:22:374","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PreimageOracle_$102543","typeString":"contract PreimageOracle"},"typeName":{"id":226751,"nodeType":"UserDefinedTypeName","pathNode":{"id":226750,"name":"PreimageOracle","nodeType":"IdentifierPath","referencedDeclaration":102543,"src":"647:14:374"},"referencedDeclaration":102543,"src":"647:14:374","typeDescriptions":{"typeIdentifier":"t_contract$_PreimageOracle_$102543","typeString":"contract PreimageOracle"}},"visibility":"internal"}],"src":"621:49:374"},"returnParameters":{"id":226754,"nodeType":"ParameterList","parameters":[],"src":"671:0:374"},"scope":226882,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":226881,"nodeType":"FunctionDefinition","src":"789:1257:374","nodes":[],"body":{"id":226880,"nodeType":"Block","src":"970:1076:374","nodes":[],"statements":[{"assignments":[226777],"declarations":[{"constant":false,"id":226777,"mutability":"mutable","name":"traceIndex","nameLocation":"988:10:374","nodeType":"VariableDeclaration","scope":226880,"src":"980:18:374","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":226776,"name":"uint256","nodeType":"ElementaryTypeName","src":"980:7:374","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":226778,"nodeType":"VariableDeclarationStatement","src":"980:18:374"},{"assignments":[226780],"declarations":[{"constant":false,"id":226780,"mutability":"mutable","name":"claim","nameLocation":"1016:5:374","nodeType":"VariableDeclaration","scope":226880,"src":"1008:13:374","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":226779,"name":"uint256","nodeType":"ElementaryTypeName","src":"1008:7:374","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":226781,"nodeType":"VariableDeclarationStatement","src":"1008:13:374"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":226795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":226786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":226783,"name":"_stateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226767,"src":"1046:10:374","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":226782,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1036:9:374","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":226784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1036:21:374","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"38","id":226785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1061:1:374","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"1036:26:374","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":226787,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1035:28:374","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":226793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":226790,"name":"ABSOLUTE_PRESTATE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226743,"src":"1081:17:374","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"}],"expression":{"id":226788,"name":"Claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110496,"src":"1068:5:374","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Claim_$110496_$","typeString":"type(Claim)"}},"id":226789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"unwrap","nodeType":"MemberAccess","src":"1068:12:374","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Claim_$110496_$returns$_t_bytes32_$","typeString":"function (Claim) pure returns (bytes32)"}},"id":226791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1068:31:374","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"38","id":226792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1103:1:374","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"1068:36:374","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":226794,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1067:38:374","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1035:70:374","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":226867,"nodeType":"Block","src":"1655:185:374","statements":[{"expression":{"id":226859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":226847,"name":"traceIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226777,"src":"1719:10:374","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":226848,"name":"claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226780,"src":"1731:5:374","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":226849,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"1718:19:374","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":226852,"name":"_stateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226767,"src":"1751:10:374","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":226854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1764:7:374","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":226853,"name":"uint256","nodeType":"ElementaryTypeName","src":"1764:7:374","typeDescriptions":{}}},{"id":226856,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1773:7:374","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":226855,"name":"uint256","nodeType":"ElementaryTypeName","src":"1773:7:374","typeDescriptions":{}}}],"id":226857,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1763:18:374","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_uint256_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(uint256),type(uint256))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_tuple$_t_type$_t_uint256_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(uint256),type(uint256))"}],"expression":{"id":226850,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1740:3:374","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":226851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"1740:10:374","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":226858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1740:42:374","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"src":"1718:64:374","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":226860,"nodeType":"ExpressionStatement","src":"1718:64:374"},{"expression":{"id":226862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1796:12:374","subExpression":{"id":226861,"name":"traceIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226777,"src":"1796:10:374","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":226863,"nodeType":"ExpressionStatement","src":"1796:12:374"},{"expression":{"id":226865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1822:7:374","subExpression":{"id":226864,"name":"claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226780,"src":"1822:5:374","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":226866,"nodeType":"ExpressionStatement","src":"1822:7:374"}]},"id":226868,"nodeType":"IfStatement","src":"1031:809:374","trueBody":{"id":226846,"nodeType":"Block","src":"1107:542:374","statements":[{"assignments":[226797,null],"declarations":[{"constant":false,"id":226797,"mutability":"mutable","name":"dat","nameLocation":"1214:3:374","nodeType":"VariableDeclaration","scope":226846,"src":"1206:11:374","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":226796,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1206:7:374","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},null],"id":226808,"initialValue":{"arguments":[{"arguments":[{"expression":{"id":226802,"name":"LocalPreimageKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110712,"src":"1288:16:374","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LocalPreimageKey_$110712_$","typeString":"type(library LocalPreimageKey)"}},"id":226803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"DISPUTED_L2_BLOCK_NUMBER","nodeType":"MemberAccess","referencedDeclaration":110707,"src":"1288:41:374","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":226804,"name":"_localContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226771,"src":"1331:13:374","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":226800,"name":"PreimageKeyLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101031,"src":"1259:14:374","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PreimageKeyLib_$101031_$","typeString":"type(library PreimageKeyLib)"}},"id":226801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"localizeIdent","nodeType":"MemberAccess","referencedDeclaration":101008,"src":"1259:28:374","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (uint256,bytes32) view returns (bytes32)"}},"id":226805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1259:86:374","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":226806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1347:1:374","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":226798,"name":"oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226746,"src":"1222:6:374","typeDescriptions":{"typeIdentifier":"t_contract$_IPreimageOracle_$102623","typeString":"contract IPreimageOracle"}},"id":226799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"readPreimage","nodeType":"MemberAccess","referencedDeclaration":102564,"src":"1222:19:374","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bytes32_$_t_uint256_$","typeString":"function (bytes32,uint256) view external returns (bytes32,uint256)"}},"id":226807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1222:140:374","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes32_$_t_uint256_$","typeString":"tuple(bytes32,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"1205:157:374"},{"assignments":[226810],"declarations":[{"constant":false,"id":226810,"mutability":"mutable","name":"startingL2BlockNumber","nameLocation":"1384:21:374","nodeType":"VariableDeclaration","scope":226846,"src":"1376:29:374","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":226809,"name":"uint256","nodeType":"ElementaryTypeName","src":"1376:7:374","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":226823,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":226822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":226819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":226816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":226813,"name":"dat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226797,"src":"1418:3:374","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":226812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1410:7:374","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":226811,"name":"uint256","nodeType":"ElementaryTypeName","src":"1410:7:374","typeDescriptions":{}}},"id":226814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1410:12:374","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":226815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1426:3:374","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"1410:19:374","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":226817,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1409:21:374","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646464646464646","id":226818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1433:10:374","typeDescriptions":{"typeIdentifier":"t_rational_4294967295_by_1","typeString":"in