{ "abi": [{ "type": "function", "name": "DEPOSITOR_ACCOUNT", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "baseFeeScalar", "inputs": [], "outputs": [{ "name": "", "type": "uint32", "internalType": "uint32" }], "stateMutability": "view" }, { "type": "function", "name": "basefee", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "batcherHash", "inputs": [], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "blobBaseFee", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "blobBaseFeeScalar", "inputs": [], "outputs": [{ "name": "", "type": "uint32", "internalType": "uint32" }], "stateMutability": "view" }, { "type": "function", "name": "hash", "inputs": [], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "l1FeeOverhead", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "l1FeeScalar", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "number", "inputs": [], "outputs": [{ "name": "", "type": "uint64", "internalType": "uint64" }], "stateMutability": "view" }, { "type": "function", "name": "sequenceNumber", "inputs": [], "outputs": [{ "name": "", "type": "uint64", "internalType": "uint64" }], "stateMutability": "view" }, { "type": "function", "name": "setL1BlockValues", "inputs": [{ "name": "_number", "type": "uint64", "internalType": "uint64" }, { "name": "_timestamp", "type": "uint64", "internalType": "uint64" }, { "name": "_basefee", "type": "uint256", "internalType": "uint256" }, { "name": "_hash", "type": "bytes32", "internalType": "bytes32" }, { "name": "_sequenceNumber", "type": "uint64", "internalType": "uint64" }, { "name": "_batcherHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "_l1FeeOverhead", "type": "uint256", "internalType": "uint256" }, { "name": "_l1FeeScalar", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setL1BlockValuesEcotone", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "timestamp", "inputs": [], "outputs": [{ "name": "", "type": "uint64", "internalType": "uint64" }], "stateMutability": "view" }, { "type": "function", "name": "version", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }], "bytecode": { "object": "0x608060405234801561001057600080fd5b5061053e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638381f58a11610097578063c598591811610066578063c598591814610229578063e591b28214610249578063e81b2c6d14610289578063f82061401461029257600080fd5b80638381f58a146101e35780638b239f73146101f75780639e8c496614610200578063b80777ea1461020957600080fd5b806354fd4d50116100d357806354fd4d50146101335780635cf249691461017c57806364ca23ef1461018557806368d5dca6146101b257600080fd5b8063015d8eb9146100fa57806309bd5a601461010f578063440a5e201461012b575b600080fd5b61010d61010836600461044c565b61029b565b005b61011860025481565b6040519081526020015b60405180910390f35b61010d6103da565b61016f6040518060400160405280600581526020017f312e322e3000000000000000000000000000000000000000000000000000000081525081565b60405161012291906104be565b61011860015481565b6003546101999067ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610122565b6003546101ce9068010000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610122565b6000546101999067ffffffffffffffff1681565b61011860055481565b61011860065481565b6000546101999068010000000000000000900467ffffffffffffffff1681565b6003546101ce906c01000000000000000000000000900463ffffffff1681565b61026473deaddeaddeaddeaddeaddeaddeaddeaddead000181565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b61011860045481565b61011860075481565b3373deaddeaddeaddeaddeaddeaddeaddeaddead000114610342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f4c31426c6f636b3a206f6e6c7920746865206465706f7369746f72206163636f60448201527f756e742063616e20736574204c3120626c6f636b2076616c7565730000000000606482015260840160405180910390fd5b6000805467ffffffffffffffff98891668010000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000909116998916999099179890981790975560019490945560029290925560038054919094167fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000009190911617909255600491909155600555600655565b3373deaddeaddeaddeaddeaddeaddeaddeaddead00011461040357633cc50b456000526004601cfd5b60043560801c60035560143560801c600055602435600155604435600755606435600255608435600455565b803567ffffffffffffffff8116811461044757600080fd5b919050565b600080600080600080600080610100898b03121561046957600080fd5b6104728961042f565b975061048060208a0161042f565b9650604089013595506060890135945061049c60808a0161042f565b979a969950949793969560a0850135955060c08501359460e001359350915050565b600060208083528351808285015260005b818110156104eb578581018301518582016040015282016104cf565b818111156104fd576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201604001939250505056fea164736f6c634300080f000a", "sourceMap": "588:4256:145:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80638381f58a11610097578063c598591811610066578063c598591814610229578063e591b28214610249578063e81b2c6d14610289578063f82061401461029257600080fd5b80638381f58a146101e35780638b239f73146101f75780639e8c496614610200578063b80777ea1461020957600080fd5b806354fd4d50116100d357806354fd4d50146101335780635cf249691461017c57806364ca23ef1461018557806368d5dca6146101b257600080fd5b8063015d8eb9146100fa57806309bd5a601461010f578063440a5e201461012b575b600080fd5b61010d61010836600461044c565b61029b565b005b61011860025481565b6040519081526020015b60405180910390f35b61010d6103da565b61016f6040518060400160405280600581526020017f312e322e3000000000000000000000000000000000000000000000000000000081525081565b60405161012291906104be565b61011860015481565b6003546101999067ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610122565b6003546101ce9068010000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610122565b6000546101999067ffffffffffffffff1681565b61011860055481565b61011860065481565b6000546101999068010000000000000000900467ffffffffffffffff1681565b6003546101ce906c01000000000000000000000000900463ffffffff1681565b61026473deaddeaddeaddeaddeaddeaddeaddeaddead000181565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b61011860045481565b61011860075481565b3373deaddeaddeaddeaddeaddeaddeaddeaddead000114610342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f4c31426c6f636b3a206f6e6c7920746865206465706f7369746f72206163636f60448201527f756e742063616e20736574204c3120626c6f636b2076616c7565730000000000606482015260840160405180910390fd5b6000805467ffffffffffffffff98891668010000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000909116998916999099179890981790975560019490945560029290925560038054919094167fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000009190911617909255600491909155600555600655565b3373deaddeaddeaddeaddeaddeaddeaddeaddead00011461040357633cc50b456000526004601cfd5b60043560801c60035560143560801c600055602435600155604435600755606435600255608435600455565b803567ffffffffffffffff8116811461044757600080fd5b919050565b600080600080600080600080610100898b03121561046957600080fd5b6104728961042f565b975061048060208a0161042f565b9650604089013595506060890135945061049c60808a0161042f565b979a969950949793969560a0850135955060c08501359460e001359350915050565b600060208083528351808285015260005b818110156104eb578581018301518582016040015282016104cf565b818111156104fd576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201604001939250505056fea164736f6c634300080f000a", "sourceMap": "588:4256:145:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2494:660;;;;;;:::i;:::-;;:::i;:::-;;1071:19;;;;;;;;;1014:25:357;;;1002:2;987:18;1071:19:145;;;;;;;;3886:956;;;:::i;1961:40::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1001:22::-;;;;;;1156:28;;;;;;;;;;;;2067:18:357;2055:31;;;2037:50;;2025:2;2010:18;1156:28:145;1893:200:357;1298:31:145;;;;;;;;;;;;;;;2272:10:357;2260:23;;;2242:42;;2230:2;2215:18;1298:31:145;2098:192:357;840:20:145;;;;;;;;;1680:28;;;;;;1821:26;;;;;;931:23;;;;;;;;;;;;1438:27;;;;;;;;;;;;680:86;;724:42;680:86;;;;;2471:42:357;2459:55;;;2441:74;;2429:2;2414:18;680:86:145;2295:226:357;1539:26:145;;;;;;1899;;;;;;2494:660;2789:10;724:42;2789:31;2781:103;;;;;;;2728:2:357;2781:103:145;;;2710:21:357;2767:2;2747:18;;;2740:30;2806:34;2786:18;;;2779:62;2877:29;2857:18;;;2850:57;2924:19;;2781:103:145;;;;;;;;2895:6;:16;;;2921:22;;;;;;;;;2895:16;;;2921:22;;;;;;;;;;;2895:16;2953:18;;;;2981:4;:12;;;;3003:14;:32;;;;;;2895:16;3003:32;;;;;;;;3045:11;:26;;;;3081:13;:30;3121:11;:26;2494:660::o;3886:956::-;4036:8;4046:17;4029:233;;;4096:10;4090:4;4083:24;4194:4;4188;4181:18;4029:233;4453:1;4440:15;4435:3;4431:25;4410:19;4403:54;4566:2;4553:16;4548:3;4544:26;4531:11;4524:47;4618:2;4605:16;4591:12;4584:38;4684:2;4671:16;4653;4646:42;4743:3;4730:17;4719:9;4712:36;4810:3;4797:17;4779:16;4772:43;3886:956::o;14:171:357:-;81:20;;141:18;130:30;;120:41;;110:69;;175:1;172;165:12;110:69;14:171;;;:::o;190:673::-;309:6;317;325;333;341;349;357;365;418:3;406:9;397:7;393:23;389:33;386:53;;;435:1;432;425:12;386:53;458:28;476:9;458:28;:::i;:::-;448:38;;505:37;538:2;527:9;523:18;505:37;:::i;:::-;495:47;;589:2;578:9;574:18;561:32;551:42;;640:2;629:9;625:18;612:32;602:42;;663:38;696:3;685:9;681:19;663:38;:::i;:::-;190:673;;;;-1:-1:-1;190:673:357;;;;653:48;748:3;733:19;;720:33;;-1:-1:-1;800:3:357;785:19;;772:33;;852:3;837:19;824:33;;-1:-1:-1;190:673:357;-1:-1:-1;;190:673:357:o;1050:656::-;1162:4;1191:2;1220;1209:9;1202:21;1252:6;1246:13;1295:6;1290:2;1279:9;1275:18;1268:34;1320:1;1330:140;1344:6;1341:1;1338:13;1330:140;;;1439:14;;;1435:23;;1429:30;1405:17;;;1424:2;1401:26;1394:66;1359:10;;1330:140;;;1488:6;1485:1;1482:13;1479:91;;;1558:1;1553:2;1544:6;1533:9;1529:22;1525:31;1518:42;1479:91;-1:-1:-1;1622:2:357;1610:15;1627:66;1606:88;1591:104;;;;1697:2;1587:113;;1050:656;-1:-1:-1;;;1050:656:357:o", "linkReferences": {} }, "methodIdentifiers": { "DEPOSITOR_ACCOUNT()": "e591b282", "baseFeeScalar()": "c5985918", "basefee()": "5cf24969", "batcherHash()": "e81b2c6d", "blobBaseFee()": "f8206140", "blobBaseFeeScalar()": "68d5dca6", "hash()": "09bd5a60", "l1FeeOverhead()": "8b239f73", "l1FeeScalar()": "9e8c4966", "number()": "8381f58a", "sequenceNumber()": "64ca23ef", "setL1BlockValues(uint64,uint64,uint256,bytes32,uint64,bytes32,uint256,uint256)": "015d8eb9", "setL1BlockValuesEcotone()": "440a5e20", "timestamp()": "b80777ea", "version()": "54fd4d50" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DEPOSITOR_ACCOUNT\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseFeeScalar\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"basefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"batcherHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blobBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blobBaseFeeScalar\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l1FeeOverhead\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l1FeeScalar\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"number\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sequenceNumber\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_number\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"_basefee\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"_sequenceNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"_batcherHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_l1FeeOverhead\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_l1FeeScalar\",\"type\":\"uint256\"}],\"name\":\"setL1BlockValues\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setL1BlockValuesEcotone\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"timestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"custom:proxied\":\"@custom:predeploy 0x4200000000000000000000000000000000000015\",\"kind\":\"dev\",\"methods\":{\"setL1BlockValues(uint64,uint64,uint256,bytes32,uint64,bytes32,uint256,uint256)\":{\"custom:legacy\":\"@notice Updates the L1 block values.\",\"params\":{\"_basefee\":\"L1 basefee.\",\"_batcherHash\":\"Versioned hash to authenticate batcher by.\",\"_hash\":\"L1 blockhash.\",\"_l1FeeOverhead\":\"L1 fee overhead.\",\"_l1FeeScalar\":\"L1 fee scalar.\",\"_number\":\"L1 blocknumber.\",\"_sequenceNumber\":\"Number of L2 blocks since epoch start.\",\"_timestamp\":\"L1 timestamp.\"}}},\"stateVariables\":{\"l1FeeOverhead\":{\"custom:legacy\":\"\"},\"l1FeeScalar\":{\"custom:legacy\":\"\"},\"version\":{\"custom:semver\":\"1.2.0\"}},\"title\":\"L1Block\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_ACCOUNT()\":{\"notice\":\"Address of the special depositor account.\"},\"baseFeeScalar()\":{\"notice\":\"The scalar value applied to the L1 base fee portion of the blob-capable L1 cost func.\"},\"basefee()\":{\"notice\":\"The latest L1 base fee.\"},\"batcherHash()\":{\"notice\":\"The versioned hash to authenticate the batcher by.\"},\"blobBaseFee()\":{\"notice\":\"The latest L1 blob base fee.\"},\"blobBaseFeeScalar()\":{\"notice\":\"The scalar value applied to the L1 blob base fee portion of the blob-capable L1 cost func.\"},\"hash()\":{\"notice\":\"The latest L1 blockhash.\"},\"l1FeeOverhead()\":{\"notice\":\"The overhead value applied to the L1 portion of the transaction fee.\"},\"l1FeeScalar()\":{\"notice\":\"The scalar value applied to the L1 portion of the transaction fee.\"},\"number()\":{\"notice\":\"The latest L1 block number known by the L2 system.\"},\"sequenceNumber()\":{\"notice\":\"The number of L2 blocks in the same epoch.\"},\"setL1BlockValuesEcotone()\":{\"notice\":\"Updates the L1 block values for an Ecotone upgraded chain. Params are packed and passed in as raw msg.data instead of ABI to reduce calldata size. Params are expected to be in the following order:   1. _baseFeeScalar      L1 base fee scalar   2. _blobBaseFeeScalar  L1 blob base fee scalar   3. _sequenceNumber     Number of L2 blocks since epoch start.   4. _timestamp          L1 timestamp.   5. _number             L1 blocknumber.   6. _basefee            L1 base fee.   7. _blobBaseFee        L1 blob base fee.   8. _hash               L1 blockhash.   9. _batcherHash        Versioned hash to authenticate batcher by.\"},\"timestamp()\":{\"notice\":\"The latest L1 timestamp known by the L2 system.\"}},\"notice\":\"The L1Block predeploy gives users access to information about the last known L1 block.         Values within this contract are updated once per epoch (every L1 block) and can only be         set by the \\\"depositor\\\" account, a special system address. Depositor account transactions         are created by the protocol whenever we move to a new epoch.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/L2/L1Block.sol\":\"L1Block\"},\"evmVersion\":\"london\",\"libraries\":{},\"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/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/L2/L1Block.sol\":{\"keccak256\":\"0x5819beb85b23c31c5f5d639977bf5d5cf6768975d6d3eecde78299f37ba04cd6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55cdc404753dcc0cd9d3fac3554a4a16abd7dc39f43f7ae0ebcb0990fa52f7e7\",\"dweb:/ipfs/QmNXMUmNBmNCmL5k8tC1jJ6CmY2hZKJ7owFwuvhMKXr5fv\"]},\"src/universal/ISemver.sol\":{\"keccak256\":\"0xba34562a8026f59886d2e07d1d58d90b9691d00e0788c6263cef6c22740cab44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0826f998632f83c103c3085bf2e872db79a69022b6d2e0444c83a64ca5283c2a\",\"dweb:/ipfs/QmcJ7PNqkAfKqbjFGRordtAg1v9DvcBSKvdTkVvciLyvQR\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.15+commit.e14f2714" }, "language": "Solidity", "output": { "abi": [{ "inputs": [], "stateMutability": "view", "type": "function", "name": "DEPOSITOR_ACCOUNT", "outputs": [{ "internalType": "address", "name": "", "type": "address" }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "baseFeeScalar", "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "basefee", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "batcherHash", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "blobBaseFee", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "blobBaseFeeScalar", "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "hash", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "l1FeeOverhead", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "l1FeeScalar", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "number", "outputs": [{ "internalType": "uint64", "name": "", "type": "uint64" }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "sequenceNumber", "outputs": [{ "internalType": "uint64", "name": "", "type": "uint64" }] }, { "inputs": [{ "internalType": "uint64", "name": "_number", "type": "uint64" }, { "internalType": "uint64", "name": "_timestamp", "type": "uint64" }, { "internalType": "uint256", "name": "_basefee", "type": "uint256" }, { "internalType": "bytes32", "name": "_hash", "type": "bytes32" }, { "internalType": "uint64", "name": "_sequenceNumber", "type": "uint64" }, { "internalType": "bytes32", "name": "_batcherHash", "type": "bytes32" }, { "internalType": "uint256", "name": "_l1FeeOverhead", "type": "uint256" }, { "internalType": "uint256", "name": "_l1FeeScalar", "type": "uint256" }], "stateMutability": "nonpayable", "type": "function", "name": "setL1BlockValues" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "setL1BlockValuesEcotone" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "timestamp", "outputs": [{ "internalType": "uint64", "name": "", "type": "uint64" }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "version", "outputs": [{ "internalType": "string", "name": "", "type": "string" }] }], "devdoc": { "kind": "dev", "methods": { "setL1BlockValues(uint64,uint64,uint256,bytes32,uint64,bytes32,uint256,uint256)": { "custom:legacy": "@notice Updates the L1 block values.", "params": { "_basefee": "L1 basefee.", "_batcherHash": "Versioned hash to authenticate batcher by.", "_hash": "L1 blockhash.", "_l1FeeOverhead": "L1 fee overhead.", "_l1FeeScalar": "L1 fee scalar.", "_number": "L1 blocknumber.", "_sequenceNumber": "Number of L2 blocks since epoch start.", "_timestamp": "L1 timestamp." } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "DEPOSITOR_ACCOUNT()": { "notice": "Address of the special depositor account." }, "baseFeeScalar()": { "notice": "The scalar value applied to the L1 base fee portion of the blob-capable L1 cost func." }, "basefee()": { "notice": "The latest L1 base fee." }, "batcherHash()": { "notice": "The versioned hash to authenticate the batcher by." }, "blobBaseFee()": { "notice": "The latest L1 blob base fee." }, "blobBaseFeeScalar()": { "notice": "The scalar value applied to the L1 blob base fee portion of the blob-capable L1 cost func." }, "hash()": { "notice": "The latest L1 blockhash." }, "l1FeeOverhead()": { "notice": "The overhead value applied to the L1 portion of the transaction fee." }, "l1FeeScalar()": { "notice": "The scalar value applied to the L1 portion of the transaction fee." }, "number()": { "notice": "The latest L1 block number known by the L2 system." }, "sequenceNumber()": { "notice": "The number of L2 blocks in the same epoch." }, "setL1BlockValuesEcotone()": { "notice": "Updates the L1 block values for an Ecotone upgraded chain. Params are packed and passed in as raw msg.data instead of ABI to reduce calldata size. Params are expected to be in the following order:   1. _baseFeeScalar      L1 base fee scalar   2. _blobBaseFeeScalar  L1 blob base fee scalar   3. _sequenceNumber     Number of L2 blocks since epoch start.   4. _timestamp          L1 timestamp.   5. _number             L1 blocknumber.   6. _basefee            L1 base fee.   7. _blobBaseFee        L1 blob base fee.   8. _hash               L1 blockhash.   9. _batcherHash        Versioned hash to authenticate batcher by." }, "timestamp()": { "notice": "The latest L1 timestamp known by the L2 system." } }, "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/", "@rari-capital/solmate/=lib/solmate/", "@solady-test/=lib/lib-keccak/lib/solady/test/", "@solady/=lib/solady/src/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/", "lib-keccak/=lib/lib-keccak/contracts/", "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "safe-contracts/=lib/safe-contracts/contracts/", "solady/=lib/solady/", "solmate/=lib/solmate/src/"], "optimizer": { "enabled": true, "runs": 999999 }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "src/L2/L1Block.sol": "L1Block" }, "evmVersion": "london", "libraries": {} }, "sources": { "src/L2/L1Block.sol": { "keccak256": "0x5819beb85b23c31c5f5d639977bf5d5cf6768975d6d3eecde78299f37ba04cd6", "urls": ["bzz-raw://55cdc404753dcc0cd9d3fac3554a4a16abd7dc39f43f7ae0ebcb0990fa52f7e7", "dweb:/ipfs/QmNXMUmNBmNCmL5k8tC1jJ6CmY2hZKJ7owFwuvhMKXr5fv"], "license": "MIT" }, "src/universal/ISemver.sol": { "keccak256": "0xba34562a8026f59886d2e07d1d58d90b9691d00e0788c6263cef6c22740cab44", "urls": ["bzz-raw://0826f998632f83c103c3085bf2e872db79a69022b6d2e0444c83a64ca5283c2a", "dweb:/ipfs/QmcJ7PNqkAfKqbjFGRordtAg1v9DvcBSKvdTkVvciLyvQR"], "license": "MIT" } }, "version": 1 }, "storageLayout": { "storage": [{ "astId": 90216, "contract": "src/L2/L1Block.sol:L1Block", "label": "number", "offset": 0, "slot": "0", "type": "t_uint64" }, { "astId": 90219, "contract": "src/L2/L1Block.sol:L1Block", "label": "timestamp", "offset": 8, "slot": "0", "type": "t_uint64" }, { "astId": 90222, "contract": "src/L2/L1Block.sol:L1Block", "label": "basefee", "offset": 0, "slot": "1", "type": "t_uint256" }, { "astId": 90225, "contract": "src/L2/L1Block.sol:L1Block", "label": "hash", "offset": 0, "slot": "2", "type": "t_bytes32" }, { "astId": 90228, "contract": "src/L2/L1Block.sol:L1Block", "label": "sequenceNumber", "offset": 0, "slot": "3", "type": "t_uint64" }, { "astId": 90231, "contract": "src/L2/L1Block.sol:L1Block", "label": "blobBaseFeeScalar", "offset": 8, "slot": "3", "type": "t_uint32" }, { "astId": 90234, "contract": "src/L2/L1Block.sol:L1Block", "label": "baseFeeScalar", "offset": 12, "slot": "3", "type": "t_uint32" }, { "astId": 90237, "contract": "src/L2/L1Block.sol:L1Block", "label": "batcherHash", "offset": 0, "slot": "4", "type": "t_bytes32" }, { "astId": 90240, "contract": "src/L2/L1Block.sol:L1Block", "label": "l1FeeOverhead", "offset": 0, "slot": "5", "type": "t_uint256" }, { "astId": 90243, "contract": "src/L2/L1Block.sol:L1Block", "label": "l1FeeScalar", "offset": 0, "slot": "6", "type": "t_uint256" }, { "astId": 90246, "contract": "src/L2/L1Block.sol:L1Block", "label": "blobBaseFee", "offset": 0, "slot": "7", "type": "t_uint256" }], "types": { "t_bytes32": { "encoding": "inplace", "label": "bytes32", "numberOfBytes": "32" }, "t_uint256": { "encoding": "inplace", "label": "uint256", "numberOfBytes": "32" }, "t_uint32": { "encoding": "inplace", "label": "uint32", "numberOfBytes": "4" }, "t_uint64": { "encoding": "inplace", "label": "uint64", "numberOfBytes": "8" } } }, "userdoc": { "version": 1, "kind": "user", "methods": { "DEPOSITOR_ACCOUNT()": { "notice": "Address of the special depositor account." }, "baseFeeScalar()": { "notice": "The scalar value applied to the L1 base fee portion of the blob-capable L1 cost func." }, "basefee()": { "notice": "The latest L1 base fee." }, "batcherHash()": { "notice": "The versioned hash to authenticate the batcher by." }, "blobBaseFee()": { "notice": "The latest L1 blob base fee." }, "blobBaseFeeScalar()": { "notice": "The scalar value applied to the L1 blob base fee portion of the blob-capable L1 cost func." }, "hash()": { "notice": "The latest L1 blockhash." }, "l1FeeOverhead()": { "notice": "The overhead value applied to the L1 portion of the transaction fee." }, "l1FeeScalar()": { "notice": "The scalar value applied to the L1 portion of the transaction fee." }, "number()": { "notice": "The latest L1 block number known by the L2 system." }, "sequenceNumber()": { "notice": "The number of L2 blocks in the same epoch." }, "setL1BlockValuesEcotone()": { "notice": "Updates the L1 block values for an Ecotone upgraded chain. Params are packed and passed in as raw msg.data instead of ABI to reduce calldata size. Params are expected to be in the following order:   1. _baseFeeScalar      L1 base fee scalar   2. _blobBaseFeeScalar  L1 blob base fee scalar   3. _sequenceNumber     Number of L2 blocks since epoch start.   4. _timestamp          L1 timestamp.   5. _number             L1 blocknumber.   6. _basefee            L1 base fee.   7. _blobBaseFee        L1 blob base fee.   8. _hash               L1 blockhash.   9. _batcherHash        Versioned hash to authenticate batcher by." }, "timestamp()": { "notice": "The latest L1 timestamp known by the L2 system." } }, "notice": "The L1Block predeploy gives users access to information about the last known L1 block.         Values within this contract are updated once per epoch (every L1 block) and can only be         set by the \"depositor\" account, a special system address. Depositor account transactions         are created by the protocol whenever we move to a new epoch." }, "devdoc": { "version": 1, "kind": "dev", "methods": { "setL1BlockValues(uint64,uint64,uint256,bytes32,uint64,bytes32,uint256,uint256)": { "params": { "_basefee": "L1 basefee.", "_batcherHash": "Versioned hash to authenticate batcher by.", "_hash": "L1 blockhash.", "_l1FeeOverhead": "L1 fee overhead.", "_l1FeeScalar": "L1 fee scalar.", "_number": "L1 blocknumber.", "_sequenceNumber": "Number of L2 blocks since epoch start.", "_timestamp": "L1 timestamp." } } }, "title": "L1Block" }, "ast": { "absolutePath": "src/L2/L1Block.sol", "id": 90319, "exportedSymbols": { "ISemver": [109417], "L1Block": [90318] }, "nodeType": "SourceUnit", "src": "32:4813:145", "nodes": [{ "id": 90204, "nodeType": "PragmaDirective", "src": "32:23:145", "nodes": [], "literals": ["solidity", "0.8", ".15"] }, { "id": 90206, "nodeType": "ImportDirective", "src": "57:52:145", "nodes": [], "absolutePath": "src/universal/ISemver.sol", "file": "src/universal/ISemver.sol", "nameLocation": "-1:-1:-1", "scope": 90319, "sourceUnit": 109418, "symbolAliases": [{ "foreign": { "id": 90205, "name": "ISemver", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 109417, "src": "66:7:145", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }], "unitAlias": "" }, { "id": 90318, "nodeType": "ContractDefinition", "src": "588:4256:145", "nodes": [{ "id": 90213, "nodeType": "VariableDeclaration", "src": "680:86:145", "nodes": [], "constant": true, "documentation": { "id": 90210, "nodeType": "StructuredDocumentation", "src": "622:53:145", "text": "@notice Address of the special depositor account." }, "functionSelector": "e591b282", "mutability": "constant", "name": "DEPOSITOR_ACCOUNT", "nameLocation": "704:17:145", "scope": 90318, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 90211, "name": "address", "nodeType": "ElementaryTypeName", "src": "680:7:145", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": { "hexValue": "307844656144444561444465416444654164444541644445616464654164644541644445416430303031", "id": 90212, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "724:42:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "value": "0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001" }, "visibility": "public" }, { "id": 90216, "nodeType": "VariableDeclaration", "src": "840:20:145", "nodes": [], "constant": false, "documentation": { "id": 90214, "nodeType": "StructuredDocumentation", "src": "773:62:145", "text": "@notice The latest L1 block number known by the L2 system." }, "functionSelector": "8381f58a", "mutability": "mutable", "name": "number", "nameLocation": "854:6:145", "scope": 90318, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" }, "typeName": { "id": 90215, "name": "uint64", "nodeType": "ElementaryTypeName", "src": "840:6:145", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, "visibility": "public" }, { "id": 90219, "nodeType": "VariableDeclaration", "src": "931:23:145", "nodes": [], "constant": false, "documentation": { "id": 90217, "nodeType": "StructuredDocumentation", "src": "867:59:145", "text": "@notice The latest L1 timestamp known by the L2 system." }, "functionSelector": "b80777ea", "mutability": "mutable", "name": "timestamp", "nameLocation": "945:9:145", "scope": 90318, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" }, "typeName": { "id": 90218, "name": "uint64", "nodeType": "ElementaryTypeName", "src": "931:6:145", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, "visibility": "public" }, { "id": 90222, "nodeType": "VariableDeclaration", "src": "1001:22:145", "nodes": [], "constant": false, "documentation": { "id": 90220, "nodeType": "StructuredDocumentation", "src": "961:35:145", "text": "@notice The latest L1 base fee." }, "functionSelector": "5cf24969", "mutability": "mutable", "name": "basefee", "nameLocation": "1016:7:145", "scope": 90318, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 90221, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1001:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "public" }, { "id": 90225, "nodeType": "VariableDeclaration", "src": "1071:19:145", "nodes": [], "constant": false, "documentation": { "id": 90223, "nodeType": "StructuredDocumentation", "src": "1030:36:145", "text": "@notice The latest L1 blockhash." }, "functionSelector": "09bd5a60", "mutability": "mutable", "name": "hash", "nameLocation": "1086:4:145", "scope": 90318, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 90224, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1071:7:145", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "public" }, { "id": 90228, "nodeType": "VariableDeclaration", "src": "1156:28:145", "nodes": [], "constant": false, "documentation": { "id": 90226, "nodeType": "StructuredDocumentation", "src": "1097:54:145", "text": "@notice The number of L2 blocks in the same epoch." }, "functionSelector": "64ca23ef", "mutability": "mutable", "name": "sequenceNumber", "nameLocation": "1170:14:145", "scope": 90318, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" }, "typeName": { "id": 90227, "name": "uint64", "nodeType": "ElementaryTypeName", "src": "1156:6:145", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, "visibility": "public" }, { "id": 90231, "nodeType": "VariableDeclaration", "src": "1298:31:145", "nodes": [], "constant": false, "documentation": { "id": 90229, "nodeType": "StructuredDocumentation", "src": "1191:102:145", "text": "@notice The scalar value applied to the L1 blob base fee portion of the blob-capable L1 cost func." }, "functionSelector": "68d5dca6", "mutability": "mutable", "name": "blobBaseFeeScalar", "nameLocation": "1312:17:145", "scope": 90318, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" }, "typeName": { "id": 90230, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1298:6:145", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "visibility": "public" }, { "id": 90234, "nodeType": "VariableDeclaration", "src": "1438:27:145", "nodes": [], "constant": false, "documentation": { "id": 90232, "nodeType": "StructuredDocumentation", "src": "1336:97:145", "text": "@notice The scalar value applied to the L1 base fee portion of the blob-capable L1 cost func." }, "functionSelector": "c5985918", "mutability": "mutable", "name": "baseFeeScalar", "nameLocation": "1452:13:145", "scope": 90318, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" }, "typeName": { "id": 90233, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1438:6:145", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "visibility": "public" }, { "id": 90237, "nodeType": "VariableDeclaration", "src": "1539:26:145", "nodes": [], "constant": false, "documentation": { "id": 90235, "nodeType": "StructuredDocumentation", "src": "1472:62:145", "text": "@notice The versioned hash to authenticate the batcher by." }, "functionSelector": "e81b2c6d", "mutability": "mutable", "name": "batcherHash", "nameLocation": "1554:11:145", "scope": 90318, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 90236, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1539:7:145", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "public" }, { "id": 90240, "nodeType": "VariableDeclaration", "src": "1680:28:145", "nodes": [], "constant": false, "documentation": { "id": 90238, "nodeType": "StructuredDocumentation", "src": "1572:103:145", "text": "@notice The overhead value applied to the L1 portion of the transaction fee.\n @custom:legacy" }, "functionSelector": "8b239f73", "mutability": "mutable", "name": "l1FeeOverhead", "nameLocation": "1695:13:145", "scope": 90318, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 90239, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1680:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "public" }, { "id": 90243, "nodeType": "VariableDeclaration", "src": "1821:26:145", "nodes": [], "constant": false, "documentation": { "id": 90241, "nodeType": "StructuredDocumentation", "src": "1715:101:145", "text": "@notice The scalar value applied to the L1 portion of the transaction fee.\n @custom:legacy" }, "functionSelector": "9e8c4966", "mutability": "mutable", "name": "l1FeeScalar", "nameLocation": "1836:11:145", "scope": 90318, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 90242, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1821:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "public" }, { "id": 90246, "nodeType": "VariableDeclaration", "src": "1899:26:145", "nodes": [], "constant": false, "documentation": { "id": 90244, "nodeType": "StructuredDocumentation", "src": "1854:40:145", "text": "@notice The latest L1 blob base fee." }, "functionSelector": "f8206140", "mutability": "mutable", "name": "blobBaseFee", "nameLocation": "1914:11:145", "scope": 90318, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 90245, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1899:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "public" }, { "id": 90250, "nodeType": "VariableDeclaration", "src": "1961:40:145", "nodes": [], "baseFunctions": [109416], "constant": true, "documentation": { "id": 90247, "nodeType": "StructuredDocumentation", "src": "1932:24:145", "text": "@custom:semver 1.2.0" }, "functionSelector": "54fd4d50", "mutability": "constant", "name": "version", "nameLocation": "1984:7:145", "scope": 90318, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 90248, "name": "string", "nodeType": "ElementaryTypeName", "src": "1961:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": { "hexValue": "312e322e30", "id": 90249, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1994:7:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e374587661e69268352d25204d81b23ce801573f4b09f3545e69536dc085a37a", "typeString": "literal_string \"1.2.0\"" }, "value": "1.2.0" }, "visibility": "public" }, { "id": 90311, "nodeType": "FunctionDefinition", "src": "2494:660:145", "nodes": [], "body": { "id": 90310, "nodeType": "Block", "src": "2771:383:145", "nodes": [], "statements": [{ "expression": { "arguments": [{ "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 90274, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 90271, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "2789:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 90272, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "2789:10:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "id": 90273, "name": "DEPOSITOR_ACCOUNT", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90213, "src": "2803:17:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "2789:31:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "4c31426c6f636b3a206f6e6c7920746865206465706f7369746f72206163636f756e742063616e20736574204c3120626c6f636b2076616c756573", "id": 90275, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2822:61:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c3c76ba7c08c4e35ee9214a1ee03dd5f5eafa75e54f6dcd9b82029d1cceb0d7b", "typeString": "literal_string \"L1Block: only the depositor account can set L1 block values\"" }, "value": "L1Block: only the depositor account can set L1 block values" }], "expression": { "argumentTypes": [{ "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_c3c76ba7c08c4e35ee9214a1ee03dd5f5eafa75e54f6dcd9b82029d1cceb0d7b", "typeString": "literal_string \"L1Block: only the depositor account can set L1 block values\"" }], "id": 90270, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [-18, -18], "referencedDeclaration": -18, "src": "2781:7:145", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 90276, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2781:103:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 90277, "nodeType": "ExpressionStatement", "src": "2781:103:145" }, { "expression": { "id": 90280, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 90278, "name": "number", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90216, "src": "2895:6:145", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 90279, "name": "_number", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90253, "src": "2904:7:145", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, "src": "2895:16:145", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, "id": 90281, "nodeType": "ExpressionStatement", "src": "2895:16:145" }, { "expression": { "id": 90284, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 90282, "name": "timestamp", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90219, "src": "2921:9:145", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 90283, "name": "_timestamp", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90255, "src": "2933:10:145", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, "src": "2921:22:145", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, "id": 90285, "nodeType": "ExpressionStatement", "src": "2921:22:145" }, { "expression": { "id": 90288, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 90286, "name": "basefee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90222, "src": "2953:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 90287, "name": "_basefee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90257, "src": "2963:8:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2953:18:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 90289, "nodeType": "ExpressionStatement", "src": "2953:18:145" }, { "expression": { "id": 90292, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 90290, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90225, "src": "2981:4:145", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 90291, "name": "_hash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90259, "src": "2988:5:145", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "2981:12:145", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 90293, "nodeType": "ExpressionStatement", "src": "2981:12:145" }, { "expression": { "id": 90296, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 90294, "name": "sequenceNumber", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90228, "src": "3003:14:145", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 90295, "name": "_sequenceNumber", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90261, "src": "3020:15:145", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, "src": "3003:32:145", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, "id": 90297, "nodeType": "ExpressionStatement", "src": "3003:32:145" }, { "expression": { "id": 90300, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 90298, "name": "batcherHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90237, "src": "3045:11:145", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 90299, "name": "_batcherHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90263, "src": "3059:12:145", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "3045:26:145", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 90301, "nodeType": "ExpressionStatement", "src": "3045:26:145" }, { "expression": { "id": 90304, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 90302, "name": "l1FeeOverhead", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90240, "src": "3081:13:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 90303, "name": "_l1FeeOverhead", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90265, "src": "3097:14:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "3081:30:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 90305, "nodeType": "ExpressionStatement", "src": "3081:30:145" }, { "expression": { "id": 90308, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 90306, "name": "l1FeeScalar", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90243, "src": "3121:11:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 90307, "name": "_l1FeeScalar", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90267, "src": "3135:12:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "3121:26:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 90309, "nodeType": "ExpressionStatement", "src": "3121:26:145" }] }, "documentation": { "id": 90251, "nodeType": "StructuredDocumentation", "src": "2008:481:145", "text": "@custom:legacy\n @notice Updates the L1 block values.\n @param _number         L1 blocknumber.\n @param _timestamp      L1 timestamp.\n @param _basefee        L1 basefee.\n @param _hash           L1 blockhash.\n @param _sequenceNumber Number of L2 blocks since epoch start.\n @param _batcherHash    Versioned hash to authenticate batcher by.\n @param _l1FeeOverhead  L1 fee overhead.\n @param _l1FeeScalar    L1 fee scalar." }, "functionSelector": "015d8eb9", "implemented": true, "kind": "function", "modifiers": [], "name": "setL1BlockValues", "nameLocation": "2503:16:145", "parameters": { "id": 90268, "nodeType": "ParameterList", "parameters": [{ "constant": false, "id": 90253, "mutability": "mutable", "name": "_number", "nameLocation": "2536:7:145", "nodeType": "VariableDeclaration", "scope": 90311, "src": "2529:14:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" }, "typeName": { "id": 90252, "name": "uint64", "nodeType": "ElementaryTypeName", "src": "2529:6:145", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, "visibility": "internal" }, { "constant": false, "id": 90255, "mutability": "mutable", "name": "_timestamp", "nameLocation": "2560:10:145", "nodeType": "VariableDeclaration", "scope": 90311, "src": "2553:17:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" }, "typeName": { "id": 90254, "name": "uint64", "nodeType": "ElementaryTypeName", "src": "2553:6:145", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, "visibility": "internal" }, { "constant": false, "id": 90257, "mutability": "mutable", "name": "_basefee", "nameLocation": "2588:8:145", "nodeType": "VariableDeclaration", "scope": 90311, "src": "2580:16:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 90256, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2580:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 90259, "mutability": "mutable", "name": "_hash", "nameLocation": "2614:5:145", "nodeType": "VariableDeclaration", "scope": 90311, "src": "2606:13:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 90258, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2606:7:145", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 90261, "mutability": "mutable", "name": "_sequenceNumber", "nameLocation": "2636:15:145", "nodeType": "VariableDeclaration", "scope": 90311, "src": "2629:22:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" }, "typeName": { "id": 90260, "name": "uint64", "nodeType": "ElementaryTypeName", "src": "2629:6:145", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, "visibility": "internal" }, { "constant": false, "id": 90263, "mutability": "mutable", "name": "_batcherHash", "nameLocation": "2669:12:145", "nodeType": "VariableDeclaration", "scope": 90311, "src": "2661:20:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 90262, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2661:7:145", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 90265, "mutability": "mutable", "name": "_l1FeeOverhead", "nameLocation": "2699:14:145", "nodeType": "VariableDeclaration", "scope": 90311, "src": "2691:22:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 90264, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2691:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 90267, "mutability": "mutable", "name": "_l1FeeScalar", "nameLocation": "2731:12:145", "nodeType": "VariableDeclaration", "scope": 90311, "src": "2723:20:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 90266, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2723:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }], "src": "2519:230:145" }, "returnParameters": { "id": 90269, "nodeType": "ParameterList", "parameters": [], "src": "2771:0:145" }, "scope": 90318, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "id": 90317, "nodeType": "FunctionDefinition", "src": "3886:956:145", "nodes": [], "body": { "id": 90316, "nodeType": "Block", "src": "3930:912:145", "nodes": [], "statements": [{ "AST": { "nodeType": "YulBlock", "src": "3949:887:145", "statements": [{ "body": { "nodeType": "YulBlock", "src": "4065:197:145", "statements": [{ "expression": { "arguments": [{ "kind": "number", "nodeType": "YulLiteral", "src": "4090:4:145", "type": "", "value": "0x00" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4096:10:145", "type": "", "value": "0x3cc50b45" }], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "4083:6:145" }, "nodeType": "YulFunctionCall", "src": "4083:24:145" }, "nodeType": "YulExpressionStatement", "src": "4083:24:145" }, { "expression": { "arguments": [{ "kind": "number", "nodeType": "YulLiteral", "src": "4188:4:145", "type": "", "value": "0x1C" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4194:4:145", "type": "", "value": "0x04" }], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "4181:6:145" }, "nodeType": "YulFunctionCall", "src": "4181:18:145" }, "nodeType": "YulExpressionStatement", "src": "4181:18:145" }] }, "condition": { "arguments": [{ "arguments": [], "functionName": { "name": "caller", "nodeType": "YulIdentifier", "src": "4036:6:145" }, "nodeType": "YulFunctionCall", "src": "4036:8:145" }, { "name": "DEPOSITOR_ACCOUNT", "nodeType": "YulIdentifier", "src": "4046:17:145" }], "functionName": { "name": "xor", "nodeType": "YulIdentifier", "src": "4032:3:145" }, "nodeType": "YulFunctionCall", "src": "4032:32:145" }, "nodeType": "YulIf", "src": "4029:233:145" }, { "nodeType": "YulVariableDeclaration", "src": "4275:27:145", "value": { "arguments": [{ "kind": "number", "nodeType": "YulLiteral", "src": "4300:1:145", "type": "", "value": "4" }], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "4287:12:145" }, "nodeType": "YulFunctionCall", "src": "4287:15:145" }, "variables": [{ "name": "data", "nodeType": "YulTypedName", "src": "4279:4:145", "type": "" }] }, { "expression": { "arguments": [{ "name": "sequenceNumber.slot", "nodeType": "YulIdentifier", "src": "4410:19:145" }, { "arguments": [{ "kind": "number", "nodeType": "YulLiteral", "src": "4435:3:145", "type": "", "value": "128" }, { "arguments": [{ "kind": "number", "nodeType": "YulLiteral", "src": "4453:1:145", "type": "", "value": "4" }], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "4440:12:145" }, "nodeType": "YulFunctionCall", "src": "4440:15:145" }], "functionName": { "name": "shr", "nodeType": "YulIdentifier", "src": "4431:3:145" }, "nodeType": "YulFunctionCall", "src": "4431:25:145" }], "functionName": { "name": "sstore", "nodeType": "YulIdentifier", "src": "4403:6:145" }, "nodeType": "YulFunctionCall", "src": "4403:54:145" }, "nodeType": "YulExpressionStatement", "src": "4403:54:145" }, { "expression": { "arguments": [{ "name": "number.slot", "nodeType": "YulIdentifier", "src": "4531:11:145" }, { "arguments": [{ "kind": "number", "nodeType": "YulLiteral", "src": "4548:3:145", "type": "", "value": "128" }, { "arguments": [{ "kind": "number", "nodeType": "YulLiteral", "src": "4566:2:145", "type": "", "value": "20" }], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "4553:12:145" }, "nodeType": "YulFunctionCall", "src": "4553:16:145" }], "functionName": { "name": "shr", "nodeType": "YulIdentifier", "src": "4544:3:145" }, "nodeType": "YulFunctionCall", "src": "4544:26:145" }], "functionName": { "name": "sstore", "nodeType": "YulIdentifier", "src": "4524:6:145" }, "nodeType": "YulFunctionCall", "src": "4524:47:145" }, "nodeType": "YulExpressionStatement", "src": "4524:47:145" }, { "expression": { "arguments": [{ "name": "basefee.slot", "nodeType": "YulIdentifier", "src": "4591:12:145" }, { "arguments": [{ "kind": "number", "nodeType": "YulLiteral", "src": "4618:2:145", "type": "", "value": "36" }], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "4605:12:145" }, "nodeType": "YulFunctionCall", "src": "4605:16:145" }], "functionName": { "name": "sstore", "nodeType": "YulIdentifier", "src": "4584:6:145" }, "nodeType": "YulFunctionCall", "src": "4584:38:145" }, "nodeType": "YulExpressionStatement", "src": "4584:38:145" }, { "expression": { "arguments": [{ "name": "blobBaseFee.slot", "nodeType": "YulIdentifier", "src": "4653:16:145" }, { "arguments": [{ "kind": "number", "nodeType": "YulLiteral", "src": "4684:2:145", "type": "", "value": "68" }], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "4671:12:145" }, "nodeType": "YulFunctionCall", "src": "4671:16:145" }], "functionName": { "name": "sstore", "nodeType": "YulIdentifier", "src": "4646:6:145" }, "nodeType": "YulFunctionCall", "src": "4646:42:145" }, "nodeType": "YulExpressionStatement", "src": "4646:42:145" }, { "expression": { "arguments": [{ "name": "hash.slot", "nodeType": "YulIdentifier", "src": "4719:9:145" }, { "arguments": [{ "kind": "number", "nodeType": "YulLiteral", "src": "4743:3:145", "type": "", "value": "100" }], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "4730:12:145" }, "nodeType": "YulFunctionCall", "src": "4730:17:145" }], "functionName": { "name": "sstore", "nodeType": "YulIdentifier", "src": "4712:6:145" }, "nodeType": "YulFunctionCall", "src": "4712:36:145" }, "nodeType": "YulExpressionStatement", "src": "4712:36:145" }, { "expression": { "arguments": [{ "name": "batcherHash.slot", "nodeType": "YulIdentifier", "src": "4779:16:145" }, { "arguments": [{ "kind": "number", "nodeType": "YulLiteral", "src": "4810:3:145", "type": "", "value": "132" }], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "4797:12:145" }, "nodeType": "YulFunctionCall", "src": "4797:17:145" }], "functionName": { "name": "sstore", "nodeType": "YulIdentifier", "src": "4772:6:145" }, "nodeType": "YulFunctionCall", "src": "4772:43:145" }, "nodeType": "YulExpressionStatement", "src": "4772:43:145" }] }, "evmVersion": "london", "externalReferences": [{ "declaration": 90213, "isOffset": false, "isSlot": false, "src": "4046:17:145", "valueSize": 1 }, { "declaration": 90222, "isOffset": false, "isSlot": true, "src": "4591:12:145", "suffix": "slot", "valueSize": 1 }, { "declaration": 90237, "isOffset": false, "isSlot": true, "src": "4779:16:145", "suffix": "slot", "valueSize": 1 }, { "declaration": 90246, "isOffset": false, "isSlot": true, "src": "4653:16:145", "suffix": "slot", "valueSize": 1 }, { "declaration": 90225, "isOffset": false, "isSlot": true, "src": "4719:9:145", "suffix": "slot", "valueSize": 1 }, { "declaration": 90216, "isOffset": false, "isSlot": true, "src": "4531:11:145", "suffix": "slot", "valueSize": 1 }, { "declaration": 90228, "isOffset": false, "isSlot": true, "src": "4410:19:145", "suffix": "slot", "valueSize": 1 }], "id": 90315, "nodeType": "InlineAssembly", "src": "3940:896:145" }] }, "documentation": { "id": 90312, "nodeType": "StructuredDocumentation", "src": "3160:721:145", "text": "@notice Updates the L1 block values for an Ecotone upgraded chain.\n Params are packed and passed in as raw msg.data instead of ABI to reduce calldata size.\n Params are expected to be in the following order:\n   1. _baseFeeScalar      L1 base fee scalar\n   2. _blobBaseFeeScalar  L1 blob base fee scalar\n   3. _sequenceNumber     Number of L2 blocks since epoch start.\n   4. _timestamp          L1 timestamp.\n   5. _number             L1 blocknumber.\n   6. _basefee            L1 base fee.\n   7. _blobBaseFee        L1 blob base fee.\n   8. _hash               L1 blockhash.\n   9. _batcherHash        Versioned hash to authenticate batcher by." }, "functionSelector": "440a5e20", "implemented": true, "kind": "function", "modifiers": [], "name": "setL1BlockValuesEcotone", "nameLocation": "3895:23:145", "parameters": { "id": 90313, "nodeType": "ParameterList", "parameters": [], "src": "3918:2:145" }, "returnParameters": { "id": 90314, "nodeType": "ParameterList", "parameters": [], "src": "3930:0:145" }, "scope": 90318, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }], "abstract": false, "baseContracts": [{ "baseName": { "id": 90208, "name": "ISemver", "nodeType": "IdentifierPath", "referencedDeclaration": 109417, "src": "608:7:145" }, "id": 90209, "nodeType": "InheritanceSpecifier", "src": "608:7:145" }], "canonicalName": "L1Block", "contractDependencies": [], "contractKind": "contract", "documentation": { "id": 90207, "nodeType": "StructuredDocumentation", "src": "111:477:145", "text": "@custom:proxied\n @custom:predeploy 0x4200000000000000000000000000000000000015\n @title L1Block\n @notice The L1Block predeploy gives users access to information about the last known L1 block.\n         Values within this contract are updated once per epoch (every L1 block) and can only be\n         set by the \"depositor\" account, a special system address. Depositor account transactions\n         are created by the protocol whenever we move to a new epoch." }, "fullyImplemented": true, "linearizedBaseContracts": [90318, 109417], "name": "L1Block", "nameLocation": "597:7:145", "scope": 90319, "usedErrors": [] }], "license": "MIT" }, "id": 145 }
