{
  "_format": "hh-sol-artifact-1",
  "contractName": "OVM_GasPriceOracle",
  "sourceName": "contracts/L2/predeploys/OVM_GasPriceOracle.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "DecimalsUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "GasPriceUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "L1BaseFeeUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "MinErc20BridgeCostUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "OverheadUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "oldOwner",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnerChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "ScalarUpdated",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "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": "l1BaseFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "minErc20BridgeCost",
      "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": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "scalar",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_decimals",
          "type": "uint256"
        }
      ],
      "name": "setDecimals",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_gasPrice",
          "type": "uint256"
        }
      ],
      "name": "setGasPrice",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_baseFee",
          "type": "uint256"
        }
      ],
      "name": "setL1BaseFee",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_minCost",
          "type": "uint256"
        }
      ],
      "name": "setMinErc20BridgeCost",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_overhead",
          "type": "uint256"
        }
      ],
      "name": "setOverhead",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        }
      ],
      "name": "setOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_scalar",
          "type": "uint256"
        }
      ],
      "name": "setScalar",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50604051610f0e380380610f0e83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b610e7b806100936000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638c8885c811610097578063c567769f11610066578063c567769f14610212578063de26c4a11461021b578063f45e65d81461022e578063fe173b971461023757600080fd5b80638c8885c8146101945780638da5cb5b146101a7578063bede39b5146101ec578063bf1fe420146101ff57600080fd5b806349948e0e116100d357806349948e0e14610152578063519b4bd314610165578063704655971461016e57806382b472fb1461018157600080fd5b80630c18c1621461010557806313af403514610121578063313ce567146101365780633577afc51461013f575b600080fd5b61010e60035481565b6040519081526020015b60405180910390f35b61013461012f366004610b11565b610240565b005b61010e60055481565b61013461014d366004610b35565b610403565b61010e610160366004610b7d565b61053d565b61010e60025481565b61013461017c366004610b35565b610599565b61013461018f366004610b35565b6106cc565b6101346101a2366004610b35565b61078e565b6000546101c79073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610118565b6101346101fa366004610b35565b610850565b61013461020d366004610b35565b610983565b61010e60065481565b61010e610229366004610b7d565b610a45565b61010e60045481565b61010e60015481565b73420000000000000000000000000000000000001173ffffffffffffffffffffffffffffffffffffffff166303ca230f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561029f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c39190610c4c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103685760405162461bcd60e51b815260206004820152602d60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206c326d616e616765722e0000000000000000000000000000000000000060648201526084015b60405180910390fd5b6000546040805173ffffffffffffffffffffffffffffffffffffffff928316815291831660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a1600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104905760405162461bcd60e51b815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e000000000000606482015260840161035f565b6003541561050157606460035460696104a99190610c98565b6104b39190610cb7565b81106105015760405162461bcd60e51b815260206004820152601860248201527f696e637265617365206973206361707065642061742035250000000000000000604482015260640161035f565b60038190556040518181527f32740b35c0ea213650f60d44366b4fb211c9033b50714e4a1d34e65d5beb9bb4906020015b60405180910390a150565b60008061054983610a45565b905060006002548261055b9190610c98565b90506000600554600a61056e9190610dd8565b90506000600454836105809190610c98565b9050600061058e8383610cb7565b979650505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106265760405162461bcd60e51b815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e000000000000606482015260840161035f565b60045415610697576064600454606961063f9190610c98565b6106499190610cb7565b81106106975760405162461bcd60e51b815260206004820152601860248201527f696e637265617365206973206361707065642061742035250000000000000000604482015260640161035f565b60048190556040518181527f3336cd9708eaf2769a0f0dc0679f30e80f15dcd88d1921b5a16858e8b85c591a90602001610532565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107595760405162461bcd60e51b815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e000000000000606482015260840161035f565b60068190556040518181527ff97d3b727226415e973cd58166f6a30866563e8b426f05eb21ddfafb69c66f7890602001610532565b60005473ffffffffffffffffffffffffffffffffffffffff16331461081b5760405162461bcd60e51b815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e000000000000606482015260840161035f565b60058190556040518181527fd68112a8707e326d08be3656b528c1bcc5bbbfc47f4177e2179b14d8640838c190602001610532565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108dd5760405162461bcd60e51b815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e000000000000606482015260840161035f565b6002541561094e57606460025460696108f69190610c98565b6109009190610cb7565b811061094e5760405162461bcd60e51b815260206004820152601860248201527f696e637265617365206973206361707065642061742035250000000000000000604482015260640161035f565b60028190556040518181527f351fb23757bb5ea0546c85b7996ddd7155f96b939ebaa5ff7bc49c75f27f2c4490602001610532565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a105760405162461bcd60e51b815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e000000000000606482015260840161035f565b60018190556040518181527ffcdccc6074c6c42e4bd578aa9870c697dc976a270968452d2b8c8dc369fae39690602001610532565b600080805b8351811015610ac557838181518110610a6557610a65610de4565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016600003610aa557610a9e600483610e13565b9150610ab3565b610ab0601083610e13565b91505b80610abd81610e2b565b915050610a4a565b50600060035482610ad69190610e13565b9050610ae481610440610e13565b949350505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b0e57600080fd5b50565b600060208284031215610b2357600080fd5b8135610b2e81610aec565b9392505050565b600060208284031215610b4757600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215610b8f57600080fd5b813567ffffffffffffffff80821115610ba757600080fd5b818401915084601f830112610bbb57600080fd5b813581811115610bcd57610bcd610b4e565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610c1357610c13610b4e565b81604052828152876020848701011115610c2c57600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208284031215610c5e57600080fd5b8151610b2e81610aec565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000816000190483118215151615610cb257610cb2610c69565b500290565b600082610ced577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600181815b80851115610d2d578160001904821115610d1357610d13610c69565b80851615610d2057918102915b93841c9390800290610cf7565b509250929050565b600082610d4457506001610dd2565b81610d5157506000610dd2565b8160018114610d675760028114610d7157610d8d565b6001915050610dd2565b60ff841115610d8257610d82610c69565b50506001821b610dd2565b5060208310610133831016604e8410600b8410161715610db0575081810a610dd2565b610dba8383610cf2565b8060001904821115610dce57610dce610c69565b0290505b92915050565b6000610b2e8383610d35565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008219821115610e2657610e26610c69565b500190565b60006000198203610e3e57610e3e610c69565b506001019056fea2646970667358221220af5d6c39fb9dec55f8e6492030de7f74bafaee80c1edd492823f4f4bbe1f887564736f6c634300080f0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c80638c8885c811610097578063c567769f11610066578063c567769f14610212578063de26c4a11461021b578063f45e65d81461022e578063fe173b971461023757600080fd5b80638c8885c8146101945780638da5cb5b146101a7578063bede39b5146101ec578063bf1fe420146101ff57600080fd5b806349948e0e116100d357806349948e0e14610152578063519b4bd314610165578063704655971461016e57806382b472fb1461018157600080fd5b80630c18c1621461010557806313af403514610121578063313ce567146101365780633577afc51461013f575b600080fd5b61010e60035481565b6040519081526020015b60405180910390f35b61013461012f366004610b11565b610240565b005b61010e60055481565b61013461014d366004610b35565b610403565b61010e610160366004610b7d565b61053d565b61010e60025481565b61013461017c366004610b35565b610599565b61013461018f366004610b35565b6106cc565b6101346101a2366004610b35565b61078e565b6000546101c79073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610118565b6101346101fa366004610b35565b610850565b61013461020d366004610b35565b610983565b61010e60065481565b61010e610229366004610b7d565b610a45565b61010e60045481565b61010e60015481565b73420000000000000000000000000000000000001173ffffffffffffffffffffffffffffffffffffffff166303ca230f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561029f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c39190610c4c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103685760405162461bcd60e51b815260206004820152602d60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206c326d616e616765722e0000000000000000000000000000000000000060648201526084015b60405180910390fd5b6000546040805173ffffffffffffffffffffffffffffffffffffffff928316815291831660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a1600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104905760405162461bcd60e51b815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e000000000000606482015260840161035f565b6003541561050157606460035460696104a99190610c98565b6104b39190610cb7565b81106105015760405162461bcd60e51b815260206004820152601860248201527f696e637265617365206973206361707065642061742035250000000000000000604482015260640161035f565b60038190556040518181527f32740b35c0ea213650f60d44366b4fb211c9033b50714e4a1d34e65d5beb9bb4906020015b60405180910390a150565b60008061054983610a45565b905060006002548261055b9190610c98565b90506000600554600a61056e9190610dd8565b90506000600454836105809190610c98565b9050600061058e8383610cb7565b979650505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106265760405162461bcd60e51b815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e000000000000606482015260840161035f565b60045415610697576064600454606961063f9190610c98565b6106499190610cb7565b81106106975760405162461bcd60e51b815260206004820152601860248201527f696e637265617365206973206361707065642061742035250000000000000000604482015260640161035f565b60048190556040518181527f3336cd9708eaf2769a0f0dc0679f30e80f15dcd88d1921b5a16858e8b85c591a90602001610532565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107595760405162461bcd60e51b815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e000000000000606482015260840161035f565b60068190556040518181527ff97d3b727226415e973cd58166f6a30866563e8b426f05eb21ddfafb69c66f7890602001610532565b60005473ffffffffffffffffffffffffffffffffffffffff16331461081b5760405162461bcd60e51b815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e000000000000606482015260840161035f565b60058190556040518181527fd68112a8707e326d08be3656b528c1bcc5bbbfc47f4177e2179b14d8640838c190602001610532565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108dd5760405162461bcd60e51b815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e000000000000606482015260840161035f565b6002541561094e57606460025460696108f69190610c98565b6109009190610cb7565b811061094e5760405162461bcd60e51b815260206004820152601860248201527f696e637265617365206973206361707065642061742035250000000000000000604482015260640161035f565b60028190556040518181527f351fb23757bb5ea0546c85b7996ddd7155f96b939ebaa5ff7bc49c75f27f2c4490602001610532565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a105760405162461bcd60e51b815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e000000000000606482015260840161035f565b60018190556040518181527ffcdccc6074c6c42e4bd578aa9870c697dc976a270968452d2b8c8dc369fae39690602001610532565b600080805b8351811015610ac557838181518110610a6557610a65610de4565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016600003610aa557610a9e600483610e13565b9150610ab3565b610ab0601083610e13565b91505b80610abd81610e2b565b915050610a4a565b50600060035482610ad69190610e13565b9050610ae481610440610e13565b949350505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b0e57600080fd5b50565b600060208284031215610b2357600080fd5b8135610b2e81610aec565b9392505050565b600060208284031215610b4757600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215610b8f57600080fd5b813567ffffffffffffffff80821115610ba757600080fd5b818401915084601f830112610bbb57600080fd5b813581811115610bcd57610bcd610b4e565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610c1357610c13610b4e565b81604052828152876020848701011115610c2c57600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208284031215610c5e57600080fd5b8151610b2e81610aec565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000816000190483118215151615610cb257610cb2610c69565b500290565b600082610ced577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600181815b80851115610d2d578160001904821115610d1357610d13610c69565b80851615610d2057918102915b93841c9390800290610cf7565b509250929050565b600082610d4457506001610dd2565b81610d5157506000610dd2565b8160018114610d675760028114610d7157610d8d565b6001915050610dd2565b60ff841115610d8257610d82610c69565b50506001821b610dd2565b5060208310610133831016604e8410600b8410161715610db0575081810a610dd2565b610dba8383610cf2565b8060001904821115610dce57610dce610c69565b0290505b92915050565b6000610b2e8383610d35565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008219821115610e2657610e26610c69565b500190565b60006000198203610e3e57610e3e610c69565b506001019056fea2646970667358221220af5d6c39fb9dec55f8e6492030de7f74bafaee80c1edd492823f4f4bbe1f887564736f6c634300080f0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
