{
  "_format": "hh-sol-artifact-1",
  "contractName": "FeeDiscountRegistry",
  "sourceName": "contracts/FeeDiscountRegistry.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_algebraFactory",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "pool",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint16",
          "name": "newDiscount",
          "type": "uint16"
        }
      ],
      "name": "FeeDiscount",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "FEE_DISCOUNT_DENOMINATOR",
      "outputs": [
        {
          "internalType": "uint16",
          "name": "",
          "type": "uint16"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "FEE_DISCOUNT_MANAGER",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "algebraFactory",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "feeDiscounts",
      "outputs": [
        {
          "internalType": "uint16",
          "name": "",
          "type": "uint16"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "address[]",
          "name": "pools",
          "type": "address[]"
        },
        {
          "internalType": "uint16[]",
          "name": "newDiscounts",
          "type": "uint16[]"
        }
      ],
      "name": "setFeeDiscount",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a060405234801561001057600080fd5b506040516108b03803806108b083398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b60805161081f6100916000396000818160d301526101a3015261081f6000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063978e13ea11610050578063978e13ea146100b9578063a7b64b04146100ce578063d2426f071461011a57600080fd5b80631101ce3e1461006c57806351f8ba46146100b0575b600080fd5b61009861007a366004610538565b600060208181529281526040808220909352908152205461ffff1681565b60405161ffff90911681526020015b60405180910390f35b6100986103e881565b6100cc6100c7366004610689565b61014f565b005b6100f57f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a7565b6101417fa49c1b804bb17a3ecb97d6c1ee253d7e7bf88b50d66ba600bb4b026e1fb144e881565b6040519081526020016100a7565b6040517fe8ae2b690000000000000000000000000000000000000000000000000000000081527fa49c1b804bb17a3ecb97d6c1ee253d7e7bf88b50d66ba600bb4b026e1fb144e860048201523360248201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e8ae2b6990604401602060405180830381865afa1580156101ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610223919061075b565b61028e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a6564000000000000000000000000000000000000000060448201526064015b60405180910390fd5b80518251146102f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4172726179734c656e6774684d69736d617463680000000000000000000000006044820152606401610285565b60005b8251811015610509576103e861ffff1682828151811061031e5761031e610784565b602002602001015161ffff161115610392576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f66656520646973636f756e7420657865636565647320313030250000000000006044820152606401610285565b8181815181106103a4576103a4610784565b60200260200101516000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008584815181106103fe576103fe610784565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f7a30dcbbc729b723963056eb5780229274194a05bbe6fe5174b8864d96c37a2c8484838151811061048e5761048e610784565b60200260200101518484815181106104a8576104a8610784565b60200260200101516040516104ef9392919073ffffffffffffffffffffffffffffffffffffffff938416815291909216602082015261ffff91909116604082015260600190565b60405180910390a180610501816107b3565b9150506102fc565b50505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461053357600080fd5b919050565b6000806040838503121561054b57600080fd5b6105548361050f565b91506105626020840161050f565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156105e1576105e161056b565b604052919050565b600067ffffffffffffffff8211156106035761060361056b565b5060051b60200190565b600082601f83011261061e57600080fd5b8135602061063361062e836105e9565b61059a565b82815260059290921b8401810191818101908684111561065257600080fd5b8286015b8481101561067e57803561ffff811681146106715760008081fd5b8352918301918301610656565b509695505050505050565b60008060006060848603121561069e57600080fd5b6106a78461050f565b925060208085013567ffffffffffffffff808211156106c557600080fd5b818701915087601f8301126106d957600080fd5b81356106e761062e826105e9565b81815260059190911b8301840190848101908a83111561070657600080fd5b938501935b8285101561072b5761071c8561050f565b8252938501939085019061070b565b96505050604087013592508083111561074357600080fd5b50506107518682870161060d565b9150509250925092565b60006020828403121561076d57600080fd5b8151801515811461077d57600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361080b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea164736f6c6343000814000a",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c8063978e13ea11610050578063978e13ea146100b9578063a7b64b04146100ce578063d2426f071461011a57600080fd5b80631101ce3e1461006c57806351f8ba46146100b0575b600080fd5b61009861007a366004610538565b600060208181529281526040808220909352908152205461ffff1681565b60405161ffff90911681526020015b60405180910390f35b6100986103e881565b6100cc6100c7366004610689565b61014f565b005b6100f57f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a7565b6101417fa49c1b804bb17a3ecb97d6c1ee253d7e7bf88b50d66ba600bb4b026e1fb144e881565b6040519081526020016100a7565b6040517fe8ae2b690000000000000000000000000000000000000000000000000000000081527fa49c1b804bb17a3ecb97d6c1ee253d7e7bf88b50d66ba600bb4b026e1fb144e860048201523360248201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e8ae2b6990604401602060405180830381865afa1580156101ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610223919061075b565b61028e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a6564000000000000000000000000000000000000000060448201526064015b60405180910390fd5b80518251146102f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4172726179734c656e6774684d69736d617463680000000000000000000000006044820152606401610285565b60005b8251811015610509576103e861ffff1682828151811061031e5761031e610784565b602002602001015161ffff161115610392576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f66656520646973636f756e7420657865636565647320313030250000000000006044820152606401610285565b8181815181106103a4576103a4610784565b60200260200101516000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008584815181106103fe576103fe610784565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f7a30dcbbc729b723963056eb5780229274194a05bbe6fe5174b8864d96c37a2c8484838151811061048e5761048e610784565b60200260200101518484815181106104a8576104a8610784565b60200260200101516040516104ef9392919073ffffffffffffffffffffffffffffffffffffffff938416815291909216602082015261ffff91909116604082015260600190565b60405180910390a180610501816107b3565b9150506102fc565b50505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461053357600080fd5b919050565b6000806040838503121561054b57600080fd5b6105548361050f565b91506105626020840161050f565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156105e1576105e161056b565b604052919050565b600067ffffffffffffffff8211156106035761060361056b565b5060051b60200190565b600082601f83011261061e57600080fd5b8135602061063361062e836105e9565b61059a565b82815260059290921b8401810191818101908684111561065257600080fd5b8286015b8481101561067e57803561ffff811681146106715760008081fd5b8352918301918301610656565b509695505050505050565b60008060006060848603121561069e57600080fd5b6106a78461050f565b925060208085013567ffffffffffffffff808211156106c557600080fd5b818701915087601f8301126106d957600080fd5b81356106e761062e826105e9565b81815260059190911b8301840190848101908a83111561070657600080fd5b938501935b8285101561072b5761071c8561050f565b8252938501939085019061070b565b96505050604087013592508083111561074357600080fd5b50506107518682870161060d565b9150509250925092565b60006020828403121561076d57600080fd5b8151801515811461077d57600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361080b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea164736f6c6343000814000a",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
