{
  "_format": "hh-sol-artifact-1",
  "contractName": "PendingFeeDistributor",
  "sourceName": "contracts/fees/PendingFeeDistributor.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_merkleRoot",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_rewardToken",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_reward",
          "type": "uint256"
        }
      ],
      "name": "HistoricRewardPaid",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_tokenId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_reward",
          "type": "uint256"
        },
        {
          "internalType": "bytes32[]",
          "name": "proof",
          "type": "bytes32[]"
        }
      ],
      "name": "distribute",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "hasClaimed",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "merkleRoot",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IERC20",
          "name": "token",
          "type": "address"
        }
      ],
      "name": "refund",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "rewardToken",
      "outputs": [
        {
          "internalType": "contract IERC20",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_tokenId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_reward",
          "type": "uint256"
        },
        {
          "internalType": "bytes32[]",
          "name": "proof",
          "type": "bytes32[]"
        }
      ],
      "name": "validProof",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b5060405161097f38038061097f83398101604081905261002f916100b6565b61003833610066565b60018055600291909155600380546001600160a01b0319166001600160a01b039092169190911790556100f1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080604083850312156100c8578182fd5b825160208401519092506001600160a01b03811681146100e6578182fd5b809150509250929050565b61087f806101006000396000f3fe608060405234801561001057600080fd5b50600436106100835760003560e01c80632eb4a7ab146100885780634b32102a146100a4578063715018a6146100b75780638da5cb5b146100c1578063ce516507146100e6578063ded42d0014610119578063f2fde38b1461012c578063f7c618c11461013f578063fa89401a14610152575b600080fd5b61009160025481565b6040519081526020015b60405180910390f35b6100916100b23660046106f0565b610165565b6100bf610358565b005b6000546001600160a01b03165b6040516001600160a01b03909116815260200161009b565b6101096100f43660046106c0565b60046020526000908152604090205460ff1681565b604051901515815260200161009b565b6101096101273660046106f0565b61036c565b6100bf61013a366004610684565b6103b3565b6003546100ce906001600160a01b031681565b6100bf610160366004610684565b61042c565b6000600260015414156101bf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026001556101d08585858561036c565b61020c5760405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b210383937b7b360991b60448201526064016101b6565b6000851161024b5760405162461bcd60e51b815260206004820152600c60248201526b0546f6b656e206964203d20360a41b60448201526064016101b6565b60008581526004602052604090205460ff161561026a5750600061034c565b600085815260046020819052604091829020805460ff19166001179055600354915163a9059cbb60e01b81526001600160a01b03878116928201929092526024810186905291169063a9059cbb90604401602060405180830381600087803b1580156102d557600080fd5b505af11580156102e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030d91906106a0565b507f3e4583df395ddb5b39c0341758771a697ee9564f735858ed2651b887eeb2e9be848685604051610341939291906107d6565b60405180910390a150815b60018055949350505050565b610360610537565b61036a6000610591565b565b600080848487604051602001610384939291906107d6565b6040516020818303038152906040528051906020012090506103a983600254836105e1565b9695505050505050565b6103bb610537565b6001600160a01b0381166104205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101b6565b61042981610591565b50565b610434610537565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a082319060240160206040518083038186803b15801561047d57600080fd5b505afa158015610491573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b591906106d8565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156104fb57600080fd5b505af115801561050f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053391906106a0565b5050565b6000546001600160a01b0316331461036a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101b6565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000826105ee85846105f7565b14949350505050565b600081815b845181101561064a576106368286838151811061062957634e487b7160e01b600052603260045260246000fd5b6020026020010151610652565b915080610642816107f7565b9150506105fc565b509392505050565b600081831061066e57600082815260208490526040902061067d565b60008381526020839052604090205b9392505050565b600060208284031215610695578081fd5b813561067d81610834565b6000602082840312156106b1578081fd5b8151801515811461067d578182fd5b6000602082840312156106d1578081fd5b5035919050565b6000602082840312156106e9578081fd5b5051919050565b60008060008060808587031215610705578283fd5b8435935060208086013561071881610834565b935060408601359250606086013567ffffffffffffffff8082111561073b578384fd5b818801915088601f83011261074e578384fd5b8135818111156107605761076061081e565b8060051b604051601f19603f830116810181811085821117156107855761078561081e565b604052828152858101935084860182860187018d10156107a3578788fd5b8795505b838610156107c55780358552600195909501949386019386016107a7565b50989b979a50959850505050505050565b6001600160a01b039390931683526020830191909152604082015260600190565b600060001982141561081757634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461042957600080fdfea2646970667358221220178d671046eb01b747536b1c21ca6fa5cd057024ecbf185b00822059d465cb6764736f6c63430008040033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100835760003560e01c80632eb4a7ab146100885780634b32102a146100a4578063715018a6146100b75780638da5cb5b146100c1578063ce516507146100e6578063ded42d0014610119578063f2fde38b1461012c578063f7c618c11461013f578063fa89401a14610152575b600080fd5b61009160025481565b6040519081526020015b60405180910390f35b6100916100b23660046106f0565b610165565b6100bf610358565b005b6000546001600160a01b03165b6040516001600160a01b03909116815260200161009b565b6101096100f43660046106c0565b60046020526000908152604090205460ff1681565b604051901515815260200161009b565b6101096101273660046106f0565b61036c565b6100bf61013a366004610684565b6103b3565b6003546100ce906001600160a01b031681565b6100bf610160366004610684565b61042c565b6000600260015414156101bf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026001556101d08585858561036c565b61020c5760405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b210383937b7b360991b60448201526064016101b6565b6000851161024b5760405162461bcd60e51b815260206004820152600c60248201526b0546f6b656e206964203d20360a41b60448201526064016101b6565b60008581526004602052604090205460ff161561026a5750600061034c565b600085815260046020819052604091829020805460ff19166001179055600354915163a9059cbb60e01b81526001600160a01b03878116928201929092526024810186905291169063a9059cbb90604401602060405180830381600087803b1580156102d557600080fd5b505af11580156102e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030d91906106a0565b507f3e4583df395ddb5b39c0341758771a697ee9564f735858ed2651b887eeb2e9be848685604051610341939291906107d6565b60405180910390a150815b60018055949350505050565b610360610537565b61036a6000610591565b565b600080848487604051602001610384939291906107d6565b6040516020818303038152906040528051906020012090506103a983600254836105e1565b9695505050505050565b6103bb610537565b6001600160a01b0381166104205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101b6565b61042981610591565b50565b610434610537565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a082319060240160206040518083038186803b15801561047d57600080fd5b505afa158015610491573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b591906106d8565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156104fb57600080fd5b505af115801561050f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053391906106a0565b5050565b6000546001600160a01b0316331461036a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101b6565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000826105ee85846105f7565b14949350505050565b600081815b845181101561064a576106368286838151811061062957634e487b7160e01b600052603260045260246000fd5b6020026020010151610652565b915080610642816107f7565b9150506105fc565b509392505050565b600081831061066e57600082815260208490526040902061067d565b60008381526020839052604090205b9392505050565b600060208284031215610695578081fd5b813561067d81610834565b6000602082840312156106b1578081fd5b8151801515811461067d578182fd5b6000602082840312156106d1578081fd5b5035919050565b6000602082840312156106e9578081fd5b5051919050565b60008060008060808587031215610705578283fd5b8435935060208086013561071881610834565b935060408601359250606086013567ffffffffffffffff8082111561073b578384fd5b818801915088601f83011261074e578384fd5b8135818111156107605761076061081e565b8060051b604051601f19603f830116810181811085821117156107855761078561081e565b604052828152858101935084860182860187018d10156107a3578788fd5b8795505b838610156107c55780358552600195909501949386019386016107a7565b50989b979a50959850505050505050565b6001600160a01b039390931683526020830191909152604082015260600190565b600060001982141561081757634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461042957600080fdfea2646970667358221220178d671046eb01b747536b1c21ca6fa5cd057024ecbf185b00822059d465cb6764736f6c63430008040033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
