{"abi":[{"type":"function","name":"DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"baseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"baseFeeScalar","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"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":"decimals","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"gasPrice","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getL1Fee","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getL1GasUsed","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isEcotone","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"l1BaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"overhead","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"scalar","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setEcotone","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50610fb5806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806354fd4d5011610097578063de26c4a111610066578063de26c4a1146101da578063f45e65d8146101ed578063f8206140146101f5578063fe173b97146101cc57600080fd5b806354fd4d501461016657806368d5dca6146101af5780636ef25c3a146101cc578063c5985918146101d257600080fd5b8063313ce567116100d3578063313ce5671461012757806349948e0e1461012e5780634ef6e22414610141578063519b4bd31461015e57600080fd5b80630c18c162146100fa57806322b90ab3146101155780632e0f26251461011f575b600080fd5b6101026101fd565b6040519081526020015b60405180910390f35b61011d61031e565b005b610102600681565b6006610102565b61010261013c366004610b73565b610541565b60005461014e9060ff1681565b604051901515815260200161010c565b610102610565565b6101a26040518060400160405280600581526020017f312e322e3000000000000000000000000000000000000000000000000000000081525081565b60405161010c9190610c42565b6101b76105c6565b60405163ffffffff909116815260200161010c565b48610102565b6101b761064b565b6101026101e8366004610b73565b6106ac565b610102610760565b610102610853565b6000805460ff1615610296576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f47617350726963654f7261636c653a206f76657268656164282920697320646560448201527f707265636174656400000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16638b239f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103199190610cb5565b905090565b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff1663e591b2826040518163ffffffff1660e01b8152600401602060405180830381865afa15801561037d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a19190610cce565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610481576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f47617350726963654f7261636c653a206f6e6c7920746865206465706f73697460448201527f6f72206163636f756e742063616e2073657420697345636f746f6e6520666c6160648201527f6700000000000000000000000000000000000000000000000000000000000000608482015260a40161028d565b60005460ff1615610514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f47617350726963654f7261636c653a2045636f746f6e6520616c72656164792060448201527f6163746976650000000000000000000000000000000000000000000000000000606482015260840161028d565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000805460ff161561055c57610556826108b4565b92915050565b61055682610958565b600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16635cf249696040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102f5573d6000803e3d6000fd5b600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff166368d5dca66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610627573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103199190610d04565b600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff1663c59859186040518163ffffffff1660e01b8152600401602060405180830381865afa158015610627573d6000803e3d6000fd5b6000806106b883610ab4565b60005490915060ff16156106cc5792915050565b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16638b239f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561072b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074f9190610cb5565b6107599082610d59565b9392505050565b6000805460ff16156107f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f47617350726963654f7261636c653a207363616c61722829206973206465707260448201527f6563617465640000000000000000000000000000000000000000000000000000606482015260840161028d565b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16639e8c49666040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102f5573d6000803e3d6000fd5b600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff1663f82061406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102f5573d6000803e3d6000fd5b6000806108c083610ab4565b905060006108cc610565565b6108d461064b565b6108df906010610d71565b63ffffffff166108ef9190610d9d565b905060006108fb610853565b6109036105c6565b63ffffffff166109139190610d9d565b905060006109218284610d59565b61092b9085610d9d565b90506109396006600a610efa565b610944906010610d9d565b61094e9082610f06565b9695505050505050565b60008061096483610ab4565b9050600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16639e8c49666040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109eb9190610cb5565b6109f3610565565b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16638b239f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a769190610cb5565b610a809085610d59565b610a8a9190610d9d565b610a949190610d9d565b9050610aa26006600a610efa565b610aac9082610f06565b949350505050565b80516000908190815b81811015610b3757848181518110610ad757610ad7610f41565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016600003610b1757610b10600484610d59565b9250610b25565b610b22601084610d59565b92505b80610b2f81610f70565b915050610abd565b50610aac82610440610d59565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215610b8557600080fd5b813567ffffffffffffffff80821115610b9d57600080fd5b818401915084601f830112610bb157600080fd5b813581811115610bc357610bc3610b44565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610c0957610c09610b44565b81604052828152876020848701011115610c2257600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208083528351808285015260005b81811015610c6f57858101830151858201604001528201610c53565b81811115610c81576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b600060208284031215610cc757600080fd5b5051919050565b600060208284031215610ce057600080fd5b815173ffffffffffffffffffffffffffffffffffffffff8116811461075957600080fd5b600060208284031215610d1657600080fd5b815163ffffffff8116811461075957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115610d6c57610d6c610d2a565b500190565b600063ffffffff80831681851681830481118215151615610d9457610d94610d2a565b02949350505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610dd557610dd5610d2a565b500290565b600181815b80851115610e3357817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610e1957610e19610d2a565b80851615610e2657918102915b93841c9390800290610ddf565b509250929050565b600082610e4a57506001610556565b81610e5757506000610556565b8160018114610e6d5760028114610e7757610e93565b6001915050610556565b60ff841115610e8857610e88610d2a565b50506001821b610556565b5060208310610133831016604e8410600b8410161715610eb6575081810a610556565b610ec08383610dda565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610ef257610ef2610d2a565b029392505050565b60006107598383610e3b565b600082610f3c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610fa157610fa1610d2a565b506001019056fea164736f6c634300080f000a","sourceMap":"1153:5825:144:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806354fd4d5011610097578063de26c4a111610066578063de26c4a1146101da578063f45e65d8146101ed578063f8206140146101f5578063fe173b97146101cc57600080fd5b806354fd4d501461016657806368d5dca6146101af5780636ef25c3a146101cc578063c5985918146101d257600080fd5b8063313ce567116100d3578063313ce5671461012757806349948e0e1461012e5780634ef6e22414610141578063519b4bd31461015e57600080fd5b80630c18c162146100fa57806322b90ab3146101155780632e0f26251461011f575b600080fd5b6101026101fd565b6040519081526020015b60405180910390f35b61011d61031e565b005b610102600681565b6006610102565b61010261013c366004610b73565b610541565b60005461014e9060ff1681565b604051901515815260200161010c565b610102610565565b6101a26040518060400160405280600581526020017f312e322e3000000000000000000000000000000000000000000000000000000081525081565b60405161010c9190610c42565b6101b76105c6565b60405163ffffffff909116815260200161010c565b48610102565b6101b761064b565b6101026101e8366004610b73565b6106ac565b610102610760565b610102610853565b6000805460ff1615610296576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f47617350726963654f7261636c653a206f76657268656164282920697320646560448201527f707265636174656400000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16638b239f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103199190610cb5565b905090565b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff1663e591b2826040518163ffffffff1660e01b8152600401602060405180830381865afa15801561037d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a19190610cce565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610481576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f47617350726963654f7261636c653a206f6e6c7920746865206465706f73697460448201527f6f72206163636f756e742063616e2073657420697345636f746f6e6520666c6160648201527f6700000000000000000000000000000000000000000000000000000000000000608482015260a40161028d565b60005460ff1615610514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f47617350726963654f7261636c653a2045636f746f6e6520616c72656164792060448201527f6163746976650000000000000000000000000000000000000000000000000000606482015260840161028d565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000805460ff161561055c57610556826108b4565b92915050565b61055682610958565b600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16635cf249696040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102f5573d6000803e3d6000fd5b600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff166368d5dca66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610627573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103199190610d04565b600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff1663c59859186040518163ffffffff1660e01b8152600401602060405180830381865afa158015610627573d6000803e3d6000fd5b6000806106b883610ab4565b60005490915060ff16156106cc5792915050565b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16638b239f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561072b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074f9190610cb5565b6107599082610d59565b9392505050565b6000805460ff16156107f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f47617350726963654f7261636c653a207363616c61722829206973206465707260448201527f6563617465640000000000000000000000000000000000000000000000000000606482015260840161028d565b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16639e8c49666040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102f5573d6000803e3d6000fd5b600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff1663f82061406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102f5573d6000803e3d6000fd5b6000806108c083610ab4565b905060006108cc610565565b6108d461064b565b6108df906010610d71565b63ffffffff166108ef9190610d9d565b905060006108fb610853565b6109036105c6565b63ffffffff166109139190610d9d565b905060006109218284610d59565b61092b9085610d9d565b90506109396006600a610efa565b610944906010610d9d565b61094e9082610f06565b9695505050505050565b60008061096483610ab4565b9050600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16639e8c49666040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109eb9190610cb5565b6109f3610565565b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16638b239f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a769190610cb5565b610a809085610d59565b610a8a9190610d9d565b610a949190610d9d565b9050610aa26006600a610efa565b610aac9082610f06565b949350505050565b80516000908190815b81811015610b3757848181518110610ad757610ad7610f41565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016600003610b1757610b10600484610d59565b9250610b25565b610b22601084610d59565b92505b80610b2f81610f70565b915050610abd565b50610aac82610440610d59565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215610b8557600080fd5b813567ffffffffffffffff80821115610b9d57600080fd5b818401915084601f830112610bb157600080fd5b813581811115610bc357610bc3610b44565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610c0957610c09610b44565b81604052828152876020848701011115610c2257600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208083528351808285015260005b81811015610c6f57858101830151858201604001528201610c53565b81811115610c81576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b600060208284031215610cc757600080fd5b5051919050565b600060208284031215610ce057600080fd5b815173ffffffffffffffffffffffffffffffffffffffff8116811461075957600080fd5b600060208284031215610d1657600080fd5b815163ffffffff8116811461075957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115610d6c57610d6c610d2a565b500190565b600063ffffffff80831681851681830481118215151615610d9457610d94610d2a565b02949350505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610dd557610dd5610d2a565b500290565b600181815b80851115610e3357817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610e1957610e19610d2a565b80851615610e2657918102915b93841c9390800290610ddf565b509250929050565b600082610e4a57506001610556565b81610e5757506000610556565b8160018114610e6d5760028114610e7757610e93565b6001915050610556565b60ff841115610e8857610e88610d2a565b50506001821b610556565b5060208310610133831016604e8410600b8410161715610eb6575081810a610556565b610ec08383610dda565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610ef257610ef2610d2a565b029392505050565b60006107598383610e3b565b600082610f3c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610fa157610fa1610d2a565b506001019056fea164736f6c634300080f000a","sourceMap":"1153:5825:144:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2951:202;;;:::i;:::-;;;160:25:357;;;148:2;133:18;2951:202:144;;;;;;;;2115:338;;;:::i;:::-;;1249:36;;1284:1;1249:36;;4561:82;1284:1;4561:82;;1835:196;;;;;;:::i;:::-;;:::i;1486:21::-;;;;;;;;;;;;1535:14:357;;1528:22;1510:41;;1498:2;1483:18;1486:21:144;1370:187:357;3568:124:144;;;:::i;1355:40::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4267:141::-;;;:::i;:::-;;;2397:10:357;2385:23;;;2367:42;;2355:2;2340:18;4267:141:144;2223:192:357;2746:86:144;2812:13;2746:86;;4022:133;;;:::i;4975:280::-;;;;;;:::i;:::-;;:::i;3268:196::-;;;:::i;3790:130::-;;;:::i;2951:202::-;2992:7;3020:9;;;;3019:10;3011:63;;;;;;;2622:2:357;3011:63:144;;;2604:21:357;2661:2;2641:18;;;2634:30;2700:34;2680:18;;;2673:62;2771:10;2751:18;;;2744:38;2799:19;;3011:63:144;;;;;;;;;1455:42:199;3091:53:144;;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3084:62;;2951:202;:::o;2115:338::-;1455:42:199;2191:57:144;;;:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2177:73;;:10;:73;;;2156:185;;;;;;;3538:2:357;2156:185:144;;;3520:21:357;3577:2;3557:18;;;3550:30;3616:34;3596:18;;;3589:62;3687:34;3667:18;;;3660:62;3759:3;3738:19;;;3731:32;3780:19;;2156:185:144;3336:469:357;2156:185:144;2359:9;;;;:18;2351:69;;;;;;;4012:2:357;2351:69:144;;;3994:21:357;4051:2;4031:18;;;4024:30;4090:34;4070:18;;;4063:62;4161:8;4141:18;;;4134:36;4187:19;;2351:69:144;3810:402:357;2351:69:144;2430:9;:16;;;;2442:4;2430:16;;;2115:338::o;1835:196::-;1896:7;1919:9;;;;1915:70;;;1951:23;1968:5;1951:16;:23::i;:::-;1944:30;1835:196;-1:-1:-1;;1835:196:144:o;1915:70::-;2001:23;2018:5;2001:16;:23::i;3568:124::-;3610:7;1455:42:199;3636:47:144;;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4267:141;4317:6;1455:42:199;4342:57:144;;;:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4022:133::-;4068:6;1455:42:199;4093:53:144;;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4975:280;5038:7;5057:17;5077:22;5093:5;5077:15;:22::i;:::-;5113:9;;5057:42;;-1:-1:-1;5113:9:144;;5109:56;;;5145:9;4975:280;-1:-1:-1;;4975:280:144:o;5109:56::-;1455:42:199;5193:53:144;;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5181:67;;:9;:67;:::i;:::-;5174:74;4975:280;-1:-1:-1;;;4975:280:144:o;3268:196::-;3307:7;3335:9;;;;3334:10;3326:61;;;;;;;5026:2:357;3326:61:144;;;5008:21:357;5065:2;5045:18;;;5038:30;5104:34;5084:18;;;5077:62;5175:8;5155:18;;;5148:36;5201:19;;3326:61:144;4824:402:357;3326:61:144;1455:42:199;3404:51:144;;;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3790:130;3834:7;1455:42:199;3860:51:144;;;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6015:393;6084:7;6103:17;6123:22;6139:5;6123:15;:22::i;:::-;6103:42;;6155:21;6202:11;:9;:11::i;:::-;6179:15;:13;:15::i;:::-;:20;;6197:2;6179:20;:::i;:::-;:34;;;;;;:::i;:::-;6155:58;;6223:25;6273:13;:11;:13::i;:::-;6251:19;:17;:19::i;:::-;:35;;;;;;:::i;:::-;6223:63;-1:-1:-1;6296:11:144;6323:33;6223:63;6323:13;:33;:::i;:::-;6310:47;;:9;:47;:::i;:::-;6296:61;-1:-1:-1;6386:14:144;1284:1;6386:2;:14;:::i;:::-;6381:19;;:2;:19;:::i;:::-;6374:27;;:3;:27;:::i;:::-;6367:34;6015:393;-1:-1:-1;;;;;;6015:393:144:o;5468:351::-;5537:7;5556:17;5576:22;5592:5;5576:15;:22::i;:::-;5556:42;;5608:11;1455:42:199;5720:51:144;;;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5694:11;:9;:11::i;:::-;1455:42:199;5635:53:144;;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5623:67;;:9;:67;:::i;:::-;5622:83;;;;:::i;:::-;:151;;;;:::i;:::-;5608:165;-1:-1:-1;5797:14:144;1284:1;5797:2;:14;:::i;:::-;5790:22;;:3;:22;:::i;:::-;5783:29;5468:351;-1:-1:-1;;;;5468:351:144:o;6610:366::-;6741:12;;6678:7;;;;;6763:173;6787:6;6783:1;:10;6763:173;;;6818:5;6824:1;6818:8;;;;;;;;:::i;:::-;;;;;;;6830:1;6818:13;6814:112;;6851:10;6860:1;6851:10;;:::i;:::-;;;6814:112;;;6900:11;6909:2;6900:11;;:::i;:::-;;;6814:112;6795:3;;;;:::i;:::-;;;;6763:173;;;-1:-1:-1;6952:17:144;:5;6961:7;6952:17;:::i;196:184:357:-;248:77;245:1;238:88;345:4;342:1;335:15;369:4;366:1;359:15;385:980;453:6;506:2;494:9;485:7;481:23;477:32;474:52;;;522:1;519;512:12;474:52;562:9;549:23;591:18;632:2;624:6;621:14;618:34;;;648:1;645;638:12;618:34;686:6;675:9;671:22;661:32;;731:7;724:4;720:2;716:13;712:27;702:55;;753:1;750;743:12;702:55;789:2;776:16;811:2;807;804:10;801:36;;;817:18;;:::i;:::-;951:2;945:9;1013:4;1005:13;;856:66;1001:22;;;1025:2;997:31;993:40;981:53;;;1049:18;;;1069:22;;;1046:46;1043:72;;;1095:18;;:::i;:::-;1135:10;1131:2;1124:22;1170:2;1162:6;1155:18;1210:7;1205:2;1200;1196;1192:11;1188:20;1185:33;1182:53;;;1231:1;1228;1221:12;1182:53;1287:2;1282;1278;1274:11;1269:2;1261:6;1257:15;1244:46;1332:1;1310:15;;;1327:2;1306:24;1299:35;;;;-1:-1:-1;1314:6:357;385:980;-1:-1:-1;;;;;385:980:357:o;1562:656::-;1674:4;1703:2;1732;1721:9;1714:21;1764:6;1758:13;1807:6;1802:2;1791:9;1787:18;1780:34;1832:1;1842:140;1856:6;1853:1;1850:13;1842:140;;;1951:14;;;1947:23;;1941:30;1917:17;;;1936:2;1913:26;1906:66;1871:10;;1842:140;;;2000:6;1997:1;1994:13;1991:91;;;2070:1;2065:2;2056:6;2045:9;2041:22;2037:31;2030:42;1991:91;-1:-1:-1;2134:2:357;2122:15;2139:66;2118:88;2103:104;;;;2209:2;2099:113;;1562:656;-1:-1:-1;;;1562:656:357:o;2829:184::-;2899:6;2952:2;2940:9;2931:7;2927:23;2923:32;2920:52;;;2968:1;2965;2958:12;2920:52;-1:-1:-1;2991:16:357;;2829:184;-1:-1:-1;2829:184:357:o;3018:313::-;3088:6;3141:2;3129:9;3120:7;3116:23;3112:32;3109:52;;;3157:1;3154;3147:12;3109:52;3189:9;3183:16;3239:42;3232:5;3228:54;3221:5;3218:65;3208:93;;3297:1;3294;3287:12;4217:280;4286:6;4339:2;4327:9;4318:7;4314:23;4310:32;4307:52;;;4355:1;4352;4345:12;4307:52;4387:9;4381:16;4437:10;4430:5;4426:22;4419:5;4416:33;4406:61;;4463:1;4460;4453:12;4502:184;4554:77;4551:1;4544:88;4651:4;4648:1;4641:15;4675:4;4672:1;4665:15;4691:128;4731:3;4762:1;4758:6;4755:1;4752:13;4749:39;;;4768:18;;:::i;:::-;-1:-1:-1;4804:9:357;;4691:128::o;5231:262::-;5270:7;5302:10;5339:2;5336:1;5332:10;5369:2;5366:1;5362:10;5425:3;5421:2;5417:12;5412:3;5409:21;5402:3;5395:11;5388:19;5384:47;5381:73;;;5434:18;;:::i;:::-;5474:13;;5231:262;-1:-1:-1;;;;5231:262:357:o;5498:228::-;5538:7;5664:1;5596:66;5592:74;5589:1;5586:81;5581:1;5574:9;5567:17;5563:105;5560:131;;;5671:18;;:::i;:::-;-1:-1:-1;5711:9:357;;5498:228::o;5731:482::-;5820:1;5863:5;5820:1;5877:330;5898:7;5888:8;5885:21;5877:330;;;6017:4;5949:66;5945:77;5939:4;5936:87;5933:113;;;6026:18;;:::i;:::-;6076:7;6066:8;6062:22;6059:55;;;6096:16;;;;6059:55;6175:22;;;;6135:15;;;;5877:330;;;5881:3;5731:482;;;;;:::o;6218:866::-;6267:5;6297:8;6287:80;;-1:-1:-1;6338:1:357;6352:5;;6287:80;6386:4;6376:76;;-1:-1:-1;6423:1:357;6437:5;;6376:76;6468:4;6486:1;6481:59;;;;6554:1;6549:130;;;;6461:218;;6481:59;6511:1;6502:10;;6525:5;;;6549:130;6586:3;6576:8;6573:17;6570:43;;;6593:18;;:::i;:::-;-1:-1:-1;;6649:1:357;6635:16;;6664:5;;6461:218;;6763:2;6753:8;6750:16;6744:3;6738:4;6735:13;6731:36;6725:2;6715:8;6712:16;6707:2;6701:4;6698:12;6694:35;6691:77;6688:159;;;-1:-1:-1;6800:19:357;;;6832:5;;6688:159;6879:34;6904:8;6898:4;6879:34;:::i;:::-;7009:6;6941:66;6937:79;6928:7;6925:92;6922:118;;;7020:18;;:::i;:::-;7058:20;;6218:866;-1:-1:-1;;;6218:866:357:o;7089:131::-;7149:5;7178:36;7205:8;7199:4;7178:36;:::i;7225:274::-;7265:1;7291;7281:189;;7326:77;7323:1;7316:88;7427:4;7424:1;7417:15;7455:4;7452:1;7445:15;7281:189;-1:-1:-1;7484:9:357;;7225:274::o;7504:184::-;7556:77;7553:1;7546:88;7653:4;7650:1;7643:15;7677:4;7674:1;7667:15;7693:195;7732:3;7763:66;7756:5;7753:77;7750:103;;7833:18;;:::i;:::-;-1:-1:-1;7880:1:357;7869:13;;7693:195::o","linkReferences":{}},"methodIdentifiers":{"DECIMALS()":"2e0f2625","baseFee()":"6ef25c3a","baseFeeScalar()":"c5985918","blobBaseFee()":"f8206140","blobBaseFeeScalar()":"68d5dca6","decimals()":"313ce567","gasPrice()":"fe173b97","getL1Fee(bytes)":"49948e0e","getL1GasUsed(bytes)":"de26c4a1","isEcotone()":"4ef6e224","l1BaseFee()":"519b4bd3","overhead()":"0c18c162","scalar()":"f45e65d8","setEcotone()":"22b90ab3","version()":"54fd4d50"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseFeeScalar\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"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\":\"decimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gasPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"getL1Fee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"getL1GasUsed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isEcotone\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l1BaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"overhead\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"scalar\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setEcotone\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"custom:proxied\":\"@custom:predeploy 0x420000000000000000000000000000000000000F\",\"kind\":\"dev\",\"methods\":{\"baseFee()\":{\"returns\":{\"_0\":\"Current L2 base fee.\"}},\"baseFeeScalar()\":{\"returns\":{\"_0\":\"Current base fee scalar.\"}},\"blobBaseFee()\":{\"returns\":{\"_0\":\"Current blob base fee.\"}},\"blobBaseFeeScalar()\":{\"returns\":{\"_0\":\"Current blob base fee scalar.\"}},\"decimals()\":{\"custom:legacy\":\"@notice Retrieves the number of decimals used in the scalar.\",\"returns\":{\"_0\":\"Number of decimals used in the scalar.\"}},\"gasPrice()\":{\"returns\":{\"_0\":\"Current L2 gas price (base fee).\"}},\"getL1Fee(bytes)\":{\"params\":{\"_data\":\"Unsigned fully RLP-encoded transaction to get the L1 fee for.\"},\"returns\":{\"_0\":\"L1 fee that should be paid for the tx\"}},\"getL1GasUsed(bytes)\":{\"params\":{\"_data\":\"Unsigned fully RLP-encoded transaction to get the L1 gas for.\"},\"returns\":{\"_0\":\"Amount of L1 gas used to publish the transaction.\"}},\"l1BaseFee()\":{\"returns\":{\"_0\":\"Latest known L1 base fee.\"}},\"overhead()\":{\"custom:legacy\":\"@notice Retrieves the current fee overhead.\",\"returns\":{\"_0\":\"Current fee overhead.\"}},\"scalar()\":{\"custom:legacy\":\"@notice Retrieves the current fee scalar.\",\"returns\":{\"_0\":\"Current fee scalar.\"}}},\"stateVariables\":{\"version\":{\"custom:semver\":\"1.2.0\"}},\"title\":\"GasPriceOracle\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DECIMALS()\":{\"notice\":\"Number of decimals used in the scalar.\"},\"baseFee()\":{\"notice\":\"Retrieves the current base fee.\"},\"baseFeeScalar()\":{\"notice\":\"Retrieves the current base fee scalar.\"},\"blobBaseFee()\":{\"notice\":\"Retrieves the current blob base fee.\"},\"blobBaseFeeScalar()\":{\"notice\":\"Retrieves the current blob base fee scalar.\"},\"gasPrice()\":{\"notice\":\"Retrieves the current gas price (base fee).\"},\"getL1Fee(bytes)\":{\"notice\":\"Computes the L1 portion of the fee based on the size of the rlp encoded input         transaction, the current L1 base fee, and the various dynamic parameters.\"},\"getL1GasUsed(bytes)\":{\"notice\":\"Computes the amount of L1 gas used for a transaction. Adds 68 bytes         of padding to account for the fact that the input does not have a signature.\"},\"isEcotone()\":{\"notice\":\"Indicates whether the network has gone through the Ecotone upgrade.\"},\"l1BaseFee()\":{\"notice\":\"Retrieves the latest known L1 base fee.\"},\"setEcotone()\":{\"notice\":\"Set chain to be Ecotone chain (callable by depositor account)\"},\"version()\":{\"notice\":\"Semantic version.\"}},\"notice\":\"This contract maintains the variables responsible for computing the L1 portion of the         total fee charged on L2. Before Bedrock, this contract held variables in state that were         read during the state transition function to compute the L1 portion of the transaction         fee. After Bedrock, this contract now simply proxies the L1Block contract, which has         the values used to compute the L1 portion of the fee in its state.         The contract exposes an API that is useful for knowing how large the L1 portion of the         transaction fee will be. The following events were deprecated with Bedrock:         - event OverheadUpdated(uint256 overhead);         - event ScalarUpdated(uint256 scalar);         - event DecimalsUpdated(uint256 decimals);\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/L2/GasPriceOracle.sol\":\"GasPriceOracle\"},\"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/GasPriceOracle.sol\":{\"keccak256\":\"0x299b0722d301a4bc075ba09c73e55a98e3dc509444906f285e2ceba9c1fa69b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://17f7ffe4744b7bde10d61ce376ac0b497d40dab962b1c4c47bf7fd9784350cb7\",\"dweb:/ipfs/QmYp8vZtid8GBWrm7QSPxNCV9D4Mm9ELm29PGup7b6dJ7H\"]},\"src/L2/L1Block.sol\":{\"keccak256\":\"0x5819beb85b23c31c5f5d639977bf5d5cf6768975d6d3eecde78299f37ba04cd6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55cdc404753dcc0cd9d3fac3554a4a16abd7dc39f43f7ae0ebcb0990fa52f7e7\",\"dweb:/ipfs/QmNXMUmNBmNCmL5k8tC1jJ6CmY2hZKJ7owFwuvhMKXr5fv\"]},\"src/libraries/Predeploys.sol\":{\"keccak256\":\"0x7b48b32b75e9ba0cd7f83b3304c6c1676dd8de20a5d40e8846bf7018ae9aff02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7574fcc79c0d545b90071023aa81ee7880ab50b3057df598fa693bc4cf303663\",\"dweb:/ipfs/QmWLxHzgfaTJ7thfb7khXkTY5UtSBZ5VTUB4DaAXVw7DRe\"]},\"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":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"baseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"baseFeeScalar","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"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":"pure","type":"function","name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gasPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"view","type":"function","name":"getL1Fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"view","type":"function","name":"getL1GasUsed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isEcotone","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"l1BaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"overhead","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"scalar","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setEcotone"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"string","name":"","type":"string"}]}],"devdoc":{"kind":"dev","methods":{"baseFee()":{"returns":{"_0":"Current L2 base fee."}},"baseFeeScalar()":{"returns":{"_0":"Current base fee scalar."}},"blobBaseFee()":{"returns":{"_0":"Current blob base fee."}},"blobBaseFeeScalar()":{"returns":{"_0":"Current blob base fee scalar."}},"decimals()":{"custom:legacy":"@notice Retrieves the number of decimals used in the scalar.","returns":{"_0":"Number of decimals used in the scalar."}},"gasPrice()":{"returns":{"_0":"Current L2 gas price (base fee)."}},"getL1Fee(bytes)":{"params":{"_data":"Unsigned fully RLP-encoded transaction to get the L1 fee for."},"returns":{"_0":"L1 fee that should be paid for the tx"}},"getL1GasUsed(bytes)":{"params":{"_data":"Unsigned fully RLP-encoded transaction to get the L1 gas for."},"returns":{"_0":"Amount of L1 gas used to publish the transaction."}},"l1BaseFee()":{"returns":{"_0":"Latest known L1 base fee."}},"overhead()":{"custom:legacy":"@notice Retrieves the current fee overhead.","returns":{"_0":"Current fee overhead."}},"scalar()":{"custom:legacy":"@notice Retrieves the current fee scalar.","returns":{"_0":"Current fee scalar."}}},"version":1},"userdoc":{"kind":"user","methods":{"DECIMALS()":{"notice":"Number of decimals used in the scalar."},"baseFee()":{"notice":"Retrieves the current base fee."},"baseFeeScalar()":{"notice":"Retrieves the current base fee scalar."},"blobBaseFee()":{"notice":"Retrieves the current blob base fee."},"blobBaseFeeScalar()":{"notice":"Retrieves the current blob base fee scalar."},"gasPrice()":{"notice":"Retrieves the current gas price (base fee)."},"getL1Fee(bytes)":{"notice":"Computes the L1 portion of the fee based on the size of the rlp encoded input         transaction, the current L1 base fee, and the various dynamic parameters."},"getL1GasUsed(bytes)":{"notice":"Computes the amount of L1 gas used for a transaction. Adds 68 bytes         of padding to account for the fact that the input does not have a signature."},"isEcotone()":{"notice":"Indicates whether the network has gone through the Ecotone upgrade."},"l1BaseFee()":{"notice":"Retrieves the latest known L1 base fee."},"setEcotone()":{"notice":"Set chain to be Ecotone chain (callable by depositor account)"},"version()":{"notice":"Semantic version."}},"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/GasPriceOracle.sol":"GasPriceOracle"},"evmVersion":"london","libraries":{}},"sources":{"src/L2/GasPriceOracle.sol":{"keccak256":"0x299b0722d301a4bc075ba09c73e55a98e3dc509444906f285e2ceba9c1fa69b1","urls":["bzz-raw://17f7ffe4744b7bde10d61ce376ac0b497d40dab962b1c4c47bf7fd9784350cb7","dweb:/ipfs/QmYp8vZtid8GBWrm7QSPxNCV9D4Mm9ELm29PGup7b6dJ7H"],"license":"MIT"},"src/L2/L1Block.sol":{"keccak256":"0x5819beb85b23c31c5f5d639977bf5d5cf6768975d6d3eecde78299f37ba04cd6","urls":["bzz-raw://55cdc404753dcc0cd9d3fac3554a4a16abd7dc39f43f7ae0ebcb0990fa52f7e7","dweb:/ipfs/QmNXMUmNBmNCmL5k8tC1jJ6CmY2hZKJ7owFwuvhMKXr5fv"],"license":"MIT"},"src/libraries/Predeploys.sol":{"keccak256":"0x7b48b32b75e9ba0cd7f83b3304c6c1676dd8de20a5d40e8846bf7018ae9aff02","urls":["bzz-raw://7574fcc79c0d545b90071023aa81ee7880ab50b3057df598fa693bc4cf303663","dweb:/ipfs/QmWLxHzgfaTJ7thfb7khXkTY5UtSBZ5VTUB4DaAXVw7DRe"],"license":"MIT"},"src/universal/ISemver.sol":{"keccak256":"0xba34562a8026f59886d2e07d1d58d90b9691d00e0788c6263cef6c22740cab44","urls":["bzz-raw://0826f998632f83c103c3085bf2e872db79a69022b6d2e0444c83a64ca5283c2a","dweb:/ipfs/QmcJ7PNqkAfKqbjFGRordtAg1v9DvcBSKvdTkVvciLyvQR"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":89850,"contract":"src/L2/GasPriceOracle.sol:GasPriceOracle","label":"isEcotone","offset":0,"slot":"0","type":"t_bool"}],"types":{"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"}}},"userdoc":{"version":1,"kind":"user","methods":{"DECIMALS()":{"notice":"Number of decimals used in the scalar."},"baseFee()":{"notice":"Retrieves the current base fee."},"baseFeeScalar()":{"notice":"Retrieves the current base fee scalar."},"blobBaseFee()":{"notice":"Retrieves the current blob base fee."},"blobBaseFeeScalar()":{"notice":"Retrieves the current blob base fee scalar."},"gasPrice()":{"notice":"Retrieves the current gas price (base fee)."},"getL1Fee(bytes)":{"notice":"Computes the L1 portion of the fee based on the size of the rlp encoded input         transaction, the current L1 base fee, and the various dynamic parameters."},"getL1GasUsed(bytes)":{"notice":"Computes the amount of L1 gas used for a transaction. Adds 68 bytes         of padding to account for the fact that the input does not have a signature."},"isEcotone()":{"notice":"Indicates whether the network has gone through the Ecotone upgrade."},"l1BaseFee()":{"notice":"Retrieves the latest known L1 base fee."},"setEcotone()":{"notice":"Set chain to be Ecotone chain (callable by depositor account)"},"version()":{"notice":"Semantic version."}},"notice":"This contract maintains the variables responsible for computing the L1 portion of the         total fee charged on L2. Before Bedrock, this contract held variables in state that were         read during the state transition function to compute the L1 portion of the transaction         fee. After Bedrock, this contract now simply proxies the L1Block contract, which has         the values used to compute the L1 portion of the fee in its state.         The contract exposes an API that is useful for knowing how large the L1 portion of the         transaction fee will be. The following events were deprecated with Bedrock:         - event OverheadUpdated(uint256 overhead);         - event ScalarUpdated(uint256 scalar);         - event DecimalsUpdated(uint256 decimals);"},"devdoc":{"version":1,"kind":"dev","methods":{"baseFee()":{"returns":{"_0":"Current L2 base fee."}},"baseFeeScalar()":{"returns":{"_0":"Current base fee scalar."}},"blobBaseFee()":{"returns":{"_0":"Current blob base fee."}},"blobBaseFeeScalar()":{"returns":{"_0":"Current blob base fee scalar."}},"decimals()":{"returns":{"_0":"Number of decimals used in the scalar."}},"gasPrice()":{"returns":{"_0":"Current L2 gas price (base fee)."}},"getL1Fee(bytes)":{"params":{"_data":"Unsigned fully RLP-encoded transaction to get the L1 fee for."},"returns":{"_0":"L1 fee that should be paid for the tx"}},"getL1GasUsed(bytes)":{"params":{"_data":"Unsigned fully RLP-encoded transaction to get the L1 gas for."},"returns":{"_0":"Amount of L1 gas used to publish the transaction."}},"l1BaseFee()":{"returns":{"_0":"Latest known L1 base fee."}},"overhead()":{"returns":{"_0":"Current fee overhead."}},"scalar()":{"returns":{"_0":"Current fee scalar."}}},"title":"GasPriceOracle"},"ast":{"absolutePath":"src/L2/GasPriceOracle.sol","id":90203,"exportedSymbols":{"GasPriceOracle":[90202],"ISemver":[109417],"L1Block":[90318],"Predeploys":[104124]},"nodeType":"SourceUnit","src":"32:6947:144","nodes":[{"id":89830,"nodeType":"PragmaDirective","src":"32:23:144","nodes":[],"literals":["solidity","0.8",".15"]},{"id":89832,"nodeType":"ImportDirective","src":"57:52:144","nodes":[],"absolutePath":"src/universal/ISemver.sol","file":"src/universal/ISemver.sol","nameLocation":"-1:-1:-1","scope":90203,"sourceUnit":109418,"symbolAliases":[{"foreign":{"id":89831,"name":"ISemver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":109417,"src":"66:7:144","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":89834,"nodeType":"ImportDirective","src":"110:58:144","nodes":[],"absolutePath":"src/libraries/Predeploys.sol","file":"src/libraries/Predeploys.sol","nameLocation":"-1:-1:-1","scope":90203,"sourceUnit":104125,"symbolAliases":[{"foreign":{"id":89833,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104124,"src":"119:10:144","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":89836,"nodeType":"ImportDirective","src":"169:45:144","nodes":[],"absolutePath":"src/L2/L1Block.sol","file":"src/L2/L1Block.sol","nameLocation":"-1:-1:-1","scope":90203,"sourceUnit":90319,"symbolAliases":[{"foreign":{"id":89835,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90318,"src":"178:7:144","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":90202,"nodeType":"ContractDefinition","src":"1153:5825:144","nodes":[{"id":89843,"nodeType":"VariableDeclaration","src":"1249:36:144","nodes":[],"constant":true,"documentation":{"id":89840,"nodeType":"StructuredDocumentation","src":"1194:50:144","text":"@notice Number of decimals used in the scalar."},"functionSelector":"2e0f2625","mutability":"constant","name":"DECIMALS","nameLocation":"1273:8:144","scope":90202,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89841,"name":"uint256","nodeType":"ElementaryTypeName","src":"1249:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"36","id":89842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1284:1:144","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"visibility":"public"},{"id":89847,"nodeType":"VariableDeclaration","src":"1355:40:144","nodes":[],"baseFunctions":[109416],"constant":true,"documentation":{"id":89844,"nodeType":"StructuredDocumentation","src":"1292:58:144","text":"@notice Semantic version.\n @custom:semver 1.2.0"},"functionSelector":"54fd4d50","mutability":"constant","name":"version","nameLocation":"1378:7:144","scope":90202,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":89845,"name":"string","nodeType":"ElementaryTypeName","src":"1355:6:144","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"312e322e30","id":89846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1388:7:144","typeDescriptions":{"typeIdentifier":"t_stringliteral_e374587661e69268352d25204d81b23ce801573f4b09f3545e69536dc085a37a","typeString":"literal_string \"1.2.0\""},"value":"1.2.0"},"visibility":"public"},{"id":89850,"nodeType":"VariableDeclaration","src":"1486:21:144","nodes":[],"constant":false,"documentation":{"id":89848,"nodeType":"StructuredDocumentation","src":"1402:79:144","text":"@notice Indicates whether the network has gone through the Ecotone upgrade."},"functionSelector":"4ef6e224","mutability":"mutable","name":"isEcotone","nameLocation":"1498:9:144","scope":90202,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":89849,"name":"bool","nodeType":"ElementaryTypeName","src":"1486:4:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":89870,"nodeType":"FunctionDefinition","src":"1835:196:144","nodes":[],"body":{"id":89869,"nodeType":"Block","src":"1905:126:144","nodes":[],"statements":[{"condition":{"id":89858,"name":"isEcotone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89850,"src":"1919:9:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":89864,"nodeType":"IfStatement","src":"1915:70:144","trueBody":{"id":89863,"nodeType":"Block","src":"1930:55:144","statements":[{"expression":{"arguments":[{"id":89860,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89853,"src":"1968:5:144","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":89859,"name":"_getL1FeeEcotone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90148,"src":"1951:16:144","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) view returns (uint256)"}},"id":89861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1951:23:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":89857,"id":89862,"nodeType":"Return","src":"1944:30:144"}]}},{"expression":{"arguments":[{"id":89866,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89853,"src":"2018:5:144","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":89865,"name":"_getL1FeeBedrock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90097,"src":"2001:16:144","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) view returns (uint256)"}},"id":89867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2001:23:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":89857,"id":89868,"nodeType":"Return","src":"1994:30:144"}]},"documentation":{"id":89851,"nodeType":"StructuredDocumentation","src":"1514:316:144","text":"@notice Computes the L1 portion of the fee based on the size of the rlp encoded input\n         transaction, the current L1 base fee, and the various dynamic parameters.\n @param _data Unsigned fully RLP-encoded transaction to get the L1 fee for.\n @return L1 fee that should be paid for the tx"},"functionSelector":"49948e0e","implemented":true,"kind":"function","modifiers":[],"name":"getL1Fee","nameLocation":"1844:8:144","parameters":{"id":89854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89853,"mutability":"mutable","name":"_data","nameLocation":"1866:5:144","nodeType":"VariableDeclaration","scope":89870,"src":"1853:18:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":89852,"name":"bytes","nodeType":"ElementaryTypeName","src":"1853:5:144","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1852:20:144"},"returnParameters":{"id":89857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89856,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89870,"src":"1896:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89855,"name":"uint256","nodeType":"ElementaryTypeName","src":"1896:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1895:9:144"},"scope":90202,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":89899,"nodeType":"FunctionDefinition","src":"2115:338:144","nodes":[],"body":{"id":89898,"nodeType":"Block","src":"2146:307:144","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":89883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":89875,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2177:3:144","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":89876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"2177:10:144","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":89878,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104124,"src":"2199:10:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$104124_$","typeString":"type(library Predeploys)"}},"id":89879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":104027,"src":"2199:30:144","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":89877,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90318,"src":"2191:7:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$90318_$","typeString":"type(contract L1Block)"}},"id":89880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2191:39:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$90318","typeString":"contract L1Block"}},"id":89881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"DEPOSITOR_ACCOUNT","nodeType":"MemberAccess","referencedDeclaration":90213,"src":"2191:57:144","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":89882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2191:59:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2177:73:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47617350726963654f7261636c653a206f6e6c7920746865206465706f7369746f72206163636f756e742063616e2073657420697345636f746f6e6520666c6167","id":89884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2264:67:144","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6497d84b1fcb87671ee1e7d83fa633da5bca5b69ea1e0c7b61a9ee91a07700c","typeString":"literal_string \"GasPriceOracle: only the depositor account can set isEcotone flag\""},"value":"GasPriceOracle: only the depositor account can set isEcotone flag"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a6497d84b1fcb87671ee1e7d83fa633da5bca5b69ea1e0c7b61a9ee91a07700c","typeString":"literal_string \"GasPriceOracle: only the depositor account can set isEcotone flag\""}],"id":89874,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2156:7:144","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":89885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2156:185:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89886,"nodeType":"ExpressionStatement","src":"2156:185:144"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":89890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89888,"name":"isEcotone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89850,"src":"2359:9:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"66616c7365","id":89889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2372:5:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"2359:18:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47617350726963654f7261636c653a2045636f746f6e6520616c726561647920616374697665","id":89891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2379:40:144","typeDescriptions":{"typeIdentifier":"t_stringliteral_5923a2a5f6dac6b5f7274d34a2dd94f4b6ab3b4a09fa25eddc1c3f3c5ff8cc39","typeString":"literal_string \"GasPriceOracle: Ecotone already active\""},"value":"GasPriceOracle: Ecotone already active"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5923a2a5f6dac6b5f7274d34a2dd94f4b6ab3b4a09fa25eddc1c3f3c5ff8cc39","typeString":"literal_string \"GasPriceOracle: Ecotone already active\""}],"id":89887,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2351:7:144","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":89892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2351:69:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89893,"nodeType":"ExpressionStatement","src":"2351:69:144"},{"expression":{"id":89896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89894,"name":"isEcotone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89850,"src":"2430:9:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":89895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2442:4:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2430:16:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":89897,"nodeType":"ExpressionStatement","src":"2430:16:144"}]},"documentation":{"id":89871,"nodeType":"StructuredDocumentation","src":"2037:73:144","text":"@notice Set chain to be Ecotone chain (callable by depositor account)"},"functionSelector":"22b90ab3","implemented":true,"kind":"function","modifiers":[],"name":"setEcotone","nameLocation":"2124:10:144","parameters":{"id":89872,"nodeType":"ParameterList","parameters":[],"src":"2134:2:144"},"returnParameters":{"id":89873,"nodeType":"ParameterList","parameters":[],"src":"2146:0:144"},"scope":90202,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":89909,"nodeType":"FunctionDefinition","src":"2568:87:144","nodes":[],"body":{"id":89908,"nodeType":"Block","src":"2618:37:144","nodes":[],"statements":[{"expression":{"expression":{"id":89905,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2635:5:144","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":89906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"basefee","nodeType":"MemberAccess","src":"2635:13:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":89904,"id":89907,"nodeType":"Return","src":"2628:20:144"}]},"documentation":{"id":89900,"nodeType":"StructuredDocumentation","src":"2459:104:144","text":"@notice Retrieves the current gas price (base fee).\n @return Current L2 gas price (base fee)."},"functionSelector":"fe173b97","implemented":true,"kind":"function","modifiers":[],"name":"gasPrice","nameLocation":"2577:8:144","parameters":{"id":89901,"nodeType":"ParameterList","parameters":[],"src":"2585:2:144"},"returnParameters":{"id":89904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89903,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89909,"src":"2609:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89902,"name":"uint256","nodeType":"ElementaryTypeName","src":"2609:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2608:9:144"},"scope":90202,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":89919,"nodeType":"FunctionDefinition","src":"2746:86:144","nodes":[],"body":{"id":89918,"nodeType":"Block","src":"2795:37:144","nodes":[],"statements":[{"expression":{"expression":{"id":89915,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2812:5:144","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":89916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"basefee","nodeType":"MemberAccess","src":"2812:13:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":89914,"id":89917,"nodeType":"Return","src":"2805:20:144"}]},"documentation":{"id":89910,"nodeType":"StructuredDocumentation","src":"2661:80:144","text":"@notice Retrieves the current base fee.\n @return Current L2 base fee."},"functionSelector":"6ef25c3a","implemented":true,"kind":"function","modifiers":[],"name":"baseFee","nameLocation":"2755:7:144","parameters":{"id":89911,"nodeType":"ParameterList","parameters":[],"src":"2762:2:144"},"returnParameters":{"id":89914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89913,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89919,"src":"2786:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89912,"name":"uint256","nodeType":"ElementaryTypeName","src":"2786:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2785:9:144"},"scope":90202,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":89939,"nodeType":"FunctionDefinition","src":"2951:202:144","nodes":[],"body":{"id":89938,"nodeType":"Block","src":"3001:152:144","nodes":[],"statements":[{"expression":{"arguments":[{"id":89927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3019:10:144","subExpression":{"id":89926,"name":"isEcotone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89850,"src":"3020:9:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47617350726963654f7261636c653a206f7665726865616428292069732064657072656361746564","id":89928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3031:42:144","typeDescriptions":{"typeIdentifier":"t_stringliteral_25a8f9debbed12be50767fc7babd300130a5ca203afc2f904ec6e57d0959fbbf","typeString":"literal_string \"GasPriceOracle: overhead() is deprecated\""},"value":"GasPriceOracle: overhead() is deprecated"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_25a8f9debbed12be50767fc7babd300130a5ca203afc2f904ec6e57d0959fbbf","typeString":"literal_string \"GasPriceOracle: overhead() is deprecated\""}],"id":89925,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3011:7:144","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":89929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3011:63:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89930,"nodeType":"ExpressionStatement","src":"3011:63:144"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":89932,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104124,"src":"3099:10:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$104124_$","typeString":"type(library Predeploys)"}},"id":89933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":104027,"src":"3099:30:144","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":89931,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90318,"src":"3091:7:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$90318_$","typeString":"type(contract L1Block)"}},"id":89934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3091:39:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$90318","typeString":"contract L1Block"}},"id":89935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"l1FeeOverhead","nodeType":"MemberAccess","referencedDeclaration":90240,"src":"3091:53:144","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":89936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3091:55:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":89924,"id":89937,"nodeType":"Return","src":"3084:62:144"}]},"documentation":{"id":89920,"nodeType":"StructuredDocumentation","src":"2838:108:144","text":"@custom:legacy\n @notice Retrieves the current fee overhead.\n @return Current fee overhead."},"functionSelector":"0c18c162","implemented":true,"kind":"function","modifiers":[],"name":"overhead","nameLocation":"2960:8:144","parameters":{"id":89921,"nodeType":"ParameterList","parameters":[],"src":"2968:2:144"},"returnParameters":{"id":89924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89923,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89939,"src":"2992:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89922,"name":"uint256","nodeType":"ElementaryTypeName","src":"2992:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2991:9:144"},"scope":90202,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":89959,"nodeType":"FunctionDefinition","src":"3268:196:144","nodes":[],"body":{"id":89958,"nodeType":"Block","src":"3316:148:144","nodes":[],"statements":[{"expression":{"arguments":[{"id":89947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3334:10:144","subExpression":{"id":89946,"name":"isEcotone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89850,"src":"3335:9:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47617350726963654f7261636c653a207363616c617228292069732064657072656361746564","id":89948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3346:40:144","typeDescriptions":{"typeIdentifier":"t_stringliteral_fdcd11c052395e9256e13a80dcc0e9d323cf16472d08af1bed3d17258d3603d3","typeString":"literal_string \"GasPriceOracle: scalar() is deprecated\""},"value":"GasPriceOracle: scalar() is deprecated"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fdcd11c052395e9256e13a80dcc0e9d323cf16472d08af1bed3d17258d3603d3","typeString":"literal_string \"GasPriceOracle: scalar() is deprecated\""}],"id":89945,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3326:7:144","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":89949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3326:61:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89950,"nodeType":"ExpressionStatement","src":"3326:61:144"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":89952,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104124,"src":"3412:10:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$104124_$","typeString":"type(library Predeploys)"}},"id":89953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":104027,"src":"3412:30:144","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":89951,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90318,"src":"3404:7:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$90318_$","typeString":"type(contract L1Block)"}},"id":89954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3404:39:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$90318","typeString":"contract L1Block"}},"id":89955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"l1FeeScalar","nodeType":"MemberAccess","referencedDeclaration":90243,"src":"3404:51:144","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":89956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3404:53:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":89944,"id":89957,"nodeType":"Return","src":"3397:60:144"}]},"documentation":{"id":89940,"nodeType":"StructuredDocumentation","src":"3159:104:144","text":"@custom:legacy\n @notice Retrieves the current fee scalar.\n @return Current fee scalar."},"functionSelector":"f45e65d8","implemented":true,"kind":"function","modifiers":[],"name":"scalar","nameLocation":"3277:6:144","parameters":{"id":89941,"nodeType":"ParameterList","parameters":[],"src":"3283:2:144"},"returnParameters":{"id":89944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89943,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89959,"src":"3307:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89942,"name":"uint256","nodeType":"ElementaryTypeName","src":"3307:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3306:9:144"},"scope":90202,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":89973,"nodeType":"FunctionDefinition","src":"3568:124:144","nodes":[],"body":{"id":89972,"nodeType":"Block","src":"3619:73:144","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":89966,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104124,"src":"3644:10:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$104124_$","typeString":"type(library Predeploys)"}},"id":89967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":104027,"src":"3644:30:144","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":89965,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90318,"src":"3636:7:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$90318_$","typeString":"type(contract L1Block)"}},"id":89968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3636:39:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$90318","typeString":"contract L1Block"}},"id":89969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"basefee","nodeType":"MemberAccess","referencedDeclaration":90222,"src":"3636:47:144","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":89970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3636:49:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":89964,"id":89971,"nodeType":"Return","src":"3629:56:144"}]},"documentation":{"id":89960,"nodeType":"StructuredDocumentation","src":"3470:93:144","text":"@notice Retrieves the latest known L1 base fee.\n @return Latest known L1 base fee."},"functionSelector":"519b4bd3","implemented":true,"kind":"function","modifiers":[],"name":"l1BaseFee","nameLocation":"3577:9:144","parameters":{"id":89961,"nodeType":"ParameterList","parameters":[],"src":"3586:2:144"},"returnParameters":{"id":89964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89963,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89973,"src":"3610:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89962,"name":"uint256","nodeType":"ElementaryTypeName","src":"3610:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3609:9:144"},"scope":90202,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":89987,"nodeType":"FunctionDefinition","src":"3790:130:144","nodes":[],"body":{"id":89986,"nodeType":"Block","src":"3843:77:144","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":89980,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104124,"src":"3868:10:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$104124_$","typeString":"type(library Predeploys)"}},"id":89981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":104027,"src":"3868:30:144","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":89979,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90318,"src":"3860:7:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$90318_$","typeString":"type(contract L1Block)"}},"id":89982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3860:39:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$90318","typeString":"contract L1Block"}},"id":89983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"blobBaseFee","nodeType":"MemberAccess","referencedDeclaration":90246,"src":"3860:51:144","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":89984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3860:53:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":89978,"id":89985,"nodeType":"Return","src":"3853:60:144"}]},"documentation":{"id":89974,"nodeType":"StructuredDocumentation","src":"3698:87:144","text":"@notice Retrieves the current blob base fee.\n @return Current blob base fee."},"functionSelector":"f8206140","implemented":true,"kind":"function","modifiers":[],"name":"blobBaseFee","nameLocation":"3799:11:144","parameters":{"id":89975,"nodeType":"ParameterList","parameters":[],"src":"3810:2:144"},"returnParameters":{"id":89978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89977,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89987,"src":"3834:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89976,"name":"uint256","nodeType":"ElementaryTypeName","src":"3834:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3833:9:144"},"scope":90202,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":90001,"nodeType":"FunctionDefinition","src":"4022:133:144","nodes":[],"body":{"id":90000,"nodeType":"Block","src":"4076:79:144","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":89994,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104124,"src":"4101:10:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$104124_$","typeString":"type(library Predeploys)"}},"id":89995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":104027,"src":"4101:30:144","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":89993,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90318,"src":"4093:7:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$90318_$","typeString":"type(contract L1Block)"}},"id":89996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4093:39:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$90318","typeString":"contract L1Block"}},"id":89997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"baseFeeScalar","nodeType":"MemberAccess","referencedDeclaration":90234,"src":"4093:53:144","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint32_$","typeString":"function () view external returns (uint32)"}},"id":89998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4093:55:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":89992,"id":89999,"nodeType":"Return","src":"4086:62:144"}]},"documentation":{"id":89988,"nodeType":"StructuredDocumentation","src":"3926:91:144","text":"@notice Retrieves the current base fee scalar.\n @return Current base fee scalar."},"functionSelector":"c5985918","implemented":true,"kind":"function","modifiers":[],"name":"baseFeeScalar","nameLocation":"4031:13:144","parameters":{"id":89989,"nodeType":"ParameterList","parameters":[],"src":"4044:2:144"},"returnParameters":{"id":89992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89991,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90001,"src":"4068:6:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":89990,"name":"uint32","nodeType":"ElementaryTypeName","src":"4068:6:144","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"4067:8:144"},"scope":90202,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":90015,"nodeType":"FunctionDefinition","src":"4267:141:144","nodes":[],"body":{"id":90014,"nodeType":"Block","src":"4325:83:144","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":90008,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104124,"src":"4350:10:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$104124_$","typeString":"type(library Predeploys)"}},"id":90009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":104027,"src":"4350:30:144","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":90007,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90318,"src":"4342:7:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$90318_$","typeString":"type(contract L1Block)"}},"id":90010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4342:39:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$90318","typeString":"contract L1Block"}},"id":90011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"blobBaseFeeScalar","nodeType":"MemberAccess","referencedDeclaration":90231,"src":"4342:57:144","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint32_$","typeString":"function () view external returns (uint32)"}},"id":90012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4342:59:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":90006,"id":90013,"nodeType":"Return","src":"4335:66:144"}]},"documentation":{"id":90002,"nodeType":"StructuredDocumentation","src":"4161:101:144","text":"@notice Retrieves the current blob base fee scalar.\n @return Current blob base fee scalar."},"functionSelector":"68d5dca6","implemented":true,"kind":"function","modifiers":[],"name":"blobBaseFeeScalar","nameLocation":"4276:17:144","parameters":{"id":90003,"nodeType":"ParameterList","parameters":[],"src":"4293:2:144"},"returnParameters":{"id":90006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90005,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90015,"src":"4317:6:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":90004,"name":"uint32","nodeType":"ElementaryTypeName","src":"4317:6:144","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"4316:8:144"},"scope":90202,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":90024,"nodeType":"FunctionDefinition","src":"4561:82:144","nodes":[],"body":{"id":90023,"nodeType":"Block","src":"4611:32:144","nodes":[],"statements":[{"expression":{"id":90021,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89843,"src":"4628:8:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":90020,"id":90022,"nodeType":"Return","src":"4621:15:144"}]},"documentation":{"id":90016,"nodeType":"StructuredDocumentation","src":"4414:142:144","text":"@custom:legacy\n @notice Retrieves the number of decimals used in the scalar.\n @return Number of decimals used in the scalar."},"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"4570:8:144","parameters":{"id":90017,"nodeType":"ParameterList","parameters":[],"src":"4578:2:144"},"returnParameters":{"id":90020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90019,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90024,"src":"4602:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90018,"name":"uint256","nodeType":"ElementaryTypeName","src":"4602:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4601:9:144"},"scope":90202,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":90053,"nodeType":"FunctionDefinition","src":"4975:280:144","nodes":[],"body":{"id":90052,"nodeType":"Block","src":"5047:208:144","nodes":[],"statements":[{"assignments":[90033],"declarations":[{"constant":false,"id":90033,"mutability":"mutable","name":"l1GasUsed","nameLocation":"5065:9:144","nodeType":"VariableDeclaration","scope":90052,"src":"5057:17:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90032,"name":"uint256","nodeType":"ElementaryTypeName","src":"5057:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90037,"initialValue":{"arguments":[{"id":90035,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90027,"src":"5093:5:144","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":90034,"name":"_getCalldataGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90201,"src":"5077:15:144","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":90036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5077:22:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5057:42:144"},{"condition":{"id":90038,"name":"isEcotone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89850,"src":"5113:9:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":90042,"nodeType":"IfStatement","src":"5109:56:144","trueBody":{"id":90041,"nodeType":"Block","src":"5124:41:144","statements":[{"expression":{"id":90039,"name":"l1GasUsed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90033,"src":"5145:9:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":90031,"id":90040,"nodeType":"Return","src":"5138:16:144"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90043,"name":"l1GasUsed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90033,"src":"5181:9:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":90045,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104124,"src":"5201:10:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$104124_$","typeString":"type(library Predeploys)"}},"id":90046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":104027,"src":"5201:30:144","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":90044,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90318,"src":"5193:7:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$90318_$","typeString":"type(contract L1Block)"}},"id":90047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5193:39:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$90318","typeString":"contract L1Block"}},"id":90048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"l1FeeOverhead","nodeType":"MemberAccess","referencedDeclaration":90240,"src":"5193:53:144","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":90049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5193:55:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5181:67:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":90031,"id":90051,"nodeType":"Return","src":"5174:74:144"}]},"documentation":{"id":90025,"nodeType":"StructuredDocumentation","src":"4649:321:144","text":"@notice Computes the amount of L1 gas used for a transaction. Adds 68 bytes\n         of padding to account for the fact that the input does not have a signature.\n @param _data Unsigned fully RLP-encoded transaction to get the L1 gas for.\n @return Amount of L1 gas used to publish the transaction."},"functionSelector":"de26c4a1","implemented":true,"kind":"function","modifiers":[],"name":"getL1GasUsed","nameLocation":"4984:12:144","parameters":{"id":90028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90027,"mutability":"mutable","name":"_data","nameLocation":"5010:5:144","nodeType":"VariableDeclaration","scope":90053,"src":"4997:18:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":90026,"name":"bytes","nodeType":"ElementaryTypeName","src":"4997:5:144","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4996:20:144"},"returnParameters":{"id":90031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90030,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90053,"src":"5038:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90029,"name":"uint256","nodeType":"ElementaryTypeName","src":"5038:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5037:9:144"},"scope":90202,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":90097,"nodeType":"FunctionDefinition","src":"5468:351:144","nodes":[],"body":{"id":90096,"nodeType":"Block","src":"5546:273:144","nodes":[],"statements":[{"assignments":[90062],"declarations":[{"constant":false,"id":90062,"mutability":"mutable","name":"l1GasUsed","nameLocation":"5564:9:144","nodeType":"VariableDeclaration","scope":90096,"src":"5556:17:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90061,"name":"uint256","nodeType":"ElementaryTypeName","src":"5556:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90066,"initialValue":{"arguments":[{"id":90064,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90056,"src":"5592:5:144","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":90063,"name":"_getCalldataGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90201,"src":"5576:15:144","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":90065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5576:22:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5556:42:144"},{"assignments":[90068],"declarations":[{"constant":false,"id":90068,"mutability":"mutable","name":"fee","nameLocation":"5616:3:144","nodeType":"VariableDeclaration","scope":90096,"src":"5608:11:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90067,"name":"uint256","nodeType":"ElementaryTypeName","src":"5608:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90088,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90069,"name":"l1GasUsed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90062,"src":"5623:9:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":90071,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104124,"src":"5643:10:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$104124_$","typeString":"type(library Predeploys)"}},"id":90072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":104027,"src":"5643:30:144","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":90070,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90318,"src":"5635:7:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$90318_$","typeString":"type(contract L1Block)"}},"id":90073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5635:39:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$90318","typeString":"contract L1Block"}},"id":90074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"l1FeeOverhead","nodeType":"MemberAccess","referencedDeclaration":90240,"src":"5635:53:144","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":90075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5635:55:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5623:67:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":90077,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5622:69:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":90078,"name":"l1BaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89973,"src":"5694:9:144","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":90079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5694:11:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5622:83:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":90082,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104124,"src":"5728:10:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$104124_$","typeString":"type(library Predeploys)"}},"id":90083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":104027,"src":"5728:30:144","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":90081,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90318,"src":"5720:7:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$90318_$","typeString":"type(contract L1Block)"}},"id":90084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5720:39:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$90318","typeString":"contract L1Block"}},"id":90085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"l1FeeScalar","nodeType":"MemberAccess","referencedDeclaration":90243,"src":"5720:51:144","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":90086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5720:53:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5622:151:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5608:165:144"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90089,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90068,"src":"5790:3:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":90090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5797:2:144","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":90091,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89843,"src":"5803:8:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5797:14:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":90093,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5796:16:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5790:22:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":90060,"id":90095,"nodeType":"Return","src":"5783:29:144"}]},"documentation":{"id":90054,"nodeType":"StructuredDocumentation","src":"5261:202:144","text":"@notice Computation of the L1 portion of the fee for Bedrock.\n @param _data Unsigned fully RLP-encoded transaction to get the L1 fee for.\n @return L1 fee that should be paid for the tx"},"implemented":true,"kind":"function","modifiers":[],"name":"_getL1FeeBedrock","nameLocation":"5477:16:144","parameters":{"id":90057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90056,"mutability":"mutable","name":"_data","nameLocation":"5507:5:144","nodeType":"VariableDeclaration","scope":90097,"src":"5494:18:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":90055,"name":"bytes","nodeType":"ElementaryTypeName","src":"5494:5:144","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5493:20:144"},"returnParameters":{"id":90060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90059,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90097,"src":"5537:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90058,"name":"uint256","nodeType":"ElementaryTypeName","src":"5537:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5536:9:144"},"scope":90202,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":90148,"nodeType":"FunctionDefinition","src":"6015:393:144","nodes":[],"body":{"id":90147,"nodeType":"Block","src":"6093:315:144","nodes":[],"statements":[{"assignments":[90106],"declarations":[{"constant":false,"id":90106,"mutability":"mutable","name":"l1GasUsed","nameLocation":"6111:9:144","nodeType":"VariableDeclaration","scope":90147,"src":"6103:17:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90105,"name":"uint256","nodeType":"ElementaryTypeName","src":"6103:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90110,"initialValue":{"arguments":[{"id":90108,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90100,"src":"6139:5:144","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":90107,"name":"_getCalldataGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90201,"src":"6123:15:144","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":90109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6123:22:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6103:42:144"},{"assignments":[90112],"declarations":[{"constant":false,"id":90112,"mutability":"mutable","name":"scaledBaseFee","nameLocation":"6163:13:144","nodeType":"VariableDeclaration","scope":90147,"src":"6155:21:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90111,"name":"uint256","nodeType":"ElementaryTypeName","src":"6155:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90120,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":90116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":90113,"name":"baseFeeScalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90001,"src":"6179:13:144","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint32_$","typeString":"function () view returns (uint32)"}},"id":90114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6179:15:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3136","id":90115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6197:2:144","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"6179:20:144","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":90117,"name":"l1BaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89973,"src":"6202:9:144","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":90118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6202:11:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6179:34:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6155:58:144"},{"assignments":[90122],"declarations":[{"constant":false,"id":90122,"mutability":"mutable","name":"scaledBlobBaseFee","nameLocation":"6231:17:144","nodeType":"VariableDeclaration","scope":90147,"src":"6223:25:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90121,"name":"uint256","nodeType":"ElementaryTypeName","src":"6223:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90128,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":90123,"name":"blobBaseFeeScalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90015,"src":"6251:17:144","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint32_$","typeString":"function () view returns (uint32)"}},"id":90124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6251:19:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":90125,"name":"blobBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89987,"src":"6273:11:144","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":90126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6273:13:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6251:35:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6223:63:144"},{"assignments":[90130],"declarations":[{"constant":false,"id":90130,"mutability":"mutable","name":"fee","nameLocation":"6304:3:144","nodeType":"VariableDeclaration","scope":90147,"src":"6296:11:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90129,"name":"uint256","nodeType":"ElementaryTypeName","src":"6296:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90137,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90131,"name":"l1GasUsed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90106,"src":"6310:9:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90132,"name":"scaledBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90112,"src":"6323:13:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":90133,"name":"scaledBlobBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90122,"src":"6339:17:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6323:33:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":90135,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6322:35:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6310:47:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6296:61:144"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90138,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90130,"src":"6374:3:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3136","id":90139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6381:2:144","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":90140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6386:2:144","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":90141,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89843,"src":"6392:8:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6386:14:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6381:19:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":90144,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6380:21:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6374:27:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":90104,"id":90146,"nodeType":"Return","src":"6367:34:144"}]},"documentation":{"id":90098,"nodeType":"StructuredDocumentation","src":"5825:185:144","text":"@notice L1 portion of the fee after Ecotone.\n @param _data Unsigned fully RLP-encoded transaction to get the L1 fee for.\n @return L1 fee that should be paid for the tx"},"implemented":true,"kind":"function","modifiers":[],"name":"_getL1FeeEcotone","nameLocation":"6024:16:144","parameters":{"id":90101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90100,"mutability":"mutable","name":"_data","nameLocation":"6054:5:144","nodeType":"VariableDeclaration","scope":90148,"src":"6041:18:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":90099,"name":"bytes","nodeType":"ElementaryTypeName","src":"6041:5:144","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6040:20:144"},"returnParameters":{"id":90104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90103,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90148,"src":"6084:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90102,"name":"uint256","nodeType":"ElementaryTypeName","src":"6084:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6083:9:144"},"scope":90202,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":90201,"nodeType":"FunctionDefinition","src":"6610:366:144","nodes":[],"body":{"id":90200,"nodeType":"Block","src":"6687:289:144","nodes":[],"statements":[{"assignments":[90157],"declarations":[{"constant":false,"id":90157,"mutability":"mutable","name":"total","nameLocation":"6705:5:144","nodeType":"VariableDeclaration","scope":90200,"src":"6697:13:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90156,"name":"uint256","nodeType":"ElementaryTypeName","src":"6697:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90159,"initialValue":{"hexValue":"30","id":90158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6713:1:144","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6697:17:144"},{"assignments":[90161],"declarations":[{"constant":false,"id":90161,"mutability":"mutable","name":"length","nameLocation":"6732:6:144","nodeType":"VariableDeclaration","scope":90200,"src":"6724:14:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90160,"name":"uint256","nodeType":"ElementaryTypeName","src":"6724:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90164,"initialValue":{"expression":{"id":90162,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90151,"src":"6741:5:144","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":90163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6741:12:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6724:29:144"},{"body":{"id":90191,"nodeType":"Block","src":"6800:136:144","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":90179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":90175,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90151,"src":"6818:5:144","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":90177,"indexExpression":{"id":90176,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90166,"src":"6824:1:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6818:8:144","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":90178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6830:1:144","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6818:13:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":90189,"nodeType":"Block","src":"6882:44:144","statements":[{"expression":{"id":90187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":90185,"name":"total","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90157,"src":"6900:5:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":90186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6909:2:144","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"6900:11:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":90188,"nodeType":"ExpressionStatement","src":"6900:11:144"}]},"id":90190,"nodeType":"IfStatement","src":"6814:112:144","trueBody":{"id":90184,"nodeType":"Block","src":"6833:43:144","statements":[{"expression":{"id":90182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":90180,"name":"total","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90157,"src":"6851:5:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":90181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6860:1:144","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"6851:10:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":90183,"nodeType":"ExpressionStatement","src":"6851:10:144"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90169,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90166,"src":"6783:1:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":90170,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90161,"src":"6787:6:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6783:10:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":90192,"initializationExpression":{"assignments":[90166],"declarations":[{"constant":false,"id":90166,"mutability":"mutable","name":"i","nameLocation":"6776:1:144","nodeType":"VariableDeclaration","scope":90192,"src":"6768:9:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90165,"name":"uint256","nodeType":"ElementaryTypeName","src":"6768:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90168,"initialValue":{"hexValue":"30","id":90167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6780:1:144","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6768:13:144"},"loopExpression":{"expression":{"id":90173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6795:3:144","subExpression":{"id":90172,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90166,"src":"6795:1:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":90174,"nodeType":"ExpressionStatement","src":"6795:3:144"},"nodeType":"ForStatement","src":"6763:173:144"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90193,"name":"total","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90157,"src":"6952:5:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_1088_by_1","typeString":"int_const 1088"},"id":90196,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3638","id":90194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6961:2:144","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"68"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3136","id":90195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6966:2:144","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"6961:7:144","typeDescriptions":{"typeIdentifier":"t_rational_1088_by_1","typeString":"int_const 1088"}}],"id":90197,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6960:9:144","typeDescriptions":{"typeIdentifier":"t_rational_1088_by_1","typeString":"int_const 1088"}},"src":"6952:17:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":90155,"id":90199,"nodeType":"Return","src":"6945:24:144"}]},"documentation":{"id":90149,"nodeType":"StructuredDocumentation","src":"6414:191:144","text":"@notice L1 gas estimation calculation.\n @param _data Unsigned fully RLP-encoded transaction to get the L1 gas for.\n @return Amount of L1 gas used to publish the transaction."},"implemented":true,"kind":"function","modifiers":[],"name":"_getCalldataGas","nameLocation":"6619:15:144","parameters":{"id":90152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90151,"mutability":"mutable","name":"_data","nameLocation":"6648:5:144","nodeType":"VariableDeclaration","scope":90201,"src":"6635:18:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":90150,"name":"bytes","nodeType":"ElementaryTypeName","src":"6635:5:144","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6634:20:144"},"returnParameters":{"id":90155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90154,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90201,"src":"6678:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90153,"name":"uint256","nodeType":"ElementaryTypeName","src":"6678:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6677:9:144"},"scope":90202,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":89838,"name":"ISemver","nodeType":"IdentifierPath","referencedDeclaration":109417,"src":"1180:7:144"},"id":89839,"nodeType":"InheritanceSpecifier","src":"1180:7:144"}],"canonicalName":"GasPriceOracle","contractDependencies":[],"contractKind":"contract","documentation":{"id":89837,"nodeType":"StructuredDocumentation","src":"216:937:144","text":"@custom:proxied\n @custom:predeploy 0x420000000000000000000000000000000000000F\n @title GasPriceOracle\n @notice This contract maintains the variables responsible for computing the L1 portion of the\n         total fee charged on L2. Before Bedrock, this contract held variables in state that were\n         read during the state transition function to compute the L1 portion of the transaction\n         fee. After Bedrock, this contract now simply proxies the L1Block contract, which has\n         the values used to compute the L1 portion of the fee in its state.\n         The contract exposes an API that is useful for knowing how large the L1 portion of the\n         transaction fee will be. The following events were deprecated with Bedrock:\n         - event OverheadUpdated(uint256 overhead);\n         - event ScalarUpdated(uint256 scalar);\n         - event DecimalsUpdated(uint256 decimals);"},"fullyImplemented":true,"linearizedBaseContracts":[90202,109417],"name":"GasPriceOracle","nameLocation":"1162:14:144","scope":90203,"usedErrors":[]}],"license":"MIT"},"id":144}