{
  "contractName": "KeepRandomBeaconService",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_implementation",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "_data",
          "type": "bytes"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "implementation",
          "type": "address"
        }
      ],
      "name": "UpgradeCompleted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "implementation",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "timestamp",
          "type": "uint256"
        }
      ],
      "name": "UpgradeStarted",
      "type": "event"
    },
    {
      "payable": true,
      "stateMutability": "payable",
      "type": "fallback"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "admin",
      "outputs": [
        {
          "internalType": "address",
          "name": "adm",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "completeUpgrade",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "implementation",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "initializationData",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "newImplementation",
      "outputs": [
        {
          "internalType": "address",
          "name": "_newImplementation",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "_newAdmin",
          "type": "address"
        }
      ],
      "name": "updateAdmin",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "upgradeInitiatedTimestamp",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_upgradeInitiatedTimestamp",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "upgradeTimeDelay",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_upgradeTimeDelay",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "_newImplementation",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "_data",
          "type": "bytes"
        }
      ],
      "name": "upgradeTo",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040523480156200001157600080fd5b506040516200124338038062001243833981810160405260408110156200003757600080fd5b8151602083018051604051929492938301929190846401000000008211156200005f57600080fd5b9083019060208201858111156200007557600080fd5b82516401000000008111828201881017156200009057600080fd5b82525081516020918201929091019080838360005b83811015620000bf578181015183820152602001620000a5565b50505050905090810190601f168015620000ed5780820380516001836020036101000a031916815260200191505b5060408181019052601c81527f656970313936372e70726f78792e696d706c656d656e746174696f6e000000006020820152620001489350600080516020620011c5833981519152925090506001600160e01b036200032e16565b60408051808201909152601381527f656970313936372e70726f78792e61646d696e000000000000000000000000006020820152620001a19060008051602062001155833981519152906001600160e01b036200032e16565b620001e16000805160206200117583398151915260001b60405180606001604052806030815260200162001195603091396001600160e01b036200032e16565b620002327f3c3c1acab6a17c8ef7a1d07995c8ed2942488afd9e13cf89bd5c6e482816027660001b60405180606001604052806035815260200162001120603591396001600160e01b036200032e16565b620002837fb49edbaf3913780c2ef1ff781deec1eb653eab7236ff107428d60052d0f0d18d60001b6040518060600160405280603981526020016200120a603991396001600160e01b036200032e16565b6001600160a01b038216620002ca5760405162461bcd60e51b8152600401808060200182810382526025815260200180620011e56025913960400191505060405180910390fd5b805115620002e757620002e782826001600160e01b036200034616565b620002fb826001600160e01b036200048816565b62000312620151806001600160e01b036200049b16565b62000326336001600160e01b03620004ae16565b5050620004c1565b805160208201206000190182146200034257fe5b5050565b60006060836001600160a01b0316836040518082805190602001908083835b60208310620003865780518252601f19909201916020918201910162000365565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114620003e8576040519150601f19603f3d011682016040523d82523d6000602084013e620003ed565b606091505b5091509150818190620004815760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620004455781810151838201526020016200042b565b50505050905090810190601f168015620004735780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b600080516020620011c583398151915255565b6000805160206200117583398151915255565b6000805160206200115583398151915255565b610c4f80620004d16000396000f3fe6080604052600436106100865760003560e01c80638b677b03116100595780638b677b03146102415780639260315b14610256578063951315261461027d578063e2f273bd14610292578063f851a440146102c557610086565b80630f51d40d146100905780634d055667146101385780635c60da1b1461014d5780636fbc15e91461017e575b61008e6102da565b005b34801561009c57600080fd5b506100c3600480360360208110156100b357600080fd5b50356001600160a01b03166102f4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100fd5781810151838201526020016100e5565b50505050905090810190601f16801561012a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561014457600080fd5b5061008e61038e565b34801561015957600080fd5b506101626105c7565b604080516001600160a01b039092168252519081900360200190f35b34801561018a57600080fd5b5061008e600480360360408110156101a157600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101cc57600080fd5b8201836020820111156101de57600080fd5b8035906020019184600183028401116401000000008311171561020057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105d7945050505050565b34801561024d57600080fd5b50610162610762565b34801561026257600080fd5b5061026b610787565b60408051918252519081900360200190f35b34801561028957600080fd5b5061026b6107ac565b34801561029e57600080fd5b5061008e600480360360208110156102b557600080fd5b50356001600160a01b03166107d1565b3480156102d157600080fd5b50610162610844565b6102e26102f2565b6102f26102ed610869565b61088e565b565b600060208181529181526040908190208054825160026001831615610100026000190190921691909104601f8101859004850282018501909352828152929091908301828280156103865780601f1061035b57610100808354040283529160200191610386565b820191906000526020600020905b81548152906001019060200180831161036957829003601f168201915b505050505081565b610396610844565b6001600160a01b0316336001600160a01b0316146103f5576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329030b236b4b760491b604482015290519081900360640190fd5b60006103ff6107ac565b11610449576040805162461bcd60e51b8152602060048201526015602482015274155c19dc985919481b9bdd081a5b9a5d1a585d1959605a1b604482015290519081900360640190fd5b610451610787565b61046961045c6107ac565b429063ffffffff6108b216565b10156104b0576040805162461bcd60e51b8152602060048201526011602482015270151a5b595c881b9bdd08195b185c1cd959607a1b604482015290519081900360640190fd5b60006104ba610762565b90506104c5816108fb565b6001600160a01b0381166000908152602081815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156105625780601f1061053757610100808354040283529160200191610562565b820191906000526020600020905b81548152906001019060200180831161054557829003601f168201915b5050505050905060008151111561057d5761057d828261091f565b6105876000610a59565b604080516001600160a01b038416815290517f2711ef8a6ba82dd467437054855e6edfc6424d0fb0127992b419c20f2d2e114e9181900360200190a15050565b60006105d1610869565b90505b90565b6105df610844565b6001600160a01b0316336001600160a01b03161461063e576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329030b236b4b760491b604482015290519081900360640190fd5b6000610648610869565b90506001600160a01b03831661068f5760405162461bcd60e51b8152600401808060200182810382526025815260200180610bf66025913960400191505060405180910390fd5b806001600160a01b0316836001600160a01b031614156106e05760405162461bcd60e51b815260040180806020018281038252603e815260200180610bb8603e913960400191505060405180910390fd5b6001600160a01b038316600090815260208181526040909120835161070792850190610b1f565b5061071183610a7d565b61071a42610a59565b604080516001600160a01b038516815242602082015281517fe3ab72cd1d043aea9afd3c48aae4ee8f59a80381fec6c69ca502e2fb4b4f5c5a929181900390910190a1505050565b7f3c3c1acab6a17c8ef7a1d07995c8ed2942488afd9e13cf89bd5c6e48281602765490565b7f73bbd307af06a74c12a4f925288c98f759a1ee8fee7eae47a0c215cb63ef2c6b5490565b7fb49edbaf3913780c2ef1ff781deec1eb653eab7236ff107428d60052d0f0d18d5490565b6107d9610844565b6001600160a01b0316336001600160a01b031614610838576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329030b236b4b760491b604482015290519081900360640190fd5b61084181610aa1565b50565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156108ad573d6000f35b3d6000fd5b60006108f483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ac5565b9392505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b60006060836001600160a01b0316836040518082805190602001908083835b6020831061095d5780518252601f19909201916020918201910161093e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146109bd576040519150601f19603f3d011682016040523d82523d6000602084013e6109c2565b606091505b5091509150818190610a525760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a175781810151838201526020016109ff565b50505050905090810190601f168015610a445780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b7fb49edbaf3913780c2ef1ff781deec1eb653eab7236ff107428d60052d0f0d18d55565b7f3c3c1acab6a17c8ef7a1d07995c8ed2942488afd9e13cf89bd5c6e482816027655565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b60008184841115610b175760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610a175781810151838201526020016109ff565b505050900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610b6057805160ff1916838001178555610b8d565b82800160010185558215610b8d579182015b82811115610b8d578251825591602001919060010190610b72565b50610b99929150610b9d565b5090565b6105d491905b80821115610b995760008155600101610ba356fe496d706c656d656e746174696f6e2061646472657373206d75737420626520646966666572656e742066726f6d207468652063757272656e74206f6e652e496d706c656d656e746174696f6e20616464726573732063616e2774206265207a65726f2ea265627a7a72315820ea5b4342899b145e8bbdcbb0df0c0af6c0bd8511ebe58f08a3894731a5eb11b164736f6c634300051100326e6574776f726b2e6b6565702e72616e646f6d626561636f6e2e70726f78792e75706772616465496d706c656d656e746174696f6eb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610373bbd307af06a74c12a4f925288c98f759a1ee8fee7eae47a0c215cb63ef2c6b6e6574776f726b2e6b6565702e72616e646f6d626561636f6e2e70726f78792e7570677261646554696d6544656c6179360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc496d706c656d656e746174696f6e20616464726573732063616e2774206265207a65726f2e6e6574776f726b2e6b6565702e72616e646f6d626561636f6e2e70726f78792e75706772616465496e6974696174656454696d657374616d70",
  "deployedBytecode": "0x6080604052600436106100865760003560e01c80638b677b03116100595780638b677b03146102415780639260315b14610256578063951315261461027d578063e2f273bd14610292578063f851a440146102c557610086565b80630f51d40d146100905780634d055667146101385780635c60da1b1461014d5780636fbc15e91461017e575b61008e6102da565b005b34801561009c57600080fd5b506100c3600480360360208110156100b357600080fd5b50356001600160a01b03166102f4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100fd5781810151838201526020016100e5565b50505050905090810190601f16801561012a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561014457600080fd5b5061008e61038e565b34801561015957600080fd5b506101626105c7565b604080516001600160a01b039092168252519081900360200190f35b34801561018a57600080fd5b5061008e600480360360408110156101a157600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101cc57600080fd5b8201836020820111156101de57600080fd5b8035906020019184600183028401116401000000008311171561020057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105d7945050505050565b34801561024d57600080fd5b50610162610762565b34801561026257600080fd5b5061026b610787565b60408051918252519081900360200190f35b34801561028957600080fd5b5061026b6107ac565b34801561029e57600080fd5b5061008e600480360360208110156102b557600080fd5b50356001600160a01b03166107d1565b3480156102d157600080fd5b50610162610844565b6102e26102f2565b6102f26102ed610869565b61088e565b565b600060208181529181526040908190208054825160026001831615610100026000190190921691909104601f8101859004850282018501909352828152929091908301828280156103865780601f1061035b57610100808354040283529160200191610386565b820191906000526020600020905b81548152906001019060200180831161036957829003601f168201915b505050505081565b610396610844565b6001600160a01b0316336001600160a01b0316146103f5576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329030b236b4b760491b604482015290519081900360640190fd5b60006103ff6107ac565b11610449576040805162461bcd60e51b8152602060048201526015602482015274155c19dc985919481b9bdd081a5b9a5d1a585d1959605a1b604482015290519081900360640190fd5b610451610787565b61046961045c6107ac565b429063ffffffff6108b216565b10156104b0576040805162461bcd60e51b8152602060048201526011602482015270151a5b595c881b9bdd08195b185c1cd959607a1b604482015290519081900360640190fd5b60006104ba610762565b90506104c5816108fb565b6001600160a01b0381166000908152602081815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156105625780601f1061053757610100808354040283529160200191610562565b820191906000526020600020905b81548152906001019060200180831161054557829003601f168201915b5050505050905060008151111561057d5761057d828261091f565b6105876000610a59565b604080516001600160a01b038416815290517f2711ef8a6ba82dd467437054855e6edfc6424d0fb0127992b419c20f2d2e114e9181900360200190a15050565b60006105d1610869565b90505b90565b6105df610844565b6001600160a01b0316336001600160a01b03161461063e576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329030b236b4b760491b604482015290519081900360640190fd5b6000610648610869565b90506001600160a01b03831661068f5760405162461bcd60e51b8152600401808060200182810382526025815260200180610bf66025913960400191505060405180910390fd5b806001600160a01b0316836001600160a01b031614156106e05760405162461bcd60e51b815260040180806020018281038252603e815260200180610bb8603e913960400191505060405180910390fd5b6001600160a01b038316600090815260208181526040909120835161070792850190610b1f565b5061071183610a7d565b61071a42610a59565b604080516001600160a01b038516815242602082015281517fe3ab72cd1d043aea9afd3c48aae4ee8f59a80381fec6c69ca502e2fb4b4f5c5a929181900390910190a1505050565b7f3c3c1acab6a17c8ef7a1d07995c8ed2942488afd9e13cf89bd5c6e48281602765490565b7f73bbd307af06a74c12a4f925288c98f759a1ee8fee7eae47a0c215cb63ef2c6b5490565b7fb49edbaf3913780c2ef1ff781deec1eb653eab7236ff107428d60052d0f0d18d5490565b6107d9610844565b6001600160a01b0316336001600160a01b031614610838576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329030b236b4b760491b604482015290519081900360640190fd5b61084181610aa1565b50565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156108ad573d6000f35b3d6000fd5b60006108f483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ac5565b9392505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b60006060836001600160a01b0316836040518082805190602001908083835b6020831061095d5780518252601f19909201916020918201910161093e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146109bd576040519150601f19603f3d011682016040523d82523d6000602084013e6109c2565b606091505b5091509150818190610a525760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a175781810151838201526020016109ff565b50505050905090810190601f168015610a445780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b7fb49edbaf3913780c2ef1ff781deec1eb653eab7236ff107428d60052d0f0d18d55565b7f3c3c1acab6a17c8ef7a1d07995c8ed2942488afd9e13cf89bd5c6e482816027655565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b60008184841115610b175760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610a175781810151838201526020016109ff565b505050900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610b6057805160ff1916838001178555610b8d565b82800160010185558215610b8d579182015b82811115610b8d578251825591602001919060010190610b72565b50610b99929150610b9d565b5090565b6105d491905b80821115610b995760008155600101610ba356fe496d706c656d656e746174696f6e2061646472657373206d75737420626520646966666572656e742066726f6d207468652063757272656e74206f6e652e496d706c656d656e746174696f6e20616464726573732063616e2774206265207a65726f2ea265627a7a72315820ea5b4342899b145e8bbdcbb0df0c0af6c0bd8511ebe58f08a3894731a5eb11b164736f6c63430005110032",
  "networks": {
    "1": {
      "events": {
        "0x2711ef8a6ba82dd467437054855e6edfc6424d0fb0127992b419c20f2d2e114e": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "address",
              "name": "implementation",
              "type": "address"
            }
          ],
          "name": "UpgradeCompleted",
          "type": "event"
        },
        "0xe3ab72cd1d043aea9afd3c48aae4ee8f59a80381fec6c69ca502e2fb4b4f5c5a": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "address",
              "name": "implementation",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "timestamp",
              "type": "uint256"
            }
          ],
          "name": "UpgradeStarted",
          "type": "event"
        }
      },
      "links": {},
      "address": "0x50510E691c90EA098e3fdd23C311731BF394aAFd",
      "transactionHash": "0xbe5500f566a36497d2d4701431f49e48028ce5c682bbe696b40c1bd34c64cb58"
    }
  },
  "schemaVersion": "3.1.0",
  "updatedAt": "2020-09-10T12:50:00.003Z",
  "networkType": "ethereum"
}