{
  "contractName": "BatchedPhasedEscrow",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IERC20",
          "name": "_token",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "beneficiary",
          "type": "address"
        }
      ],
      "name": "BeneficiaryApproved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "oldDrawee",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "newDrawee",
          "type": "address"
        }
      ],
      "name": "DraweeRoleTransferred",
      "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": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "beneficiary",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "TokensWithdrawn",
      "type": "event"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "contract IBeneficiaryContract",
          "name": "_beneficiary",
          "type": "address"
        }
      ],
      "name": "approveBeneficiary",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "contract IBeneficiaryContract[]",
          "name": "beneficiaries",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "amounts",
          "type": "uint256[]"
        }
      ],
      "name": "batchedWithdraw",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "drawee",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "contract IBeneficiaryContract",
          "name": "_beneficiary",
          "type": "address"
        }
      ],
      "name": "isBeneficiaryApproved",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "isOwner",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_token",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "receiveApproval",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "newDrawee",
          "type": "address"
        }
      ],
      "name": "setDrawee",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "token",
      "outputs": [
        {
          "internalType": "contract IERC20",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50604051610e56380380610e568339818101604052602081101561003357600080fd5b50516100466001600160e01b036100bc16565b600080546001600160a01b0319166001600160a01b03928316178082556040519216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600180546001600160a01b039092166001600160a01b031992831617905560028054909116331790556100c0565b3390565b610d87806100cf6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063a1c9b08011610071578063a1c9b080146101e3578063ba0707501461030a578063d6d0aa4114610330578063f2fde38b14610338578063f70cb38e1461035e578063fc0c546a14610384576100a9565b8063431714c3146100ae578063715018a6146100d65780638da5cb5b146100de5780638f32d59b146101025780638f4ffcb11461011e575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b031661038c565b005b6100d4610475565b6100e6610506565b604080516001600160a01b039092168252519081900360200190f35b61010a610515565b604080519115158252519081900360200190f35b6100d46004803603608081101561013457600080fd5b6001600160a01b03823581169260208101359260408201359092169181019060808101606082013564010000000081111561016e57600080fd5b82018360208201111561018057600080fd5b803590602001918460018302840111640100000000831117156101a257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610539945050505050565b6100d4600480360360408110156101f957600080fd5b81019060208101813564010000000081111561021457600080fd5b82018360208201111561022657600080fd5b8035906020019184602083028401116401000000008311171561024857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561029857600080fd5b8201836020820111156102aa57600080fd5b803590602001918460208302840111640100000000831117156102cc57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506105b3945050505050565b6100d46004803603602081101561032057600080fd5b50356001600160a01b0316610711565b6100e6610807565b6100d46004803603602081101561034e57600080fd5b50356001600160a01b0316610816565b61010a6004803603602081101561037457600080fd5b50356001600160a01b0316610869565b6100e6610887565b610394610515565b6103d3576040805162461bcd60e51b81526020600482018190526024820152600080516020610ce7833981519152604482015290519081900360640190fd5b806001600160a01b0381166104195760405162461bcd60e51b8152600401808060200182810382526023815260200180610c9e6023913960400191505060405180910390fd5b6001600160a01b038116600081815260036020908152604091829020805460ff19166001179055815192835290517fae756b0a5bd1fbe0871906ac484a39752d357561ca291b46f52c068408c39a969281900390910190a15050565b61047d610515565b6104bc576040805162461bcd60e51b81526020600482018190526024820152600080516020610ce7833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b600080546001600160a01b031661052a610896565b6001600160a01b031614905090565b6001546001600160a01b0383811691161461058f576040805162461bcd60e51b81526020600482015260116024820152702ab739bab83837b93a32b2103a37b5b2b760791b604482015290519081900360640190fd5b6001546105ad906001600160a01b031685308663ffffffff61089a16565b50505050565b6002546001600160a01b03163314610612576040805162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420746865206472617765650000000000000000604482015290519081900360640190fd5b8051825114610668576040805162461bcd60e51b815260206004820152601860248201527f4d69736d61746368656420617272617973206c656e6774680000000000000000604482015290519081900360640190fd5b60005b825181101561070c57600083828151811061068257fe5b6020026020010151905061069581610869565b6106e6576040805162461bcd60e51b815260206004820152601c60248201527f42656e656669636961727920776173206e6f7420617070726f76656400000000604482015290519081900360640190fd5b610703818484815181106106f657fe5b60200260200101516108f4565b5060010161066b565b505050565b610719610515565b610758576040805162461bcd60e51b81526020600482018190526024820152600080516020610ce7833981519152604482015290519081900360640190fd5b6001600160a01b03811661079d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610d076022913960400191505060405180910390fd5b600254604080516001600160a01b039283168152918316602083015280517f2cd645351aa758b6871e153e13b27063dc3eefbf1a8acc38b31486f099cb75109281900390910190a1600280546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031681565b61081e610515565b61085d576040805162461bcd60e51b81526020600482018190526024820152600080516020610ce7833981519152604482015290519081900360640190fd5b610866816109b7565b50565b6001600160a01b031660009081526003602052604090205460ff1690565b6001546001600160a01b031681565b3390565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526105ad908590610a57565b600154610911906001600160a01b0316838363ffffffff610c0f16565b604080516001600160a01b03841681526020810183905281517f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b929181900390910190a1816001600160a01b0316634a5f5456826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561099b57600080fd5b505af11580156109af573d6000803e3d6000fd5b505050505050565b6001600160a01b0381166109fc5760405162461bcd60e51b8152600401808060200182810382526026815260200180610cc16026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610a69826001600160a01b0316610c61565b610aba576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610af85780518252601f199092019160209182019101610ad9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610b5a576040519150601f19603f3d011682016040523d82523d6000602084013e610b5f565b606091505b509150915081610bb6576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156105ad57808060200190516020811015610bd257600080fd5b50516105ad5760405162461bcd60e51b815260040180806020018281038252602a815260200180610d29602a913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261070c908490610a57565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708115801590610c955750808214155b94935050505056fe42656e65666963696172792063616e206e6f74206265207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65724e6577206472617765652063616e206e6f74206265207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a723158205e6e0fef5eddc4ded2ac648256562e27ca470514726396e8e957b030feb0c69a64736f6c63430005110032",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063a1c9b08011610071578063a1c9b080146101e3578063ba0707501461030a578063d6d0aa4114610330578063f2fde38b14610338578063f70cb38e1461035e578063fc0c546a14610384576100a9565b8063431714c3146100ae578063715018a6146100d65780638da5cb5b146100de5780638f32d59b146101025780638f4ffcb11461011e575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b031661038c565b005b6100d4610475565b6100e6610506565b604080516001600160a01b039092168252519081900360200190f35b61010a610515565b604080519115158252519081900360200190f35b6100d46004803603608081101561013457600080fd5b6001600160a01b03823581169260208101359260408201359092169181019060808101606082013564010000000081111561016e57600080fd5b82018360208201111561018057600080fd5b803590602001918460018302840111640100000000831117156101a257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610539945050505050565b6100d4600480360360408110156101f957600080fd5b81019060208101813564010000000081111561021457600080fd5b82018360208201111561022657600080fd5b8035906020019184602083028401116401000000008311171561024857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561029857600080fd5b8201836020820111156102aa57600080fd5b803590602001918460208302840111640100000000831117156102cc57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506105b3945050505050565b6100d46004803603602081101561032057600080fd5b50356001600160a01b0316610711565b6100e6610807565b6100d46004803603602081101561034e57600080fd5b50356001600160a01b0316610816565b61010a6004803603602081101561037457600080fd5b50356001600160a01b0316610869565b6100e6610887565b610394610515565b6103d3576040805162461bcd60e51b81526020600482018190526024820152600080516020610ce7833981519152604482015290519081900360640190fd5b806001600160a01b0381166104195760405162461bcd60e51b8152600401808060200182810382526023815260200180610c9e6023913960400191505060405180910390fd5b6001600160a01b038116600081815260036020908152604091829020805460ff19166001179055815192835290517fae756b0a5bd1fbe0871906ac484a39752d357561ca291b46f52c068408c39a969281900390910190a15050565b61047d610515565b6104bc576040805162461bcd60e51b81526020600482018190526024820152600080516020610ce7833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b600080546001600160a01b031661052a610896565b6001600160a01b031614905090565b6001546001600160a01b0383811691161461058f576040805162461bcd60e51b81526020600482015260116024820152702ab739bab83837b93a32b2103a37b5b2b760791b604482015290519081900360640190fd5b6001546105ad906001600160a01b031685308663ffffffff61089a16565b50505050565b6002546001600160a01b03163314610612576040805162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420746865206472617765650000000000000000604482015290519081900360640190fd5b8051825114610668576040805162461bcd60e51b815260206004820152601860248201527f4d69736d61746368656420617272617973206c656e6774680000000000000000604482015290519081900360640190fd5b60005b825181101561070c57600083828151811061068257fe5b6020026020010151905061069581610869565b6106e6576040805162461bcd60e51b815260206004820152601c60248201527f42656e656669636961727920776173206e6f7420617070726f76656400000000604482015290519081900360640190fd5b610703818484815181106106f657fe5b60200260200101516108f4565b5060010161066b565b505050565b610719610515565b610758576040805162461bcd60e51b81526020600482018190526024820152600080516020610ce7833981519152604482015290519081900360640190fd5b6001600160a01b03811661079d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610d076022913960400191505060405180910390fd5b600254604080516001600160a01b039283168152918316602083015280517f2cd645351aa758b6871e153e13b27063dc3eefbf1a8acc38b31486f099cb75109281900390910190a1600280546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031681565b61081e610515565b61085d576040805162461bcd60e51b81526020600482018190526024820152600080516020610ce7833981519152604482015290519081900360640190fd5b610866816109b7565b50565b6001600160a01b031660009081526003602052604090205460ff1690565b6001546001600160a01b031681565b3390565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526105ad908590610a57565b600154610911906001600160a01b0316838363ffffffff610c0f16565b604080516001600160a01b03841681526020810183905281517f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b929181900390910190a1816001600160a01b0316634a5f5456826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561099b57600080fd5b505af11580156109af573d6000803e3d6000fd5b505050505050565b6001600160a01b0381166109fc5760405162461bcd60e51b8152600401808060200182810382526026815260200180610cc16026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610a69826001600160a01b0316610c61565b610aba576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610af85780518252601f199092019160209182019101610ad9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610b5a576040519150601f19603f3d011682016040523d82523d6000602084013e610b5f565b606091505b509150915081610bb6576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156105ad57808060200190516020811015610bd257600080fd5b50516105ad5760405162461bcd60e51b815260040180806020018281038252602a815260200180610d29602a913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261070c908490610a57565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708115801590610c955750808214155b94935050505056fe42656e65666963696172792063616e206e6f74206265207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65724e6577206472617765652063616e206e6f74206265207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a723158205e6e0fef5eddc4ded2ac648256562e27ca470514726396e8e957b030feb0c69a64736f6c63430005110032",
  "networks": {
    "1": {
      "events": {
        "0xae756b0a5bd1fbe0871906ac484a39752d357561ca291b46f52c068408c39a96": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "address",
              "name": "beneficiary",
              "type": "address"
            }
          ],
          "name": "BeneficiaryApproved",
          "type": "event"
        },
        "0x2cd645351aa758b6871e153e13b27063dc3eefbf1a8acc38b31486f099cb7510": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "address",
              "name": "oldDrawee",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "newDrawee",
              "type": "address"
            }
          ],
          "name": "DraweeRoleTransferred",
          "type": "event"
        },
        "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "previousOwner",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "newOwner",
              "type": "address"
            }
          ],
          "name": "OwnershipTransferred",
          "type": "event"
        },
        "0x6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "address",
              "name": "beneficiary",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "amount",
              "type": "uint256"
            }
          ],
          "name": "TokensWithdrawn",
          "type": "event"
        }
      },
      "links": {},
      "address": "0x1b8E50Ec9Fbf844c3671Bc178dF8EAdFCFf831cA",
      "transactionHash": "0x035fec07a887f2c47921cac9f4ad24004af27c2c5130cce6e0b003099551d745"
    }
  },
  "schemaVersion": "3.3.1",
  "updatedAt": "2020-12-22T11:43:50.763Z",
  "networkType": "ethereum"
}