github.com/unicornultrafoundation/go-u2u@v1.0.0-rc1.0.20240205080301-e74a83d3fadc/gossip/contract/driver100/contract.go (about) 1 // Code generated - DO NOT EDIT. 2 // This file is a generated binding and any manual changes will be lost. 3 4 package driver100 5 6 import ( 7 "errors" 8 "math/big" 9 "strings" 10 11 u2u "github.com/unicornultrafoundation/go-u2u" 12 "github.com/unicornultrafoundation/go-u2u/accounts/abi" 13 "github.com/unicornultrafoundation/go-u2u/accounts/abi/bind" 14 "github.com/unicornultrafoundation/go-u2u/common" 15 "github.com/unicornultrafoundation/go-u2u/core/types" 16 "github.com/unicornultrafoundation/go-u2u/event" 17 ) 18 19 // Reference imports to suppress errors if they are not otherwise used. 20 var ( 21 _ = errors.New 22 _ = big.NewInt 23 _ = strings.NewReader 24 _ = u2u.NotFound 25 _ = bind.Bind 26 _ = common.Big1 27 _ = types.BloomLookup 28 _ = event.NewSubscription 29 ) 30 31 // ContractMetaData contains all meta data concerning the Contract contract. 32 var ContractMetaData = &bind.MetaData{ 33 ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"num\",\"type\":\"uint256\"}],\"name\":\"AdvanceEpochs\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"diff\",\"type\":\"bytes\"}],\"name\":\"UpdateNetworkRules\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"version\",\"type\":\"uint256\"}],\"name\":\"UpdateNetworkVersion\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"validatorID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"pubkey\",\"type\":\"bytes\"}],\"name\":\"UpdateValidatorPubkey\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"validatorID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"}],\"name\":\"UpdateValidatorWeight\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"backend\",\"type\":\"address\"}],\"name\":\"UpdatedBackend\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_backend\",\"type\":\"address\"}],\"name\":\"setBackend\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_backend\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_evmWriterAddress\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"acc\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"setBalance\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"acc\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"copyCode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"acc\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"with\",\"type\":\"address\"}],\"name\":\"swapCode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"acc\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"setStorage\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"acc\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"diff\",\"type\":\"uint256\"}],\"name\":\"incNonce\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"diff\",\"type\":\"bytes\"}],\"name\":\"updateNetworkRules\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"version\",\"type\":\"uint256\"}],\"name\":\"updateNetworkVersion\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"num\",\"type\":\"uint256\"}],\"name\":\"advanceEpochs\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"validatorID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"updateValidatorWeight\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"validatorID\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"pubkey\",\"type\":\"bytes\"}],\"name\":\"updateValidatorPubkey\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_auth\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"validatorID\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"pubkey\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"status\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdEpoch\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deactivatedEpoch\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deactivatedTime\",\"type\":\"uint256\"}],\"name\":\"setGenesisValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"toValidatorID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lockedStake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lockupFromEpoch\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lockupEndTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lockupDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"earlyUnlockPenalty\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rewards\",\"type\":\"uint256\"}],\"name\":\"setGenesisDelegation\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"validatorID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"status\",\"type\":\"uint256\"}],\"name\":\"deactivateValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"nextValidatorIDs\",\"type\":\"uint256[]\"}],\"name\":\"sealEpochValidators\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"offlineTimes\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"offlineBlocks\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"uptimes\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"originatedTxsFee\",\"type\":\"uint256[]\"}],\"name\":\"sealEpoch\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"offlineTimes\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"offlineBlocks\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"uptimes\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"originatedTxsFee\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"usedGas\",\"type\":\"uint256\"}],\"name\":\"sealEpochV1\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", 34 Bin: "0x608060405234801561001057600080fd5b50611b5e806100206000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c806379bead38116100b2578063d6a0c7af11610081578063e08d7e6611610066578063e08d7e6614610676578063e30443bc146106e6578063ebdf104c1461071f57610136565b8063d6a0c7af14610608578063da7fc24f1461064357610136565b806379bead38146103d65780637f52e13e1461040f578063a4066fbe14610575578063b9cc6b1c1461059857610136565b8063242a6e3f1161010957806339e503ab116100ee57806339e503ab146102b1578063485cc955146102f05780634feb92f31461032b57610136565b8063242a6e3f1461021d578063267ab4461461029457610136565b806307690b2a1461013b5780630aeeca001461017857806318f628d4146101955780631e702f83146101fa575b600080fd5b6101766004803603604081101561015157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610885565b005b6101766004803603602081101561018e57600080fd5b5035610989565b61017660048036036101208110156101ac57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060208101359060408101359060608101359060808101359060a08101359060c08101359060e0810135906101000135610a2b565b6101766004803603604081101561021057600080fd5b5080359060200135610b4f565b6101766004803603604081101561023357600080fd5b8135919081019060408101602082013564010000000081111561025557600080fd5b82018360208201111561026757600080fd5b8035906020019184600183028401116401000000008311171561028957600080fd5b509092509050610c1c565b610176600480360360208110156102aa57600080fd5b5035610cee565b610176600480360360608110156102c757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060208101359060400135610d90565b6101766004803603604081101561030657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610e9b565b610176600480360361010081101561034257600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235169160208101359181019060608101604082013564010000000081111561037f57600080fd5b82018360208201111561039157600080fd5b803590602001918460018302840111640100000000831117156103b357600080fd5b919350915080359060208101359060408101359060608101359060800135611043565b610176600480360360408110156103ec57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561119b565b610176600480360360a081101561042557600080fd5b81019060208101813564010000000081111561044057600080fd5b82018360208201111561045257600080fd5b8035906020019184602083028401116401000000008311171561047457600080fd5b91939092909160208101903564010000000081111561049257600080fd5b8201836020820111156104a457600080fd5b803590602001918460208302840111640100000000831117156104c657600080fd5b9193909290916020810190356401000000008111156104e457600080fd5b8201836020820111156104f657600080fd5b8035906020019184602083028401116401000000008311171561051857600080fd5b91939092909160208101903564010000000081111561053657600080fd5b82018360208201111561054857600080fd5b8035906020019184602083028401116401000000008311171561056a57600080fd5b919350915035611282565b6101766004803603604081101561058b57600080fd5b5080359060200135611411565b610176600480360360208110156105ae57600080fd5b8101906020810181356401000000008111156105c957600080fd5b8201836020820111156105db57600080fd5b803590602001918460018302840111640100000000831117156105fd57600080fd5b5090925090506114b7565b6101766004803603604081101561061e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611587565b6101766004803603602081101561065957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661166f565b6101766004803603602081101561068c57600080fd5b8101906020810181356401000000008111156106a757600080fd5b8201836020820111156106b957600080fd5b803590602001918460208302840111640100000000831117156106db57600080fd5b509092509050611763565b610176600480360360408110156106fc57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611859565b6101766004803603608081101561073557600080fd5b81019060208101813564010000000081111561075057600080fd5b82018360208201111561076257600080fd5b8035906020019184602083028401116401000000008311171561078457600080fd5b9193909290916020810190356401000000008111156107a257600080fd5b8201836020820111156107b457600080fd5b803590602001918460208302840111640100000000831117156107d657600080fd5b9193909290916020810190356401000000008111156107f457600080fd5b82018360208201111561080657600080fd5b8035906020019184602083028401116401000000008311171561082857600080fd5b91939092909160208101903564010000000081111561084657600080fd5b82018360208201111561085857600080fd5b8035906020019184602083028401116401000000008311171561087a57600080fd5b509092509050611940565b60345473ffffffffffffffffffffffffffffffffffffffff1633146108f1576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b603554604080517f07690b2a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528481166024830152915191909216916307690b2a91604480830192600092919082900301818387803b15801561096d57600080fd5b505af1158015610981573d6000803e3d6000fd5b505050505050565b60345473ffffffffffffffffffffffffffffffffffffffff1633146109f5576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b6040805182815290517f0151256d62457b809bbc891b1f81c6dd0b9987552c70ce915b519750cd434dd19181900360200190a150565b3315610a7e576040805162461bcd60e51b815260206004820152600c60248201527f6e6f742063616c6c61626c650000000000000000000000000000000000000000604482015290519081900360640190fd5b603454604080517f18f628d400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a4820188905260c4820187905260e482018690526101048201859052915191909216916318f628d49161012480830192600092919082900301818387803b158015610b2c57600080fd5b505af1158015610b40573d6000803e3d6000fd5b50505050505050505050505050565b3315610ba2576040805162461bcd60e51b815260206004820152600c60248201527f6e6f742063616c6c61626c650000000000000000000000000000000000000000604482015290519081900360640190fd5b603454604080517f1e702f830000000000000000000000000000000000000000000000000000000081526004810185905260248101849052905173ffffffffffffffffffffffffffffffffffffffff90921691631e702f839160448082019260009290919082900301818387803b15801561096d57600080fd5b60345473ffffffffffffffffffffffffffffffffffffffff163314610c88576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b827f0f0ef1ab97439def0a9d2c6d9dc166207f1b13b99e62b442b2993d6153c63a6e838360405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a2505050565b60345473ffffffffffffffffffffffffffffffffffffffff163314610d5a576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b6040805182815290517f2ccdfd47cf0c1f1069d949f1789bb79b2f12821f021634fc835af1de66ea2feb9181900360200190a150565b60345473ffffffffffffffffffffffffffffffffffffffff163314610dfc576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b603554604080517f39e503ab00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301526024820186905260448201859052915191909216916339e503ab91606480830192600092919082900301818387803b158015610e7e57600080fd5b505af1158015610e92573d6000803e3d6000fd5b50505050505050565b600054610100900460ff1680610eb45750610eb4611af5565b80610ec2575060005460ff16155b610efd5760405162461bcd60e51b815260040180806020018281038252602e815260200180611afc602e913960400191505060405180910390fd5b600054610100900460ff16158015610f6357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b603480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091556040517f64ee8f7bfc37fc205d7194ee3d64947ab7b57e663cd0d1abd3ef24503583069390600090a2603580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416179055801561103e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b505050565b3315611096576040805162461bcd60e51b815260206004820152600c60248201527f6e6f742063616c6c61626c650000000000000000000000000000000000000000604482015290519081900360640190fd5b603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634feb92f38a8a8a8a8a8a8a8a8a6040518a63ffffffff1660e01b8152600401808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001898152602001806020018781526020018681526020018581526020018481526020018381526020018281038252898982818152602001925080828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b158015610b2c57600080fd5b60345473ffffffffffffffffffffffffffffffffffffffff163314611207576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b603554604080517f79bead3800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015260248201859052915191909216916379bead3891604480830192600092919082900301818387803b15801561096d57600080fd5b33156112d5576040805162461bcd60e51b815260206004820152600c60248201527f6e6f742063616c6c61626c650000000000000000000000000000000000000000604482015290519081900360640190fd5b603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663592fe0c08a8a8a8a8a8a8a8a8a6040518a63ffffffff1660e01b8152600401808060200180602001806020018060200186815260200185810385528e8e82818152602001925060200280828437600083820152601f01601f191690910186810385528c8152602090810191508d908d0280828437600083820152601f01601f191690910186810384528a8152602090810191508b908b0280828437600083820152601f01601f19169091018681038352888152602090810191508990890280828437600081840152601f19601f8201169050808301925050509d5050505050505050505050505050600060405180830381600087803b158015610b2c57600080fd5b60345473ffffffffffffffffffffffffffffffffffffffff16331461147d576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b60408051828152905183917fb975807576e3b1461be7de07ebf7d20e4790ed802d7a0c4fdd0a1a13df72a935919081900360200190a25050565b60345473ffffffffffffffffffffffffffffffffffffffff163314611523576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b7f47d10eed096a44e3d0abc586c7e3a5d6cb5358cc90e7d437cd0627f7e765fb99828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b60345473ffffffffffffffffffffffffffffffffffffffff1633146115f3576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b603554604080517fd6a0c7af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015284811660248301529151919092169163d6a0c7af91604480830192600092919082900301818387803b15801561096d57600080fd5b60345473ffffffffffffffffffffffffffffffffffffffff1633146116db576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b60405173ffffffffffffffffffffffffffffffffffffffff8216907f64ee8f7bfc37fc205d7194ee3d64947ab7b57e663cd0d1abd3ef24503583069390600090a2603480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b33156117b6576040805162461bcd60e51b815260206004820152600c60248201527f6e6f742063616c6c61626c650000000000000000000000000000000000000000604482015290519081900360640190fd5b6034546040517fe08d7e660000000000000000000000000000000000000000000000000000000081526020600482018181526024830185905273ffffffffffffffffffffffffffffffffffffffff9093169263e08d7e6692869286929182916044909101908590850280828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561096d57600080fd5b60345473ffffffffffffffffffffffffffffffffffffffff1633146118c5576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b603554604080517fe30443bc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018590529151919092169163e30443bc91604480830192600092919082900301818387803b15801561096d57600080fd5b3315611993576040805162461bcd60e51b815260206004820152600c60248201527f6e6f742063616c6c61626c650000000000000000000000000000000000000000604482015290519081900360640190fd5b603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663592fe0c0898989898989898963322adc3a6040518a63ffffffff1660e01b8152600401808060200180602001806020018060200186815260200185810385528e8e82818152602001925060200280828437600083820152601f01601f191690910186810385528c8152602090810191508d908d0280828437600083820152601f01601f191690910186810384528a8152602090810191508b908b0280828437600083820152601f01601f19169091018681038352888152602090810191508990890280828437600081840152601f19601f8201169050808301925050509d5050505050505050505050505050600060405180830381600087803b158015611ad357600080fd5b505af1158015611ae7573d6000803e3d6000fd5b505050505050505050505050565b303b159056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a72315820962250f3ef56c54b3df8ce7213cfcf494e44135e9c70003b4f86fe5ef1bcbb9f64736f6c63430005110032", 35 } 36 37 // ContractABI is the input ABI used to generate the binding from. 38 // Deprecated: Use ContractMetaData.ABI instead. 39 var ContractABI = ContractMetaData.ABI 40 41 // ContractBin is the compiled bytecode used for deploying new contracts. 42 // Deprecated: Use ContractMetaData.Bin instead. 43 var ContractBin = ContractMetaData.Bin 44 45 // DeployContract deploys a new Ethereum contract, binding an instance of Contract to it. 46 func DeployContract(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Contract, error) { 47 parsed, err := ContractMetaData.GetAbi() 48 if err != nil { 49 return common.Address{}, nil, nil, err 50 } 51 if parsed == nil { 52 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 53 } 54 55 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ContractBin), backend) 56 if err != nil { 57 return common.Address{}, nil, nil, err 58 } 59 return address, tx, &Contract{ContractCaller: ContractCaller{contract: contract}, ContractTransactor: ContractTransactor{contract: contract}, ContractFilterer: ContractFilterer{contract: contract}}, nil 60 } 61 62 // Contract is an auto generated Go binding around an Ethereum contract. 63 type Contract struct { 64 ContractCaller // Read-only binding to the contract 65 ContractTransactor // Write-only binding to the contract 66 ContractFilterer // Log filterer for contract events 67 } 68 69 // ContractCaller is an auto generated read-only Go binding around an Ethereum contract. 70 type ContractCaller struct { 71 contract *bind.BoundContract // Generic contract wrapper for the low level calls 72 } 73 74 // ContractTransactor is an auto generated write-only Go binding around an Ethereum contract. 75 type ContractTransactor struct { 76 contract *bind.BoundContract // Generic contract wrapper for the low level calls 77 } 78 79 // ContractFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 80 type ContractFilterer struct { 81 contract *bind.BoundContract // Generic contract wrapper for the low level calls 82 } 83 84 // ContractSession is an auto generated Go binding around an Ethereum contract, 85 // with pre-set call and transact options. 86 type ContractSession struct { 87 Contract *Contract // Generic contract binding to set the session for 88 CallOpts bind.CallOpts // Call options to use throughout this session 89 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 90 } 91 92 // ContractCallerSession is an auto generated read-only Go binding around an Ethereum contract, 93 // with pre-set call options. 94 type ContractCallerSession struct { 95 Contract *ContractCaller // Generic contract caller binding to set the session for 96 CallOpts bind.CallOpts // Call options to use throughout this session 97 } 98 99 // ContractTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 100 // with pre-set transact options. 101 type ContractTransactorSession struct { 102 Contract *ContractTransactor // Generic contract transactor binding to set the session for 103 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 104 } 105 106 // ContractRaw is an auto generated low-level Go binding around an Ethereum contract. 107 type ContractRaw struct { 108 Contract *Contract // Generic contract binding to access the raw methods on 109 } 110 111 // ContractCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 112 type ContractCallerRaw struct { 113 Contract *ContractCaller // Generic read-only contract binding to access the raw methods on 114 } 115 116 // ContractTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 117 type ContractTransactorRaw struct { 118 Contract *ContractTransactor // Generic write-only contract binding to access the raw methods on 119 } 120 121 // NewContract creates a new instance of Contract, bound to a specific deployed contract. 122 func NewContract(address common.Address, backend bind.ContractBackend) (*Contract, error) { 123 contract, err := bindContract(address, backend, backend, backend) 124 if err != nil { 125 return nil, err 126 } 127 return &Contract{ContractCaller: ContractCaller{contract: contract}, ContractTransactor: ContractTransactor{contract: contract}, ContractFilterer: ContractFilterer{contract: contract}}, nil 128 } 129 130 // NewContractCaller creates a new read-only instance of Contract, bound to a specific deployed contract. 131 func NewContractCaller(address common.Address, caller bind.ContractCaller) (*ContractCaller, error) { 132 contract, err := bindContract(address, caller, nil, nil) 133 if err != nil { 134 return nil, err 135 } 136 return &ContractCaller{contract: contract}, nil 137 } 138 139 // NewContractTransactor creates a new write-only instance of Contract, bound to a specific deployed contract. 140 func NewContractTransactor(address common.Address, transactor bind.ContractTransactor) (*ContractTransactor, error) { 141 contract, err := bindContract(address, nil, transactor, nil) 142 if err != nil { 143 return nil, err 144 } 145 return &ContractTransactor{contract: contract}, nil 146 } 147 148 // NewContractFilterer creates a new log filterer instance of Contract, bound to a specific deployed contract. 149 func NewContractFilterer(address common.Address, filterer bind.ContractFilterer) (*ContractFilterer, error) { 150 contract, err := bindContract(address, nil, nil, filterer) 151 if err != nil { 152 return nil, err 153 } 154 return &ContractFilterer{contract: contract}, nil 155 } 156 157 // bindContract binds a generic wrapper to an already deployed contract. 158 func bindContract(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 159 parsed, err := abi.JSON(strings.NewReader(ContractABI)) 160 if err != nil { 161 return nil, err 162 } 163 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 164 } 165 166 // Call invokes the (constant) contract method with params as input values and 167 // sets the output to result. The result type might be a single field for simple 168 // returns, a slice of interfaces for anonymous returns and a struct for named 169 // returns. 170 func (_Contract *ContractRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 171 return _Contract.Contract.ContractCaller.contract.Call(opts, result, method, params...) 172 } 173 174 // Transfer initiates a plain transaction to move funds to the contract, calling 175 // its default method if one is available. 176 func (_Contract *ContractRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 177 return _Contract.Contract.ContractTransactor.contract.Transfer(opts) 178 } 179 180 // Transact invokes the (paid) contract method with params as input values. 181 func (_Contract *ContractRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 182 return _Contract.Contract.ContractTransactor.contract.Transact(opts, method, params...) 183 } 184 185 // Call invokes the (constant) contract method with params as input values and 186 // sets the output to result. The result type might be a single field for simple 187 // returns, a slice of interfaces for anonymous returns and a struct for named 188 // returns. 189 func (_Contract *ContractCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 190 return _Contract.Contract.contract.Call(opts, result, method, params...) 191 } 192 193 // Transfer initiates a plain transaction to move funds to the contract, calling 194 // its default method if one is available. 195 func (_Contract *ContractTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 196 return _Contract.Contract.contract.Transfer(opts) 197 } 198 199 // Transact invokes the (paid) contract method with params as input values. 200 func (_Contract *ContractTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 201 return _Contract.Contract.contract.Transact(opts, method, params...) 202 } 203 204 // AdvanceEpochs is a paid mutator transaction binding the contract method 0x0aeeca00. 205 // 206 // Solidity: function advanceEpochs(uint256 num) returns() 207 func (_Contract *ContractTransactor) AdvanceEpochs(opts *bind.TransactOpts, num *big.Int) (*types.Transaction, error) { 208 return _Contract.contract.Transact(opts, "advanceEpochs", num) 209 } 210 211 // AdvanceEpochs is a paid mutator transaction binding the contract method 0x0aeeca00. 212 // 213 // Solidity: function advanceEpochs(uint256 num) returns() 214 func (_Contract *ContractSession) AdvanceEpochs(num *big.Int) (*types.Transaction, error) { 215 return _Contract.Contract.AdvanceEpochs(&_Contract.TransactOpts, num) 216 } 217 218 // AdvanceEpochs is a paid mutator transaction binding the contract method 0x0aeeca00. 219 // 220 // Solidity: function advanceEpochs(uint256 num) returns() 221 func (_Contract *ContractTransactorSession) AdvanceEpochs(num *big.Int) (*types.Transaction, error) { 222 return _Contract.Contract.AdvanceEpochs(&_Contract.TransactOpts, num) 223 } 224 225 // CopyCode is a paid mutator transaction binding the contract method 0xd6a0c7af. 226 // 227 // Solidity: function copyCode(address acc, address from) returns() 228 func (_Contract *ContractTransactor) CopyCode(opts *bind.TransactOpts, acc common.Address, from common.Address) (*types.Transaction, error) { 229 return _Contract.contract.Transact(opts, "copyCode", acc, from) 230 } 231 232 // CopyCode is a paid mutator transaction binding the contract method 0xd6a0c7af. 233 // 234 // Solidity: function copyCode(address acc, address from) returns() 235 func (_Contract *ContractSession) CopyCode(acc common.Address, from common.Address) (*types.Transaction, error) { 236 return _Contract.Contract.CopyCode(&_Contract.TransactOpts, acc, from) 237 } 238 239 // CopyCode is a paid mutator transaction binding the contract method 0xd6a0c7af. 240 // 241 // Solidity: function copyCode(address acc, address from) returns() 242 func (_Contract *ContractTransactorSession) CopyCode(acc common.Address, from common.Address) (*types.Transaction, error) { 243 return _Contract.Contract.CopyCode(&_Contract.TransactOpts, acc, from) 244 } 245 246 // DeactivateValidator is a paid mutator transaction binding the contract method 0x1e702f83. 247 // 248 // Solidity: function deactivateValidator(uint256 validatorID, uint256 status) returns() 249 func (_Contract *ContractTransactor) DeactivateValidator(opts *bind.TransactOpts, validatorID *big.Int, status *big.Int) (*types.Transaction, error) { 250 return _Contract.contract.Transact(opts, "deactivateValidator", validatorID, status) 251 } 252 253 // DeactivateValidator is a paid mutator transaction binding the contract method 0x1e702f83. 254 // 255 // Solidity: function deactivateValidator(uint256 validatorID, uint256 status) returns() 256 func (_Contract *ContractSession) DeactivateValidator(validatorID *big.Int, status *big.Int) (*types.Transaction, error) { 257 return _Contract.Contract.DeactivateValidator(&_Contract.TransactOpts, validatorID, status) 258 } 259 260 // DeactivateValidator is a paid mutator transaction binding the contract method 0x1e702f83. 261 // 262 // Solidity: function deactivateValidator(uint256 validatorID, uint256 status) returns() 263 func (_Contract *ContractTransactorSession) DeactivateValidator(validatorID *big.Int, status *big.Int) (*types.Transaction, error) { 264 return _Contract.Contract.DeactivateValidator(&_Contract.TransactOpts, validatorID, status) 265 } 266 267 // IncNonce is a paid mutator transaction binding the contract method 0x79bead38. 268 // 269 // Solidity: function incNonce(address acc, uint256 diff) returns() 270 func (_Contract *ContractTransactor) IncNonce(opts *bind.TransactOpts, acc common.Address, diff *big.Int) (*types.Transaction, error) { 271 return _Contract.contract.Transact(opts, "incNonce", acc, diff) 272 } 273 274 // IncNonce is a paid mutator transaction binding the contract method 0x79bead38. 275 // 276 // Solidity: function incNonce(address acc, uint256 diff) returns() 277 func (_Contract *ContractSession) IncNonce(acc common.Address, diff *big.Int) (*types.Transaction, error) { 278 return _Contract.Contract.IncNonce(&_Contract.TransactOpts, acc, diff) 279 } 280 281 // IncNonce is a paid mutator transaction binding the contract method 0x79bead38. 282 // 283 // Solidity: function incNonce(address acc, uint256 diff) returns() 284 func (_Contract *ContractTransactorSession) IncNonce(acc common.Address, diff *big.Int) (*types.Transaction, error) { 285 return _Contract.Contract.IncNonce(&_Contract.TransactOpts, acc, diff) 286 } 287 288 // Initialize is a paid mutator transaction binding the contract method 0x485cc955. 289 // 290 // Solidity: function initialize(address _backend, address _evmWriterAddress) returns() 291 func (_Contract *ContractTransactor) Initialize(opts *bind.TransactOpts, _backend common.Address, _evmWriterAddress common.Address) (*types.Transaction, error) { 292 return _Contract.contract.Transact(opts, "initialize", _backend, _evmWriterAddress) 293 } 294 295 // Initialize is a paid mutator transaction binding the contract method 0x485cc955. 296 // 297 // Solidity: function initialize(address _backend, address _evmWriterAddress) returns() 298 func (_Contract *ContractSession) Initialize(_backend common.Address, _evmWriterAddress common.Address) (*types.Transaction, error) { 299 return _Contract.Contract.Initialize(&_Contract.TransactOpts, _backend, _evmWriterAddress) 300 } 301 302 // Initialize is a paid mutator transaction binding the contract method 0x485cc955. 303 // 304 // Solidity: function initialize(address _backend, address _evmWriterAddress) returns() 305 func (_Contract *ContractTransactorSession) Initialize(_backend common.Address, _evmWriterAddress common.Address) (*types.Transaction, error) { 306 return _Contract.Contract.Initialize(&_Contract.TransactOpts, _backend, _evmWriterAddress) 307 } 308 309 // SealEpoch is a paid mutator transaction binding the contract method 0xebdf104c. 310 // 311 // Solidity: function sealEpoch(uint256[] offlineTimes, uint256[] offlineBlocks, uint256[] uptimes, uint256[] originatedTxsFee) returns() 312 func (_Contract *ContractTransactor) SealEpoch(opts *bind.TransactOpts, offlineTimes []*big.Int, offlineBlocks []*big.Int, uptimes []*big.Int, originatedTxsFee []*big.Int) (*types.Transaction, error) { 313 return _Contract.contract.Transact(opts, "sealEpoch", offlineTimes, offlineBlocks, uptimes, originatedTxsFee) 314 } 315 316 // SealEpoch is a paid mutator transaction binding the contract method 0xebdf104c. 317 // 318 // Solidity: function sealEpoch(uint256[] offlineTimes, uint256[] offlineBlocks, uint256[] uptimes, uint256[] originatedTxsFee) returns() 319 func (_Contract *ContractSession) SealEpoch(offlineTimes []*big.Int, offlineBlocks []*big.Int, uptimes []*big.Int, originatedTxsFee []*big.Int) (*types.Transaction, error) { 320 return _Contract.Contract.SealEpoch(&_Contract.TransactOpts, offlineTimes, offlineBlocks, uptimes, originatedTxsFee) 321 } 322 323 // SealEpoch is a paid mutator transaction binding the contract method 0xebdf104c. 324 // 325 // Solidity: function sealEpoch(uint256[] offlineTimes, uint256[] offlineBlocks, uint256[] uptimes, uint256[] originatedTxsFee) returns() 326 func (_Contract *ContractTransactorSession) SealEpoch(offlineTimes []*big.Int, offlineBlocks []*big.Int, uptimes []*big.Int, originatedTxsFee []*big.Int) (*types.Transaction, error) { 327 return _Contract.Contract.SealEpoch(&_Contract.TransactOpts, offlineTimes, offlineBlocks, uptimes, originatedTxsFee) 328 } 329 330 // SealEpochV1 is a paid mutator transaction binding the contract method 0x7f52e13e. 331 // 332 // Solidity: function sealEpochV1(uint256[] offlineTimes, uint256[] offlineBlocks, uint256[] uptimes, uint256[] originatedTxsFee, uint256 usedGas) returns() 333 func (_Contract *ContractTransactor) SealEpochV1(opts *bind.TransactOpts, offlineTimes []*big.Int, offlineBlocks []*big.Int, uptimes []*big.Int, originatedTxsFee []*big.Int, usedGas *big.Int) (*types.Transaction, error) { 334 return _Contract.contract.Transact(opts, "sealEpochV1", offlineTimes, offlineBlocks, uptimes, originatedTxsFee, usedGas) 335 } 336 337 // SealEpochV1 is a paid mutator transaction binding the contract method 0x7f52e13e. 338 // 339 // Solidity: function sealEpochV1(uint256[] offlineTimes, uint256[] offlineBlocks, uint256[] uptimes, uint256[] originatedTxsFee, uint256 usedGas) returns() 340 func (_Contract *ContractSession) SealEpochV1(offlineTimes []*big.Int, offlineBlocks []*big.Int, uptimes []*big.Int, originatedTxsFee []*big.Int, usedGas *big.Int) (*types.Transaction, error) { 341 return _Contract.Contract.SealEpochV1(&_Contract.TransactOpts, offlineTimes, offlineBlocks, uptimes, originatedTxsFee, usedGas) 342 } 343 344 // SealEpochV1 is a paid mutator transaction binding the contract method 0x7f52e13e. 345 // 346 // Solidity: function sealEpochV1(uint256[] offlineTimes, uint256[] offlineBlocks, uint256[] uptimes, uint256[] originatedTxsFee, uint256 usedGas) returns() 347 func (_Contract *ContractTransactorSession) SealEpochV1(offlineTimes []*big.Int, offlineBlocks []*big.Int, uptimes []*big.Int, originatedTxsFee []*big.Int, usedGas *big.Int) (*types.Transaction, error) { 348 return _Contract.Contract.SealEpochV1(&_Contract.TransactOpts, offlineTimes, offlineBlocks, uptimes, originatedTxsFee, usedGas) 349 } 350 351 // SealEpochValidators is a paid mutator transaction binding the contract method 0xe08d7e66. 352 // 353 // Solidity: function sealEpochValidators(uint256[] nextValidatorIDs) returns() 354 func (_Contract *ContractTransactor) SealEpochValidators(opts *bind.TransactOpts, nextValidatorIDs []*big.Int) (*types.Transaction, error) { 355 return _Contract.contract.Transact(opts, "sealEpochValidators", nextValidatorIDs) 356 } 357 358 // SealEpochValidators is a paid mutator transaction binding the contract method 0xe08d7e66. 359 // 360 // Solidity: function sealEpochValidators(uint256[] nextValidatorIDs) returns() 361 func (_Contract *ContractSession) SealEpochValidators(nextValidatorIDs []*big.Int) (*types.Transaction, error) { 362 return _Contract.Contract.SealEpochValidators(&_Contract.TransactOpts, nextValidatorIDs) 363 } 364 365 // SealEpochValidators is a paid mutator transaction binding the contract method 0xe08d7e66. 366 // 367 // Solidity: function sealEpochValidators(uint256[] nextValidatorIDs) returns() 368 func (_Contract *ContractTransactorSession) SealEpochValidators(nextValidatorIDs []*big.Int) (*types.Transaction, error) { 369 return _Contract.Contract.SealEpochValidators(&_Contract.TransactOpts, nextValidatorIDs) 370 } 371 372 // SetBackend is a paid mutator transaction binding the contract method 0xda7fc24f. 373 // 374 // Solidity: function setBackend(address _backend) returns() 375 func (_Contract *ContractTransactor) SetBackend(opts *bind.TransactOpts, _backend common.Address) (*types.Transaction, error) { 376 return _Contract.contract.Transact(opts, "setBackend", _backend) 377 } 378 379 // SetBackend is a paid mutator transaction binding the contract method 0xda7fc24f. 380 // 381 // Solidity: function setBackend(address _backend) returns() 382 func (_Contract *ContractSession) SetBackend(_backend common.Address) (*types.Transaction, error) { 383 return _Contract.Contract.SetBackend(&_Contract.TransactOpts, _backend) 384 } 385 386 // SetBackend is a paid mutator transaction binding the contract method 0xda7fc24f. 387 // 388 // Solidity: function setBackend(address _backend) returns() 389 func (_Contract *ContractTransactorSession) SetBackend(_backend common.Address) (*types.Transaction, error) { 390 return _Contract.Contract.SetBackend(&_Contract.TransactOpts, _backend) 391 } 392 393 // SetBalance is a paid mutator transaction binding the contract method 0xe30443bc. 394 // 395 // Solidity: function setBalance(address acc, uint256 value) returns() 396 func (_Contract *ContractTransactor) SetBalance(opts *bind.TransactOpts, acc common.Address, value *big.Int) (*types.Transaction, error) { 397 return _Contract.contract.Transact(opts, "setBalance", acc, value) 398 } 399 400 // SetBalance is a paid mutator transaction binding the contract method 0xe30443bc. 401 // 402 // Solidity: function setBalance(address acc, uint256 value) returns() 403 func (_Contract *ContractSession) SetBalance(acc common.Address, value *big.Int) (*types.Transaction, error) { 404 return _Contract.Contract.SetBalance(&_Contract.TransactOpts, acc, value) 405 } 406 407 // SetBalance is a paid mutator transaction binding the contract method 0xe30443bc. 408 // 409 // Solidity: function setBalance(address acc, uint256 value) returns() 410 func (_Contract *ContractTransactorSession) SetBalance(acc common.Address, value *big.Int) (*types.Transaction, error) { 411 return _Contract.Contract.SetBalance(&_Contract.TransactOpts, acc, value) 412 } 413 414 // SetGenesisDelegation is a paid mutator transaction binding the contract method 0x18f628d4. 415 // 416 // Solidity: function setGenesisDelegation(address delegator, uint256 toValidatorID, uint256 stake, uint256 lockedStake, uint256 lockupFromEpoch, uint256 lockupEndTime, uint256 lockupDuration, uint256 earlyUnlockPenalty, uint256 rewards) returns() 417 func (_Contract *ContractTransactor) SetGenesisDelegation(opts *bind.TransactOpts, delegator common.Address, toValidatorID *big.Int, stake *big.Int, lockedStake *big.Int, lockupFromEpoch *big.Int, lockupEndTime *big.Int, lockupDuration *big.Int, earlyUnlockPenalty *big.Int, rewards *big.Int) (*types.Transaction, error) { 418 return _Contract.contract.Transact(opts, "setGenesisDelegation", delegator, toValidatorID, stake, lockedStake, lockupFromEpoch, lockupEndTime, lockupDuration, earlyUnlockPenalty, rewards) 419 } 420 421 // SetGenesisDelegation is a paid mutator transaction binding the contract method 0x18f628d4. 422 // 423 // Solidity: function setGenesisDelegation(address delegator, uint256 toValidatorID, uint256 stake, uint256 lockedStake, uint256 lockupFromEpoch, uint256 lockupEndTime, uint256 lockupDuration, uint256 earlyUnlockPenalty, uint256 rewards) returns() 424 func (_Contract *ContractSession) SetGenesisDelegation(delegator common.Address, toValidatorID *big.Int, stake *big.Int, lockedStake *big.Int, lockupFromEpoch *big.Int, lockupEndTime *big.Int, lockupDuration *big.Int, earlyUnlockPenalty *big.Int, rewards *big.Int) (*types.Transaction, error) { 425 return _Contract.Contract.SetGenesisDelegation(&_Contract.TransactOpts, delegator, toValidatorID, stake, lockedStake, lockupFromEpoch, lockupEndTime, lockupDuration, earlyUnlockPenalty, rewards) 426 } 427 428 // SetGenesisDelegation is a paid mutator transaction binding the contract method 0x18f628d4. 429 // 430 // Solidity: function setGenesisDelegation(address delegator, uint256 toValidatorID, uint256 stake, uint256 lockedStake, uint256 lockupFromEpoch, uint256 lockupEndTime, uint256 lockupDuration, uint256 earlyUnlockPenalty, uint256 rewards) returns() 431 func (_Contract *ContractTransactorSession) SetGenesisDelegation(delegator common.Address, toValidatorID *big.Int, stake *big.Int, lockedStake *big.Int, lockupFromEpoch *big.Int, lockupEndTime *big.Int, lockupDuration *big.Int, earlyUnlockPenalty *big.Int, rewards *big.Int) (*types.Transaction, error) { 432 return _Contract.Contract.SetGenesisDelegation(&_Contract.TransactOpts, delegator, toValidatorID, stake, lockedStake, lockupFromEpoch, lockupEndTime, lockupDuration, earlyUnlockPenalty, rewards) 433 } 434 435 // SetGenesisValidator is a paid mutator transaction binding the contract method 0x4feb92f3. 436 // 437 // Solidity: function setGenesisValidator(address _auth, uint256 validatorID, bytes pubkey, uint256 status, uint256 createdEpoch, uint256 createdTime, uint256 deactivatedEpoch, uint256 deactivatedTime) returns() 438 func (_Contract *ContractTransactor) SetGenesisValidator(opts *bind.TransactOpts, _auth common.Address, validatorID *big.Int, pubkey []byte, status *big.Int, createdEpoch *big.Int, createdTime *big.Int, deactivatedEpoch *big.Int, deactivatedTime *big.Int) (*types.Transaction, error) { 439 return _Contract.contract.Transact(opts, "setGenesisValidator", _auth, validatorID, pubkey, status, createdEpoch, createdTime, deactivatedEpoch, deactivatedTime) 440 } 441 442 // SetGenesisValidator is a paid mutator transaction binding the contract method 0x4feb92f3. 443 // 444 // Solidity: function setGenesisValidator(address _auth, uint256 validatorID, bytes pubkey, uint256 status, uint256 createdEpoch, uint256 createdTime, uint256 deactivatedEpoch, uint256 deactivatedTime) returns() 445 func (_Contract *ContractSession) SetGenesisValidator(_auth common.Address, validatorID *big.Int, pubkey []byte, status *big.Int, createdEpoch *big.Int, createdTime *big.Int, deactivatedEpoch *big.Int, deactivatedTime *big.Int) (*types.Transaction, error) { 446 return _Contract.Contract.SetGenesisValidator(&_Contract.TransactOpts, _auth, validatorID, pubkey, status, createdEpoch, createdTime, deactivatedEpoch, deactivatedTime) 447 } 448 449 // SetGenesisValidator is a paid mutator transaction binding the contract method 0x4feb92f3. 450 // 451 // Solidity: function setGenesisValidator(address _auth, uint256 validatorID, bytes pubkey, uint256 status, uint256 createdEpoch, uint256 createdTime, uint256 deactivatedEpoch, uint256 deactivatedTime) returns() 452 func (_Contract *ContractTransactorSession) SetGenesisValidator(_auth common.Address, validatorID *big.Int, pubkey []byte, status *big.Int, createdEpoch *big.Int, createdTime *big.Int, deactivatedEpoch *big.Int, deactivatedTime *big.Int) (*types.Transaction, error) { 453 return _Contract.Contract.SetGenesisValidator(&_Contract.TransactOpts, _auth, validatorID, pubkey, status, createdEpoch, createdTime, deactivatedEpoch, deactivatedTime) 454 } 455 456 // SetStorage is a paid mutator transaction binding the contract method 0x39e503ab. 457 // 458 // Solidity: function setStorage(address acc, bytes32 key, bytes32 value) returns() 459 func (_Contract *ContractTransactor) SetStorage(opts *bind.TransactOpts, acc common.Address, key [32]byte, value [32]byte) (*types.Transaction, error) { 460 return _Contract.contract.Transact(opts, "setStorage", acc, key, value) 461 } 462 463 // SetStorage is a paid mutator transaction binding the contract method 0x39e503ab. 464 // 465 // Solidity: function setStorage(address acc, bytes32 key, bytes32 value) returns() 466 func (_Contract *ContractSession) SetStorage(acc common.Address, key [32]byte, value [32]byte) (*types.Transaction, error) { 467 return _Contract.Contract.SetStorage(&_Contract.TransactOpts, acc, key, value) 468 } 469 470 // SetStorage is a paid mutator transaction binding the contract method 0x39e503ab. 471 // 472 // Solidity: function setStorage(address acc, bytes32 key, bytes32 value) returns() 473 func (_Contract *ContractTransactorSession) SetStorage(acc common.Address, key [32]byte, value [32]byte) (*types.Transaction, error) { 474 return _Contract.Contract.SetStorage(&_Contract.TransactOpts, acc, key, value) 475 } 476 477 // SwapCode is a paid mutator transaction binding the contract method 0x07690b2a. 478 // 479 // Solidity: function swapCode(address acc, address with) returns() 480 func (_Contract *ContractTransactor) SwapCode(opts *bind.TransactOpts, acc common.Address, with common.Address) (*types.Transaction, error) { 481 return _Contract.contract.Transact(opts, "swapCode", acc, with) 482 } 483 484 // SwapCode is a paid mutator transaction binding the contract method 0x07690b2a. 485 // 486 // Solidity: function swapCode(address acc, address with) returns() 487 func (_Contract *ContractSession) SwapCode(acc common.Address, with common.Address) (*types.Transaction, error) { 488 return _Contract.Contract.SwapCode(&_Contract.TransactOpts, acc, with) 489 } 490 491 // SwapCode is a paid mutator transaction binding the contract method 0x07690b2a. 492 // 493 // Solidity: function swapCode(address acc, address with) returns() 494 func (_Contract *ContractTransactorSession) SwapCode(acc common.Address, with common.Address) (*types.Transaction, error) { 495 return _Contract.Contract.SwapCode(&_Contract.TransactOpts, acc, with) 496 } 497 498 // UpdateNetworkRules is a paid mutator transaction binding the contract method 0xb9cc6b1c. 499 // 500 // Solidity: function updateNetworkRules(bytes diff) returns() 501 func (_Contract *ContractTransactor) UpdateNetworkRules(opts *bind.TransactOpts, diff []byte) (*types.Transaction, error) { 502 return _Contract.contract.Transact(opts, "updateNetworkRules", diff) 503 } 504 505 // UpdateNetworkRules is a paid mutator transaction binding the contract method 0xb9cc6b1c. 506 // 507 // Solidity: function updateNetworkRules(bytes diff) returns() 508 func (_Contract *ContractSession) UpdateNetworkRules(diff []byte) (*types.Transaction, error) { 509 return _Contract.Contract.UpdateNetworkRules(&_Contract.TransactOpts, diff) 510 } 511 512 // UpdateNetworkRules is a paid mutator transaction binding the contract method 0xb9cc6b1c. 513 // 514 // Solidity: function updateNetworkRules(bytes diff) returns() 515 func (_Contract *ContractTransactorSession) UpdateNetworkRules(diff []byte) (*types.Transaction, error) { 516 return _Contract.Contract.UpdateNetworkRules(&_Contract.TransactOpts, diff) 517 } 518 519 // UpdateNetworkVersion is a paid mutator transaction binding the contract method 0x267ab446. 520 // 521 // Solidity: function updateNetworkVersion(uint256 version) returns() 522 func (_Contract *ContractTransactor) UpdateNetworkVersion(opts *bind.TransactOpts, version *big.Int) (*types.Transaction, error) { 523 return _Contract.contract.Transact(opts, "updateNetworkVersion", version) 524 } 525 526 // UpdateNetworkVersion is a paid mutator transaction binding the contract method 0x267ab446. 527 // 528 // Solidity: function updateNetworkVersion(uint256 version) returns() 529 func (_Contract *ContractSession) UpdateNetworkVersion(version *big.Int) (*types.Transaction, error) { 530 return _Contract.Contract.UpdateNetworkVersion(&_Contract.TransactOpts, version) 531 } 532 533 // UpdateNetworkVersion is a paid mutator transaction binding the contract method 0x267ab446. 534 // 535 // Solidity: function updateNetworkVersion(uint256 version) returns() 536 func (_Contract *ContractTransactorSession) UpdateNetworkVersion(version *big.Int) (*types.Transaction, error) { 537 return _Contract.Contract.UpdateNetworkVersion(&_Contract.TransactOpts, version) 538 } 539 540 // UpdateValidatorPubkey is a paid mutator transaction binding the contract method 0x242a6e3f. 541 // 542 // Solidity: function updateValidatorPubkey(uint256 validatorID, bytes pubkey) returns() 543 func (_Contract *ContractTransactor) UpdateValidatorPubkey(opts *bind.TransactOpts, validatorID *big.Int, pubkey []byte) (*types.Transaction, error) { 544 return _Contract.contract.Transact(opts, "updateValidatorPubkey", validatorID, pubkey) 545 } 546 547 // UpdateValidatorPubkey is a paid mutator transaction binding the contract method 0x242a6e3f. 548 // 549 // Solidity: function updateValidatorPubkey(uint256 validatorID, bytes pubkey) returns() 550 func (_Contract *ContractSession) UpdateValidatorPubkey(validatorID *big.Int, pubkey []byte) (*types.Transaction, error) { 551 return _Contract.Contract.UpdateValidatorPubkey(&_Contract.TransactOpts, validatorID, pubkey) 552 } 553 554 // UpdateValidatorPubkey is a paid mutator transaction binding the contract method 0x242a6e3f. 555 // 556 // Solidity: function updateValidatorPubkey(uint256 validatorID, bytes pubkey) returns() 557 func (_Contract *ContractTransactorSession) UpdateValidatorPubkey(validatorID *big.Int, pubkey []byte) (*types.Transaction, error) { 558 return _Contract.Contract.UpdateValidatorPubkey(&_Contract.TransactOpts, validatorID, pubkey) 559 } 560 561 // UpdateValidatorWeight is a paid mutator transaction binding the contract method 0xa4066fbe. 562 // 563 // Solidity: function updateValidatorWeight(uint256 validatorID, uint256 value) returns() 564 func (_Contract *ContractTransactor) UpdateValidatorWeight(opts *bind.TransactOpts, validatorID *big.Int, value *big.Int) (*types.Transaction, error) { 565 return _Contract.contract.Transact(opts, "updateValidatorWeight", validatorID, value) 566 } 567 568 // UpdateValidatorWeight is a paid mutator transaction binding the contract method 0xa4066fbe. 569 // 570 // Solidity: function updateValidatorWeight(uint256 validatorID, uint256 value) returns() 571 func (_Contract *ContractSession) UpdateValidatorWeight(validatorID *big.Int, value *big.Int) (*types.Transaction, error) { 572 return _Contract.Contract.UpdateValidatorWeight(&_Contract.TransactOpts, validatorID, value) 573 } 574 575 // UpdateValidatorWeight is a paid mutator transaction binding the contract method 0xa4066fbe. 576 // 577 // Solidity: function updateValidatorWeight(uint256 validatorID, uint256 value) returns() 578 func (_Contract *ContractTransactorSession) UpdateValidatorWeight(validatorID *big.Int, value *big.Int) (*types.Transaction, error) { 579 return _Contract.Contract.UpdateValidatorWeight(&_Contract.TransactOpts, validatorID, value) 580 } 581 582 // ContractAdvanceEpochsIterator is returned from FilterAdvanceEpochs and is used to iterate over the raw logs and unpacked data for AdvanceEpochs events raised by the Contract contract. 583 type ContractAdvanceEpochsIterator struct { 584 Event *ContractAdvanceEpochs // Event containing the contract specifics and raw log 585 586 contract *bind.BoundContract // Generic contract to use for unpacking event data 587 event string // Event name to use for unpacking event data 588 589 logs chan types.Log // Log channel receiving the found contract events 590 sub u2u.Subscription // Subscription for errors, completion and termination 591 done bool // Whether the subscription completed delivering logs 592 fail error // Occurred error to stop iteration 593 } 594 595 // Next advances the iterator to the subsequent event, returning whether there 596 // are any more events found. In case of a retrieval or parsing error, false is 597 // returned and Error() can be queried for the exact failure. 598 func (it *ContractAdvanceEpochsIterator) Next() bool { 599 // If the iterator failed, stop iterating 600 if it.fail != nil { 601 return false 602 } 603 // If the iterator completed, deliver directly whatever's available 604 if it.done { 605 select { 606 case log := <-it.logs: 607 it.Event = new(ContractAdvanceEpochs) 608 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 609 it.fail = err 610 return false 611 } 612 it.Event.Raw = log 613 return true 614 615 default: 616 return false 617 } 618 } 619 // Iterator still in progress, wait for either a data or an error event 620 select { 621 case log := <-it.logs: 622 it.Event = new(ContractAdvanceEpochs) 623 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 624 it.fail = err 625 return false 626 } 627 it.Event.Raw = log 628 return true 629 630 case err := <-it.sub.Err(): 631 it.done = true 632 it.fail = err 633 return it.Next() 634 } 635 } 636 637 // Error returns any retrieval or parsing error occurred during filtering. 638 func (it *ContractAdvanceEpochsIterator) Error() error { 639 return it.fail 640 } 641 642 // Close terminates the iteration process, releasing any pending underlying 643 // resources. 644 func (it *ContractAdvanceEpochsIterator) Close() error { 645 it.sub.Unsubscribe() 646 return nil 647 } 648 649 // ContractAdvanceEpochs represents a AdvanceEpochs event raised by the Contract contract. 650 type ContractAdvanceEpochs struct { 651 Num *big.Int 652 Raw types.Log // Blockchain specific contextual infos 653 } 654 655 // FilterAdvanceEpochs is a free log retrieval operation binding the contract event 0x0151256d62457b809bbc891b1f81c6dd0b9987552c70ce915b519750cd434dd1. 656 // 657 // Solidity: event AdvanceEpochs(uint256 num) 658 func (_Contract *ContractFilterer) FilterAdvanceEpochs(opts *bind.FilterOpts) (*ContractAdvanceEpochsIterator, error) { 659 660 logs, sub, err := _Contract.contract.FilterLogs(opts, "AdvanceEpochs") 661 if err != nil { 662 return nil, err 663 } 664 return &ContractAdvanceEpochsIterator{contract: _Contract.contract, event: "AdvanceEpochs", logs: logs, sub: sub}, nil 665 } 666 667 // WatchAdvanceEpochs is a free log subscription operation binding the contract event 0x0151256d62457b809bbc891b1f81c6dd0b9987552c70ce915b519750cd434dd1. 668 // 669 // Solidity: event AdvanceEpochs(uint256 num) 670 func (_Contract *ContractFilterer) WatchAdvanceEpochs(opts *bind.WatchOpts, sink chan<- *ContractAdvanceEpochs) (event.Subscription, error) { 671 672 logs, sub, err := _Contract.contract.WatchLogs(opts, "AdvanceEpochs") 673 if err != nil { 674 return nil, err 675 } 676 return event.NewSubscription(func(quit <-chan struct{}) error { 677 defer sub.Unsubscribe() 678 for { 679 select { 680 case log := <-logs: 681 // New log arrived, parse the event and forward to the user 682 event := new(ContractAdvanceEpochs) 683 if err := _Contract.contract.UnpackLog(event, "AdvanceEpochs", log); err != nil { 684 return err 685 } 686 event.Raw = log 687 688 select { 689 case sink <- event: 690 case err := <-sub.Err(): 691 return err 692 case <-quit: 693 return nil 694 } 695 case err := <-sub.Err(): 696 return err 697 case <-quit: 698 return nil 699 } 700 } 701 }), nil 702 } 703 704 // ParseAdvanceEpochs is a log parse operation binding the contract event 0x0151256d62457b809bbc891b1f81c6dd0b9987552c70ce915b519750cd434dd1. 705 // 706 // Solidity: event AdvanceEpochs(uint256 num) 707 func (_Contract *ContractFilterer) ParseAdvanceEpochs(log types.Log) (*ContractAdvanceEpochs, error) { 708 event := new(ContractAdvanceEpochs) 709 if err := _Contract.contract.UnpackLog(event, "AdvanceEpochs", log); err != nil { 710 return nil, err 711 } 712 event.Raw = log 713 return event, nil 714 } 715 716 // ContractUpdateNetworkRulesIterator is returned from FilterUpdateNetworkRules and is used to iterate over the raw logs and unpacked data for UpdateNetworkRules events raised by the Contract contract. 717 type ContractUpdateNetworkRulesIterator struct { 718 Event *ContractUpdateNetworkRules // Event containing the contract specifics and raw log 719 720 contract *bind.BoundContract // Generic contract to use for unpacking event data 721 event string // Event name to use for unpacking event data 722 723 logs chan types.Log // Log channel receiving the found contract events 724 sub u2u.Subscription // Subscription for errors, completion and termination 725 done bool // Whether the subscription completed delivering logs 726 fail error // Occurred error to stop iteration 727 } 728 729 // Next advances the iterator to the subsequent event, returning whether there 730 // are any more events found. In case of a retrieval or parsing error, false is 731 // returned and Error() can be queried for the exact failure. 732 func (it *ContractUpdateNetworkRulesIterator) Next() bool { 733 // If the iterator failed, stop iterating 734 if it.fail != nil { 735 return false 736 } 737 // If the iterator completed, deliver directly whatever's available 738 if it.done { 739 select { 740 case log := <-it.logs: 741 it.Event = new(ContractUpdateNetworkRules) 742 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 743 it.fail = err 744 return false 745 } 746 it.Event.Raw = log 747 return true 748 749 default: 750 return false 751 } 752 } 753 // Iterator still in progress, wait for either a data or an error event 754 select { 755 case log := <-it.logs: 756 it.Event = new(ContractUpdateNetworkRules) 757 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 758 it.fail = err 759 return false 760 } 761 it.Event.Raw = log 762 return true 763 764 case err := <-it.sub.Err(): 765 it.done = true 766 it.fail = err 767 return it.Next() 768 } 769 } 770 771 // Error returns any retrieval or parsing error occurred during filtering. 772 func (it *ContractUpdateNetworkRulesIterator) Error() error { 773 return it.fail 774 } 775 776 // Close terminates the iteration process, releasing any pending underlying 777 // resources. 778 func (it *ContractUpdateNetworkRulesIterator) Close() error { 779 it.sub.Unsubscribe() 780 return nil 781 } 782 783 // ContractUpdateNetworkRules represents a UpdateNetworkRules event raised by the Contract contract. 784 type ContractUpdateNetworkRules struct { 785 Diff []byte 786 Raw types.Log // Blockchain specific contextual infos 787 } 788 789 // FilterUpdateNetworkRules is a free log retrieval operation binding the contract event 0x47d10eed096a44e3d0abc586c7e3a5d6cb5358cc90e7d437cd0627f7e765fb99. 790 // 791 // Solidity: event UpdateNetworkRules(bytes diff) 792 func (_Contract *ContractFilterer) FilterUpdateNetworkRules(opts *bind.FilterOpts) (*ContractUpdateNetworkRulesIterator, error) { 793 794 logs, sub, err := _Contract.contract.FilterLogs(opts, "UpdateNetworkRules") 795 if err != nil { 796 return nil, err 797 } 798 return &ContractUpdateNetworkRulesIterator{contract: _Contract.contract, event: "UpdateNetworkRules", logs: logs, sub: sub}, nil 799 } 800 801 // WatchUpdateNetworkRules is a free log subscription operation binding the contract event 0x47d10eed096a44e3d0abc586c7e3a5d6cb5358cc90e7d437cd0627f7e765fb99. 802 // 803 // Solidity: event UpdateNetworkRules(bytes diff) 804 func (_Contract *ContractFilterer) WatchUpdateNetworkRules(opts *bind.WatchOpts, sink chan<- *ContractUpdateNetworkRules) (event.Subscription, error) { 805 806 logs, sub, err := _Contract.contract.WatchLogs(opts, "UpdateNetworkRules") 807 if err != nil { 808 return nil, err 809 } 810 return event.NewSubscription(func(quit <-chan struct{}) error { 811 defer sub.Unsubscribe() 812 for { 813 select { 814 case log := <-logs: 815 // New log arrived, parse the event and forward to the user 816 event := new(ContractUpdateNetworkRules) 817 if err := _Contract.contract.UnpackLog(event, "UpdateNetworkRules", log); err != nil { 818 return err 819 } 820 event.Raw = log 821 822 select { 823 case sink <- event: 824 case err := <-sub.Err(): 825 return err 826 case <-quit: 827 return nil 828 } 829 case err := <-sub.Err(): 830 return err 831 case <-quit: 832 return nil 833 } 834 } 835 }), nil 836 } 837 838 // ParseUpdateNetworkRules is a log parse operation binding the contract event 0x47d10eed096a44e3d0abc586c7e3a5d6cb5358cc90e7d437cd0627f7e765fb99. 839 // 840 // Solidity: event UpdateNetworkRules(bytes diff) 841 func (_Contract *ContractFilterer) ParseUpdateNetworkRules(log types.Log) (*ContractUpdateNetworkRules, error) { 842 event := new(ContractUpdateNetworkRules) 843 if err := _Contract.contract.UnpackLog(event, "UpdateNetworkRules", log); err != nil { 844 return nil, err 845 } 846 event.Raw = log 847 return event, nil 848 } 849 850 // ContractUpdateNetworkVersionIterator is returned from FilterUpdateNetworkVersion and is used to iterate over the raw logs and unpacked data for UpdateNetworkVersion events raised by the Contract contract. 851 type ContractUpdateNetworkVersionIterator struct { 852 Event *ContractUpdateNetworkVersion // Event containing the contract specifics and raw log 853 854 contract *bind.BoundContract // Generic contract to use for unpacking event data 855 event string // Event name to use for unpacking event data 856 857 logs chan types.Log // Log channel receiving the found contract events 858 sub u2u.Subscription // Subscription for errors, completion and termination 859 done bool // Whether the subscription completed delivering logs 860 fail error // Occurred error to stop iteration 861 } 862 863 // Next advances the iterator to the subsequent event, returning whether there 864 // are any more events found. In case of a retrieval or parsing error, false is 865 // returned and Error() can be queried for the exact failure. 866 func (it *ContractUpdateNetworkVersionIterator) Next() bool { 867 // If the iterator failed, stop iterating 868 if it.fail != nil { 869 return false 870 } 871 // If the iterator completed, deliver directly whatever's available 872 if it.done { 873 select { 874 case log := <-it.logs: 875 it.Event = new(ContractUpdateNetworkVersion) 876 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 877 it.fail = err 878 return false 879 } 880 it.Event.Raw = log 881 return true 882 883 default: 884 return false 885 } 886 } 887 // Iterator still in progress, wait for either a data or an error event 888 select { 889 case log := <-it.logs: 890 it.Event = new(ContractUpdateNetworkVersion) 891 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 892 it.fail = err 893 return false 894 } 895 it.Event.Raw = log 896 return true 897 898 case err := <-it.sub.Err(): 899 it.done = true 900 it.fail = err 901 return it.Next() 902 } 903 } 904 905 // Error returns any retrieval or parsing error occurred during filtering. 906 func (it *ContractUpdateNetworkVersionIterator) Error() error { 907 return it.fail 908 } 909 910 // Close terminates the iteration process, releasing any pending underlying 911 // resources. 912 func (it *ContractUpdateNetworkVersionIterator) Close() error { 913 it.sub.Unsubscribe() 914 return nil 915 } 916 917 // ContractUpdateNetworkVersion represents a UpdateNetworkVersion event raised by the Contract contract. 918 type ContractUpdateNetworkVersion struct { 919 Version *big.Int 920 Raw types.Log // Blockchain specific contextual infos 921 } 922 923 // FilterUpdateNetworkVersion is a free log retrieval operation binding the contract event 0x2ccdfd47cf0c1f1069d949f1789bb79b2f12821f021634fc835af1de66ea2feb. 924 // 925 // Solidity: event UpdateNetworkVersion(uint256 version) 926 func (_Contract *ContractFilterer) FilterUpdateNetworkVersion(opts *bind.FilterOpts) (*ContractUpdateNetworkVersionIterator, error) { 927 928 logs, sub, err := _Contract.contract.FilterLogs(opts, "UpdateNetworkVersion") 929 if err != nil { 930 return nil, err 931 } 932 return &ContractUpdateNetworkVersionIterator{contract: _Contract.contract, event: "UpdateNetworkVersion", logs: logs, sub: sub}, nil 933 } 934 935 // WatchUpdateNetworkVersion is a free log subscription operation binding the contract event 0x2ccdfd47cf0c1f1069d949f1789bb79b2f12821f021634fc835af1de66ea2feb. 936 // 937 // Solidity: event UpdateNetworkVersion(uint256 version) 938 func (_Contract *ContractFilterer) WatchUpdateNetworkVersion(opts *bind.WatchOpts, sink chan<- *ContractUpdateNetworkVersion) (event.Subscription, error) { 939 940 logs, sub, err := _Contract.contract.WatchLogs(opts, "UpdateNetworkVersion") 941 if err != nil { 942 return nil, err 943 } 944 return event.NewSubscription(func(quit <-chan struct{}) error { 945 defer sub.Unsubscribe() 946 for { 947 select { 948 case log := <-logs: 949 // New log arrived, parse the event and forward to the user 950 event := new(ContractUpdateNetworkVersion) 951 if err := _Contract.contract.UnpackLog(event, "UpdateNetworkVersion", log); err != nil { 952 return err 953 } 954 event.Raw = log 955 956 select { 957 case sink <- event: 958 case err := <-sub.Err(): 959 return err 960 case <-quit: 961 return nil 962 } 963 case err := <-sub.Err(): 964 return err 965 case <-quit: 966 return nil 967 } 968 } 969 }), nil 970 } 971 972 // ParseUpdateNetworkVersion is a log parse operation binding the contract event 0x2ccdfd47cf0c1f1069d949f1789bb79b2f12821f021634fc835af1de66ea2feb. 973 // 974 // Solidity: event UpdateNetworkVersion(uint256 version) 975 func (_Contract *ContractFilterer) ParseUpdateNetworkVersion(log types.Log) (*ContractUpdateNetworkVersion, error) { 976 event := new(ContractUpdateNetworkVersion) 977 if err := _Contract.contract.UnpackLog(event, "UpdateNetworkVersion", log); err != nil { 978 return nil, err 979 } 980 event.Raw = log 981 return event, nil 982 } 983 984 // ContractUpdateValidatorPubkeyIterator is returned from FilterUpdateValidatorPubkey and is used to iterate over the raw logs and unpacked data for UpdateValidatorPubkey events raised by the Contract contract. 985 type ContractUpdateValidatorPubkeyIterator struct { 986 Event *ContractUpdateValidatorPubkey // Event containing the contract specifics and raw log 987 988 contract *bind.BoundContract // Generic contract to use for unpacking event data 989 event string // Event name to use for unpacking event data 990 991 logs chan types.Log // Log channel receiving the found contract events 992 sub u2u.Subscription // Subscription for errors, completion and termination 993 done bool // Whether the subscription completed delivering logs 994 fail error // Occurred error to stop iteration 995 } 996 997 // Next advances the iterator to the subsequent event, returning whether there 998 // are any more events found. In case of a retrieval or parsing error, false is 999 // returned and Error() can be queried for the exact failure. 1000 func (it *ContractUpdateValidatorPubkeyIterator) Next() bool { 1001 // If the iterator failed, stop iterating 1002 if it.fail != nil { 1003 return false 1004 } 1005 // If the iterator completed, deliver directly whatever's available 1006 if it.done { 1007 select { 1008 case log := <-it.logs: 1009 it.Event = new(ContractUpdateValidatorPubkey) 1010 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1011 it.fail = err 1012 return false 1013 } 1014 it.Event.Raw = log 1015 return true 1016 1017 default: 1018 return false 1019 } 1020 } 1021 // Iterator still in progress, wait for either a data or an error event 1022 select { 1023 case log := <-it.logs: 1024 it.Event = new(ContractUpdateValidatorPubkey) 1025 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1026 it.fail = err 1027 return false 1028 } 1029 it.Event.Raw = log 1030 return true 1031 1032 case err := <-it.sub.Err(): 1033 it.done = true 1034 it.fail = err 1035 return it.Next() 1036 } 1037 } 1038 1039 // Error returns any retrieval or parsing error occurred during filtering. 1040 func (it *ContractUpdateValidatorPubkeyIterator) Error() error { 1041 return it.fail 1042 } 1043 1044 // Close terminates the iteration process, releasing any pending underlying 1045 // resources. 1046 func (it *ContractUpdateValidatorPubkeyIterator) Close() error { 1047 it.sub.Unsubscribe() 1048 return nil 1049 } 1050 1051 // ContractUpdateValidatorPubkey represents a UpdateValidatorPubkey event raised by the Contract contract. 1052 type ContractUpdateValidatorPubkey struct { 1053 ValidatorID *big.Int 1054 Pubkey []byte 1055 Raw types.Log // Blockchain specific contextual infos 1056 } 1057 1058 // FilterUpdateValidatorPubkey is a free log retrieval operation binding the contract event 0x0f0ef1ab97439def0a9d2c6d9dc166207f1b13b99e62b442b2993d6153c63a6e. 1059 // 1060 // Solidity: event UpdateValidatorPubkey(uint256 indexed validatorID, bytes pubkey) 1061 func (_Contract *ContractFilterer) FilterUpdateValidatorPubkey(opts *bind.FilterOpts, validatorID []*big.Int) (*ContractUpdateValidatorPubkeyIterator, error) { 1062 1063 var validatorIDRule []interface{} 1064 for _, validatorIDItem := range validatorID { 1065 validatorIDRule = append(validatorIDRule, validatorIDItem) 1066 } 1067 1068 logs, sub, err := _Contract.contract.FilterLogs(opts, "UpdateValidatorPubkey", validatorIDRule) 1069 if err != nil { 1070 return nil, err 1071 } 1072 return &ContractUpdateValidatorPubkeyIterator{contract: _Contract.contract, event: "UpdateValidatorPubkey", logs: logs, sub: sub}, nil 1073 } 1074 1075 // WatchUpdateValidatorPubkey is a free log subscription operation binding the contract event 0x0f0ef1ab97439def0a9d2c6d9dc166207f1b13b99e62b442b2993d6153c63a6e. 1076 // 1077 // Solidity: event UpdateValidatorPubkey(uint256 indexed validatorID, bytes pubkey) 1078 func (_Contract *ContractFilterer) WatchUpdateValidatorPubkey(opts *bind.WatchOpts, sink chan<- *ContractUpdateValidatorPubkey, validatorID []*big.Int) (event.Subscription, error) { 1079 1080 var validatorIDRule []interface{} 1081 for _, validatorIDItem := range validatorID { 1082 validatorIDRule = append(validatorIDRule, validatorIDItem) 1083 } 1084 1085 logs, sub, err := _Contract.contract.WatchLogs(opts, "UpdateValidatorPubkey", validatorIDRule) 1086 if err != nil { 1087 return nil, err 1088 } 1089 return event.NewSubscription(func(quit <-chan struct{}) error { 1090 defer sub.Unsubscribe() 1091 for { 1092 select { 1093 case log := <-logs: 1094 // New log arrived, parse the event and forward to the user 1095 event := new(ContractUpdateValidatorPubkey) 1096 if err := _Contract.contract.UnpackLog(event, "UpdateValidatorPubkey", log); err != nil { 1097 return err 1098 } 1099 event.Raw = log 1100 1101 select { 1102 case sink <- event: 1103 case err := <-sub.Err(): 1104 return err 1105 case <-quit: 1106 return nil 1107 } 1108 case err := <-sub.Err(): 1109 return err 1110 case <-quit: 1111 return nil 1112 } 1113 } 1114 }), nil 1115 } 1116 1117 // ParseUpdateValidatorPubkey is a log parse operation binding the contract event 0x0f0ef1ab97439def0a9d2c6d9dc166207f1b13b99e62b442b2993d6153c63a6e. 1118 // 1119 // Solidity: event UpdateValidatorPubkey(uint256 indexed validatorID, bytes pubkey) 1120 func (_Contract *ContractFilterer) ParseUpdateValidatorPubkey(log types.Log) (*ContractUpdateValidatorPubkey, error) { 1121 event := new(ContractUpdateValidatorPubkey) 1122 if err := _Contract.contract.UnpackLog(event, "UpdateValidatorPubkey", log); err != nil { 1123 return nil, err 1124 } 1125 event.Raw = log 1126 return event, nil 1127 } 1128 1129 // ContractUpdateValidatorWeightIterator is returned from FilterUpdateValidatorWeight and is used to iterate over the raw logs and unpacked data for UpdateValidatorWeight events raised by the Contract contract. 1130 type ContractUpdateValidatorWeightIterator struct { 1131 Event *ContractUpdateValidatorWeight // Event containing the contract specifics and raw log 1132 1133 contract *bind.BoundContract // Generic contract to use for unpacking event data 1134 event string // Event name to use for unpacking event data 1135 1136 logs chan types.Log // Log channel receiving the found contract events 1137 sub u2u.Subscription // Subscription for errors, completion and termination 1138 done bool // Whether the subscription completed delivering logs 1139 fail error // Occurred error to stop iteration 1140 } 1141 1142 // Next advances the iterator to the subsequent event, returning whether there 1143 // are any more events found. In case of a retrieval or parsing error, false is 1144 // returned and Error() can be queried for the exact failure. 1145 func (it *ContractUpdateValidatorWeightIterator) Next() bool { 1146 // If the iterator failed, stop iterating 1147 if it.fail != nil { 1148 return false 1149 } 1150 // If the iterator completed, deliver directly whatever's available 1151 if it.done { 1152 select { 1153 case log := <-it.logs: 1154 it.Event = new(ContractUpdateValidatorWeight) 1155 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1156 it.fail = err 1157 return false 1158 } 1159 it.Event.Raw = log 1160 return true 1161 1162 default: 1163 return false 1164 } 1165 } 1166 // Iterator still in progress, wait for either a data or an error event 1167 select { 1168 case log := <-it.logs: 1169 it.Event = new(ContractUpdateValidatorWeight) 1170 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1171 it.fail = err 1172 return false 1173 } 1174 it.Event.Raw = log 1175 return true 1176 1177 case err := <-it.sub.Err(): 1178 it.done = true 1179 it.fail = err 1180 return it.Next() 1181 } 1182 } 1183 1184 // Error returns any retrieval or parsing error occurred during filtering. 1185 func (it *ContractUpdateValidatorWeightIterator) Error() error { 1186 return it.fail 1187 } 1188 1189 // Close terminates the iteration process, releasing any pending underlying 1190 // resources. 1191 func (it *ContractUpdateValidatorWeightIterator) Close() error { 1192 it.sub.Unsubscribe() 1193 return nil 1194 } 1195 1196 // ContractUpdateValidatorWeight represents a UpdateValidatorWeight event raised by the Contract contract. 1197 type ContractUpdateValidatorWeight struct { 1198 ValidatorID *big.Int 1199 Weight *big.Int 1200 Raw types.Log // Blockchain specific contextual infos 1201 } 1202 1203 // FilterUpdateValidatorWeight is a free log retrieval operation binding the contract event 0xb975807576e3b1461be7de07ebf7d20e4790ed802d7a0c4fdd0a1a13df72a935. 1204 // 1205 // Solidity: event UpdateValidatorWeight(uint256 indexed validatorID, uint256 weight) 1206 func (_Contract *ContractFilterer) FilterUpdateValidatorWeight(opts *bind.FilterOpts, validatorID []*big.Int) (*ContractUpdateValidatorWeightIterator, error) { 1207 1208 var validatorIDRule []interface{} 1209 for _, validatorIDItem := range validatorID { 1210 validatorIDRule = append(validatorIDRule, validatorIDItem) 1211 } 1212 1213 logs, sub, err := _Contract.contract.FilterLogs(opts, "UpdateValidatorWeight", validatorIDRule) 1214 if err != nil { 1215 return nil, err 1216 } 1217 return &ContractUpdateValidatorWeightIterator{contract: _Contract.contract, event: "UpdateValidatorWeight", logs: logs, sub: sub}, nil 1218 } 1219 1220 // WatchUpdateValidatorWeight is a free log subscription operation binding the contract event 0xb975807576e3b1461be7de07ebf7d20e4790ed802d7a0c4fdd0a1a13df72a935. 1221 // 1222 // Solidity: event UpdateValidatorWeight(uint256 indexed validatorID, uint256 weight) 1223 func (_Contract *ContractFilterer) WatchUpdateValidatorWeight(opts *bind.WatchOpts, sink chan<- *ContractUpdateValidatorWeight, validatorID []*big.Int) (event.Subscription, error) { 1224 1225 var validatorIDRule []interface{} 1226 for _, validatorIDItem := range validatorID { 1227 validatorIDRule = append(validatorIDRule, validatorIDItem) 1228 } 1229 1230 logs, sub, err := _Contract.contract.WatchLogs(opts, "UpdateValidatorWeight", validatorIDRule) 1231 if err != nil { 1232 return nil, err 1233 } 1234 return event.NewSubscription(func(quit <-chan struct{}) error { 1235 defer sub.Unsubscribe() 1236 for { 1237 select { 1238 case log := <-logs: 1239 // New log arrived, parse the event and forward to the user 1240 event := new(ContractUpdateValidatorWeight) 1241 if err := _Contract.contract.UnpackLog(event, "UpdateValidatorWeight", log); err != nil { 1242 return err 1243 } 1244 event.Raw = log 1245 1246 select { 1247 case sink <- event: 1248 case err := <-sub.Err(): 1249 return err 1250 case <-quit: 1251 return nil 1252 } 1253 case err := <-sub.Err(): 1254 return err 1255 case <-quit: 1256 return nil 1257 } 1258 } 1259 }), nil 1260 } 1261 1262 // ParseUpdateValidatorWeight is a log parse operation binding the contract event 0xb975807576e3b1461be7de07ebf7d20e4790ed802d7a0c4fdd0a1a13df72a935. 1263 // 1264 // Solidity: event UpdateValidatorWeight(uint256 indexed validatorID, uint256 weight) 1265 func (_Contract *ContractFilterer) ParseUpdateValidatorWeight(log types.Log) (*ContractUpdateValidatorWeight, error) { 1266 event := new(ContractUpdateValidatorWeight) 1267 if err := _Contract.contract.UnpackLog(event, "UpdateValidatorWeight", log); err != nil { 1268 return nil, err 1269 } 1270 event.Raw = log 1271 return event, nil 1272 } 1273 1274 // ContractUpdatedBackendIterator is returned from FilterUpdatedBackend and is used to iterate over the raw logs and unpacked data for UpdatedBackend events raised by the Contract contract. 1275 type ContractUpdatedBackendIterator struct { 1276 Event *ContractUpdatedBackend // Event containing the contract specifics and raw log 1277 1278 contract *bind.BoundContract // Generic contract to use for unpacking event data 1279 event string // Event name to use for unpacking event data 1280 1281 logs chan types.Log // Log channel receiving the found contract events 1282 sub u2u.Subscription // Subscription for errors, completion and termination 1283 done bool // Whether the subscription completed delivering logs 1284 fail error // Occurred error to stop iteration 1285 } 1286 1287 // Next advances the iterator to the subsequent event, returning whether there 1288 // are any more events found. In case of a retrieval or parsing error, false is 1289 // returned and Error() can be queried for the exact failure. 1290 func (it *ContractUpdatedBackendIterator) Next() bool { 1291 // If the iterator failed, stop iterating 1292 if it.fail != nil { 1293 return false 1294 } 1295 // If the iterator completed, deliver directly whatever's available 1296 if it.done { 1297 select { 1298 case log := <-it.logs: 1299 it.Event = new(ContractUpdatedBackend) 1300 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1301 it.fail = err 1302 return false 1303 } 1304 it.Event.Raw = log 1305 return true 1306 1307 default: 1308 return false 1309 } 1310 } 1311 // Iterator still in progress, wait for either a data or an error event 1312 select { 1313 case log := <-it.logs: 1314 it.Event = new(ContractUpdatedBackend) 1315 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1316 it.fail = err 1317 return false 1318 } 1319 it.Event.Raw = log 1320 return true 1321 1322 case err := <-it.sub.Err(): 1323 it.done = true 1324 it.fail = err 1325 return it.Next() 1326 } 1327 } 1328 1329 // Error returns any retrieval or parsing error occurred during filtering. 1330 func (it *ContractUpdatedBackendIterator) Error() error { 1331 return it.fail 1332 } 1333 1334 // Close terminates the iteration process, releasing any pending underlying 1335 // resources. 1336 func (it *ContractUpdatedBackendIterator) Close() error { 1337 it.sub.Unsubscribe() 1338 return nil 1339 } 1340 1341 // ContractUpdatedBackend represents a UpdatedBackend event raised by the Contract contract. 1342 type ContractUpdatedBackend struct { 1343 Backend common.Address 1344 Raw types.Log // Blockchain specific contextual infos 1345 } 1346 1347 // FilterUpdatedBackend is a free log retrieval operation binding the contract event 0x64ee8f7bfc37fc205d7194ee3d64947ab7b57e663cd0d1abd3ef245035830693. 1348 // 1349 // Solidity: event UpdatedBackend(address indexed backend) 1350 func (_Contract *ContractFilterer) FilterUpdatedBackend(opts *bind.FilterOpts, backend []common.Address) (*ContractUpdatedBackendIterator, error) { 1351 1352 var backendRule []interface{} 1353 for _, backendItem := range backend { 1354 backendRule = append(backendRule, backendItem) 1355 } 1356 1357 logs, sub, err := _Contract.contract.FilterLogs(opts, "UpdatedBackend", backendRule) 1358 if err != nil { 1359 return nil, err 1360 } 1361 return &ContractUpdatedBackendIterator{contract: _Contract.contract, event: "UpdatedBackend", logs: logs, sub: sub}, nil 1362 } 1363 1364 // WatchUpdatedBackend is a free log subscription operation binding the contract event 0x64ee8f7bfc37fc205d7194ee3d64947ab7b57e663cd0d1abd3ef245035830693. 1365 // 1366 // Solidity: event UpdatedBackend(address indexed backend) 1367 func (_Contract *ContractFilterer) WatchUpdatedBackend(opts *bind.WatchOpts, sink chan<- *ContractUpdatedBackend, backend []common.Address) (event.Subscription, error) { 1368 1369 var backendRule []interface{} 1370 for _, backendItem := range backend { 1371 backendRule = append(backendRule, backendItem) 1372 } 1373 1374 logs, sub, err := _Contract.contract.WatchLogs(opts, "UpdatedBackend", backendRule) 1375 if err != nil { 1376 return nil, err 1377 } 1378 return event.NewSubscription(func(quit <-chan struct{}) error { 1379 defer sub.Unsubscribe() 1380 for { 1381 select { 1382 case log := <-logs: 1383 // New log arrived, parse the event and forward to the user 1384 event := new(ContractUpdatedBackend) 1385 if err := _Contract.contract.UnpackLog(event, "UpdatedBackend", log); err != nil { 1386 return err 1387 } 1388 event.Raw = log 1389 1390 select { 1391 case sink <- event: 1392 case err := <-sub.Err(): 1393 return err 1394 case <-quit: 1395 return nil 1396 } 1397 case err := <-sub.Err(): 1398 return err 1399 case <-quit: 1400 return nil 1401 } 1402 } 1403 }), nil 1404 } 1405 1406 // ParseUpdatedBackend is a log parse operation binding the contract event 0x64ee8f7bfc37fc205d7194ee3d64947ab7b57e663cd0d1abd3ef245035830693. 1407 // 1408 // Solidity: event UpdatedBackend(address indexed backend) 1409 func (_Contract *ContractFilterer) ParseUpdatedBackend(log types.Log) (*ContractUpdatedBackend, error) { 1410 event := new(ContractUpdatedBackend) 1411 if err := _Contract.contract.UnpackLog(event, "UpdatedBackend", log); err != nil { 1412 return nil, err 1413 } 1414 event.Raw = log 1415 return event, nil 1416 } 1417 1418 var ContractBinRuntime = "0x608060405234801561001057600080fd5b50600436106101365760003560e01c806379bead38116100b2578063d6a0c7af11610081578063e08d7e6611610066578063e08d7e6614610676578063e30443bc146106e6578063ebdf104c1461071f57610136565b8063d6a0c7af14610608578063da7fc24f1461064357610136565b806379bead38146103d65780637f52e13e1461040f578063a4066fbe14610575578063b9cc6b1c1461059857610136565b8063242a6e3f1161010957806339e503ab116100ee57806339e503ab146102b1578063485cc955146102f05780634feb92f31461032b57610136565b8063242a6e3f1461021d578063267ab4461461029457610136565b806307690b2a1461013b5780630aeeca001461017857806318f628d4146101955780631e702f83146101fa575b600080fd5b6101766004803603604081101561015157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610885565b005b6101766004803603602081101561018e57600080fd5b5035610989565b61017660048036036101208110156101ac57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060208101359060408101359060608101359060808101359060a08101359060c08101359060e0810135906101000135610a2b565b6101766004803603604081101561021057600080fd5b5080359060200135610b4f565b6101766004803603604081101561023357600080fd5b8135919081019060408101602082013564010000000081111561025557600080fd5b82018360208201111561026757600080fd5b8035906020019184600183028401116401000000008311171561028957600080fd5b509092509050610c1c565b610176600480360360208110156102aa57600080fd5b5035610cee565b610176600480360360608110156102c757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060208101359060400135610d90565b6101766004803603604081101561030657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610e9b565b610176600480360361010081101561034257600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235169160208101359181019060608101604082013564010000000081111561037f57600080fd5b82018360208201111561039157600080fd5b803590602001918460018302840111640100000000831117156103b357600080fd5b919350915080359060208101359060408101359060608101359060800135611043565b610176600480360360408110156103ec57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561119b565b610176600480360360a081101561042557600080fd5b81019060208101813564010000000081111561044057600080fd5b82018360208201111561045257600080fd5b8035906020019184602083028401116401000000008311171561047457600080fd5b91939092909160208101903564010000000081111561049257600080fd5b8201836020820111156104a457600080fd5b803590602001918460208302840111640100000000831117156104c657600080fd5b9193909290916020810190356401000000008111156104e457600080fd5b8201836020820111156104f657600080fd5b8035906020019184602083028401116401000000008311171561051857600080fd5b91939092909160208101903564010000000081111561053657600080fd5b82018360208201111561054857600080fd5b8035906020019184602083028401116401000000008311171561056a57600080fd5b919350915035611282565b6101766004803603604081101561058b57600080fd5b5080359060200135611411565b610176600480360360208110156105ae57600080fd5b8101906020810181356401000000008111156105c957600080fd5b8201836020820111156105db57600080fd5b803590602001918460018302840111640100000000831117156105fd57600080fd5b5090925090506114b7565b6101766004803603604081101561061e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611587565b6101766004803603602081101561065957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661166f565b6101766004803603602081101561068c57600080fd5b8101906020810181356401000000008111156106a757600080fd5b8201836020820111156106b957600080fd5b803590602001918460208302840111640100000000831117156106db57600080fd5b509092509050611763565b610176600480360360408110156106fc57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611859565b6101766004803603608081101561073557600080fd5b81019060208101813564010000000081111561075057600080fd5b82018360208201111561076257600080fd5b8035906020019184602083028401116401000000008311171561078457600080fd5b9193909290916020810190356401000000008111156107a257600080fd5b8201836020820111156107b457600080fd5b803590602001918460208302840111640100000000831117156107d657600080fd5b9193909290916020810190356401000000008111156107f457600080fd5b82018360208201111561080657600080fd5b8035906020019184602083028401116401000000008311171561082857600080fd5b91939092909160208101903564010000000081111561084657600080fd5b82018360208201111561085857600080fd5b8035906020019184602083028401116401000000008311171561087a57600080fd5b509092509050611940565b60345473ffffffffffffffffffffffffffffffffffffffff1633146108f1576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b603554604080517f07690b2a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528481166024830152915191909216916307690b2a91604480830192600092919082900301818387803b15801561096d57600080fd5b505af1158015610981573d6000803e3d6000fd5b505050505050565b60345473ffffffffffffffffffffffffffffffffffffffff1633146109f5576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b6040805182815290517f0151256d62457b809bbc891b1f81c6dd0b9987552c70ce915b519750cd434dd19181900360200190a150565b3315610a7e576040805162461bcd60e51b815260206004820152600c60248201527f6e6f742063616c6c61626c650000000000000000000000000000000000000000604482015290519081900360640190fd5b603454604080517f18f628d400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a4820188905260c4820187905260e482018690526101048201859052915191909216916318f628d49161012480830192600092919082900301818387803b158015610b2c57600080fd5b505af1158015610b40573d6000803e3d6000fd5b50505050505050505050505050565b3315610ba2576040805162461bcd60e51b815260206004820152600c60248201527f6e6f742063616c6c61626c650000000000000000000000000000000000000000604482015290519081900360640190fd5b603454604080517f1e702f830000000000000000000000000000000000000000000000000000000081526004810185905260248101849052905173ffffffffffffffffffffffffffffffffffffffff90921691631e702f839160448082019260009290919082900301818387803b15801561096d57600080fd5b60345473ffffffffffffffffffffffffffffffffffffffff163314610c88576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b827f0f0ef1ab97439def0a9d2c6d9dc166207f1b13b99e62b442b2993d6153c63a6e838360405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a2505050565b60345473ffffffffffffffffffffffffffffffffffffffff163314610d5a576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b6040805182815290517f2ccdfd47cf0c1f1069d949f1789bb79b2f12821f021634fc835af1de66ea2feb9181900360200190a150565b60345473ffffffffffffffffffffffffffffffffffffffff163314610dfc576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b603554604080517f39e503ab00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301526024820186905260448201859052915191909216916339e503ab91606480830192600092919082900301818387803b158015610e7e57600080fd5b505af1158015610e92573d6000803e3d6000fd5b50505050505050565b600054610100900460ff1680610eb45750610eb4611af5565b80610ec2575060005460ff16155b610efd5760405162461bcd60e51b815260040180806020018281038252602e815260200180611afc602e913960400191505060405180910390fd5b600054610100900460ff16158015610f6357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b603480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091556040517f64ee8f7bfc37fc205d7194ee3d64947ab7b57e663cd0d1abd3ef24503583069390600090a2603580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416179055801561103e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b505050565b3315611096576040805162461bcd60e51b815260206004820152600c60248201527f6e6f742063616c6c61626c650000000000000000000000000000000000000000604482015290519081900360640190fd5b603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634feb92f38a8a8a8a8a8a8a8a8a6040518a63ffffffff1660e01b8152600401808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001898152602001806020018781526020018681526020018581526020018481526020018381526020018281038252898982818152602001925080828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b158015610b2c57600080fd5b60345473ffffffffffffffffffffffffffffffffffffffff163314611207576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b603554604080517f79bead3800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015260248201859052915191909216916379bead3891604480830192600092919082900301818387803b15801561096d57600080fd5b33156112d5576040805162461bcd60e51b815260206004820152600c60248201527f6e6f742063616c6c61626c650000000000000000000000000000000000000000604482015290519081900360640190fd5b603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663592fe0c08a8a8a8a8a8a8a8a8a6040518a63ffffffff1660e01b8152600401808060200180602001806020018060200186815260200185810385528e8e82818152602001925060200280828437600083820152601f01601f191690910186810385528c8152602090810191508d908d0280828437600083820152601f01601f191690910186810384528a8152602090810191508b908b0280828437600083820152601f01601f19169091018681038352888152602090810191508990890280828437600081840152601f19601f8201169050808301925050509d5050505050505050505050505050600060405180830381600087803b158015610b2c57600080fd5b60345473ffffffffffffffffffffffffffffffffffffffff16331461147d576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b60408051828152905183917fb975807576e3b1461be7de07ebf7d20e4790ed802d7a0c4fdd0a1a13df72a935919081900360200190a25050565b60345473ffffffffffffffffffffffffffffffffffffffff163314611523576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b7f47d10eed096a44e3d0abc586c7e3a5d6cb5358cc90e7d437cd0627f7e765fb99828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b60345473ffffffffffffffffffffffffffffffffffffffff1633146115f3576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b603554604080517fd6a0c7af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015284811660248301529151919092169163d6a0c7af91604480830192600092919082900301818387803b15801561096d57600080fd5b60345473ffffffffffffffffffffffffffffffffffffffff1633146116db576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b60405173ffffffffffffffffffffffffffffffffffffffff8216907f64ee8f7bfc37fc205d7194ee3d64947ab7b57e663cd0d1abd3ef24503583069390600090a2603480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b33156117b6576040805162461bcd60e51b815260206004820152600c60248201527f6e6f742063616c6c61626c650000000000000000000000000000000000000000604482015290519081900360640190fd5b6034546040517fe08d7e660000000000000000000000000000000000000000000000000000000081526020600482018181526024830185905273ffffffffffffffffffffffffffffffffffffffff9093169263e08d7e6692869286929182916044909101908590850280828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561096d57600080fd5b60345473ffffffffffffffffffffffffffffffffffffffff1633146118c5576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206973206e6f7420746865206261636b656e6400000000000000604482015290519081900360640190fd5b603554604080517fe30443bc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018590529151919092169163e30443bc91604480830192600092919082900301818387803b15801561096d57600080fd5b3315611993576040805162461bcd60e51b815260206004820152600c60248201527f6e6f742063616c6c61626c650000000000000000000000000000000000000000604482015290519081900360640190fd5b603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663592fe0c0898989898989898963322adc3a6040518a63ffffffff1660e01b8152600401808060200180602001806020018060200186815260200185810385528e8e82818152602001925060200280828437600083820152601f01601f191690910186810385528c8152602090810191508d908d0280828437600083820152601f01601f191690910186810384528a8152602090810191508b908b0280828437600083820152601f01601f19169091018681038352888152602090810191508990890280828437600081840152601f19601f8201169050808301925050509d5050505050505050505050505050600060405180830381600087803b158015611ad357600080fd5b505af1158015611ae7573d6000803e3d6000fd5b505050505050505050505050565b303b159056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a72315820962250f3ef56c54b3df8ce7213cfcf494e44135e9c70003b4f86fe5ef1bcbb9f64736f6c63430005110032"