{
  "_format": "hh-sol-artifact-1",
  "contractName": "MockPriceOracle",
  "sourceName": "contracts/mocks/MockPriceOracle.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "amm",
          "type": "address"
        },
        {
          "internalType": "uint8",
          "name": "beta",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "quoteAmount",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "negative",
          "type": "bool"
        }
      ],
      "name": "getMarkPriceAcc",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "price",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "amm",
          "type": "address"
        }
      ],
      "name": "getPremiumFraction",
      "outputs": [
        {
          "internalType": "int256",
          "name": "",
          "type": "int256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "p",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pf",
      "outputs": [
        {
          "internalType": "int256",
          "name": "",
          "type": "int256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "baseToken",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "quoteToken",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "baseAmount",
          "type": "uint256"
        }
      ],
      "name": "quote",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "quoteAmount",
          "type": "uint256"
        },
        {
          "internalType": "uint8",
          "name": "source",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_p",
          "type": "uint256"
        }
      ],
      "name": "setMarkPrice",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "int256",
          "name": "_pf",
          "type": "int256"
        }
      ],
      "name": "setPf",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "amm",
          "type": "address"
        }
      ],
      "name": "setupTwap",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "pair",
          "type": "address"
        }
      ],
      "name": "updateAmmTwap",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040526000805534801561001457600080fd5b50600180556102ad806100286000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80637a1dd423116100665780637a1dd423146100f75780639ae8886a1461010a578063b646638414610113578063ccadf7d114610148578063f65770ba1461009857610093565b8063422bb0101461009857806346b55e40146100ab57806347cb3167146100d15780634c0000dc146100e4575b600080fd5b6100a96100a636600461018a565b50565b005b6100be6100b936600461018a565b610151565b6040519081526020015b60405180910390f35b6100a96100df36600461023f565b600155565b6100be6100f23660046101e6565b61015a565b6100a961010536600461023f565b600055565b6100be60015481565b6101316101213660046101ab565b5064174876e80092600092509050565b6040805192835260ff9091166020830152016100c8565b6100be60005481565b6000545b919050565b60006001548361016a9190610257565b95945050505050565b80356001600160a01b038116811461015557600080fd5b60006020828403121561019b578081fd5b6101a482610173565b9392505050565b6000806000606084860312156101bf578182fd5b6101c884610173565b92506101d660208501610173565b9150604084013590509250925092565b600080600080608085870312156101fb578081fd5b61020485610173565b9350602085013560ff81168114610219578182fd5b92506040850135915060608501358015158114610234578182fd5b939692955090935050565b600060208284031215610250578081fd5b5035919050565b60008261027257634e487b7160e01b81526012600452602481fd5b50049056fea2646970667358221220a612f7602fe8204de0659a80b7f4052d4fa4b9367543782a95f8f5709f3cd48e64736f6c63430008020033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c80637a1dd423116100665780637a1dd423146100f75780639ae8886a1461010a578063b646638414610113578063ccadf7d114610148578063f65770ba1461009857610093565b8063422bb0101461009857806346b55e40146100ab57806347cb3167146100d15780634c0000dc146100e4575b600080fd5b6100a96100a636600461018a565b50565b005b6100be6100b936600461018a565b610151565b6040519081526020015b60405180910390f35b6100a96100df36600461023f565b600155565b6100be6100f23660046101e6565b61015a565b6100a961010536600461023f565b600055565b6100be60015481565b6101316101213660046101ab565b5064174876e80092600092509050565b6040805192835260ff9091166020830152016100c8565b6100be60005481565b6000545b919050565b60006001548361016a9190610257565b95945050505050565b80356001600160a01b038116811461015557600080fd5b60006020828403121561019b578081fd5b6101a482610173565b9392505050565b6000806000606084860312156101bf578182fd5b6101c884610173565b92506101d660208501610173565b9150604084013590509250925092565b600080600080608085870312156101fb578081fd5b61020485610173565b9350602085013560ff81168114610219578182fd5b92506040850135915060608501358015158114610234578182fd5b939692955090935050565b600060208284031215610250578081fd5b5035919050565b60008261027257634e487b7160e01b81526012600452602481fd5b50049056fea2646970667358221220a612f7602fe8204de0659a80b7f4052d4fa4b9367543782a95f8f5709f3cd48e64736f6c63430008020033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
