0 txs
0 calls
constructor
constructor(address[] _validators)
functions
getValidatorHeight
viewfunction getValidatorHeight(uint256 _height) view returns (uint256)
isValidator
viewfunction isValidator(uint256 _height, address _addr) view returns (bool)
isValidSignatures
viewfunction isValidSignatures(uint256 height, bytes32 hash, bytes[] signatures, address[] signers) view returns (bool)
owner
viewfunction owner() view returns (address)
validatorHeights
viewfunction validatorHeights(uint256) view returns (uint256)
validators
viewfunction validators(uint256, uint256) view returns (address)
addValidator
nonpayablefunction addValidator(uint256 _height, address _validator)
removeValidator
nonpayablefunction removeValidator(uint256 _height, address _validator)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
ValidatorAdded
event ValidatorAdded(uint256 height, address indexed _validator)
ValidatorRemoved
event ValidatorRemoved(uint256 height, address indexed _validator)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b50604051620023783803806200237883398181016040528101906200003791906200050d565b620000576200004b620001a560201b60201c565b620001ad60201b60201c565b806002600080815260200190815260200160002090805190602001906200008092919062000271565b5060005b6002600080815260200190815260200160002080549050811015620001735760018060008081526020019081526020016000206000600260008081526020019081526020016000208481548110620000e157620000e06200055e565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806200016a90620005c6565b91505062000084565b506003600090806001815401808255809150506001900390600052602060002001600090919091909150555062000613565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054828255906000526020600020908101928215620002ed579160200282015b82811115620002ec5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062000292565b5b509050620002fc919062000300565b5090565b5b808211156200031b57600081600090555060010162000301565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620003838262000338565b810181811067ffffffffffffffff82111715620003a557620003a462000349565b5b80604052505050565b6000620003ba6200031f565b9050620003c8828262000378565b919050565b600067ffffffffffffffff821115620003eb57620003ea62000349565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200042e8262000401565b9050919050565b620004408162000421565b81146200044c57600080fd5b50565b600081519050620004608162000435565b92915050565b60006200047d6200047784620003cd565b620003ae565b90508083825260208201905060208402830185811115620004a357620004a2620003fc565b5b835b81811015620004d05780620004bb88826200044f565b845260208401935050602081019050620004a5565b5050509392505050565b600082601f830112620004f257620004f162000333565b5b81516200050484826020860162000466565b91505092915050565b60006020828403121562000526576200052562000329565b5b600082015167ffffffffffffffff8111156200054757620005466200032e565b5b6200055584828501620004da565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000620005d382620005bc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036200060857620006076200058d565b5b600182019050919050565b611d5580620006236000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806374efe7f21161006657806374efe7f2146101455780638da5cb5b14610175578063d5bdab1a14610193578063dcf2793a146101c3578063f2fde38b146101f35761009e565b8063030a028c146100a357806323f2a73f146100d35780634b561753146101035780636a0cd1f51461011f578063715018a61461013b575b600080fd5b6100bd60048036038101906100b89190611431565b61020f565b6040516100ca91906114eb565b60405180910390f35b6100ed60048036038101906100e89190611506565b6103ea565b6040516100fa91906114eb565b60405180910390f35b61011d60048036038101906101189190611506565b610452565b005b61013960048036038101906101349190611506565b6106c3565b005b6101436109f3565b005b61015f600480360381019061015a9190611546565b610a07565b60405161016c9190611582565b60405180910390f35b61017d610a2b565b60405161018a91906115ac565b60405180910390f35b6101ad60048036038101906101a89190611546565b610a54565b6040516101ba9190611582565b60405180910390f35b6101dd60048036038101906101d891906115c7565b610a66565b6040516101ea91906115ac565b60405180910390f35b61020d60048036038101906102089190611607565b610ab4565b005b6000806000905060006102376002600089815260200190815260200160002080549050610b37565b90506000805b86518110156103d85760005b86518110156103c4576102768a88838151811061026957610268611634565b5b60200260200101516103ea565b6102b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ac906116e6565b60405180910390fd5b6102f4898984815181106102cc576102cb611634565b5b60200260200101518984815181106102e7576102e6611634565b5b6020026020010151610b75565b156103b157848061030490611735565b9550508273ffffffffffffffffffffffffffffffffffffffff1687828151811061033157610330611634565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161161038f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610386906117ef565b60405180910390fd5b8681815181106103a2576103a1611634565b5b602002602001015192506103c4565b80806103bc90611735565b915050610249565b5080806103d090611735565b91505061023d565b50818310159350505050949350505050565b60006001600084815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61045a610c71565b6003600160038054905061046e919061180f565b8154811061047f5761047e611634565b5b90600052602060002001548210156104cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104c3906118b5565b60405180910390fd5b600360016003805490506104e0919061180f565b815481106104f1576104f0611634565b5b906000526020600020015482111561052d5760038290806001815401808255809150506001900390600052602060002001600090919091909150555b6001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561059557600080fd5b60026000838152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600180600084815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f7429a06e9412e469f0d64f9d222640b0af359f556b709e2913588c227851b88d836040516106b79190611582565b60405180910390a25050565b6106cb610c71565b600360016003805490506106df919061180f565b815481106106f0576106ef611634565b5b906000526020600020015482101561073d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610734906118b5565b60405180910390fd5b61074782826103ea565b61075057600080fd5b6000806002600085815260200190815260200160002080549050905060005b81811015610814578373ffffffffffffffffffffffffffffffffffffffff166002600087815260200190815260200160002082815481106107b3576107b2611634565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361080157809250610814565b808061080c90611735565b91505061076f565b5060006001600086815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506002600085815260200190815260200160002060018261089e919061180f565b815481106108af576108ae611634565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166002600086815260200190815260200160002083815481106108ff576108fe611634565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002600085815260200190815260200160002080548061096a576109696118d5565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590558273ffffffffffffffffffffffffffffffffffffffff167f7126bef88d1149ccdff9681ed5aecd3ba5ae70c96517551de250af09cebd1a0b856040516109e59190611582565b60405180910390a250505050565b6109fb610c71565b610a056000610cef565b565b60038181548110610a1757600080fd5b906000526020600020016000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610a5f82610db3565b9050919050565b60026020528160005260406000208181548110610a8257600080fd5b906000526020600020016000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610abc610c71565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2290611976565b60405180910390fd5b610b3481610cef565b50565b6000808203610b495760009050610b70565b6003600183610b58919061180f565b610b6291906119c5565b82610b6d919061180f565b90505b919050565b6000806040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250905060008186604051602001610bc5929190611a88565b6040516020818303038152906040528051906020012090508373ffffffffffffffffffffffffffffffffffffffff16610c078683610ebe90919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff161480610c6657508373ffffffffffffffffffffffffffffffffffffffff16610c4e8688610ebe90919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16145b925050509392505050565b610c79610f38565b73ffffffffffffffffffffffffffffffffffffffff16610c97610a2b565b73ffffffffffffffffffffffffffffffffffffffff1614610ced576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce490611afc565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000806001600380549050610dc8919061180f565b9050600060038281548110610de057610ddf611634565b5b90600052602060002001549050808410610dfe578092505050610eb9565b60008290505b6000811115610eb15760038181548110610e2157610e20611634565b5b906000526020600020015485108015610e6457506003600182610e44919061180f565b81548110610e5557610e54611634565b5b90600052602060002001548510155b15610e9e576003600182610e78919061180f565b81548110610e8957610e88611634565b5b90600052602060002001549350505050610eb9565b8080610ea990611b1c565b915050610e04565b506000925050505b919050565b60006041825114610f04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efb90611b91565b60405180910390fd5b60008060006020850151925060408501519150606085015160001a9050610f2d86828585610f40565b935050505092915050565b600033905090565b6000601b8460ff161480610f575750601c8460ff16145b610f96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8d90611c23565b60405180910390fd5b600060018686868660405160008152602001604052604051610fbb9493929190611c6e565b6020604051602081039080840390855afa158015610fdd573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104f90611cff565b60405180910390fd5b80915050949350505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61108b81611078565b811461109657600080fd5b50565b6000813590506110a881611082565b92915050565b6000819050919050565b6110c1816110ae565b81146110cc57600080fd5b50565b6000813590506110de816110b8565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611132826110e9565b810181811067ffffffffffffffff82111715611151576111506110fa565b5b80604052505050565b6000611164611064565b90506111708282611129565b919050565b600067ffffffffffffffff8211156111905761118f6110fa565b5b602082029050602081019050919050565b600080fd5b600080fd5b600067ffffffffffffffff8211156111c6576111c56110fa565b5b6111cf826110e9565b9050602081019050919050565b82818337600083830152505050565b60006111fe6111f9846111ab565b61115a565b90508281526020810184848401111561121a576112196111a6565b5b6112258482856111dc565b509392505050565b600082601f830112611242576112416110e4565b5b81356112528482602086016111eb565b91505092915050565b600061126e61126984611175565b61115a565b90508083825260208201905060208402830185811115611291576112906111a1565b5b835b818110156112d857803567ffffffffffffffff8111156112b6576112b56110e4565b5b8086016112c3898261122d565b85526020850194505050602081019050611293565b5050509392505050565b600082601f8301126112f7576112f66110e4565b5b813561130784826020860161125b565b91505092915050565b600067ffffffffffffffff82111561132b5761132a6110fa565b5b602082029050602081019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006113678261133c565b9050919050565b6113778161135c565b811461138257600080fd5b50565b6000813590506113948161136e565b92915050565b60006113ad6113a884611310565b61115a565b905080838252602082019050602084028301858111156113d0576113cf6111a1565b5b835b818110156113f957806113e58882611385565b8452602084019350506020810190506113d2565b5050509392505050565b600082601f830112611418576114176110e4565b5b813561142884826020860161139a565b91505092915050565b6000806000806080858703121561144b5761144a61106e565b5b600061145987828801611099565b945050602061146a878288016110cf565b935050604085013567ffffffffffffffff81111561148b5761148a611073565b5b611497878288016112e2565b925050606085013567ffffffffffffffff8111156114b8576114b7611073565b5b6114c487828801611403565b91505092959194509250565b60008115159050919050565b6114e5816114d0565b82525050565b600060208201905061150060008301846114dc565b92915050565b6000806040838503121561151d5761151c61106e565b5b600061152b85828601611099565b925050602061153c85828601611385565b9150509250929050565b60006020828403121561155c5761155b61106e565b5b600061156a84828501611099565b91505092915050565b61157c81611078565b82525050565b60006020820190506115976000830184611573565b92915050565b6115a68161135c565b82525050565b60006020820190506115c1600083018461159d565b92915050565b600080604083850312156115de576115dd61106e565b5b60006115ec85828601611099565b92505060206115fd85828601611099565b9150509250929050565b60006020828403121561161d5761161c61106e565b5b600061162b84828501611385565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082825260208201905092915050565b7f56616c696461746f723a207369676e6572206973206e6f742076616c6964617460008201527f6f72000000000000000000000000000000000000000000000000000000000000602082015250565b60006116d0602283611663565b91506116db82611674565b604082019050919050565b600060208201905081810360008301526116ff816116c3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061174082611078565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361177257611771611706565b5b600182019050919050565b7f56616c696461746f723a206475706c6963617465207369676e6174757265206f60008201527f72207369676e657273206973206f7574206f66206f7264657200000000000000602082015250565b60006117d9603983611663565b91506117e48261177d565b604082019050919050565b60006020820190508181036000830152611808816117cc565b9050919050565b600061181a82611078565b915061182583611078565b925082820390508181111561183d5761183c611706565b5b92915050565b7f56616c696461746f723a2063616e6e6f74207570646174652070726576696f7560008201527f732068656967687473272076616c696461746f72000000000000000000000000602082015250565b600061189f603483611663565b91506118aa82611843565b604082019050919050565b600060208201905081810360008301526118ce81611892565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611960602683611663565b915061196b82611904565b604082019050919050565b6000602082019050818103600083015261198f81611953565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006119d082611078565b91506119db83611078565b9250826119eb576119ea611996565b5b828204905092915050565b600081519050919050565b600081905092915050565b60005b83811015611a2a578082015181840152602081019050611a0f565b60008484015250505050565b6000611a41826119f6565b611a4b8185611a01565b9350611a5b818560208601611a0c565b80840191505092915050565b6000819050919050565b611a82611a7d826110ae565b611a67565b82525050565b6000611a948285611a36565b9150611aa08284611a71565b6020820191508190509392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611ae6602083611663565b9150611af182611ab0565b602082019050919050565b60006020820190508181036000830152611b1581611ad9565b9050919050565b6000611b2782611078565b915060008203611b3a57611b39611706565b5b600182039050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000611b7b601f83611663565b9150611b8682611b45565b602082019050919050565b60006020820190508181036000830152611baa81611b6e565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000611c0d602283611663565b9150611c1882611bb1565b604082019050919050565b60006020820190508181036000830152611c3c81611c00565b9050919050565b611c4c816110ae565b82525050565b600060ff82169050919050565b611c6881611c52565b82525050565b6000608082019050611c836000830187611c43565b611c906020830186611c5f565b611c9d6040830185611c43565b611caa6060830184611c43565b95945050505050565b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000611ce9601883611663565b9150611cf482611cb3565b602082019050919050565b60006020820190508181036000830152611d1881611cdc565b905091905056fea26469706673582212202246e9bc07e9c443e69805345515b3767372d74946d68d7dc948860e0e89659564736f6c6343000811003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000da04f7cb8c4d4a716fce5a2178f4828a19a4ac730000000000000000000000003ffc93b77ccae3ebdc87bfbccce4eb3de4c84a8800000000000000000000000063f01eb1ff7d6d10b71f2342349159b3f3a85a68000000000000000000000000effa0b152a0af2cfb187f3ed2ab582bfeb7c48dd