{
  "_format": "hh-sol-artifact-1",
  "contractName": "MockFeeDiscountRegistry",
  "sourceName": "contracts/test/MockFeeDiscountRegistry.sol",
  "abi": [
    {
      "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": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "FEE_DISCOUNT_MANAGER",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "algebraFactory",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "pool",
          "type": "address"
        }
      ],
      "name": "feeDiscounts",
      "outputs": [
        {
          "internalType": "uint16",
          "name": "feeDiscount",
          "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"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "pool",
          "type": "address"
        },
        {
          "internalType": "uint16",
          "name": "discount",
          "type": "uint16"
        }
      ],
      "name": "setFeeDiscountSimple",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506105c4806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063a7b64b0411610050578063a7b64b04146100f4578063c7174fe314610103578063d2426f071461017757600080fd5b80631101ce3e1461007757806351f8ba46146100d7578063978e13ea146100df575b600080fd5b6100bf6100853660046102bb565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526020818152604080832093909416825291909152205461ffff1690565b60405161ffff90911681526020015b60405180910390f35b6103e86100bf565b6100f26100ed366004610414565b6101a5565b005b604051600081526020016100ce565b6100f26101113660046104e6565b73ffffffffffffffffffffffffffffffffffffffff9283166000908152602081815260408083209490951682529290925291902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff909216919091179055565b6040517fa49c1b804bb17a3ecb97d6c1ee253d7e7bf88b50d66ba600bb4b026e1fb144e881526020016100ce565b60005b825181101561028c578181815181106101c3576101c3610529565b60200260200101516000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085848151811061021d5761021d610529565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550808061028490610558565b9150506101a8565b50505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146102b657600080fd5b919050565b600080604083850312156102ce57600080fd5b6102d783610292565b91506102e560208401610292565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610364576103646102ee565b604052919050565b600067ffffffffffffffff821115610386576103866102ee565b5060051b60200190565b803561ffff811681146102b657600080fd5b600082601f8301126103b357600080fd5b813560206103c86103c38361036c565b61031d565b82815260059290921b840181019181810190868411156103e757600080fd5b8286015b84811015610409576103fc81610390565b83529183019183016103eb565b509695505050505050565b60008060006060848603121561042957600080fd5b61043284610292565b925060208085013567ffffffffffffffff8082111561045057600080fd5b818701915087601f83011261046457600080fd5b81356104726103c38261036c565b81815260059190911b8301840190848101908a83111561049157600080fd5b938501935b828510156104b6576104a785610292565b82529385019390850190610496565b9650505060408701359250808311156104ce57600080fd5b50506104dc868287016103a2565b9150509250925092565b6000806000606084860312156104fb57600080fd5b61050484610292565b925061051260208501610292565b915061052060408501610390565b90509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036105b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea164736f6c6343000814000a",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063a7b64b0411610050578063a7b64b04146100f4578063c7174fe314610103578063d2426f071461017757600080fd5b80631101ce3e1461007757806351f8ba46146100d7578063978e13ea146100df575b600080fd5b6100bf6100853660046102bb565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526020818152604080832093909416825291909152205461ffff1690565b60405161ffff90911681526020015b60405180910390f35b6103e86100bf565b6100f26100ed366004610414565b6101a5565b005b604051600081526020016100ce565b6100f26101113660046104e6565b73ffffffffffffffffffffffffffffffffffffffff9283166000908152602081815260408083209490951682529290925291902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff909216919091179055565b6040517fa49c1b804bb17a3ecb97d6c1ee253d7e7bf88b50d66ba600bb4b026e1fb144e881526020016100ce565b60005b825181101561028c578181815181106101c3576101c3610529565b60200260200101516000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085848151811061021d5761021d610529565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550808061028490610558565b9150506101a8565b50505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146102b657600080fd5b919050565b600080604083850312156102ce57600080fd5b6102d783610292565b91506102e560208401610292565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610364576103646102ee565b604052919050565b600067ffffffffffffffff821115610386576103866102ee565b5060051b60200190565b803561ffff811681146102b657600080fd5b600082601f8301126103b357600080fd5b813560206103c86103c38361036c565b61031d565b82815260059290921b840181019181810190868411156103e757600080fd5b8286015b84811015610409576103fc81610390565b83529183019183016103eb565b509695505050505050565b60008060006060848603121561042957600080fd5b61043284610292565b925060208085013567ffffffffffffffff8082111561045057600080fd5b818701915087601f83011261046457600080fd5b81356104726103c38261036c565b81815260059190911b8301840190848101908a83111561049157600080fd5b938501935b828510156104b6576104a785610292565b82529385019390850190610496565b9650505060408701359250808311156104ce57600080fd5b50506104dc868287016103a2565b9150509250925092565b6000806000606084860312156104fb57600080fd5b61050484610292565b925061051260208501610292565b915061052060408501610390565b90509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036105b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea164736f6c6343000814000a",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
