{
  "_format": "hh-sol-artifact-1",
  "contractName": "RefundEscrowUpgradeable",
  "sourceName": "contracts/utils/escrow/RefundEscrowUpgradeable.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "payee",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "weiAmount",
          "type": "uint256"
        }
      ],
      "name": "Deposited",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "version",
          "type": "uint8"
        }
      ],
      "name": "Initialized",
      "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"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "RefundsClosed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "RefundsEnabled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "payee",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "weiAmount",
          "type": "uint256"
        }
      ],
      "name": "Withdrawn",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "beneficiary",
      "outputs": [
        {
          "internalType": "address payable",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "beneficiaryWithdraw",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "close",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "refundee",
          "type": "address"
        }
      ],
      "name": "deposit",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "payee",
          "type": "address"
        }
      ],
      "name": "depositsOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "enableRefunds",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "state",
      "outputs": [
        {
          "internalType": "enum RefundEscrowUpgradeable.State",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address payable",
          "name": "payee",
          "type": "address"
        }
      ],
      "name": "withdraw",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "withdrawalAllowed",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610b94806100206000396000f3fe6080604052600436106100c25760003560e01c80638c52dc411161007f578063c19d93fb11610059578063c19d93fb146101dc578063e3a9db1a146101fc578063f2fde38b14610240578063f340fa011461026057600080fd5b80638c52dc41146101945780638da5cb5b146101a95780639af6549a146101c757600080fd5b806338af3eed146100c757806343d726d61461010357806351cff8d91461011a578063685ca1941461013a578063715018a61461016a5780638129fc1c1461017f575b600080fd5b3480156100d357600080fd5b5060c95461010090046001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561010f57600080fd5b50610118610273565b005b34801561012657600080fd5b50610118610135366004610a8b565b610330565b34801561014657600080fd5b5061015a610155366004610a8b565b6103ad565b60405190151581526020016100fa565b34801561017657600080fd5b506101186103cf565b34801561018b57600080fd5b506101186103e3565b3480156101a057600080fd5b506101186104f3565b3480156101b557600080fd5b506033546001600160a01b03166100e6565b3480156101d357600080fd5b506101186105b4565b3480156101e857600080fd5b5060c95460ff166040516100fa9190610ac5565b34801561020857600080fd5b50610232610217366004610a8b565b6001600160a01b031660009081526065602052604090205490565b6040519081526020016100fa565b34801561024c57600080fd5b5061011861025b366004610a8b565b61066b565b61011861026e366004610a8b565b6106e1565b61027b610764565b600060c95460ff16600281111561029457610294610aaf565b146102f85760405162461bcd60e51b815260206004820152602960248201527f526566756e64457363726f773a2063616e206f6e6c7920636c6f7365207768696044820152686c652061637469766560b81b60648201526084015b60405180910390fd5b60c9805460ff191660021790556040517f088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f90600090a1565b610339816103ad565b6103a15760405162461bcd60e51b815260206004820152603360248201527f436f6e646974696f6e616c457363726f773a207061796565206973206e6f7420604482015272616c6c6f77656420746f20776974686472617760681b60648201526084016102ef565b6103aa816107be565b50565b6000600160c95460ff1660028111156103c8576103c8610aaf565b1492915050565b6103d7610764565b6103e16000610835565b565b600054610100900460ff16158080156104035750600054600160ff909116105b8061041d5750303b15801561041d575060005460ff166001145b6104805760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102ef565b6000805460ff1916600117905580156104a3576000805461ff0019166101001790555b6104ab610887565b80156103aa576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6104fb610764565b600060c95460ff16600281111561051457610514610aaf565b1461057c5760405162461bcd60e51b815260206004820152603260248201527f526566756e64457363726f773a2063616e206f6e6c7920656e61626c6520726560448201527166756e6473207768696c652061637469766560701b60648201526084016102ef565b60c9805460ff191660011790556040517f599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b8990600090a1565b600260c95460ff1660028111156105cd576105cd610aaf565b146106405760405162461bcd60e51b815260206004820152603860248201527f526566756e64457363726f773a2062656e65666963696172792063616e206f6e60448201527f6c79207769746864726177207768696c6520636c6f736564000000000000000060648201526084016102ef565b6103e14761065c60c9546001600160a01b036101009091041690565b6001600160a01b0316906108b6565b610673610764565b6001600160a01b0381166106d85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ef565b6103aa81610835565b600060c95460ff1660028111156106fa576106fa610aaf565b1461075b5760405162461bcd60e51b815260206004820152602b60248201527f526566756e64457363726f773a2063616e206f6e6c79206465706f736974207760448201526a68696c652061637469766560a81b60648201526084016102ef565b6103aa816109d4565b6033546001600160a01b031633146103e15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102ef565b6107c6610764565b6001600160a01b03811660008181526065602052604081208054919055906107ee90826108b6565b816001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d58260405161082991815260200190565b60405180910390a25050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166108ae5760405162461bcd60e51b81526004016102ef90610aed565b6103e1610a46565b804710156109065760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016102ef565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610953576040519150601f19603f3d011682016040523d82523d6000602084013e610958565b606091505b50509050806109cf5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016102ef565b505050565b6109dc610764565b6001600160a01b038116600090815260656020526040812080543492839291610a06908490610b38565b90915550506040518181526001600160a01b038316907f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c490602001610829565b600054610100900460ff16610a6d5760405162461bcd60e51b81526004016102ef90610aed565b6103e133610835565b6001600160a01b03811681146103aa57600080fd5b600060208284031215610a9d57600080fd5b8135610aa881610a76565b9392505050565b634e487b7160e01b600052602160045260246000fd5b6020810160038310610ae757634e487b7160e01b600052602160045260246000fd5b91905290565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008219821115610b5957634e487b7160e01b600052601160045260246000fd5b50019056fea2646970667358221220981af215f9cbc134890fd3a0ac8371d2cdc8b251fb74d4af93a706979b7f719e64736f6c634300080d0033",
  "deployedBytecode": "0x6080604052600436106100c25760003560e01c80638c52dc411161007f578063c19d93fb11610059578063c19d93fb146101dc578063e3a9db1a146101fc578063f2fde38b14610240578063f340fa011461026057600080fd5b80638c52dc41146101945780638da5cb5b146101a95780639af6549a146101c757600080fd5b806338af3eed146100c757806343d726d61461010357806351cff8d91461011a578063685ca1941461013a578063715018a61461016a5780638129fc1c1461017f575b600080fd5b3480156100d357600080fd5b5060c95461010090046001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561010f57600080fd5b50610118610273565b005b34801561012657600080fd5b50610118610135366004610a8b565b610330565b34801561014657600080fd5b5061015a610155366004610a8b565b6103ad565b60405190151581526020016100fa565b34801561017657600080fd5b506101186103cf565b34801561018b57600080fd5b506101186103e3565b3480156101a057600080fd5b506101186104f3565b3480156101b557600080fd5b506033546001600160a01b03166100e6565b3480156101d357600080fd5b506101186105b4565b3480156101e857600080fd5b5060c95460ff166040516100fa9190610ac5565b34801561020857600080fd5b50610232610217366004610a8b565b6001600160a01b031660009081526065602052604090205490565b6040519081526020016100fa565b34801561024c57600080fd5b5061011861025b366004610a8b565b61066b565b61011861026e366004610a8b565b6106e1565b61027b610764565b600060c95460ff16600281111561029457610294610aaf565b146102f85760405162461bcd60e51b815260206004820152602960248201527f526566756e64457363726f773a2063616e206f6e6c7920636c6f7365207768696044820152686c652061637469766560b81b60648201526084015b60405180910390fd5b60c9805460ff191660021790556040517f088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f90600090a1565b610339816103ad565b6103a15760405162461bcd60e51b815260206004820152603360248201527f436f6e646974696f6e616c457363726f773a207061796565206973206e6f7420604482015272616c6c6f77656420746f20776974686472617760681b60648201526084016102ef565b6103aa816107be565b50565b6000600160c95460ff1660028111156103c8576103c8610aaf565b1492915050565b6103d7610764565b6103e16000610835565b565b600054610100900460ff16158080156104035750600054600160ff909116105b8061041d5750303b15801561041d575060005460ff166001145b6104805760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102ef565b6000805460ff1916600117905580156104a3576000805461ff0019166101001790555b6104ab610887565b80156103aa576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6104fb610764565b600060c95460ff16600281111561051457610514610aaf565b1461057c5760405162461bcd60e51b815260206004820152603260248201527f526566756e64457363726f773a2063616e206f6e6c7920656e61626c6520726560448201527166756e6473207768696c652061637469766560701b60648201526084016102ef565b60c9805460ff191660011790556040517f599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b8990600090a1565b600260c95460ff1660028111156105cd576105cd610aaf565b146106405760405162461bcd60e51b815260206004820152603860248201527f526566756e64457363726f773a2062656e65666963696172792063616e206f6e60448201527f6c79207769746864726177207768696c6520636c6f736564000000000000000060648201526084016102ef565b6103e14761065c60c9546001600160a01b036101009091041690565b6001600160a01b0316906108b6565b610673610764565b6001600160a01b0381166106d85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ef565b6103aa81610835565b600060c95460ff1660028111156106fa576106fa610aaf565b1461075b5760405162461bcd60e51b815260206004820152602b60248201527f526566756e64457363726f773a2063616e206f6e6c79206465706f736974207760448201526a68696c652061637469766560a81b60648201526084016102ef565b6103aa816109d4565b6033546001600160a01b031633146103e15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102ef565b6107c6610764565b6001600160a01b03811660008181526065602052604081208054919055906107ee90826108b6565b816001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d58260405161082991815260200190565b60405180910390a25050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166108ae5760405162461bcd60e51b81526004016102ef90610aed565b6103e1610a46565b804710156109065760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016102ef565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610953576040519150601f19603f3d011682016040523d82523d6000602084013e610958565b606091505b50509050806109cf5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016102ef565b505050565b6109dc610764565b6001600160a01b038116600090815260656020526040812080543492839291610a06908490610b38565b90915550506040518181526001600160a01b038316907f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c490602001610829565b600054610100900460ff16610a6d5760405162461bcd60e51b81526004016102ef90610aed565b6103e133610835565b6001600160a01b03811681146103aa57600080fd5b600060208284031215610a9d57600080fd5b8135610aa881610a76565b9392505050565b634e487b7160e01b600052602160045260246000fd5b6020810160038310610ae757634e487b7160e01b600052602160045260246000fd5b91905290565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008219821115610b5957634e487b7160e01b600052601160045260246000fd5b50019056fea2646970667358221220981af215f9cbc134890fd3a0ac8371d2cdc8b251fb74d4af93a706979b7f719e64736f6c634300080d0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
