{
  "_format": "hh-sol-artifact-1",
  "contractName": "SetValuer",
  "sourceName": "contracts/protocol/SetValuer.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IController",
          "name": "_controller",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "contract ISetToken",
          "name": "_setToken",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_quoteAsset",
          "type": "address"
        }
      ],
      "name": "calculateSetTokenValuation",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "controller",
      "outputs": [
        {
          "internalType": "contract IController",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50604051610a91380380610a9183398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610082565b600060208284031215610065578081fd5b81516001600160a01b038116811461007b578182fd5b9392505050565b610a00806100916000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80636101c5401461003b578063f77c479114610064575b600080fd5b61004e610049366004610768565b610079565b60405161005b9190610982565b60405180910390f35b61006c61044f565b60405161005b91906107d9565b600080548190610091906001600160a01b031661045e565b90506000816001600160a01b031663342833546040518163ffffffff1660e01b815260040160206040518083038186803b1580156100ce57600080fd5b505afa1580156100e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010691906106a1565b90506060856001600160a01b03166399d50d5d6040518163ffffffff1660e01b815260040160006040518083038186803b15801561014357600080fd5b505afa158015610157573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261017f91908101906106bd565b90506000805b825181101561037f57600083828151811061019c57fe5b602002602001015190506000866001600160a01b031663ac41865a83886040518363ffffffff1660e01b81526004016101d69291906107ed565b60206040518083038186803b1580156101ee57600080fd5b505afa158015610202573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022691906107a0565b905060008a6001600160a01b031663eaf993e1846040518263ffffffff1660e01b815260040161025691906107d9565b60206040518083038186803b15801561026e57600080fd5b505afa158015610282573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a691906107a0565b90506000836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156102e357600080fd5b505afa1580156102f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031b91906107b8565b60ff169050600a81900a6000610340610333836104de565b859063ffffffff61051016565b905061036b8861035f610352886104de565b849063ffffffff61054116565b9063ffffffff61055f16565b975050600190950194506101859350505050565b50856001600160a01b0316836001600160a01b03161461043957604051635620c32d60e11b81526000906001600160a01b0386169063ac41865a906103ca908a9088906004016107ed565b60206040518083038186803b1580156103e257600080fd5b505afa1580156103f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041a91906107a0565b9050610435610428826104de565b839063ffffffff61051016565b9150505b610442816105a5565b9450505050505b92915050565b6000546001600160a01b031681565b6040516373b2e76b60e11b81526000906001600160a01b0383169063e765ced69061048e90600190600401610982565b60206040518083038186803b1580156104a657600080fd5b505afa1580156104ba573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044991906106a1565b6000600160ff1b821061050c5760405162461bcd60e51b815260040161050390610905565b60405180910390fd5b5090565b600061053a8261052e85670de0b6b3a764000063ffffffff6105c716565b9063ffffffff61063216565b9392505050565b600061053a670de0b6b3a764000061052e858563ffffffff6105c716565b60008282018183128015906105745750838112155b80610589575060008312801561058957508381125b61053a5760405162461bcd60e51b815260040161050390610807565b60008082121561050c5760405162461bcd60e51b815260040161050390610848565b6000826105d657506000610449565b826000191480156105ea5750600160ff1b82145b156106075760405162461bcd60e51b8152600401610503906108be565b8282028284828161061457fe5b051461053a5760405162461bcd60e51b8152600401610503906108be565b6000816106515760405162461bcd60e51b81526004016105039061094d565b816000191480156106655750600160ff1b83145b156106825760405162461bcd60e51b81526004016105039061087d565b600082848161068d57fe5b05949350505050565b8051610449816109b2565b6000602082840312156106b2578081fd5b815161053a816109b2565b600060208083850312156106cf578182fd5b825167ffffffffffffffff808211156106e6578384fd5b81850186601f8201126106f7578485fd5b8051925081831115610707578485fd5b838302915061071784830161098b565b8381528481019082860184840187018a1015610731578788fd5b8794505b8585101561075b576107478a82610696565b835260019490940193918601918601610735565b5098975050505050505050565b6000806040838503121561077a578081fd5b8235610785816109b2565b91506020830135610795816109b2565b809150509250929050565b6000602082840312156107b1578081fd5b5051919050565b6000602082840312156107c9578081fd5b815160ff8116811461053a578182fd5b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b60208082526021908201527f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f53616665436173743a2076616c7565206d75737420626520706f736974697665604082015260600190565b60208082526021908201527f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526027908201527f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f604082015266766572666c6f7760c81b606082015260800190565b60208082526028908201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604082015267371034b73a191a9b60c11b606082015260800190565b6020808252818101527f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f604082015260600190565b90815260200190565b60405181810167ffffffffffffffff811182821017156109aa57600080fd5b604052919050565b6001600160a01b03811681146109c757600080fd5b5056fea26469706673582212202b51c65e976c93283f20d08b518bd3ec3caba079a25252baee4764cc5ecbe72964736f6c634300060a0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80636101c5401461003b578063f77c479114610064575b600080fd5b61004e610049366004610768565b610079565b60405161005b9190610982565b60405180910390f35b61006c61044f565b60405161005b91906107d9565b600080548190610091906001600160a01b031661045e565b90506000816001600160a01b031663342833546040518163ffffffff1660e01b815260040160206040518083038186803b1580156100ce57600080fd5b505afa1580156100e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010691906106a1565b90506060856001600160a01b03166399d50d5d6040518163ffffffff1660e01b815260040160006040518083038186803b15801561014357600080fd5b505afa158015610157573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261017f91908101906106bd565b90506000805b825181101561037f57600083828151811061019c57fe5b602002602001015190506000866001600160a01b031663ac41865a83886040518363ffffffff1660e01b81526004016101d69291906107ed565b60206040518083038186803b1580156101ee57600080fd5b505afa158015610202573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022691906107a0565b905060008a6001600160a01b031663eaf993e1846040518263ffffffff1660e01b815260040161025691906107d9565b60206040518083038186803b15801561026e57600080fd5b505afa158015610282573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a691906107a0565b90506000836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156102e357600080fd5b505afa1580156102f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031b91906107b8565b60ff169050600a81900a6000610340610333836104de565b859063ffffffff61051016565b905061036b8861035f610352886104de565b849063ffffffff61054116565b9063ffffffff61055f16565b975050600190950194506101859350505050565b50856001600160a01b0316836001600160a01b03161461043957604051635620c32d60e11b81526000906001600160a01b0386169063ac41865a906103ca908a9088906004016107ed565b60206040518083038186803b1580156103e257600080fd5b505afa1580156103f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041a91906107a0565b9050610435610428826104de565b839063ffffffff61051016565b9150505b610442816105a5565b9450505050505b92915050565b6000546001600160a01b031681565b6040516373b2e76b60e11b81526000906001600160a01b0383169063e765ced69061048e90600190600401610982565b60206040518083038186803b1580156104a657600080fd5b505afa1580156104ba573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044991906106a1565b6000600160ff1b821061050c5760405162461bcd60e51b815260040161050390610905565b60405180910390fd5b5090565b600061053a8261052e85670de0b6b3a764000063ffffffff6105c716565b9063ffffffff61063216565b9392505050565b600061053a670de0b6b3a764000061052e858563ffffffff6105c716565b60008282018183128015906105745750838112155b80610589575060008312801561058957508381125b61053a5760405162461bcd60e51b815260040161050390610807565b60008082121561050c5760405162461bcd60e51b815260040161050390610848565b6000826105d657506000610449565b826000191480156105ea5750600160ff1b82145b156106075760405162461bcd60e51b8152600401610503906108be565b8282028284828161061457fe5b051461053a5760405162461bcd60e51b8152600401610503906108be565b6000816106515760405162461bcd60e51b81526004016105039061094d565b816000191480156106655750600160ff1b83145b156106825760405162461bcd60e51b81526004016105039061087d565b600082848161068d57fe5b05949350505050565b8051610449816109b2565b6000602082840312156106b2578081fd5b815161053a816109b2565b600060208083850312156106cf578182fd5b825167ffffffffffffffff808211156106e6578384fd5b81850186601f8201126106f7578485fd5b8051925081831115610707578485fd5b838302915061071784830161098b565b8381528481019082860184840187018a1015610731578788fd5b8794505b8585101561075b576107478a82610696565b835260019490940193918601918601610735565b5098975050505050505050565b6000806040838503121561077a578081fd5b8235610785816109b2565b91506020830135610795816109b2565b809150509250929050565b6000602082840312156107b1578081fd5b5051919050565b6000602082840312156107c9578081fd5b815160ff8116811461053a578182fd5b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b60208082526021908201527f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f53616665436173743a2076616c7565206d75737420626520706f736974697665604082015260600190565b60208082526021908201527f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526027908201527f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f604082015266766572666c6f7760c81b606082015260800190565b60208082526028908201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604082015267371034b73a191a9b60c11b606082015260800190565b6020808252818101527f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f604082015260600190565b90815260200190565b60405181810167ffffffffffffffff811182821017156109aa57600080fd5b604052919050565b6001600160a01b03811681146109c757600080fd5b5056fea26469706673582212202b51c65e976c93283f20d08b518bd3ec3caba079a25252baee4764cc5ecbe72964736f6c634300060a0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
