{
  "_format": "hh-sol-artifact-1",
  "contractName": "SimpleSLPTWAP1Oracle",
  "sourceName": "contracts/oracles/SimpleSLPTWAP1Oracle.sol",
  "abi": [
    {
      "inputs": [],
      "name": "PERIOD",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IUniswapV2Pair",
          "name": "pair",
          "type": "address"
        },
        {
          "internalType": "uint32",
          "name": "blockTimestamp",
          "type": "uint32"
        }
      ],
      "name": "_get",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "callerInfo",
      "outputs": [
        {
          "internalType": "contract IUniswapV2Pair",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "get",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IUniswapV2Pair",
          "name": "pair",
          "type": "address"
        }
      ],
      "name": "getDataParameter",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IUniswapV2Pair",
          "name": "",
          "type": "address"
        }
      ],
      "name": "pairs",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "priceCumulativeLast",
          "type": "uint256"
        },
        {
          "internalType": "uint32",
          "name": "blockTimestampLast",
          "type": "uint32"
        },
        {
          "internalType": "uint144",
          "name": "priceAverage",
          "type": "uint144"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "peek",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "peekSpot",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "rate",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610d9e806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063d39bbef011610066578063d39bbef014610127578063d568866c1461013a578063d6d7d5251461014d578063eeb8a8d31461016e578063fe33b302146101815761009e565b80634709904d146100a357806354fd9238146100cc5780637046db52146100ec578063b4d1d7951461010c578063c699c4d614610114575b600080fd5b6100b66100b1366004610a3a565b6101a3565b6040516100c39190610bd4565b60405180910390f35b6100df6100da366004610aca565b6101be565b6040516100c39190610cfb565b6100ff6100fa366004610a3a565b6102f0565b6040516100c39190610bc1565b6100df610319565b6100ff610122366004610a5d565b61031f565b6100df610135366004610a5d565b61033c565b6100ff610148366004610a5d565b6103f7565b61016061015b366004610a5d565b610421565b6040516100c3929190610bb1565b61016061017c366004610a5d565b61061f565b61019461018f366004610a3a565b610752565b6040516100c393929190610d04565b6001602052600090815260409020546001600160a01b031681565b600080836001600160a01b0316635a3d54936040518163ffffffff1660e01b815260040160206040518083038186803b1580156101fa57600080fd5b505afa15801561020e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102329190610b4e565b90506000806000866001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561027257600080fd5b505afa158015610286573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102aa9190610b02565b92509250925080860363ffffffff166102d5846001600160701b0316846001600160701b0316610784565b516001600160e01b0316029390930193505050505b92915050565b6060816040516020016103039190610bd4565b6040516020818303038152906040529050919050565b61012c81565b50506040805180820190915260018152605360f81b602082015290565b60008061034b83850185610a3a565b9050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561038957600080fd5b505afa15801561039d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c19190610b02565b506001600160701b039182169350169050806103e583670de0b6b3a7640000610870565b816103ec57fe5b049695505050505050565b505060408051808201909152600e81526d053757368695377617020545741560941b602082015290565b6000808061043184860186610a3a565b6001600160a01b038116600090815260208190526040902060010154909150429063ffffffff166104bc576001600160a01b0382166000908152602081905260409020600101805463ffffffff191663ffffffff831617905561049482826101be565b6001600160a01b03909216600090815260208190526040812092909255509150819050610618565b6001600160a01b03821660009081526020819052604090206001015463ffffffff90811682039061012c90821610156105295750506001600160a01b0316600090815260208190526040902060019081015490925064010000000090046001600160901b03169050610618565b600061053584846101be565b90506105a061059b670de0b6b3a764000060405180602001604052808663ffffffff166000808b6001600160a01b03166001600160a01b031681526020019081526020016000206000015487038161058957fe5b046001600160e01b03169052906108a7565b610906565b6001600160a01b0390941660009081526020819052604090206001808201805463ffffffff90961663ffffffff196001600160901b0398891664010000000090810275ffffffffffffffffffffffffffffffffffff000000001990991698909817161790819055929091559550919091049091169150505b9250929050565b6000808061062f84860186610a3a565b6001600160a01b038116600090815260208190526040902060010154909150429063ffffffff1661066857600080935093505050610618565b6001600160a01b03821660009081526020819052604090206001015463ffffffff90811682039061012c90821610156106d55750506001600160a01b0316600090815260208190526040902060019081015490925064010000000090046001600160901b03169050610618565b60006106e184846101be565b9050600061073761059b670de0b6b3a764000060405180602001604052808763ffffffff166000808c6001600160a01b03166001600160a01b031681526020019081526020016000206000015488038161058957fe5b600197506001600160901b0316955050505050509250929050565b6000602081905290815260409020805460019091015463ffffffff81169064010000000090046001600160901b031683565b61078c610a15565b600082116107b55760405162461bcd60e51b81526004016107ac90610c8d565b60405180910390fd5b826107cf57506040805160208101909152600081526102ea565b6001600160901b03831161083657600082607085901b816107ec57fe5b0490506001600160e01b038111156108165760405162461bcd60e51b81526004016107ac90610c56565b6040518060200160405280826001600160e01b03168152509150506102ea565b600061084784600160701b8561090d565b90506001600160e01b038111156108165760405162461bcd60e51b81526004016107ac90610c56565b600081158061088b5750508082028282828161088857fe5b04145b6102ea5760405162461bcd60e51b81526004016107ac90610cc4565b6108af610a27565b60008215806108d557505082516001600160e01b0316828102908382816108d257fe5b04145b6108f15760405162461bcd60e51b81526004016107ac90610be8565b60408051602081019091529081529392505050565b5160701c90565b600080600061091c8686610978565b915091506000848061092a57fe5b86880990508281111561093e576001820391505b80830392508482106109625760405162461bcd60e51b81526004016107ac90610c1f565b61096d8383876109a5565b979650505050505050565b600080806000198486099050838502925082810391508281101561099d576001820391505b509250929050565b600081810382168083816109b557fe5b0492508085816109c157fe5b0494508081600003816109d057fe5b60028581038087028203028087028203028087028203028087028203028087028203028087028203029586029003909402930460010193909302939093010292915050565b60408051602081019091526000815290565b6040518060200160405280600081525090565b600060208284031215610a4b578081fd5b8135610a5681610d29565b9392505050565b60008060208385031215610a6f578081fd5b823567ffffffffffffffff80821115610a86578283fd5b818501915085601f830112610a99578283fd5b813581811115610aa7578384fd5b866020828501011115610ab8578384fd5b60209290920196919550909350505050565b60008060408385031215610adc578182fd5b8235610ae781610d29565b91506020830135610af781610d56565b809150509250929050565b600080600060608486031215610b16578081fd5b8351610b2181610d41565b6020850151909350610b3281610d41565b6040850151909250610b4381610d56565b809150509250925092565b600060208284031215610b5f578081fd5b5051919050565b60008151808452815b81811015610b8b57602081850181015186830182015201610b6f565b81811115610b9c5782602083870101525b50601f01601f19169290920160200192915050565b9115158252602082015260400190565b600060208252610a566020830184610b66565b6001600160a01b0391909116815260200190565b60208082526019908201527f4669786564506f696e743a3a6d756c3a206f766572666c6f7700000000000000604082015260600190565b6020808252601a908201527f46756c6c4d6174683a3a6d756c4469763a206f766572666c6f77000000000000604082015260600190565b6020808252601e908201527f4669786564506f696e743a3a6672616374696f6e3a206f766572666c6f770000604082015260600190565b6020808252601e908201527f4669786564506f696e743a3a6672616374696f6e3a2064697620627920300000604082015260600190565b60208082526018908201527f426f72696e674d6174683a204d756c204f766572666c6f770000000000000000604082015260600190565b90815260200190565b92835263ffffffff9190911660208301526001600160901b0316604082015260600190565b6001600160a01b0381168114610d3e57600080fd5b50565b6001600160701b0381168114610d3e57600080fd5b63ffffffff81168114610d3e57600080fdfea2646970667358221220d12273ced22787a28f563eb39a9b8354e31258641dd8d04891d224cba84cd8ba64736f6c634300060c0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063d39bbef011610066578063d39bbef014610127578063d568866c1461013a578063d6d7d5251461014d578063eeb8a8d31461016e578063fe33b302146101815761009e565b80634709904d146100a357806354fd9238146100cc5780637046db52146100ec578063b4d1d7951461010c578063c699c4d614610114575b600080fd5b6100b66100b1366004610a3a565b6101a3565b6040516100c39190610bd4565b60405180910390f35b6100df6100da366004610aca565b6101be565b6040516100c39190610cfb565b6100ff6100fa366004610a3a565b6102f0565b6040516100c39190610bc1565b6100df610319565b6100ff610122366004610a5d565b61031f565b6100df610135366004610a5d565b61033c565b6100ff610148366004610a5d565b6103f7565b61016061015b366004610a5d565b610421565b6040516100c3929190610bb1565b61016061017c366004610a5d565b61061f565b61019461018f366004610a3a565b610752565b6040516100c393929190610d04565b6001602052600090815260409020546001600160a01b031681565b600080836001600160a01b0316635a3d54936040518163ffffffff1660e01b815260040160206040518083038186803b1580156101fa57600080fd5b505afa15801561020e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102329190610b4e565b90506000806000866001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561027257600080fd5b505afa158015610286573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102aa9190610b02565b92509250925080860363ffffffff166102d5846001600160701b0316846001600160701b0316610784565b516001600160e01b0316029390930193505050505b92915050565b6060816040516020016103039190610bd4565b6040516020818303038152906040529050919050565b61012c81565b50506040805180820190915260018152605360f81b602082015290565b60008061034b83850185610a3a565b9050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561038957600080fd5b505afa15801561039d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c19190610b02565b506001600160701b039182169350169050806103e583670de0b6b3a7640000610870565b816103ec57fe5b049695505050505050565b505060408051808201909152600e81526d053757368695377617020545741560941b602082015290565b6000808061043184860186610a3a565b6001600160a01b038116600090815260208190526040902060010154909150429063ffffffff166104bc576001600160a01b0382166000908152602081905260409020600101805463ffffffff191663ffffffff831617905561049482826101be565b6001600160a01b03909216600090815260208190526040812092909255509150819050610618565b6001600160a01b03821660009081526020819052604090206001015463ffffffff90811682039061012c90821610156105295750506001600160a01b0316600090815260208190526040902060019081015490925064010000000090046001600160901b03169050610618565b600061053584846101be565b90506105a061059b670de0b6b3a764000060405180602001604052808663ffffffff166000808b6001600160a01b03166001600160a01b031681526020019081526020016000206000015487038161058957fe5b046001600160e01b03169052906108a7565b610906565b6001600160a01b0390941660009081526020819052604090206001808201805463ffffffff90961663ffffffff196001600160901b0398891664010000000090810275ffffffffffffffffffffffffffffffffffff000000001990991698909817161790819055929091559550919091049091169150505b9250929050565b6000808061062f84860186610a3a565b6001600160a01b038116600090815260208190526040902060010154909150429063ffffffff1661066857600080935093505050610618565b6001600160a01b03821660009081526020819052604090206001015463ffffffff90811682039061012c90821610156106d55750506001600160a01b0316600090815260208190526040902060019081015490925064010000000090046001600160901b03169050610618565b60006106e184846101be565b9050600061073761059b670de0b6b3a764000060405180602001604052808763ffffffff166000808c6001600160a01b03166001600160a01b031681526020019081526020016000206000015488038161058957fe5b600197506001600160901b0316955050505050509250929050565b6000602081905290815260409020805460019091015463ffffffff81169064010000000090046001600160901b031683565b61078c610a15565b600082116107b55760405162461bcd60e51b81526004016107ac90610c8d565b60405180910390fd5b826107cf57506040805160208101909152600081526102ea565b6001600160901b03831161083657600082607085901b816107ec57fe5b0490506001600160e01b038111156108165760405162461bcd60e51b81526004016107ac90610c56565b6040518060200160405280826001600160e01b03168152509150506102ea565b600061084784600160701b8561090d565b90506001600160e01b038111156108165760405162461bcd60e51b81526004016107ac90610c56565b600081158061088b5750508082028282828161088857fe5b04145b6102ea5760405162461bcd60e51b81526004016107ac90610cc4565b6108af610a27565b60008215806108d557505082516001600160e01b0316828102908382816108d257fe5b04145b6108f15760405162461bcd60e51b81526004016107ac90610be8565b60408051602081019091529081529392505050565b5160701c90565b600080600061091c8686610978565b915091506000848061092a57fe5b86880990508281111561093e576001820391505b80830392508482106109625760405162461bcd60e51b81526004016107ac90610c1f565b61096d8383876109a5565b979650505050505050565b600080806000198486099050838502925082810391508281101561099d576001820391505b509250929050565b600081810382168083816109b557fe5b0492508085816109c157fe5b0494508081600003816109d057fe5b60028581038087028203028087028203028087028203028087028203028087028203028087028203029586029003909402930460010193909302939093010292915050565b60408051602081019091526000815290565b6040518060200160405280600081525090565b600060208284031215610a4b578081fd5b8135610a5681610d29565b9392505050565b60008060208385031215610a6f578081fd5b823567ffffffffffffffff80821115610a86578283fd5b818501915085601f830112610a99578283fd5b813581811115610aa7578384fd5b866020828501011115610ab8578384fd5b60209290920196919550909350505050565b60008060408385031215610adc578182fd5b8235610ae781610d29565b91506020830135610af781610d56565b809150509250929050565b600080600060608486031215610b16578081fd5b8351610b2181610d41565b6020850151909350610b3281610d41565b6040850151909250610b4381610d56565b809150509250925092565b600060208284031215610b5f578081fd5b5051919050565b60008151808452815b81811015610b8b57602081850181015186830182015201610b6f565b81811115610b9c5782602083870101525b50601f01601f19169290920160200192915050565b9115158252602082015260400190565b600060208252610a566020830184610b66565b6001600160a01b0391909116815260200190565b60208082526019908201527f4669786564506f696e743a3a6d756c3a206f766572666c6f7700000000000000604082015260600190565b6020808252601a908201527f46756c6c4d6174683a3a6d756c4469763a206f766572666c6f77000000000000604082015260600190565b6020808252601e908201527f4669786564506f696e743a3a6672616374696f6e3a206f766572666c6f770000604082015260600190565b6020808252601e908201527f4669786564506f696e743a3a6672616374696f6e3a2064697620627920300000604082015260600190565b60208082526018908201527f426f72696e674d6174683a204d756c204f766572666c6f770000000000000000604082015260600190565b90815260200190565b92835263ffffffff9190911660208301526001600160901b0316604082015260600190565b6001600160a01b0381168114610d3e57600080fd5b50565b6001600160701b0381168114610d3e57600080fd5b63ffffffff81168114610d3e57600080fdfea2646970667358221220d12273ced22787a28f563eb39a9b8354e31258641dd8d04891d224cba84cd8ba64736f6c634300060c0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
