{
  "_format": "hh-sol-artifact-1",
  "contractName": "StabilityPoolStorage",
  "sourceName": "contracts/StabilityPoolStorage.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "DECIMAL_PRECISION",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "NAME",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "P",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "SCALE_FACTOR",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "borrowerOperations",
      "outputs": [
        {
          "internalType": "contract IBorrowerOperations",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "communityIssuance",
      "outputs": [
        {
          "internalType": "contract ICommunityIssuance",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "currentEpoch",
      "outputs": [
        {
          "internalType": "uint128",
          "name": "",
          "type": "uint128"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "currentScale",
      "outputs": [
        {
          "internalType": "uint128",
          "name": "",
          "type": "uint128"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "depositSnapshots",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "S",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "P",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "G",
          "type": "uint256"
        },
        {
          "internalType": "uint128",
          "name": "scale",
          "type": "uint128"
        },
        {
          "internalType": "uint128",
          "name": "epoch",
          "type": "uint128"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "deposits",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "initialValue",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "frontEndTag",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint128",
          "name": "",
          "type": "uint128"
        },
        {
          "internalType": "uint128",
          "name": "",
          "type": "uint128"
        }
      ],
      "name": "epochToScaleToG",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint128",
          "name": "",
          "type": "uint128"
        },
        {
          "internalType": "uint128",
          "name": "",
          "type": "uint128"
        }
      ],
      "name": "epochToScaleToSum",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "frontEndSnapshots",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "S",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "P",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "G",
          "type": "uint256"
        },
        {
          "internalType": "uint128",
          "name": "scale",
          "type": "uint128"
        },
        {
          "internalType": "uint128",
          "name": "epoch",
          "type": "uint128"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "frontEndStakes",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "frontEnds",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "kickbackRate",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "registered",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "lastETHError_Offset",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "lastSOVError",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "lastZUSDLossError_Offset",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        }
      ],
      "name": "setOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "sortedTroves",
      "outputs": [
        {
          "internalType": "contract ISortedTroves",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "troveManager",
      "outputs": [
        {
          "internalType": "contract ITroveManager",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "zusdToken",
      "outputs": [
        {
          "internalType": "contract IZUSDToken",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806108ca6022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6107ab8061011f6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80638b8fbd92116100c3578063ae9187541161007c578063ae918754146103cd578063b31ee965146103d5578063ce4b5bbe146103dd578063d7fb0443146103e5578063ec9f7d46146103ed578063fc7e286d146103f55761014d565b80638b8fbd92146102f157806395fb16bb146102f9578063a20baee614610301578063a3f4df7e14610309578063a4e59ac814610386578063a7bfff971461038e5761014d565b806370f1b5721161011557806370f1b57214610261578063766718081461026957806377553ad41461028d57806382e0a5741461029557806386da0824146102c3578063893d20e8146102e95761014d565b806313af40351461015257806316b9d3c51461017a57806328a0a04d146101d75780633d83908a146102175780635d2de6421461023b575b600080fd5b6101786004803603602081101561016857600080fd5b50356001600160a01b031661043c565b005b6101a06004803603602081101561019057600080fd5b50356001600160a01b03166104af565b604080519586526020860194909452848401929092526001600160801b039081166060850152166080830152519081900360a00190f35b610205600480360360408110156101ed57600080fd5b506001600160801b03813581169160200135166104ea565b60408051918252519081900360200190f35b61021f610507565b604080516001600160a01b039092168252519081900360200190f35b6102056004803603602081101561025157600080fd5b50356001600160a01b0316610516565b610205610528565b61027161052e565b604080516001600160801b039092168252519081900360200190f35b61021f610544565b610205600480360360408110156102ab57600080fd5b506001600160801b0381358116916020013516610553565b6101a0600480360360208110156102d957600080fd5b50356001600160a01b0316610570565b61021f6105ab565b6102056105d5565b61021f6105db565b6102056105ea565b6103116105f6565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561034b578181015183820152602001610333565b50505050905090810190601f1680156103785780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027161061f565b6103b4600480360360208110156103a457600080fd5b50356001600160a01b031661062e565b6040805192835290151560208301528051918290030190f35b61021f61064a565b610205610659565b61020561065f565b610205610667565b61021f61066d565b61041b6004803603602081101561040b57600080fd5b50356001600160a01b031661067c565b604080519283526001600160a01b0390911660208301528051918290030190f35b6104446105ab565b6001600160a01b0316336001600160a01b0316146104a3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104ac8161069e565b50565b600b602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b600e60209081526000928352604080842090915290825290205481565b6001546001600160a01b031681565b600a6020526000908152604090205481565b60105481565b600d54600160801b90046001600160801b031681565b6000546001600160a01b031681565b600f60209081526000928352604080842090915290825290205481565b6008602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b600c5481565b6004546001600160a01b031681565b670de0b6b3a764000081565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b600d546001600160801b031681565b6009602052600090815260409020805460019091015460ff1682565b6003546001600160a01b031681565b60125481565b633b9aca0081565b60115481565b6002546001600160a01b031681565b600760205260009081526040902080546001909101546001600160a01b031682565b6001600160a01b0381166106e35760405162461bcd60e51b81526004018080602001828103825260228152602001806107546022913960400191505060405180910390fd5b806001600160a01b03166106f56105ab565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220db2a7ca21b34d640199d3c485ca39588acb46f71787ef24ecca21fed2336b8c364736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061014d5760003560e01c80638b8fbd92116100c3578063ae9187541161007c578063ae918754146103cd578063b31ee965146103d5578063ce4b5bbe146103dd578063d7fb0443146103e5578063ec9f7d46146103ed578063fc7e286d146103f55761014d565b80638b8fbd92146102f157806395fb16bb146102f9578063a20baee614610301578063a3f4df7e14610309578063a4e59ac814610386578063a7bfff971461038e5761014d565b806370f1b5721161011557806370f1b57214610261578063766718081461026957806377553ad41461028d57806382e0a5741461029557806386da0824146102c3578063893d20e8146102e95761014d565b806313af40351461015257806316b9d3c51461017a57806328a0a04d146101d75780633d83908a146102175780635d2de6421461023b575b600080fd5b6101786004803603602081101561016857600080fd5b50356001600160a01b031661043c565b005b6101a06004803603602081101561019057600080fd5b50356001600160a01b03166104af565b604080519586526020860194909452848401929092526001600160801b039081166060850152166080830152519081900360a00190f35b610205600480360360408110156101ed57600080fd5b506001600160801b03813581169160200135166104ea565b60408051918252519081900360200190f35b61021f610507565b604080516001600160a01b039092168252519081900360200190f35b6102056004803603602081101561025157600080fd5b50356001600160a01b0316610516565b610205610528565b61027161052e565b604080516001600160801b039092168252519081900360200190f35b61021f610544565b610205600480360360408110156102ab57600080fd5b506001600160801b0381358116916020013516610553565b6101a0600480360360208110156102d957600080fd5b50356001600160a01b0316610570565b61021f6105ab565b6102056105d5565b61021f6105db565b6102056105ea565b6103116105f6565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561034b578181015183820152602001610333565b50505050905090810190601f1680156103785780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027161061f565b6103b4600480360360208110156103a457600080fd5b50356001600160a01b031661062e565b6040805192835290151560208301528051918290030190f35b61021f61064a565b610205610659565b61020561065f565b610205610667565b61021f61066d565b61041b6004803603602081101561040b57600080fd5b50356001600160a01b031661067c565b604080519283526001600160a01b0390911660208301528051918290030190f35b6104446105ab565b6001600160a01b0316336001600160a01b0316146104a3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104ac8161069e565b50565b600b602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b600e60209081526000928352604080842090915290825290205481565b6001546001600160a01b031681565b600a6020526000908152604090205481565b60105481565b600d54600160801b90046001600160801b031681565b6000546001600160a01b031681565b600f60209081526000928352604080842090915290825290205481565b6008602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b600c5481565b6004546001600160a01b031681565b670de0b6b3a764000081565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b600d546001600160801b031681565b6009602052600090815260409020805460019091015460ff1682565b6003546001600160a01b031681565b60125481565b633b9aca0081565b60115481565b6002546001600160a01b031681565b600760205260009081526040902080546001909101546001600160a01b031682565b6001600160a01b0381166106e35760405162461bcd60e51b81526004018080602001828103825260228152602001806107546022913960400191505060405180910390fd5b806001600160a01b03166106f56105ab565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220db2a7ca21b34d640199d3c485ca39588acb46f71787ef24ecca21fed2336b8c364736f6c634300060b0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
