[ { "constant": false, "inputs": [ { "name": "newImplementation", "type": "address" } ], "name": "upgradeTo", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "newImplementation", "type": "address" }, { "name": "data", "type": "bytes" } ], "name": "upgradeToAndCall", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": true, "inputs": [], "name": "implementation", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "newAdmin", "type": "address" } ], "name": "changeAdmin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "admin", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "inputs": [ { "name": "_implementation", "type": "address" }, { "name": "_admin", "type": "address" }, { "name": "_data", "type": "bytes" } ], "payable": true, "stateMutability": "payable", "type": "constructor" }, { "payable": true, "stateMutability": "payable", "type": "fallback" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "previousAdmin", "type": "address" }, { "indexed": false, "name": "newAdmin", "type": "address" } ], "name": "AdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "implementation", "type": "address" } ], "name": "Upgraded", "type": "event" } ]
60806040526040516108a53803806108a58339810160408181528251602080850151838601517f6f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e74617486527f696f6e000000000000000000000000000000000000000000000000000000000092860192909252925193849003602301909320909391929091019083908390839083908290600080516020610885833981519152146100a457fe5b6100b6826401000000006101a7810204565b6000815111156101405781600160a060020a03168160405180828051906020019080838360005b838110156100f55781810151838201526020016100dd565b50505050905090810190601f1680156101225780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561014057600080fd5b5050604080517f6f72672e7a657070656c696e6f732e70726f78792e61646d696e0000000000008152905190819003601a0190206000805160206108658339815191521461018a57fe5b61019c82640100000000610265810204565b50505050505061027f565b60006101bf826401000000006105a361027782021704565b151561025257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000606482015290519081900360840190fd5b5060008051602061088583398151915255565b60008051602061086583398151915255565b6000903b1190565b6105d78061028e6000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633659cfe681146100765780634f1ef286146100975780635c60da1b146100b75780638f283970146100e8578063f851a44014610109575b61007461011e565b005b34801561008257600080fd5b50610074600160a060020a0360043516610138565b61007460048035600160a060020a03169060248035908101910135610172565b3480156100c357600080fd5b506100cc6101e7565b60408051600160a060020a039092168252519081900360200190f35b3480156100f457600080fd5b50610074600160a060020a0360043516610224565b34801561011557600080fd5b506100cc610336565b610126610361565b61013661013161040e565b610433565b565b610140610457565b600160a060020a031633600160a060020a03161415610167576101628161047c565b61016f565b61016f61011e565b50565b61017a610457565b600160a060020a031633600160a060020a031614156101da5761019c8361047c565b82600160a060020a0316828260405180838380828437820191505092505050600060405180830381855af491505015156101d557600080fd5b6101e2565b6101e261011e565b505050565b60006101f1610457565b600160a060020a031633600160a060020a031614156102195761021261040e565b9050610221565b61022161011e565b90565b61022c610457565b600160a060020a031633600160a060020a0316141561016757600160a060020a03811615156102e257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f60448201527f787920746f20746865207a65726f206164647265737300000000000000000000606482015290519081900360840190fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61030b610457565b60408051600160a060020a03928316815291841660208301528051918290030190a1610162816104bc565b6000610340610457565b600160a060020a031633600160a060020a0316141561021957610212610457565b610369610457565b600160a060020a031633141561040657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260448201527f6f6d207468652070726f78792061646d696e0000000000000000000000000000606482015290519081900360840190fd5b610136610136565b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c35490565b3660008037600080366000845af43d6000803e808015610452573d6000f35b3d6000fd5b7f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b5490565b610485816104e0565b604051600160a060020a038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b55565b60006104eb826105a3565b151561057e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000606482015290519081900360840190fd5b507f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c355565b6000903b11905600a165627a7a723058209641c00510c656104009a2063023158ba6d76f7092ebed6eb96040f59e99523e002910d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c300000000000000000000000045ce23634eccf2ce7a567156cfc311555c55f02d0000000000000000000000002096b96e51c839182df8ca0a5c88033390de1fb900000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000104de7ea79d000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000f4e1340d79dd01ed7734463fb923741f107d6a8800000000000000000000000000000000000000000000000000000000000000154554482d506567205468756e64657220546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000002545400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000