{
    "_format": "hh-sol-artifact-1",
    "contractName": "UniswapPriceOracle",
    "sourceName": "contracts/l2/UniswapPriceOracle.sol",
    "abi": [
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_quoterAddress",
                    "type": "address"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "constructor"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "previousOwner",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "OwnershipTransferred",
            "type": "event"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "fromToken",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "toToken",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "convertPrice",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "fromToken",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "toToken",
                    "type": "address"
                }
            ],
            "name": "getAssetPrice",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "fromToken",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "toToken",
                    "type": "address"
                }
            ],
            "name": "getPoolFee",
            "outputs": [
                {
                    "internalType": "uint24",
                    "name": "",
                    "type": "uint24"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "owner",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "",
                    "type": "bytes32"
                }
            ],
            "name": "poolFees",
            "outputs": [
                {
                    "internalType": "uint24",
                    "name": "",
                    "type": "uint24"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "quoter",
            "outputs": [
                {
                    "internalType": "contract IQuoter",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "renounceOwnership",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "fromToken",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "toToken",
                    "type": "address"
                },
                {
                    "internalType": "uint24",
                    "name": "_poolFee",
                    "type": "uint24"
                }
            ],
            "name": "setPoolFee",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_quoterAddress",
                    "type": "address"
                }
            ],
            "name": "setQuoter",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "transferOwnership",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        }
    ],
    "bytecode": "0x608060405234801561001057600080fd5b506040516107e03803806107e083398101604081905261002f916100ad565b6100383361005d565b600180546001600160a01b0319166001600160a01b03929092169190911790556100dd565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100bf57600080fd5b81516001600160a01b03811681146100d657600080fd5b9392505050565b6106f4806100ec6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063b45faa7611610066578063b45faa7614610144578063c6bbd5a714610157578063eb5480481461016a578063f2fde38b1461017d578063f912c64b1461019057600080fd5b80632cb79b72146100a35780634bb846e1146100e15780634ee540b414610102578063715018a6146101155780638da5cb5b1461011f575b600080fd5b6100c86100b1366004610554565b60026020526000908152604090205462ffffff1681565b60405162ffffff90911681526020015b60405180910390f35b6100f46100ef366004610582565b6101a3565b6040519081526020016100d8565b6100c86101103660046105c3565b61020c565b61011d610259565b005b6000546001600160a01b03165b6040516001600160a01b0390911681526020016100d8565b61011d6101523660046105fc565b61026d565b60015461012c906001600160a01b031681565b6100f46101783660046105c3565b6102ab565b61011d61018b36600461064f565b6102c0565b61011d61019e36600461064f565b610339565b60008082116101f95760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e203000000060448201526064015b60405180910390fd5b610204848484610363565b949350505050565b6000806102198484610463565b60008181526002602052604090205490915062ffffff161561024e5760008181526002602052604090205462ffffff16610204565b610bb8949350505050565b6102616104aa565b61026b6000610504565b565b6102756104aa565b60006102818484610463565b6000908152600260205260409020805462ffffff191662ffffff9390931692909217909155505050565b60006102b983836001610363565b9392505050565b6102c86104aa565b6001600160a01b03811661032d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101f0565b61033681610504565b50565b6103416104aa565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000806040518060a00160405280866001600160a01b03168152602001856001600160a01b0316815260200184815260200161039f878761020c565b62ffffff90811682526000602092830181905260015460408051636352813560e11b815286516001600160a01b03908116600483015295870151861660248201529086015160448201526060860151909316606484015260808501518416608484015293945092919091169063c6a5026a9060a401608060405180830381865afa158015610431573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610455919061066c565b509198975050505050505050565b6000816001600160a01b0316836001600160a01b03161115610483579091905b5060601b6bffffffffffffffffffffffff191660c09190911b6001600160c01b0319161790565b6000546001600160a01b0316331461026b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101f0565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561056657600080fd5b5035919050565b6001600160a01b038116811461033657600080fd5b60008060006060848603121561059757600080fd5b83356105a28161056d565b925060208401356105b28161056d565b929592945050506040919091013590565b600080604083850312156105d657600080fd5b82356105e18161056d565b915060208301356105f18161056d565b809150509250929050565b60008060006060848603121561061157600080fd5b833561061c8161056d565b9250602084013561062c8161056d565b9150604084013562ffffff8116811461064457600080fd5b809150509250925092565b60006020828403121561066157600080fd5b81356102b98161056d565b6000806000806080858703121561068257600080fd5b8451935060208501516106948161056d565b604086015190935063ffffffff811681146106ae57600080fd5b606095909501519396929550505056fea2646970667358221220e38a00bfd9c8d0d647b157f4d1cd3cf571f34c8576a2ac7f67bef1e5b0c9054564736f6c634300080f0033",
    "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063b45faa7611610066578063b45faa7614610144578063c6bbd5a714610157578063eb5480481461016a578063f2fde38b1461017d578063f912c64b1461019057600080fd5b80632cb79b72146100a35780634bb846e1146100e15780634ee540b414610102578063715018a6146101155780638da5cb5b1461011f575b600080fd5b6100c86100b1366004610554565b60026020526000908152604090205462ffffff1681565b60405162ffffff90911681526020015b60405180910390f35b6100f46100ef366004610582565b6101a3565b6040519081526020016100d8565b6100c86101103660046105c3565b61020c565b61011d610259565b005b6000546001600160a01b03165b6040516001600160a01b0390911681526020016100d8565b61011d6101523660046105fc565b61026d565b60015461012c906001600160a01b031681565b6100f46101783660046105c3565b6102ab565b61011d61018b36600461064f565b6102c0565b61011d61019e36600461064f565b610339565b60008082116101f95760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e203000000060448201526064015b60405180910390fd5b610204848484610363565b949350505050565b6000806102198484610463565b60008181526002602052604090205490915062ffffff161561024e5760008181526002602052604090205462ffffff16610204565b610bb8949350505050565b6102616104aa565b61026b6000610504565b565b6102756104aa565b60006102818484610463565b6000908152600260205260409020805462ffffff191662ffffff9390931692909217909155505050565b60006102b983836001610363565b9392505050565b6102c86104aa565b6001600160a01b03811661032d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101f0565b61033681610504565b50565b6103416104aa565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000806040518060a00160405280866001600160a01b03168152602001856001600160a01b0316815260200184815260200161039f878761020c565b62ffffff90811682526000602092830181905260015460408051636352813560e11b815286516001600160a01b03908116600483015295870151861660248201529086015160448201526060860151909316606484015260808501518416608484015293945092919091169063c6a5026a9060a401608060405180830381865afa158015610431573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610455919061066c565b509198975050505050505050565b6000816001600160a01b0316836001600160a01b03161115610483579091905b5060601b6bffffffffffffffffffffffff191660c09190911b6001600160c01b0319161790565b6000546001600160a01b0316331461026b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101f0565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561056657600080fd5b5035919050565b6001600160a01b038116811461033657600080fd5b60008060006060848603121561059757600080fd5b83356105a28161056d565b925060208401356105b28161056d565b929592945050506040919091013590565b600080604083850312156105d657600080fd5b82356105e18161056d565b915060208301356105f18161056d565b809150509250929050565b60008060006060848603121561061157600080fd5b833561061c8161056d565b9250602084013561062c8161056d565b9150604084013562ffffff8116811461064457600080fd5b809150509250925092565b60006020828403121561066157600080fd5b81356102b98161056d565b6000806000806080858703121561068257600080fd5b8451935060208501516106948161056d565b604086015190935063ffffffff811681146106ae57600080fd5b606095909501519396929550505056fea2646970667358221220e38a00bfd9c8d0d647b157f4d1cd3cf571f34c8576a2ac7f67bef1e5b0c9054564736f6c634300080f0033",
    "linkReferences": {},
    "deployedLinkReferences": {}
}
