{
  "_format": "hh-sol-artifact-1",
  "contractName": "SimpleSLPTWAP0OracleV1",
  "sourceName": "contracts/flat/SimpleSLPTWAP0OracleFlat.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": "0x608060405234801561001057600080fd5b50610da1806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063d39bbef011610066578063d39bbef014610127578063d568866c1461013a578063d6d7d5251461014d578063eeb8a8d31461016e578063fe33b302146101815761009e565b80634709904d146100a357806354fd9238146100cc5780637046db52146100ec578063b4d1d7951461010c578063c699c4d614610114575b600080fd5b6100b66100b1366004610a3d565b6101a3565b6040516100c39190610bd7565b60405180910390f35b6100df6100da366004610acd565b6101be565b6040516100c39190610cfe565b6100ff6100fa366004610a3d565b6102f0565b6040516100c39190610bc4565b6100df610319565b6100ff610122366004610a60565b61031f565b6100df610135366004610a60565b61033f565b6100ff610148366004610a60565b6103fa565b61016061015b366004610a60565b610424565b6040516100c3929190610bb4565b61016061017c366004610a60565b610622565b61019461018f366004610a3d565b610755565b6040516100c393929190610d07565b6001602052600090815260409020546001600160a01b031681565b600080836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b1580156101fa57600080fd5b505afa15801561020e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102329190610b51565b90506000806000866001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561027257600080fd5b505afa158015610286573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102aa9190610b05565b92509250925080860363ffffffff166102d5836001600160701b0316856001600160701b0316610787565b516001600160e01b0316029390930193505050505b92915050565b6060816040516020016103039190610bd7565b6040516020818303038152906040529050919050565b61012c81565b50506040805180820190915260048152630545741560e41b602082015290565b60008061034e83850185610a3d565b9050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561038c57600080fd5b505afa1580156103a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c49190610b05565b506001600160701b039182169350169050816103e882670de0b6b3a7640000610873565b816103ef57fe5b049695505050505050565b505060408051808201909152600e81526d053757368695377617020545741560941b602082015290565b6000808061043484860186610a3d565b6001600160a01b038116600090815260208190526040902060010154909150429063ffffffff166104bf576001600160a01b0382166000908152602081905260409020600101805463ffffffff191663ffffffff831617905561049782826101be565b6001600160a01b0390921660009081526020819052604081209290925550915081905061061b565b6001600160a01b03821660009081526020819052604090206001015463ffffffff90811682039061012c908216101561052c5750506001600160a01b0316600090815260208190526040902060019081015490925064010000000090046001600160901b0316905061061b565b600061053884846101be565b90506105a361059e670de0b6b3a764000060405180602001604052808663ffffffff166000808b6001600160a01b03166001600160a01b031681526020019081526020016000206000015487038161058c57fe5b046001600160e01b03169052906108aa565b610909565b6001600160a01b0390941660009081526020819052604090206001808201805463ffffffff90961663ffffffff196001600160901b0398891664010000000090810275ffffffffffffffffffffffffffffffffffff000000001990991698909817161790819055929091559550919091049091169150505b9250929050565b6000808061063284860186610a3d565b6001600160a01b038116600090815260208190526040902060010154909150429063ffffffff1661066b5760008093509350505061061b565b6001600160a01b03821660009081526020819052604090206001015463ffffffff90811682039061012c90821610156106d85750506001600160a01b0316600090815260208190526040902060019081015490925064010000000090046001600160901b0316905061061b565b60006106e484846101be565b9050600061073a61059e670de0b6b3a764000060405180602001604052808763ffffffff166000808c6001600160a01b03166001600160a01b031681526020019081526020016000206000015488038161058c57fe5b600197506001600160901b0316955050505050509250929050565b6000602081905290815260409020805460019091015463ffffffff81169064010000000090046001600160901b031683565b61078f610a18565b600082116107b85760405162461bcd60e51b81526004016107af90610c90565b60405180910390fd5b826107d257506040805160208101909152600081526102ea565b6001600160901b03831161083957600082607085901b816107ef57fe5b0490506001600160e01b038111156108195760405162461bcd60e51b81526004016107af90610c59565b6040518060200160405280826001600160e01b03168152509150506102ea565b600061084a84600160701b85610910565b90506001600160e01b038111156108195760405162461bcd60e51b81526004016107af90610c59565b600081158061088e5750508082028282828161088b57fe5b04145b6102ea5760405162461bcd60e51b81526004016107af90610cc7565b6108b2610a2a565b60008215806108d857505082516001600160e01b0316828102908382816108d557fe5b04145b6108f45760405162461bcd60e51b81526004016107af90610beb565b60408051602081019091529081529392505050565b5160701c90565b600080600061091f868661097b565b915091506000848061092d57fe5b868809905082811115610941576001820391505b80830392508482106109655760405162461bcd60e51b81526004016107af90610c22565b6109708383876109a8565b979650505050505050565b60008080600019848609905083850292508281039150828110156109a0576001820391505b509250929050565b600081810382168083816109b857fe5b0492508085816109c457fe5b0494508081600003816109d357fe5b60028581038087028203028087028203028087028203028087028203028087028203028087028203029586029003909402930460010193909302939093010292915050565b60408051602081019091526000815290565b6040518060200160405280600081525090565b600060208284031215610a4e578081fd5b8135610a5981610d2c565b9392505050565b60008060208385031215610a72578081fd5b823567ffffffffffffffff80821115610a89578283fd5b818501915085601f830112610a9c578283fd5b813581811115610aaa578384fd5b866020828501011115610abb578384fd5b60209290920196919550909350505050565b60008060408385031215610adf578182fd5b8235610aea81610d2c565b91506020830135610afa81610d59565b809150509250929050565b600080600060608486031215610b19578081fd5b8351610b2481610d44565b6020850151909350610b3581610d44565b6040850151909250610b4681610d59565b809150509250925092565b600060208284031215610b62578081fd5b5051919050565b60008151808452815b81811015610b8e57602081850181015186830182015201610b72565b81811115610b9f5782602083870101525b50601f01601f19169290920160200192915050565b9115158252602082015260400190565b600060208252610a596020830184610b69565b6001600160a01b0391909116815260200190565b60208082526019908201527f4669786564506f696e743a3a6d756c3a206f766572666c6f7700000000000000604082015260600190565b6020808252601a908201527f46756c6c4d6174683a3a6d756c4469763a206f766572666c6f77000000000000604082015260600190565b6020808252601e908201527f4669786564506f696e743a3a6672616374696f6e3a206f766572666c6f770000604082015260600190565b6020808252601e908201527f4669786564506f696e743a3a6672616374696f6e3a2064697620627920300000604082015260600190565b60208082526018908201527f426f72696e674d6174683a204d756c204f766572666c6f770000000000000000604082015260600190565b90815260200190565b92835263ffffffff9190911660208301526001600160901b0316604082015260600190565b6001600160a01b0381168114610d4157600080fd5b50565b6001600160701b0381168114610d4157600080fd5b63ffffffff81168114610d4157600080fdfea26469706673582212204898b55de129072b9aaa697cc25c6bf72de40a38be5065cf1c06b8737132dc9964736f6c634300060c0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063d39bbef011610066578063d39bbef014610127578063d568866c1461013a578063d6d7d5251461014d578063eeb8a8d31461016e578063fe33b302146101815761009e565b80634709904d146100a357806354fd9238146100cc5780637046db52146100ec578063b4d1d7951461010c578063c699c4d614610114575b600080fd5b6100b66100b1366004610a3d565b6101a3565b6040516100c39190610bd7565b60405180910390f35b6100df6100da366004610acd565b6101be565b6040516100c39190610cfe565b6100ff6100fa366004610a3d565b6102f0565b6040516100c39190610bc4565b6100df610319565b6100ff610122366004610a60565b61031f565b6100df610135366004610a60565b61033f565b6100ff610148366004610a60565b6103fa565b61016061015b366004610a60565b610424565b6040516100c3929190610bb4565b61016061017c366004610a60565b610622565b61019461018f366004610a3d565b610755565b6040516100c393929190610d07565b6001602052600090815260409020546001600160a01b031681565b600080836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b1580156101fa57600080fd5b505afa15801561020e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102329190610b51565b90506000806000866001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561027257600080fd5b505afa158015610286573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102aa9190610b05565b92509250925080860363ffffffff166102d5836001600160701b0316856001600160701b0316610787565b516001600160e01b0316029390930193505050505b92915050565b6060816040516020016103039190610bd7565b6040516020818303038152906040529050919050565b61012c81565b50506040805180820190915260048152630545741560e41b602082015290565b60008061034e83850185610a3d565b9050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561038c57600080fd5b505afa1580156103a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c49190610b05565b506001600160701b039182169350169050816103e882670de0b6b3a7640000610873565b816103ef57fe5b049695505050505050565b505060408051808201909152600e81526d053757368695377617020545741560941b602082015290565b6000808061043484860186610a3d565b6001600160a01b038116600090815260208190526040902060010154909150429063ffffffff166104bf576001600160a01b0382166000908152602081905260409020600101805463ffffffff191663ffffffff831617905561049782826101be565b6001600160a01b0390921660009081526020819052604081209290925550915081905061061b565b6001600160a01b03821660009081526020819052604090206001015463ffffffff90811682039061012c908216101561052c5750506001600160a01b0316600090815260208190526040902060019081015490925064010000000090046001600160901b0316905061061b565b600061053884846101be565b90506105a361059e670de0b6b3a764000060405180602001604052808663ffffffff166000808b6001600160a01b03166001600160a01b031681526020019081526020016000206000015487038161058c57fe5b046001600160e01b03169052906108aa565b610909565b6001600160a01b0390941660009081526020819052604090206001808201805463ffffffff90961663ffffffff196001600160901b0398891664010000000090810275ffffffffffffffffffffffffffffffffffff000000001990991698909817161790819055929091559550919091049091169150505b9250929050565b6000808061063284860186610a3d565b6001600160a01b038116600090815260208190526040902060010154909150429063ffffffff1661066b5760008093509350505061061b565b6001600160a01b03821660009081526020819052604090206001015463ffffffff90811682039061012c90821610156106d85750506001600160a01b0316600090815260208190526040902060019081015490925064010000000090046001600160901b0316905061061b565b60006106e484846101be565b9050600061073a61059e670de0b6b3a764000060405180602001604052808763ffffffff166000808c6001600160a01b03166001600160a01b031681526020019081526020016000206000015488038161058c57fe5b600197506001600160901b0316955050505050509250929050565b6000602081905290815260409020805460019091015463ffffffff81169064010000000090046001600160901b031683565b61078f610a18565b600082116107b85760405162461bcd60e51b81526004016107af90610c90565b60405180910390fd5b826107d257506040805160208101909152600081526102ea565b6001600160901b03831161083957600082607085901b816107ef57fe5b0490506001600160e01b038111156108195760405162461bcd60e51b81526004016107af90610c59565b6040518060200160405280826001600160e01b03168152509150506102ea565b600061084a84600160701b85610910565b90506001600160e01b038111156108195760405162461bcd60e51b81526004016107af90610c59565b600081158061088e5750508082028282828161088b57fe5b04145b6102ea5760405162461bcd60e51b81526004016107af90610cc7565b6108b2610a2a565b60008215806108d857505082516001600160e01b0316828102908382816108d557fe5b04145b6108f45760405162461bcd60e51b81526004016107af90610beb565b60408051602081019091529081529392505050565b5160701c90565b600080600061091f868661097b565b915091506000848061092d57fe5b868809905082811115610941576001820391505b80830392508482106109655760405162461bcd60e51b81526004016107af90610c22565b6109708383876109a8565b979650505050505050565b60008080600019848609905083850292508281039150828110156109a0576001820391505b509250929050565b600081810382168083816109b857fe5b0492508085816109c457fe5b0494508081600003816109d357fe5b60028581038087028203028087028203028087028203028087028203028087028203028087028203029586029003909402930460010193909302939093010292915050565b60408051602081019091526000815290565b6040518060200160405280600081525090565b600060208284031215610a4e578081fd5b8135610a5981610d2c565b9392505050565b60008060208385031215610a72578081fd5b823567ffffffffffffffff80821115610a89578283fd5b818501915085601f830112610a9c578283fd5b813581811115610aaa578384fd5b866020828501011115610abb578384fd5b60209290920196919550909350505050565b60008060408385031215610adf578182fd5b8235610aea81610d2c565b91506020830135610afa81610d59565b809150509250929050565b600080600060608486031215610b19578081fd5b8351610b2481610d44565b6020850151909350610b3581610d44565b6040850151909250610b4681610d59565b809150509250925092565b600060208284031215610b62578081fd5b5051919050565b60008151808452815b81811015610b8e57602081850181015186830182015201610b72565b81811115610b9f5782602083870101525b50601f01601f19169290920160200192915050565b9115158252602082015260400190565b600060208252610a596020830184610b69565b6001600160a01b0391909116815260200190565b60208082526019908201527f4669786564506f696e743a3a6d756c3a206f766572666c6f7700000000000000604082015260600190565b6020808252601a908201527f46756c6c4d6174683a3a6d756c4469763a206f766572666c6f77000000000000604082015260600190565b6020808252601e908201527f4669786564506f696e743a3a6672616374696f6e3a206f766572666c6f770000604082015260600190565b6020808252601e908201527f4669786564506f696e743a3a6672616374696f6e3a2064697620627920300000604082015260600190565b60208082526018908201527f426f72696e674d6174683a204d756c204f766572666c6f770000000000000000604082015260600190565b90815260200190565b92835263ffffffff9190911660208301526001600160901b0316604082015260600190565b6001600160a01b0381168114610d4157600080fd5b50565b6001600160701b0381168114610d4157600080fd5b63ffffffff81168114610d4157600080fdfea26469706673582212204898b55de129072b9aaa697cc25c6bf72de40a38be5065cf1c06b8737132dc9964736f6c634300060c0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
