{
  "contractName": "Forwarder",
  "abi": [
    {
      "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": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "beneficiaries",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        }
      ],
      "name": "pushAccruedToBeneficiary",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "beneficiary",
          "type": "address"
        }
      ],
      "name": "setBeneficiary",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b5060006100246001600160e01b0361007316565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610077565b3390565b61066d806100866000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80630156773914610067578063715018a6146100a95780638da5cb5b146100b3578063b01a8341146100bb578063f2fde38b146100f5578063f52564ec1461011b575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b0316610149565b604080516001600160a01b039092168252519081900360200190f35b6100b1610164565b005b61008d610218565b6100e1600480360360208110156100d157600080fd5b50356001600160a01b0316610227565b604080519115158252519081900360200190f35b6100b16004803603602081101561010b57600080fd5b50356001600160a01b0316610393565b6100b16004803603604081101561013157600080fd5b506001600160a01b038135811691602001351661049d565b6001602052600090815260409020546001600160a01b031681565b61016c61058c565b6000546001600160a01b039081169116146101ce576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6001600160a01b0381811660009081526001602052604081205490911661027f5760405162461bcd60e51b81526004018080602001828103825260468152602001806105f26046913960600191505060405180910390fd5b6001600160a01b0380831660008181526001602090815260408083205481516370a0823160e01b8152951660048601525191936370a082319260248083019392829003018186803b1580156102d357600080fd5b505afa1580156102e7573d6000803e3d6000fd5b505050506040513d60208110156102fd57600080fd5b50516001600160a01b03808516600081815260016020908152604080832054815163a9059cbb60e01b8152951660048601526024850186905251949550919363a9059cbb9360448082019493918390030190829087803b15801561036057600080fd5b505af1158015610374573d6000803e3d6000fd5b505050506040513d602081101561038a57600080fd5b50519392505050565b61039b61058c565b6000546001600160a01b039081169116146103fd576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166104425760405162461bcd60e51b81526004018080602001828103825260268152602001806105916026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6104a561058c565b6000546001600160a01b03908116911614610507576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03828116600090815260016020526040902054161561055e5760405162461bcd60e51b815260040180806020018281038252603b8152602001806105b7603b913960400191505060405180910390fd5b6001600160a01b03918216600090815260016020526040902080546001600160a01b03191691909216179055565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373466f727761726465722e73657442656e65666963696172793a2042656e6566696361727920616c72656164792073657420666f7220746f6b656e2e466f727761726465722e707573684163637275656446756e6473546f42656e65666963696172793a204e6f2062656e65666963696172792073657420666f7220746f6b656e2ea264697066735822122062631e70bf79ff94ff6c44e2a74ddcccdb7e923ad772a3191f6b54bfbc5cfc7564736f6c634300060b0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80630156773914610067578063715018a6146100a95780638da5cb5b146100b3578063b01a8341146100bb578063f2fde38b146100f5578063f52564ec1461011b575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b0316610149565b604080516001600160a01b039092168252519081900360200190f35b6100b1610164565b005b61008d610218565b6100e1600480360360208110156100d157600080fd5b50356001600160a01b0316610227565b604080519115158252519081900360200190f35b6100b16004803603602081101561010b57600080fd5b50356001600160a01b0316610393565b6100b16004803603604081101561013157600080fd5b506001600160a01b038135811691602001351661049d565b6001602052600090815260409020546001600160a01b031681565b61016c61058c565b6000546001600160a01b039081169116146101ce576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6001600160a01b0381811660009081526001602052604081205490911661027f5760405162461bcd60e51b81526004018080602001828103825260468152602001806105f26046913960600191505060405180910390fd5b6001600160a01b0380831660008181526001602090815260408083205481516370a0823160e01b8152951660048601525191936370a082319260248083019392829003018186803b1580156102d357600080fd5b505afa1580156102e7573d6000803e3d6000fd5b505050506040513d60208110156102fd57600080fd5b50516001600160a01b03808516600081815260016020908152604080832054815163a9059cbb60e01b8152951660048601526024850186905251949550919363a9059cbb9360448082019493918390030190829087803b15801561036057600080fd5b505af1158015610374573d6000803e3d6000fd5b505050506040513d602081101561038a57600080fd5b50519392505050565b61039b61058c565b6000546001600160a01b039081169116146103fd576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166104425760405162461bcd60e51b81526004018080602001828103825260268152602001806105916026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6104a561058c565b6000546001600160a01b03908116911614610507576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03828116600090815260016020526040902054161561055e5760405162461bcd60e51b815260040180806020018281038252603b8152602001806105b7603b913960400191505060405180910390fd5b6001600160a01b03918216600090815260016020526040902080546001600160a01b03191691909216179055565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373466f727761726465722e73657442656e65666963696172793a2042656e6566696361727920616c72656164792073657420666f7220746f6b656e2e466f727761726465722e707573684163637275656446756e6473546f42656e65666963696172793a204e6f2062656e65666963696172792073657420666f7220746f6b656e2ea264697066735822122062631e70bf79ff94ff6c44e2a74ddcccdb7e923ad772a3191f6b54bfbc5cfc7564736f6c634300060b0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
