Validator Proxy contracts.json

{
"ValidatorProxy": {
"abi": [
{
"constant": true,
"inputs": [
{
"name": "",
"type": "uint256"
}
],
"name": "validators",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getValidators",
"outputs": [
{
"name": "",
"type": "address[]"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "systemAddress",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "numberOfValidators",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "newValidators",
"type": "address[]"
}
],
"name": "updateValidators",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
}
],
"name": "isValidator",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "_validators",
"type": "address[]"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
}
],
"devdoc": {
"methods": {}
},
"bytecode": "0x6080604052600180546001600160a01b0319166002600160a01b0317905534801561002957600080fd5b506040516106ab3803806106ab8339810180604052602081101561004c57600080fd5b81019080805164010000000081111561006457600080fd5b8201602081018481111561007757600080fd5b815185602082028301116401000000008211171561009457600080fd5b505080519093506100ae925060029150602084019061010d565b5060005b81518110156101065760016000808484815181106100cc57fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556001016100b2565b5050610199565b828054828255906000526020600020908101928215610162579160200282015b8281111561016257825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061012d565b5061016e929150610172565b5090565b61019691905b8082111561016e5780546001600160a01b0319168155600101610178565b90565b610503806101a86000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063d6832ea911610050578063d6832ea914610110578063e71731e41461012a578063facd743b146101cf57610072565b806335aa2e4414610077578063b7ab4db5146100b0578063d3e848f114610108575b600080fd5b6100946004803603602081101561008d57600080fd5b5035610209565b604080516001600160a01b039092168252519081900360200190f35b6100b8610230565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156100f45781810151838201526020016100dc565b505050509050019250505060405180910390f35b610094610293565b6101186102a2565b60408051918252519081900360200190f35b6101cd6004803603602081101561014057600080fd5b81019060208101813564010000000081111561015b57600080fd5b82018360208201111561016d57600080fd5b8035906020019184602083028401116401000000008311171561018f57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506102a8945050505050565b005b6101f5600480360360208110156101e557600080fd5b50356001600160a01b03166103d6565b604080519115158252519081900360200190f35b6002818154811061021657fe5b6000918252602090912001546001600160a01b0316905081565b6060600280548060200260200160405190810160405280929190818152602001828054801561028857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161026a575b505050505090505b90565b6001546001600160a01b031681565b60025490565b6001546001600160a01b0316321461030b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604981526020018061048f6049913960600191505060405180910390fd5b60005b6002548110156103665760008060006002848154811061032a57fe5b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff191691151591909117905560010161030e565b5060005b81518110156103be57600160008084848151811061038457fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905560010161036a565b5080516103d29060029060208401906103eb565b5050565b60006020819052908152604090205460ff1681565b82805482825590600052602060002090810192821561044d579160200282015b8281111561044d578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061040b565b5061045992915061045d565b5090565b61029091905b8082111561045957805473ffffffffffffffffffffffffffffffffffffffff1916815560010161046356fe4f6e6c79207468652073797374656d20616464726573732063616e20626520726573706f6e7369626c6520666f72207468652063616c6c206f6620746869732066756e6374696f6e2ea165627a7a72305820a6911408304e0b6f50417988a66324da491bddd180ad1bf1ce16d88f6fec09af0029",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063d6832ea911610050578063d6832ea914610110578063e71731e41461012a578063facd743b146101cf57610072565b806335aa2e4414610077578063b7ab4db5146100b0578063d3e848f114610108575b600080fd5b6100946004803603602081101561008d57600080fd5b5035610209565b604080516001600160a01b039092168252519081900360200190f35b6100b8610230565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156100f45781810151838201526020016100dc565b505050509050019250505060405180910390f35b610094610293565b6101186102a2565b60408051918252519081900360200190f35b6101cd6004803603602081101561014057600080fd5b81019060208101813564010000000081111561015b57600080fd5b82018360208201111561016d57600080fd5b8035906020019184602083028401116401000000008311171561018f57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506102a8945050505050565b005b6101f5600480360360208110156101e557600080fd5b50356001600160a01b03166103d6565b604080519115158252519081900360200190f35b6002818154811061021657fe5b6000918252602090912001546001600160a01b0316905081565b6060600280548060200260200160405190810160405280929190818152602001828054801561028857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161026a575b505050505090505b90565b6001546001600160a01b031681565b60025490565b6001546001600160a01b0316321461030b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604981526020018061048f6049913960600191505060405180910390fd5b60005b6002548110156103665760008060006002848154811061032a57fe5b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff191691151591909117905560010161030e565b5060005b81518110156103be57600160008084848151811061038457fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905560010161036a565b5080516103d29060029060208401906103eb565b5050565b60006020819052908152604090205460ff1681565b82805482825590600052602060002090810192821561044d579160200282015b8281111561044d578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061040b565b5061045992915061045d565b5090565b61029091905b8082111561045957805473ffffffffffffffffffffffffffffffffffffffff1916815560010161046356fe4f6e6c79207468652073797374656d20616464726573732063616e20626520726573706f6e7369626c6520666f72207468652063616c6c206f6620746869732066756e6374696f6e2ea165627a7a72305820a6911408304e0b6f50417988a66324da491bddd180ad1bf1ce16d88f6fec09af0029",
"metadata": {
"compiler": {
"version": "0.5.8+commit.23d335f2"
},
"language": "Solidity",
"output": {
"abi": [
{
"constant": true,
"inputs": [
{
"name": "",
"type": "uint256"
}
],
"name": "validators",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getValidators",
"outputs": [
{
"name": "",
"type": "address[]"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "systemAddress",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "numberOfValidators",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "newValidators",
"type": "address[]"
}
],
"name": "updateValidators",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
}
],
"name": "isValidator",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "_validators",
"type": "address[]"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
}
],
"devdoc": {
"methods": {}
},
"userdoc": {
"methods": {},
"notice": "This contract gives access to an up to date validator set on chain, that can be used by any other contracts. Its validator set is to be updated by validators contracts when the system address calls finalizeChange(). This way, the `validators` array in this contract should remain correct throughout forks."
}
},
"settings": {
"compilationTarget": {
"/home/oizo/tl-protocol/blockchain/contracts/contracts/tlc-validator/ValidatorProxy.sol": "ValidatorProxy"
},
"evmVersion": "petersburg",
"libraries": {},
"optimizer": {
"enabled": true,
"runs": 500
},
"remappings": []
},
"sources": {
"/home/oizo/tl-protocol/blockchain/contracts/contracts/tlc-validator/ValidatorProxy.sol": {
"keccak256": "0xeec906ae78272ff69eb23879fd3b2a3d2044e1cbc3bafa79f0c017b3d57edb77",
"urls": [
"bzzr://539f038353920d87103a59af4bca78786a19b7aea916b3af9e2c5e8f79d3d52c"
]
}
},
"version": 1
},
"userdoc": {
"methods": {},
"notice": "This contract gives access to an up to date validator set on chain, that can be used by any other contracts. Its validator set is to be updated by validators contracts when the system address calls finalizeChange(). This way, the `validators` array in this contract should remain correct throughout forks."
}
}
}