Controller

Controller.vy #

vyper: 0.2.10

Events #

CommitOwnership

  • owner : address, notIndexed

ApplyOwnership

  • owner : address, notIndexed

Methods #

init #

type: nonpayable constructor

Contract constructor

ABI #

[
  {
    "name": "CommitOwnership",
    "inputs": [
      {
        "name": "owner",
        "type": "address",
        "indexed": false
      }
    ],
    "anonymous": false,
    "type": "event"
  },
  {
    "name": "ApplyOwnership",
    "inputs": [
      {
        "name": "owner",
        "type": "address",
        "indexed": false
      }
    ],
    "anonymous": false,
    "type": "event"
  },
  {
    "stateMutability": "nonpayable",
    "type": "constructor",
    "inputs": [
      {
        "name": "_farmToken",
        "type": "address"
      },
      {
        "name": "_gasTokenCheckList",
        "type": "address"
      }
    ],
    "outputs": []
  },
  {
    "stateMutability": "nonpayable",
    "type": "function",
    "name": "mintFor",
    "inputs": [
      {
        "name": "_reaper",
        "type": "address"
      }
    ],
    "outputs": []
  },
  {
    "stateMutability": "nonpayable",
    "type": "function",
    "name": "mintFor",
    "inputs": [
      {
        "name": "_reaper",
        "type": "address"
      },
      {
        "name": "_account",
        "type": "address"
      }
    ],
    "outputs": []
  },
  {
    "stateMutability": "nonpayable",
    "type": "function",
    "name": "mintFor",
    "inputs": [
      {
        "name": "_reaper",
        "type": "address"
      },
      {
        "name": "_account",
        "type": "address"
      },
      {
        "name": "_gasToken",
        "type": "address"
      }
    ],
    "outputs": []
  },
  {
    "stateMutability": "nonpayable",
    "type": "function",
    "name": "mintableTokens",
    "inputs": [
      {
        "name": "_reaper",
        "type": "address"
      },
      {
        "name": "_account",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "gas": 4739
  },
  {
    "stateMutability": "nonpayable",
    "type": "function",
    "name": "mintApprove",
    "inputs": [
      {
        "name": "_reaper",
        "type": "address"
      },
      {
        "name": "_minter",
        "type": "address"
      },
      {
        "name": "_canMint",
        "type": "bool"
      }
    ],
    "outputs": [],
    "gas": 35953
  },
  {
    "stateMutability": "nonpayable",
    "type": "function",
    "name": "addReaper",
    "inputs": [
      {
        "name": "_reaper",
        "type": "address"
      }
    ],
    "outputs": [],
    "gas": 108720
  },
  {
    "stateMutability": "nonpayable",
    "type": "function",
    "name": "removeReaper",
    "inputs": [
      {
        "name": "_reaper",
        "type": "address"
      }
    ],
    "outputs": [],
    "gas": 129689
  },
  {
    "stateMutability": "nonpayable",
    "type": "function",
    "name": "claimAdminFee",
    "inputs": [
      {
        "name": "_reaper",
        "type": "address"
      }
    ],
    "outputs": []
  },
  {
    "stateMutability": "nonpayable",
    "type": "function",
    "name": "claimAdminFee",
    "inputs": [
      {
        "name": "_reaper",
        "type": "address"
      },
      {
        "name": "_gasToken",
        "type": "address"
      }
    ],
    "outputs": []
  },
  {
    "stateMutability": "nonpayable",
    "type": "function",
    "name": "setAdmin",
    "inputs": [
      {
        "name": "_admin",
        "type": "address"
      }
    ],
    "outputs": [],
    "gas": 36568
  },
  {
    "stateMutability": "nonpayable",
    "type": "function",
    "name": "transferOwnership",
    "inputs": [
      {
        "name": "_futureOwner",
        "type": "address"
      }
    ],
    "outputs": [],
    "gas": 37831
  },
  {
    "stateMutability": "nonpayable",
    "type": "function",
    "name": "applyOwnership",
    "inputs": [],
    "outputs": [],
    "gas": 38687
  },
  {
    "stateMutability": "view",
    "type": "function",
    "name": "farmToken",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "gas": 1358
  },
  {
    "stateMutability": "view",
    "type": "function",
    "name": "gasTokenCheckList",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "gas": 1388
  },
  {
    "stateMutability": "view",
    "type": "function",
    "name": "reapers",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "gas": 1527
  },
  {
    "stateMutability": "view",
    "type": "function",
    "name": "lastReaperIndex",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "gas": 1448
  },
  {
    "stateMutability": "view",
    "type": "function",
    "name": "indexByReaper",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "gas": 1693
  },
  {
    "stateMutability": "view",
    "type": "function",
    "name": "minted",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      },
      {
        "name": "arg1",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "gas": 1938
  },
  {
    "stateMutability": "view",
    "type": "function",
    "name": "mintAllowance",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      },
      {
        "name": "arg1",
        "type": "address"
      },
      {
        "name": "arg2",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool"
      }
    ],
    "gas": 2183
  },
  {
    "stateMutability": "view",
    "type": "function",
    "name": "admin",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "gas": 1568
  },
  {
    "stateMutability": "view",
    "type": "function",
    "name": "owner",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "gas": 1598
  },
  {
    "stateMutability": "view",
    "type": "function",
    "name": "futureOwner",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "gas": 1628
  }
]

Byte code #

0x60406110fc6101403960206110fc60c03960c05160a01c1561002057600080fd5b602060206110fc0160c03960c05160a01c1561003b57600080fd5b6000610140511415151561008e576308c379a06101805260206101a05260156101c0527f5f6661726d546f6b656e206973206e6f742073657400000000000000000000006101e0526101c050606461019cfd5b600061016051141515156100e1576308c379a06101805260206101a052601c6101c0527f676173546f6b656e436865636b4c697374206973206e6f7420736574000000006101e0526101c050606461019cfd5b610140516000556101605160015533600855336007556110e456600436101561000d57610e58565b600035601c52600051341561002157600080fd5b6371e578dc81141561003d5733610140526000610160526100b8565b637504a15d81141561006f5760006101605260243560a01c1561005f57600080fd5b60206024610140376000506100b8565b633dbc98018114156100b35760243560a01c1561008b57600080fd5b602060246101403760443560a01c156100a357600080fd5b60206044610160376000506100b8565b610350565b600a54156100c557600080fd5b6001600a5560043560a01c156100da57600080fd5b6000600460043560e05260c052604060c02054111515610139576308c379a06101805260206101a05260176101c0527f726561706572206973206e6f7420737570706f727465640000000000000000006101e0526101c050606461019cfd5b5a61018052336101405118156101c057600660043560e05260c052604060c0206101405160e05260c052604060c0203360e05260c052604060c0205415156101c0576308c379a06101a05260206101c05260136101e0527f6d696e74206973206e6f7420616c6c6f77656400000000000000000000000000610200526101e05060646101bcfd5b6004353b6101cd57600080fd5b60006000604463204e94b06101a052610140516101c05260006101e0526101bc60006004355af16101fd57600080fd5b6020610240602463e50da4c96101c052610140516101e0526101dc6004355afa61022657600080fd5b601f3d1161023357600080fd5b600050610240516101a0526101a051600560043560e05260c052604060c0206101405160e05260c052604060c020548082101561026f57600080fd5b808203905090506101c05260006101c05118156102ea576000543b61029357600080fd5b6000600060446340c10f196101e05261014051610200526101c051610220526101fc60006000545af16102c557600080fd5b6101a051600560043560e05260c052604060c0206101405160e05260c052604060c020555b6101405161016051610180516101a0516101c051610160516101e052336102005261018051610220526064610240526102405161022051610200516101e05160065801610e5e565b6101c0526101a0526101805261016052610140526000506000600a55005b636b0a407681141561048f5760043560a01c1561036c57600080fd5b60243560a01c1561037c57600080fd5b6000600460043560e05260c052604060c020541115156103db576308c379a0610140526020610160526017610180527f726561706572206973206e6f7420737570706f727465640000000000000000006101a05261018050606461015cfd5b6004353b6103e857600080fd5b60006000604463204e94b0610140526024356101605260006101805261015c60006004355af161041757600080fd5b60206101c0602463e50da4c9610140526024356101605261015c6004355afa61043f57600080fd5b601f3d1161044c57600080fd5b6000506101c051600560043560e05260c052604060c02060243560e05260c052604060c020548082101561047f57600080fd5b8082039050905060005260206000f35b6369d12b848114156104fb5760043560a01c156104ab57600080fd5b60243560a01c156104bb57600080fd5b60443560011c156104cb57600080fd5b604435600660043560e05260c052604060c0203360e05260c052604060c02060243560e05260c052604060c02055005b63f8ad06fe81141561063a5760043560a01c1561051757600080fd5b60085433141515610567576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b60006004351861057657600080fd5b600460043560e05260c052604060c0205461014052610140511515156105db576308c379a061016052602061018052600f6101a0527f72656170657220697320657869737400000000000000000000000000000000006101c0526101a050606461017cfd5b60035460018181830110156105ef57600080fd5b808201905090506101405260043561014051620f4240811061061057600080fd5b600260c052602060c020015561014051600460043560e05260c052604060c0205561014051600355005b637ef012cd8114156107a25760043560a01c1561065657600080fd5b600854331415156106a6576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b600460043560e05260c052604060c020546101405260006101405111151561070d576308c379a06101605260206101805260136101a0527f726561706572206973206e6f74206578697374000000000000000000000000006101c0526101a050606461017cfd5b6003546101605261016051620f4240811061072757600080fd5b600260c052602060c0200154610180526101805161014051620f4240811061074e57600080fd5b600260c052602060c02001556101405160046101805160e05260c052604060c020556000600460043560e05260c052604060c020556101605160018082101561079657600080fd5b80820390509050600355005b631c48e9818114156107b9576000610140526107ea565b637d1b56e58114156107e55760243560a01c156107d557600080fd5b60206024610140376000506107ea565b610a41565b600a54156107f757600080fd5b6001600a5560043560a01c1561080c57600080fd5b6007543314151561085c576308c379a061016052602061018052600a6101a0527f61646d696e206f6e6c79000000000000000000000000000000000000000000006101c0526101a050606461017cfd5b6000600460043560e05260c052604060c020541115156108bb576308c379a06101605260206101805260176101a0527f726561706572206973206e6f7420737570706f727465640000000000000000006101c0526101a050606461017cfd5b5a610160526004353b6108cd57600080fd5b60006000604463204e94b0610180526004356101a05260006101c05261019c60006004355af16108fc57600080fd5b6020610220602463e50da4c96101a0526004356101c0526101bc6004355afa61092457600080fd5b601f3d1161093157600080fd5b600050610220516101805261018051600560043560e05260c052604060c02060043560e05260c052604060c020548082101561096c57600080fd5b808203905090506101a05260006101a05118156109e3576000543b61099057600080fd5b6000600060446340c10f196101c052336101e0526101a051610200526101dc60006000545af16109bf57600080fd5b61018051600560043560e05260c052604060c02060043560e05260c052604060c020555b6101405161016051610180516101a051610140516101c052336101e052610160516102005260446102205261022051610200516101e0516101c05160065801610e5e565b6101a0526101805261016052610140526000506000600a55005b63704b6c02811415610b075760043560a01c15610a5d57600080fd5b60085433141515610aad576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b600060043514151515610aff576308c379a061014052602061016052600c610180527f7a65726f206164647265737300000000000000000000000000000000000000006101a05261018050606461015cfd5b600435600755005b63f2fde38b811415610ba95760043560a01c15610b2357600080fd5b60085433141515610b73576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b600435600955600435610140527f2f56810a6bf40af059b96d3aea4db54081f378029a518390491093a7b67032e96020610140a1005b6301190207811415610c975760085433141515610c05576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b6009546101405260006101405114151515610c5f576308c379a061016052602061018052600d6101a0527f6f776e6572206e6f7420736574000000000000000000000000000000000000006101c0526101a050606461017cfd5b6101405160085561014051610160527febee2d5739011062cb4f14113f3b36bf0ffe3da5c0568f64189d1012a11891056020610160a1005b63c2442f93811415610caf5760005460005260206000f35b63382807d4811415610cc75760015460005260206000f35b639fc71c06811415610cfa57600435620f42408110610ce557600080fd5b600260c052602060c020015460005260206000f35b63df0b97fd811415610d125760035460005260206000f35b637a993685811415610d485760043560a01c15610d2e57600080fd5b600460043560e05260c052604060c0205460005260206000f35b638b752bb0811415610d9c5760043560a01c15610d6457600080fd5b60243560a01c15610d7457600080fd5b600560043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f35b63f6cd99c8811415610e0e5760043560a01c15610db857600080fd5b60243560a01c15610dc857600080fd5b60443560a01c15610dd857600080fd5b600660043560e05260c052604060c02060243560e05260c052604060c02060443560e05260c052604060c0205460005260206000f35b63f851a440811415610e265760075460005260206000f35b638da5cb5b811415610e3e5760085460005260206000f35b63b9e9d1aa811415610e565760095460005260206000f35b505b60006000fd5b6101c0526101405261016052610180526101a052610140511515610e82576101c051565b6020610260602463c2bc2efc6101e05261014051610200526101fc6001545afa610eab57600080fd5b601f3d11610eb857600080fd5b600050610260511515610f0a576308c379a06102805260206102a05260156102c0527f756e737570706f727465642067617320746f6b656e00000000000000000000006102e0526102c050606461029cfd5b61520861018051818183011015610f2057600080fd5b808201905090505a80821015610f3557600080fd5b8082039050905060106101a0518082028215828483041417610f5657600080fd5b80905090509050818183011015610f6c57600080fd5b808201905090506101e05260206102a0604463079d229f6102005261016051610220526101e05161374a818183011015610fa557600080fd5b8082019050905061a0aa808204905090506102405261021c6000610140515af1610fce57600080fd5b601f3d11610fdb57600080fd5b6000506102a0506101c051565b6100fc6110e4036100fc6000396100fc6110e4036000f3