github.com/codingfuture/orig-energi3@v0.8.4/energi/abi/MasternodeRegistryV2.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 abi 5 6 import ( 7 "math/big" 8 "strings" 9 10 ethereum "github.com/ethereum/go-ethereum" 11 "github.com/ethereum/go-ethereum/accounts/abi" 12 "github.com/ethereum/go-ethereum/accounts/abi/bind" 13 "github.com/ethereum/go-ethereum/common" 14 "github.com/ethereum/go-ethereum/core/types" 15 "github.com/ethereum/go-ethereum/event" 16 ) 17 18 // Reference imports to suppress errors if they are not otherwise used. 19 var ( 20 _ = big.NewInt 21 _ = strings.NewReader 22 _ = ethereum.NotFound 23 _ = abi.U256 24 _ = bind.Bind 25 _ = common.Big1 26 _ = types.BloomLookup 27 _ = event.NewSubscription 28 ) 29 30 // MasternodeRegistryV2ABI is the input ABI used to generate the binding from. 31 const MasternodeRegistryV2ABI = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_proxy\",\"type\":\"address\"},{\"internalType\":\"contractIGovernedProxy\",\"name\":\"_token_proxy\",\"type\":\"address\"},{\"internalType\":\"contractIGovernedProxy\",\"name\":\"_treasury_proxy\",\"type\":\"address\"},{\"internalType\":\"uint256[5]\",\"name\":\"_config\",\"type\":\"uint256[5]\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"masternode\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"ipv4address\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"bytes32[2]\",\"name\":\"enode\",\"type\":\"bytes32[2]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"collateral\",\"type\":\"uint256\"}],\"name\":\"Announced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"masternode\",\"type\":\"address\"}],\"name\":\"Deactivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"masternode\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"Denounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"masternode\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"validator\",\"type\":\"address\"}],\"name\":\"Invalidation\",\"type\":\"event\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"masternode\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"ipv4address\",\"type\":\"uint32\"},{\"internalType\":\"bytes32[2]\",\"name\":\"enode\",\"type\":\"bytes32[2]\"}],\"name\":\"announce\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"masternode\",\"type\":\"address\"}],\"name\":\"canHeartbeat\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"can_heartbeat\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"masternode\",\"type\":\"address\"}],\"name\":\"canInvalidate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"can_invalidate\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"cleanup_period\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"collateralLimits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"count\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"active\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"total\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"active_collateral\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"total_collateral\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max_of_all_times\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"curr_validation_ends\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"curr_validation_offset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"current_masternode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"current_payouts\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"masternode\",\"type\":\"address\"}],\"name\":\"denounce\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"contractIGovernedContract\",\"name\":\"_newImpl\",\"type\":\"address\"}],\"name\":\"destroy\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"enumerate\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"masternodes\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"enumerateActive\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"masternodes\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_blockNumber\",\"type\":\"uint256\"}],\"name\":\"getReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"block_number\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"block_hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"sw_features\",\"type\":\"uint256\"}],\"name\":\"heartbeat\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"masternode\",\"type\":\"address\"}],\"name\":\"info\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"ipv4address\",\"type\":\"uint32\"},{\"internalType\":\"bytes32[2]\",\"name\":\"enode\",\"type\":\"bytes32[2]\"},{\"internalType\":\"uint256\",\"name\":\"collateral\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"announced_block\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"sw_features\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"masternode\",\"type\":\"address\"}],\"name\":\"invalidate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"masternode\",\"type\":\"address\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"last_block_number\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"contractIGovernedContract\",\"name\":\"_oldImpl\",\"type\":\"address\"}],\"name\":\"migrate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"mn_active\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"mn_active_collateral\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"mn_announced\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"mn_announced_collateral\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"mn_ever_collateral\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"mn_status\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sw_features\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"next_heartbeat\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"inactive_since\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"validator_index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"invalidations\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"seq_payouts\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"last_vote_epoch\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"onCollateralUpdate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ownerInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"masternode\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"ipv4address\",\"type\":\"uint32\"},{\"internalType\":\"bytes32[2]\",\"name\":\"enode\",\"type\":\"bytes32[2]\"},{\"internalType\":\"uint256\",\"name\":\"collateral\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"announced_block\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"sw_features\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"payments_per_block\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"require_validation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"reward\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token_proxy\",\"outputs\":[{\"internalType\":\"contractIGovernedProxy\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"treasury_proxy\",\"outputs\":[{\"internalType\":\"contractIGovernedProxy\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"v1storage\",\"outputs\":[{\"internalType\":\"contractStorageMasternodeRegistryV1\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"masternode\",\"type\":\"address\"}],\"name\":\"validationTarget\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"validation_periods\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"validator_list\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" 32 33 // MasternodeRegistryV2Bin is the compiled bytecode used for deploying new contracts. 34 const MasternodeRegistryV2Bin = `60806040523480156200001157600080fd5b5060405162004c8338038062004c8383398181016040526101008110156200003857600080fd5b5080516020820151604080840151600080546001600160a01b0319166001600160a01b038616179055905192939192909160600190620000789062000262565b604051809103906000f08015801562000095573d6000803e3d6000fd5b50600280546001600160a01b03199081166001600160a01b03938416179091556003805482168684161790556004805490911691841691909117905580516008819055602082015160098190556040830151600a556080830151600b5511156200016057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f56616c69646174696f6e73203e20526571756972650000000000000000000000604482015290519081900360640190fd5b6060810151600c819055683635c9adc5dea00000811015620001e357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e697469616c20636f6c6c61746572616c0000000000000000000000000000604482015290519081900360640190fd5b620001f66001600160e01b036200020116565b505050505062000270565b60135443106200026057601154600954808210156200022257505062000260565b60008183816200022e57fe5b049050818110156200023d5750805b43808201601355600019808501910140816200025557fe5b066001016014555050505b565b61097b806200430883390190565b61408880620002806000396000f3fe60806040526004361061029f5760003560e01c806373b245401161016e578063cb4f40c5116100cb578063d9966aba1161007f578063e2cb219511610064578063e2cb2195146109f4578063ec55688914610a22578063ff9f78b314610a375761029f565b8063d9966aba1461094f578063e1d6f43a1461098f5761029f565b8063ce5494bb116100b0578063ce5494bb1461087e578063d13ef5a5146108be578063d70d5c30146108fe5761029f565b8063cb4f40c514610829578063cdc7d4ad1461083e5761029f565b8063a273178411610122578063b83e160511610107578063b83e160514610769578063c3db74d6146107a9578063ca0e551f146107e95761029f565b8063a27317841461073f578063ab00fdc4146107545761029f565b806391ceac961161015357806391ceac96146106a05780639c5e8ae2146106d65780639f8a13d7146106eb5761029f565b806373b245401461067657806384afd47f1461068b5761029f565b80632e941dc41161021c578063521f284d116101d057806357f2a7d8116101b557806357f2a7d8146106375780635f6e2c7b1461064c5780636d41ff4e146106615761029f565b8063521f284d1461060d578063542396fd146106225761029f565b806337a3931f1161020157806337a3931f1461052b5780634d1b4dae1461056b5780634e60b981146105e35761029f565b80632e941dc41461050157806335ab13f6146105165761029f565b80631a26763c116102735780631eeaebb2116102585780631eeaebb2146104cf578063228cb733146104e45780632d059305146104ec5761029f565b80631a26763c146104675780631c4b774b146104a55761029f565b8062f55d9d1461030657806306661abd146103485780630aae7a6b1461038857806318a2ac1914610440575b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4e6f7420737570706f7274656400000000000000000000000000000000000000604482015290519081900360640190fd5b34801561031257600080fd5b506103466004803603602081101561032957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a4c565b005b34801561035457600080fd5b5061035d610af4565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b34801561039457600080fd5b506103c8600480360360208110156103ab57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b0e565b6040805173ffffffffffffffffffffffffffffffffffffffff8816815263ffffffff871660208201529081810190869080838360005b838110156104165781810151838201526020016103fe565b50505050905001848152602001838152602001828152602001965050505050505060405180910390f35b34801561044c57600080fd5b50610455610c3a565b60408051918252519081900360200190f35b34801561047357600080fd5b5061047c610c40565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156104b157600080fd5b50610455600480360360208110156104c857600080fd5b5035610c5c565b3480156104db57600080fd5b50610455610d94565b610346610d9a565b3480156104f857600080fd5b5061047c61104f565b34801561050d57600080fd5b5061045561106b565b34801561052257600080fd5b50610455611071565b34801561053757600080fd5b506103466004803603602081101561054e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611077565b34801561057757600080fd5b506105ab6004803603602081101561058e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611440565b604080519788526020880196909652868601949094526060860192909252608085015260a084015260c0830152519081900360e00190f35b3480156105ef57600080fd5b5061047c6004803603602081101561060657600080fd5b503561147d565b34801561061957600080fd5b506104556114b1565b34801561062e57600080fd5b506104556114b7565b34801561064357600080fd5b506104556114bd565b34801561065857600080fd5b506104556114c3565b34801561066d57600080fd5b506104556114c9565b34801561068257600080fd5b506104556114cf565b34801561069757600080fd5b5061047c6114d5565b3480156106ac57600080fd5b50610346600480360360608110156106c357600080fd5b50803590602081013590604001356114f1565b3480156106e257600080fd5b506104556117a1565b3480156106f757600080fd5b5061072b6004803603602081101561070e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166117a7565b604080519115158252519081900360200190f35b34801561074b57600080fd5b5061047c6117df565b34801561076057600080fd5b506104556117fb565b34801561077557600080fd5b506103c86004803603602081101561078c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611801565b3480156107b557600080fd5b5061047c600480360360208110156107cc57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166119aa565b3480156107f557600080fd5b506103466004803603602081101561080c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611a2f565b34801561083557600080fd5b50610455611ab3565b34801561084a57600080fd5b506103466004803603602081101561086157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611ab9565b34801561088a57600080fd5b50610346600480360360208110156108a157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611cdd565b3480156108ca57600080fd5b5061072b600480360360208110156108e157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611d6f565b34801561090a57600080fd5b506103466004803603608081101561092157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169063ffffffff60208201351690604001611df6565b34801561095b57600080fd5b5061072b6004803603602081101561097257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611ec4565b34801561099b57600080fd5b506109a4611f07565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156109e05781810151838201526020016109c8565b505050509050019250505060405180910390f35b348015610a0057600080fd5b50610a09611fb9565b6040805192835260208301919091528051918290030190f35b348015610a2e57600080fd5b5061047c611fd2565b348015610a4357600080fd5b506109a4611fee565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ad257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742070726f78790000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610adb816120c3565b8073ffffffffffffffffffffffffffffffffffffffff16ff5b600f54600554600d54600e54600c54939492939192909190565b600080610b19613fb4565b6000806000610b26613fd2565b600254610b499073ffffffffffffffffffffffffffffffffffffffff1689612152565b608081015190915073ffffffffffffffffffffffffffffffffffffffff16610bd257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e6b6e6f776e206d61737465726e6f64650000000000000000000000000000604482015290519081900360640190fd5b608081015160e0820151604080518082018252818501518152606085015160208083019190915280860151955173ffffffffffffffffffffffffffffffffffffffff909d16600090815260109091529190912054929b919a9099509297509195509350915050565b60095481565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60048054604080517f8abf60770000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff1692638abf60779281830192602092829003018186803b158015610cc657600080fd5b505afa158015610cda573d6000803e3d6000fd5b505050506040513d6020811015610cf057600080fd5b505190508215801590610d7d57508073ffffffffffffffffffffffffffffffffffffffff166352782d86846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610d4f57600080fd5b505afa158015610d63573d6000803e3d6000fd5b505050506040513d6020811015610d7957600080fd5b5051155b15610d8e57677ed7cd92ff12000091505b50919050565b60125481565b60015415610e0957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f5265656e74727900000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60018055343031036000811315610f37576000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638abf60776040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8457600080fd5b505afa158015610e98573d6000803e3d6000fd5b505050506040513d6020811015610eae57600080fd5b5051604080517f228cb733000000000000000000000000000000000000000000000000000000008152905191925073ffffffffffffffffffffffffffffffffffffffff83169163228cb733918591600480830192600092919082900301818588803b158015610f1c57600080fd5b505af1158015610f30573d6000803e3d6000fd5b5050505050505b677ed7cd92ff120000341415611047574360125410610fb757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f43616c6c206f757473696465206f6620676f7665726e616e6365210000000000604482015290519081900360640190fd5b43601255610fc3612284565b34303114610fcd57fe5b600b54600081677ed7cd92ff12000081610fe357fe5b049050815b801561104357620186a05a11610ffa57fe5b620186a05a1180156110125750611010826122fd565b155b1561101c57610ffa565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01610fe8565b5050505b506000600155565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60135481565b60085481565b600154156110e657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f5265656e74727900000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001805560006110f4612570565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561119157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e76616c69646174696f6e20666f722073656c660000000000000000000000604482015290519081900360640190fd5b60135473ffffffffffffffffffffffffffffffffffffffff821660009081526010602052604090206111c3838261259f565b61122e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4e6f74206163746976652063616c6c6572000000000000000000000000000000604482015290519081900360640190fd5b818160060154106112a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f416c726561647920696e76616c69646174656400000000000000000000000000604482015290519081900360640190fd5b8373ffffffffffffffffffffffffffffffffffffffff166112c0846119aa565b73ffffffffffffffffffffffffffffffffffffffff161461134257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f496e76616c696420746172676574000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff84166000908152601060205260409020611371858261259f565b6113dc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4e6f742061637469766520746172676574000000000000000000000000000000604482015290519081900360640190fd5b60068201839055600481018054600101905560405173ffffffffffffffffffffffffffffffffffffffff80861691908716907f389d58799d7eca76264c556a007ffbc7c60caa4e3c8ea0564e791af3a1b9d33190600090a350506000600155505050565b6010602052600090815260409020805460018201546002830154600384015460048501546005860154600690960154949593949293919290919087565b6011818154811061148a57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b600f5481565b600b5481565b600e5481565b600a5481565b600d5481565b60145481565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b6001541561156057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f5265656e74727900000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60018055600a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff438590030111156115f957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f546f6f206f6c6420626c6f636b00000000000000000000000000000000000000604482015290519081900360640190fd5b8183401461166857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f426c6f636b206d69736d61746368000000000000000000000000000000000000604482015290519081900360640190fd5b6000611672612570565b73ffffffffffffffffffffffffffffffffffffffff811660009081526010602052604090209091506116a4828261259f565b61170f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e6f742061637469766500000000000000000000000000000000000000000000604482015290519081900360640190fd5b428160010154111561178257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f546f6f206561726c790000000000000000000000000000000000000000000000604482015290519081900360640190fd5b61178a6125ee565b420160018083019190915592905550600090555050565b60075481565b73ffffffffffffffffffffffffffffffffffffffff811660009081526010602052604081206117d790839061259f565b90505b919050565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b60008061180c613fb4565b600254604080517f28d566be00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015291516000938493849391169182916328d566be916024808301926020929190829003018186803b15801561188657600080fd5b505afa15801561189a573d6000803e3d6000fd5b505050506040513d60208110156118b057600080fd5b5051965073ffffffffffffffffffffffffffffffffffffffff871661193657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f556e6b6e6f776e206f776e657200000000000000000000000000000000000000604482015290519081900360640190fd5b61193e613fd2565b6119488289612152565b60e0810151604080518082018252818401518152606084015160208083019190915280850151945173ffffffffffffffffffffffffffffffffffffffff8e1660009081526010909252929020549b9d929c509a92995097509095509350505050565b60115460145460009190808214156119c0576001015b73ffffffffffffffffffffffffffffffffffffffff841660009081526010602052604090206003015482828201816119f457fe5b06905060118181548110611a0457fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b60015415611a9e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f5265656e74727900000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001805561104781611aae612570565b612605565b600c5481565b60015415611b2857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f5265656e74727900000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60018055600254604080517f28d566be00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301529151919092169160009183916328d566be916024808301926020929190829003018186803b158015611ba457600080fd5b505afa158015611bb8573d6000803e3d6000fd5b505050506040513d6020811015611bce57600080fd5b5051905073ffffffffffffffffffffffffffffffffffffffff8116611bf4575050611047565b600080611c0085612ab1565b91509150611c0c613fd2565b600254611c2f9073ffffffffffffffffffffffffffffffffffffffff1685612152565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260106020526040812091925090611c6490838686612bf1565b90506001816003811115611c7457fe5b1415611ccf57683635c9adc5dea000008410611cc55760e0820151611c97613fb4565b5060408051808201825290840151815260608401516020820152611cbe878a888585612c50565b5050611ccf565b611ccf8588612605565b505050505050506000600155565b60005473ffffffffffffffffffffffffffffffffffffffff163314611d6357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742070726f78790000000000000000000000000000000000000000000000604482015290519081900360640190fd5b611d6c81612f92565b50565b73ffffffffffffffffffffffffffffffffffffffff81166000908152601060205260408120611d9e838261259f565b8015611daf57506013548160060154105b8015611def57508273ffffffffffffffffffffffffffffffffffffffff16611dd6846119aa565b73ffffffffffffffffffffffffffffffffffffffff1614155b9392505050565b60015415611e6557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f5265656e74727900000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600180556000611e73612570565b90506000611e8082613854565b9050611eb885838387876002806020026040519081016040528092919082600260200280828437600092019190915250612c50915050565b50506000600155505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152601060205260408120611ef3838261259f565b8015611def57506001015442101592915050565b6060600f54604051908082528060200260200182016040528015611f35578160200160208202803883390190505b50905060005b8151811015611fb55760118181548110611f5157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110611f8857fe5b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101611f3b565b5090565b683635c9adc5dea000009069152d02c7e14af680000090565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b606060055460405190808252806020026020018201604052801561201c578160200160208202803883390190505b5060065490915073ffffffffffffffffffffffffffffffffffffffff168061204457506120c0565b8061204d613fd2565b60005b8285828151811061205d57fe5b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201015260025461208e911684612152565b60c08101519350915060010173ffffffffffffffffffffffffffffffffffffffff808416908516141561205057505050505b90565b600254604080517f13af403500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152915191909216916313af403591602480830192600092919082900301818387803b15801561213757600080fd5b505af115801561214b573d6000803e3d6000fd5b5050505050565b61215a613fd2565b8273ffffffffffffffffffffffffffffffffffffffff1663412cbac0836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506101006040518083038186803b1580156121d857600080fd5b505afa1580156121ec573d6000803e3d6000fd5b505050506040513d61010081101561220357600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e015163ffffffff169d8f019d909d5273ffffffffffffffffffffffffffffffffffffffff9c8d16908e01528b16908c01529890981697890197909752870195909552850193909352830191909152815292915050565b60135443106122fb57601154600954808210156122a25750506122fb565b60008183816122ad57fe5b049050818110156122bb5750805b438082016013557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808501910140816122f057fe5b066001016014555050505b565b60065460075460009173ffffffffffffffffffffffffffffffffffffffff16908161232d576001925050506117da565b612335613fd2565b6002546123589073ffffffffffffffffffffffffffffffffffffffff1684612152565b73ffffffffffffffffffffffffffffffffffffffff841660009081526010602052604090206004810154600582015460019095019492935090918410156123a35760078490556123f9565b60006004830181905560c0840151600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556007555b600061240583856138da565b9050600081600381111561241557fe5b14156124795761242482613905565b15806124655750836080015173ffffffffffffffffffffffffffffffffffffffff166108fc899081150290604051600060405180830381858888f193505050505b1561247957600196505050505050506117da565b600181600381111561248757fe5b14156124a05761249b868560800151612605565b612562565b600583015415612544576000600584015542600284015560208401516124c7908790613936565b60c0840151600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92831617905560006007819055604051918816917f749cb6b4c510bc468cf6b9c2086d6f0a54d6b18e25d37bf3200e68eab0880c009190a2612562565b600a5483600201544203111561256257612562868560800151612605565b506000979650505050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff163314156125985750326120c0565b50336120c0565b60006125a9613fd2565b6002546125cc9073ffffffffffffffffffffffffffffffffffffffff1685612152565b905060006125da84836138da565b60038111156125e557fe5b14949350505050565b600f546004026107088110156120c0575061070890565b60025473ffffffffffffffffffffffffffffffffffffffff16612626613fd2565b6126308285612152565b608081015190915073ffffffffffffffffffffffffffffffffffffffff16612659575050612aad565b806080015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146126f757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f496e76616c6964206f776e657200000000000000000000000000000000000000604482015290519081900360640190fd5b8373ffffffffffffffffffffffffffffffffffffffff168160c0015173ffffffffffffffffffffffffffffffffffffffff16141561275c57600680547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561292a565b60065473ffffffffffffffffffffffffffffffffffffffff858116911614156127ce5760c0810151600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560006007555b60a081015160c0820151604080517f1f9579ca00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff938416600482015260006024820181905260448201819052600160648301529284166084820152905192851692631f9579ca9260a48084019391929182900301818387803b15801561286557600080fd5b505af1158015612879573d6000803e3d6000fd5b50505060c082015160a0830151604080517f1f9579ca00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201526001602482015291831660448301526000606483018190526084830181905290519286169350631f9579ca9260a48084019382900301818387803b15801561291157600080fd5b505af1158015612925573d6000803e3d6000fd5b505050505b602080820151600e805491909103905573ffffffffffffffffffffffffffffffffffffffff85166000908152601090915260409020600501541561297657612976848260200151613936565b73ffffffffffffffffffffffffffffffffffffffff808516600081815260106020526040808220828155600181018390556002810183905560038101839055600480820184905560058201849055600690910183905581517f72f5f2570000000000000000000000000000000000000000000000000000000081529081019390935251928516926372f5f25792602480820193929182900301818387803b158015612a2057600080fd5b505af1158015612a34573d6000803e3d6000fd5b5050600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190555050608081015160405173ffffffffffffffffffffffffffffffffffffffff918216918616907f55faf8e51ab442f8d8510476317b2e313144c3db60adc284affef64140fe855290600090a350505b5050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638abf60776040518163ffffffff1660e01b815260040160206040518083038186803b158015612b1c57600080fd5b505afa158015612b30573d6000803e3d6000fd5b505050506040513d6020811015612b4657600080fd5b5051604080517f78c7d97900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015282519316926378c7d97992602480840193919291829003018186803b158015612bb457600080fd5b505afa158015612bc8573d6000803e3d6000fd5b505050506040513d6040811015612bde57600080fd5b5080516020909101519094909350915050565b6000846005015460001415612c0857506002612c48565b6001850154611c2001421115612c2057506003612c48565b83602001518314612c3357506001612c48565b8351821115612c4457506001612c48565b5060005b949350505050565b60025473ffffffffffffffffffffffffffffffffffffffff16612c738186613a8b565b612c7d8187613b5e565b612c8683613bfa565b600080612c938389613dd9565b915091508273ffffffffffffffffffffffffffffffffffffffff1663f71169df898988888b43888a6040518963ffffffff1660e01b8152600401808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018763ffffffff1663ffffffff16815260200186600260200280838360005b83811015612d68578181015183820152602001612d50565b505050509050018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200198505050505050505050600060405180830381600087803b158015612e0357600080fd5b505af1158015612e17573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff88166000908152601060205260409020426001820155683635c9adc5dea000008704600580830191909155600f805460019081019091558154019055600d805488019055600e8054880190819055600c54811115612e8e57600c8190555b601180546003840181905560018101825560009182527f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8d81169182179092556040805163ffffffff8c168152928d169391927f935a2f33570c4840d82856d75f5d0aafca32c5e6b31db5627552304a7dc82c09928c928c928f92909160208301918591908190849084905b83811015612f6c578181015183820152602001612f54565b50505050905001828152602001935050505060405180910390a350505050505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166341c0e1b56040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612ffc57600080fd5b505af1158015613010573d6000803e3d6000fd5b5050505060008190508073ffffffffffffffffffffffffffffffffffffffff16632d0593056040518163ffffffff1660e01b815260040160206040518083038186803b15801561305f57600080fd5b505afa158015613073573d6000803e3d6000fd5b505050506040513d602081101561308957600080fd5b5051600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604080517fab00fdc400000000000000000000000000000000000000000000000000000000815290519183169163ab00fdc491600480820192602092909190829003018186803b15801561311f57600080fd5b505afa158015613133573d6000803e3d6000fd5b505050506040513d602081101561314957600080fd5b5051600555604080517f1a26763c000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff831691631a26763c916004808301926020929190829003018186803b1580156131b457600080fd5b505afa1580156131c8573d6000803e3d6000fd5b505050506040513d60208110156131de57600080fd5b5051600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604080517f9c5e8ae2000000000000000000000000000000000000000000000000000000008152905191831691639c5e8ae291600480820192602092909190829003018186803b15801561327457600080fd5b505afa158015613288573d6000803e3d6000fd5b505050506040513d602081101561329e57600080fd5b5051600755604080517fcb4f40c5000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff83169163cb4f40c5916004808301926020929190829003018186803b15801561330957600080fd5b505afa15801561331d573d6000803e3d6000fd5b505050506040513d602081101561333357600080fd5b5051600c55604080517f6d41ff4e000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff831691636d41ff4e916004808301926020929190829003018186803b15801561339e57600080fd5b505afa1580156133b2573d6000803e3d6000fd5b505050506040513d60208110156133c857600080fd5b5051600d55604080517f57f2a7d8000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff8316916357f2a7d8916004808301926020929190829003018186803b15801561343357600080fd5b505afa158015613447573d6000803e3d6000fd5b505050506040513d602081101561345d57600080fd5b5051600e55604080517f521f284d000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff83169163521f284d916004808301926020929190829003018186803b1580156134c857600080fd5b505afa1580156134dc573d6000803e3d6000fd5b505050506040513d60208110156134f257600080fd5b5051600f55604080517fff9f78b3000000000000000000000000000000000000000000000000000000008152905160609173ffffffffffffffffffffffffffffffffffffffff84169163ff9f78b391600480820192600092909190829003018186803b15801561356157600080fd5b505afa158015613575573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405260208110156135bc57600080fd5b81019080805160405193929190846401000000008211156135dc57600080fd5b9083019060208201858111156135f157600080fd5b825186602082028301116401000000008211171561360e57600080fd5b82525081516020918201928201910280838360005b8381101561363b578181015183820152602001613623565b5050505091909101604052505043601255505080519091505b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101901561384657600082828151811061368b57fe5b6020026020010151905061369d614016565b8473ffffffffffffffffffffffffffffffffffffffff16634d1b4dae836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506101006040518083038186803b15801561371b57600080fd5b505afa15801561372f573d6000803e3d6000fd5b505050506040513d61010081101561374657600080fd5b50805160408083015160a08085015160c08087015160e090970151908801908152918701958652608087019081528684019283529386526004888102420160208089019182526011805460608b0181815260018083019093557f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6890910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9d909d169c8d17905560009b8c5260109092529590992097518855519387019390935590516002860155945160038501559051908301555160058201559051600690910155613654565b5061384f612284565b505050565b600061385f82612ab1565b509050683635c9adc5dea000008110156117da57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e76616c696420636f6c6c61746572616c0000000000000000000000000000604482015290519081900360640190fd5b60008060006138ec8460800151612ab1565b915091506138fc85858484612bf1565b95945050505050565b6000600854600f54101561391b575060016117da565b600060026009546001018161392c57fe5b0490921092915050565b60118054600091907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061396a57fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff86811684526010909252604080842060039081015493909216808552932001819055601180549293509091839190839081106139c557fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506011805480613a1857fe5b60008281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055908101909155600f805490910190555050600d805491909103905550565b60008273ffffffffffffffffffffffffffffffffffffffff166328d566be836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015613b0a57600080fd5b505afa158015613b1e573d6000803e3d6000fd5b505050506040513d6020811015613b3457600080fd5b5051905073ffffffffffffffffffffffffffffffffffffffff81161561384f5761384f8183612605565b613b66613fd2565b613b708383612152565b608081015190915073ffffffffffffffffffffffffffffffffffffffff161561384f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f496e76616c6964206f776e657200000000000000000000000000000000000000604482015290519081900360640190fd5b63ff000000811662ff0000821661ff008316637f0000008314801590613c24575082630a00000014155b8015613c4257508263c0000000148015613c4057508162a80000145b155b8015613c6557508263ac000000148015613c6357508162f000001662100000145b155b8015613c7057508215155b8015613c935750826364000000148015613c9157508162c000001662400000145b155b8015613cb157508263a9000000148015613caf57508162fe0000145b155b8015613cd457508263c6000000148015613cd257508162fe00001662120000145b155b8015613cff57508263c6000000148015613cf057508162330000145b8015613cfd575080616400145b155b8015613d2657508263cb000000148015613d17575081155b8015613d24575080617100145b155b8015613d3c57508263f00000001663e000000014155b8015613d5257508263f00000001663f000000014155b8015613d6857508363ffffffff1663ffffffff14155b613dd357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f57726f6e67204950000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b50505050565b60065473ffffffffffffffffffffffffffffffffffffffff1660008115613f6357613e02613fd2565b613e0c8584612152565b60a0810151604080517f1f9579ca00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808416600483015260006024830181905260448301819052600160648401528982166084840152925193965093945092881692631f9579ca9260a4808301939282900301818387803b158015613ea257600080fd5b505af1158015613eb6573d6000803e3d6000fd5b5050604080517f1f9579ca00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152600160248301528881166044830152600060648301819052608483018190529251908a169450631f9579ca935060a4808301939282900301818387803b158015613f4557600080fd5b505af1158015613f59573d6000803e3d6000fd5b5050505050613fad565b5050600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316179055600060075580805b9250929050565b60405180604001604052806002906020820280388339509192915050565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915290565b6040518060e0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fea265627a7a723158208fe498240a92095cbc10d67d69cd9b4ebb0d6010dbd5b22c663e05b5c94ac4b964736f6c634300051000326080604052600080546001600160a01b03191633179055610956806100256000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063412cbac01161005b578063412cbac01461016857806341c0e1b5146101fa57806372f5f25714610202578063f71169df146102355761007d565b806313af4035146100825780631f9579ca146100b757806328d566be1461010c575b600080fd5b6100b56004803603602081101561009857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661029f565b005b6100b5600480360360a08110156100cd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135151591604082013581169160608101351515916080909101351661036c565b61013f6004803603602081101561012257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104b1565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61019b6004803603602081101561017e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104d9565b60408051988952602089019790975287870195909552606087019390935273ffffffffffffffffffffffffffffffffffffffff9182166080870152811660a08601521660c084015263ffffffff1660e083015251908190036101000190f35b6100b5610551565b6100b56004803603602081101561021857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166105da565b6100b5600480360361012081101561024c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169163ffffffff60408301351691606081019160a08201359160c08101359160e0820135811691610100013516610720565b60005473ffffffffffffffffffffffffffffffffffffffff16331461032557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e6f74206f776e65722100000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103f257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e6f74206f776e65722100000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff851660009081526001602052604090208415610460576005810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86161790555b82156104a9576006810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790555b505050505050565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6001602081905260009182526040909120805491810154600282015460038301546004840154600585015460069095015493949293919273ffffffffffffffffffffffffffffffffffffffff918216929082169181169074010000000000000000000000000000000000000000900463ffffffff1688565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105d757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e6f74206f776e65722100000000000000000000000000000000000000000000604482015290519081900360640190fd5b33ff5b60005473ffffffffffffffffffffffffffffffffffffffff16331461066057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e6f74206f776e65722100000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff90811660008181526001602081815260408084206004810180549097168552600280845291852080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915595855291839052838255918101839055908101829055600381019190915582548216909255600582018054909116905560060180547fffffffffffffffff000000000000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107a657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e6f74206f776e65722100000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff80891660009081526001602052604090206004810154909190811690891681146108515773ffffffffffffffffffffffffffffffffffffffff8116156107fd57fe5b73ffffffffffffffffffffffffffffffffffffffff898116600090815260026020526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016918c169190911790555b5060048101805473ffffffffffffffffffffffffffffffffffffffff998a167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617909155600682018054883560028501556020909801356003840155600183019690965593815560050180549288169284169290921790915590941663ffffffff9390931674010000000000000000000000000000000000000000027fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff909216919091179092161790555056fea265627a7a72315820084dd4f667ff4f2d4043bb7f2fe175f0a2c1e803388bba185f45294c80f2fad864736f6c63430005100032` 35 36 // DeployMasternodeRegistryV2 deploys a new Ethereum contract, binding an instance of MasternodeRegistryV2 to it. 37 func DeployMasternodeRegistryV2(auth *bind.TransactOpts, backend bind.ContractBackend, _proxy common.Address, _token_proxy common.Address, _treasury_proxy common.Address, _config [5]*big.Int) (common.Address, *types.Transaction, *MasternodeRegistryV2, error) { 38 parsed, err := abi.JSON(strings.NewReader(MasternodeRegistryV2ABI)) 39 if err != nil { 40 return common.Address{}, nil, nil, err 41 } 42 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(MasternodeRegistryV2Bin), backend, _proxy, _token_proxy, _treasury_proxy, _config) 43 if err != nil { 44 return common.Address{}, nil, nil, err 45 } 46 return address, tx, &MasternodeRegistryV2{MasternodeRegistryV2Caller: MasternodeRegistryV2Caller{contract: contract}, MasternodeRegistryV2Transactor: MasternodeRegistryV2Transactor{contract: contract}, MasternodeRegistryV2Filterer: MasternodeRegistryV2Filterer{contract: contract}}, nil 47 } 48 49 // MasternodeRegistryV2Bin is the compiled bytecode of contract after deployment. 50 const MasternodeRegistryV2RuntimeBin = `60806040526004361061029f5760003560e01c806373b245401161016e578063cb4f40c5116100cb578063d9966aba1161007f578063e2cb219511610064578063e2cb2195146109f4578063ec55688914610a22578063ff9f78b314610a375761029f565b8063d9966aba1461094f578063e1d6f43a1461098f5761029f565b8063ce5494bb116100b0578063ce5494bb1461087e578063d13ef5a5146108be578063d70d5c30146108fe5761029f565b8063cb4f40c514610829578063cdc7d4ad1461083e5761029f565b8063a273178411610122578063b83e160511610107578063b83e160514610769578063c3db74d6146107a9578063ca0e551f146107e95761029f565b8063a27317841461073f578063ab00fdc4146107545761029f565b806391ceac961161015357806391ceac96146106a05780639c5e8ae2146106d65780639f8a13d7146106eb5761029f565b806373b245401461067657806384afd47f1461068b5761029f565b80632e941dc41161021c578063521f284d116101d057806357f2a7d8116101b557806357f2a7d8146106375780635f6e2c7b1461064c5780636d41ff4e146106615761029f565b8063521f284d1461060d578063542396fd146106225761029f565b806337a3931f1161020157806337a3931f1461052b5780634d1b4dae1461056b5780634e60b981146105e35761029f565b80632e941dc41461050157806335ab13f6146105165761029f565b80631a26763c116102735780631eeaebb2116102585780631eeaebb2146104cf578063228cb733146104e45780632d059305146104ec5761029f565b80631a26763c146104675780631c4b774b146104a55761029f565b8062f55d9d1461030657806306661abd146103485780630aae7a6b1461038857806318a2ac1914610440575b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4e6f7420737570706f7274656400000000000000000000000000000000000000604482015290519081900360640190fd5b34801561031257600080fd5b506103466004803603602081101561032957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a4c565b005b34801561035457600080fd5b5061035d610af4565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b34801561039457600080fd5b506103c8600480360360208110156103ab57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b0e565b6040805173ffffffffffffffffffffffffffffffffffffffff8816815263ffffffff871660208201529081810190869080838360005b838110156104165781810151838201526020016103fe565b50505050905001848152602001838152602001828152602001965050505050505060405180910390f35b34801561044c57600080fd5b50610455610c3a565b60408051918252519081900360200190f35b34801561047357600080fd5b5061047c610c40565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156104b157600080fd5b50610455600480360360208110156104c857600080fd5b5035610c5c565b3480156104db57600080fd5b50610455610d94565b610346610d9a565b3480156104f857600080fd5b5061047c61104f565b34801561050d57600080fd5b5061045561106b565b34801561052257600080fd5b50610455611071565b34801561053757600080fd5b506103466004803603602081101561054e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611077565b34801561057757600080fd5b506105ab6004803603602081101561058e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611440565b604080519788526020880196909652868601949094526060860192909252608085015260a084015260c0830152519081900360e00190f35b3480156105ef57600080fd5b5061047c6004803603602081101561060657600080fd5b503561147d565b34801561061957600080fd5b506104556114b1565b34801561062e57600080fd5b506104556114b7565b34801561064357600080fd5b506104556114bd565b34801561065857600080fd5b506104556114c3565b34801561066d57600080fd5b506104556114c9565b34801561068257600080fd5b506104556114cf565b34801561069757600080fd5b5061047c6114d5565b3480156106ac57600080fd5b50610346600480360360608110156106c357600080fd5b50803590602081013590604001356114f1565b3480156106e257600080fd5b506104556117a1565b3480156106f757600080fd5b5061072b6004803603602081101561070e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166117a7565b604080519115158252519081900360200190f35b34801561074b57600080fd5b5061047c6117df565b34801561076057600080fd5b506104556117fb565b34801561077557600080fd5b506103c86004803603602081101561078c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611801565b3480156107b557600080fd5b5061047c600480360360208110156107cc57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166119aa565b3480156107f557600080fd5b506103466004803603602081101561080c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611a2f565b34801561083557600080fd5b50610455611ab3565b34801561084a57600080fd5b506103466004803603602081101561086157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611ab9565b34801561088a57600080fd5b50610346600480360360208110156108a157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611cdd565b3480156108ca57600080fd5b5061072b600480360360208110156108e157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611d6f565b34801561090a57600080fd5b506103466004803603608081101561092157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169063ffffffff60208201351690604001611df6565b34801561095b57600080fd5b5061072b6004803603602081101561097257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611ec4565b34801561099b57600080fd5b506109a4611f07565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156109e05781810151838201526020016109c8565b505050509050019250505060405180910390f35b348015610a0057600080fd5b50610a09611fb9565b6040805192835260208301919091528051918290030190f35b348015610a2e57600080fd5b5061047c611fd2565b348015610a4357600080fd5b506109a4611fee565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ad257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742070726f78790000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610adb816120c3565b8073ffffffffffffffffffffffffffffffffffffffff16ff5b600f54600554600d54600e54600c54939492939192909190565b600080610b19613fb4565b6000806000610b26613fd2565b600254610b499073ffffffffffffffffffffffffffffffffffffffff1689612152565b608081015190915073ffffffffffffffffffffffffffffffffffffffff16610bd257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e6b6e6f776e206d61737465726e6f64650000000000000000000000000000604482015290519081900360640190fd5b608081015160e0820151604080518082018252818501518152606085015160208083019190915280860151955173ffffffffffffffffffffffffffffffffffffffff909d16600090815260109091529190912054929b919a9099509297509195509350915050565b60095481565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60048054604080517f8abf60770000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff1692638abf60779281830192602092829003018186803b158015610cc657600080fd5b505afa158015610cda573d6000803e3d6000fd5b505050506040513d6020811015610cf057600080fd5b505190508215801590610d7d57508073ffffffffffffffffffffffffffffffffffffffff166352782d86846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610d4f57600080fd5b505afa158015610d63573d6000803e3d6000fd5b505050506040513d6020811015610d7957600080fd5b5051155b15610d8e57677ed7cd92ff12000091505b50919050565b60125481565b60015415610e0957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f5265656e74727900000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60018055343031036000811315610f37576000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638abf60776040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8457600080fd5b505afa158015610e98573d6000803e3d6000fd5b505050506040513d6020811015610eae57600080fd5b5051604080517f228cb733000000000000000000000000000000000000000000000000000000008152905191925073ffffffffffffffffffffffffffffffffffffffff83169163228cb733918591600480830192600092919082900301818588803b158015610f1c57600080fd5b505af1158015610f30573d6000803e3d6000fd5b5050505050505b677ed7cd92ff120000341415611047574360125410610fb757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f43616c6c206f757473696465206f6620676f7665726e616e6365210000000000604482015290519081900360640190fd5b43601255610fc3612284565b34303114610fcd57fe5b600b54600081677ed7cd92ff12000081610fe357fe5b049050815b801561104357620186a05a11610ffa57fe5b620186a05a1180156110125750611010826122fd565b155b1561101c57610ffa565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01610fe8565b5050505b506000600155565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60135481565b60085481565b600154156110e657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f5265656e74727900000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001805560006110f4612570565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561119157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e76616c69646174696f6e20666f722073656c660000000000000000000000604482015290519081900360640190fd5b60135473ffffffffffffffffffffffffffffffffffffffff821660009081526010602052604090206111c3838261259f565b61122e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4e6f74206163746976652063616c6c6572000000000000000000000000000000604482015290519081900360640190fd5b818160060154106112a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f416c726561647920696e76616c69646174656400000000000000000000000000604482015290519081900360640190fd5b8373ffffffffffffffffffffffffffffffffffffffff166112c0846119aa565b73ffffffffffffffffffffffffffffffffffffffff161461134257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f496e76616c696420746172676574000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff84166000908152601060205260409020611371858261259f565b6113dc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4e6f742061637469766520746172676574000000000000000000000000000000604482015290519081900360640190fd5b60068201839055600481018054600101905560405173ffffffffffffffffffffffffffffffffffffffff80861691908716907f389d58799d7eca76264c556a007ffbc7c60caa4e3c8ea0564e791af3a1b9d33190600090a350506000600155505050565b6010602052600090815260409020805460018201546002830154600384015460048501546005860154600690960154949593949293919290919087565b6011818154811061148a57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b600f5481565b600b5481565b600e5481565b600a5481565b600d5481565b60145481565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b6001541561156057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f5265656e74727900000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60018055600a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff438590030111156115f957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f546f6f206f6c6420626c6f636b00000000000000000000000000000000000000604482015290519081900360640190fd5b8183401461166857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f426c6f636b206d69736d61746368000000000000000000000000000000000000604482015290519081900360640190fd5b6000611672612570565b73ffffffffffffffffffffffffffffffffffffffff811660009081526010602052604090209091506116a4828261259f565b61170f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e6f742061637469766500000000000000000000000000000000000000000000604482015290519081900360640190fd5b428160010154111561178257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f546f6f206561726c790000000000000000000000000000000000000000000000604482015290519081900360640190fd5b61178a6125ee565b420160018083019190915592905550600090555050565b60075481565b73ffffffffffffffffffffffffffffffffffffffff811660009081526010602052604081206117d790839061259f565b90505b919050565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b60008061180c613fb4565b600254604080517f28d566be00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015291516000938493849391169182916328d566be916024808301926020929190829003018186803b15801561188657600080fd5b505afa15801561189a573d6000803e3d6000fd5b505050506040513d60208110156118b057600080fd5b5051965073ffffffffffffffffffffffffffffffffffffffff871661193657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f556e6b6e6f776e206f776e657200000000000000000000000000000000000000604482015290519081900360640190fd5b61193e613fd2565b6119488289612152565b60e0810151604080518082018252818401518152606084015160208083019190915280850151945173ffffffffffffffffffffffffffffffffffffffff8e1660009081526010909252929020549b9d929c509a92995097509095509350505050565b60115460145460009190808214156119c0576001015b73ffffffffffffffffffffffffffffffffffffffff841660009081526010602052604090206003015482828201816119f457fe5b06905060118181548110611a0457fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b60015415611a9e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f5265656e74727900000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001805561104781611aae612570565b612605565b600c5481565b60015415611b2857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f5265656e74727900000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60018055600254604080517f28d566be00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301529151919092169160009183916328d566be916024808301926020929190829003018186803b158015611ba457600080fd5b505afa158015611bb8573d6000803e3d6000fd5b505050506040513d6020811015611bce57600080fd5b5051905073ffffffffffffffffffffffffffffffffffffffff8116611bf4575050611047565b600080611c0085612ab1565b91509150611c0c613fd2565b600254611c2f9073ffffffffffffffffffffffffffffffffffffffff1685612152565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260106020526040812091925090611c6490838686612bf1565b90506001816003811115611c7457fe5b1415611ccf57683635c9adc5dea000008410611cc55760e0820151611c97613fb4565b5060408051808201825290840151815260608401516020820152611cbe878a888585612c50565b5050611ccf565b611ccf8588612605565b505050505050506000600155565b60005473ffffffffffffffffffffffffffffffffffffffff163314611d6357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742070726f78790000000000000000000000000000000000000000000000604482015290519081900360640190fd5b611d6c81612f92565b50565b73ffffffffffffffffffffffffffffffffffffffff81166000908152601060205260408120611d9e838261259f565b8015611daf57506013548160060154105b8015611def57508273ffffffffffffffffffffffffffffffffffffffff16611dd6846119aa565b73ffffffffffffffffffffffffffffffffffffffff1614155b9392505050565b60015415611e6557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f5265656e74727900000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600180556000611e73612570565b90506000611e8082613854565b9050611eb885838387876002806020026040519081016040528092919082600260200280828437600092019190915250612c50915050565b50506000600155505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152601060205260408120611ef3838261259f565b8015611def57506001015442101592915050565b6060600f54604051908082528060200260200182016040528015611f35578160200160208202803883390190505b50905060005b8151811015611fb55760118181548110611f5157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110611f8857fe5b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101611f3b565b5090565b683635c9adc5dea000009069152d02c7e14af680000090565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b606060055460405190808252806020026020018201604052801561201c578160200160208202803883390190505b5060065490915073ffffffffffffffffffffffffffffffffffffffff168061204457506120c0565b8061204d613fd2565b60005b8285828151811061205d57fe5b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201015260025461208e911684612152565b60c08101519350915060010173ffffffffffffffffffffffffffffffffffffffff808416908516141561205057505050505b90565b600254604080517f13af403500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152915191909216916313af403591602480830192600092919082900301818387803b15801561213757600080fd5b505af115801561214b573d6000803e3d6000fd5b5050505050565b61215a613fd2565b8273ffffffffffffffffffffffffffffffffffffffff1663412cbac0836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506101006040518083038186803b1580156121d857600080fd5b505afa1580156121ec573d6000803e3d6000fd5b505050506040513d61010081101561220357600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e015163ffffffff169d8f019d909d5273ffffffffffffffffffffffffffffffffffffffff9c8d16908e01528b16908c01529890981697890197909752870195909552850193909352830191909152815292915050565b60135443106122fb57601154600954808210156122a25750506122fb565b60008183816122ad57fe5b049050818110156122bb5750805b438082016013557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808501910140816122f057fe5b066001016014555050505b565b60065460075460009173ffffffffffffffffffffffffffffffffffffffff16908161232d576001925050506117da565b612335613fd2565b6002546123589073ffffffffffffffffffffffffffffffffffffffff1684612152565b73ffffffffffffffffffffffffffffffffffffffff841660009081526010602052604090206004810154600582015460019095019492935090918410156123a35760078490556123f9565b60006004830181905560c0840151600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556007555b600061240583856138da565b9050600081600381111561241557fe5b14156124795761242482613905565b15806124655750836080015173ffffffffffffffffffffffffffffffffffffffff166108fc899081150290604051600060405180830381858888f193505050505b1561247957600196505050505050506117da565b600181600381111561248757fe5b14156124a05761249b868560800151612605565b612562565b600583015415612544576000600584015542600284015560208401516124c7908790613936565b60c0840151600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92831617905560006007819055604051918816917f749cb6b4c510bc468cf6b9c2086d6f0a54d6b18e25d37bf3200e68eab0880c009190a2612562565b600a5483600201544203111561256257612562868560800151612605565b506000979650505050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff163314156125985750326120c0565b50336120c0565b60006125a9613fd2565b6002546125cc9073ffffffffffffffffffffffffffffffffffffffff1685612152565b905060006125da84836138da565b60038111156125e557fe5b14949350505050565b600f546004026107088110156120c0575061070890565b60025473ffffffffffffffffffffffffffffffffffffffff16612626613fd2565b6126308285612152565b608081015190915073ffffffffffffffffffffffffffffffffffffffff16612659575050612aad565b806080015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146126f757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f496e76616c6964206f776e657200000000000000000000000000000000000000604482015290519081900360640190fd5b8373ffffffffffffffffffffffffffffffffffffffff168160c0015173ffffffffffffffffffffffffffffffffffffffff16141561275c57600680547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561292a565b60065473ffffffffffffffffffffffffffffffffffffffff858116911614156127ce5760c0810151600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560006007555b60a081015160c0820151604080517f1f9579ca00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff938416600482015260006024820181905260448201819052600160648301529284166084820152905192851692631f9579ca9260a48084019391929182900301818387803b15801561286557600080fd5b505af1158015612879573d6000803e3d6000fd5b50505060c082015160a0830151604080517f1f9579ca00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201526001602482015291831660448301526000606483018190526084830181905290519286169350631f9579ca9260a48084019382900301818387803b15801561291157600080fd5b505af1158015612925573d6000803e3d6000fd5b505050505b602080820151600e805491909103905573ffffffffffffffffffffffffffffffffffffffff85166000908152601090915260409020600501541561297657612976848260200151613936565b73ffffffffffffffffffffffffffffffffffffffff808516600081815260106020526040808220828155600181018390556002810183905560038101839055600480820184905560058201849055600690910183905581517f72f5f2570000000000000000000000000000000000000000000000000000000081529081019390935251928516926372f5f25792602480820193929182900301818387803b158015612a2057600080fd5b505af1158015612a34573d6000803e3d6000fd5b5050600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190555050608081015160405173ffffffffffffffffffffffffffffffffffffffff918216918616907f55faf8e51ab442f8d8510476317b2e313144c3db60adc284affef64140fe855290600090a350505b5050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638abf60776040518163ffffffff1660e01b815260040160206040518083038186803b158015612b1c57600080fd5b505afa158015612b30573d6000803e3d6000fd5b505050506040513d6020811015612b4657600080fd5b5051604080517f78c7d97900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015282519316926378c7d97992602480840193919291829003018186803b158015612bb457600080fd5b505afa158015612bc8573d6000803e3d6000fd5b505050506040513d6040811015612bde57600080fd5b5080516020909101519094909350915050565b6000846005015460001415612c0857506002612c48565b6001850154611c2001421115612c2057506003612c48565b83602001518314612c3357506001612c48565b8351821115612c4457506001612c48565b5060005b949350505050565b60025473ffffffffffffffffffffffffffffffffffffffff16612c738186613a8b565b612c7d8187613b5e565b612c8683613bfa565b600080612c938389613dd9565b915091508273ffffffffffffffffffffffffffffffffffffffff1663f71169df898988888b43888a6040518963ffffffff1660e01b8152600401808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018763ffffffff1663ffffffff16815260200186600260200280838360005b83811015612d68578181015183820152602001612d50565b505050509050018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200198505050505050505050600060405180830381600087803b158015612e0357600080fd5b505af1158015612e17573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff88166000908152601060205260409020426001820155683635c9adc5dea000008704600580830191909155600f805460019081019091558154019055600d805488019055600e8054880190819055600c54811115612e8e57600c8190555b601180546003840181905560018101825560009182527f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8d81169182179092556040805163ffffffff8c168152928d169391927f935a2f33570c4840d82856d75f5d0aafca32c5e6b31db5627552304a7dc82c09928c928c928f92909160208301918591908190849084905b83811015612f6c578181015183820152602001612f54565b50505050905001828152602001935050505060405180910390a350505050505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166341c0e1b56040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612ffc57600080fd5b505af1158015613010573d6000803e3d6000fd5b5050505060008190508073ffffffffffffffffffffffffffffffffffffffff16632d0593056040518163ffffffff1660e01b815260040160206040518083038186803b15801561305f57600080fd5b505afa158015613073573d6000803e3d6000fd5b505050506040513d602081101561308957600080fd5b5051600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604080517fab00fdc400000000000000000000000000000000000000000000000000000000815290519183169163ab00fdc491600480820192602092909190829003018186803b15801561311f57600080fd5b505afa158015613133573d6000803e3d6000fd5b505050506040513d602081101561314957600080fd5b5051600555604080517f1a26763c000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff831691631a26763c916004808301926020929190829003018186803b1580156131b457600080fd5b505afa1580156131c8573d6000803e3d6000fd5b505050506040513d60208110156131de57600080fd5b5051600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604080517f9c5e8ae2000000000000000000000000000000000000000000000000000000008152905191831691639c5e8ae291600480820192602092909190829003018186803b15801561327457600080fd5b505afa158015613288573d6000803e3d6000fd5b505050506040513d602081101561329e57600080fd5b5051600755604080517fcb4f40c5000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff83169163cb4f40c5916004808301926020929190829003018186803b15801561330957600080fd5b505afa15801561331d573d6000803e3d6000fd5b505050506040513d602081101561333357600080fd5b5051600c55604080517f6d41ff4e000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff831691636d41ff4e916004808301926020929190829003018186803b15801561339e57600080fd5b505afa1580156133b2573d6000803e3d6000fd5b505050506040513d60208110156133c857600080fd5b5051600d55604080517f57f2a7d8000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff8316916357f2a7d8916004808301926020929190829003018186803b15801561343357600080fd5b505afa158015613447573d6000803e3d6000fd5b505050506040513d602081101561345d57600080fd5b5051600e55604080517f521f284d000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff83169163521f284d916004808301926020929190829003018186803b1580156134c857600080fd5b505afa1580156134dc573d6000803e3d6000fd5b505050506040513d60208110156134f257600080fd5b5051600f55604080517fff9f78b3000000000000000000000000000000000000000000000000000000008152905160609173ffffffffffffffffffffffffffffffffffffffff84169163ff9f78b391600480820192600092909190829003018186803b15801561356157600080fd5b505afa158015613575573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405260208110156135bc57600080fd5b81019080805160405193929190846401000000008211156135dc57600080fd5b9083019060208201858111156135f157600080fd5b825186602082028301116401000000008211171561360e57600080fd5b82525081516020918201928201910280838360005b8381101561363b578181015183820152602001613623565b5050505091909101604052505043601255505080519091505b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101901561384657600082828151811061368b57fe5b6020026020010151905061369d614016565b8473ffffffffffffffffffffffffffffffffffffffff16634d1b4dae836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506101006040518083038186803b15801561371b57600080fd5b505afa15801561372f573d6000803e3d6000fd5b505050506040513d61010081101561374657600080fd5b50805160408083015160a08085015160c08087015160e090970151908801908152918701958652608087019081528684019283529386526004888102420160208089019182526011805460608b0181815260018083019093557f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6890910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9d909d169c8d17905560009b8c5260109092529590992097518855519387019390935590516002860155945160038501559051908301555160058201559051600690910155613654565b5061384f612284565b505050565b600061385f82612ab1565b509050683635c9adc5dea000008110156117da57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e76616c696420636f6c6c61746572616c0000000000000000000000000000604482015290519081900360640190fd5b60008060006138ec8460800151612ab1565b915091506138fc85858484612bf1565b95945050505050565b6000600854600f54101561391b575060016117da565b600060026009546001018161392c57fe5b0490921092915050565b60118054600091907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061396a57fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff86811684526010909252604080842060039081015493909216808552932001819055601180549293509091839190839081106139c557fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506011805480613a1857fe5b60008281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055908101909155600f805490910190555050600d805491909103905550565b60008273ffffffffffffffffffffffffffffffffffffffff166328d566be836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015613b0a57600080fd5b505afa158015613b1e573d6000803e3d6000fd5b505050506040513d6020811015613b3457600080fd5b5051905073ffffffffffffffffffffffffffffffffffffffff81161561384f5761384f8183612605565b613b66613fd2565b613b708383612152565b608081015190915073ffffffffffffffffffffffffffffffffffffffff161561384f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f496e76616c6964206f776e657200000000000000000000000000000000000000604482015290519081900360640190fd5b63ff000000811662ff0000821661ff008316637f0000008314801590613c24575082630a00000014155b8015613c4257508263c0000000148015613c4057508162a80000145b155b8015613c6557508263ac000000148015613c6357508162f000001662100000145b155b8015613c7057508215155b8015613c935750826364000000148015613c9157508162c000001662400000145b155b8015613cb157508263a9000000148015613caf57508162fe0000145b155b8015613cd457508263c6000000148015613cd257508162fe00001662120000145b155b8015613cff57508263c6000000148015613cf057508162330000145b8015613cfd575080616400145b155b8015613d2657508263cb000000148015613d17575081155b8015613d24575080617100145b155b8015613d3c57508263f00000001663e000000014155b8015613d5257508263f00000001663f000000014155b8015613d6857508363ffffffff1663ffffffff14155b613dd357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f57726f6e67204950000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b50505050565b60065473ffffffffffffffffffffffffffffffffffffffff1660008115613f6357613e02613fd2565b613e0c8584612152565b60a0810151604080517f1f9579ca00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808416600483015260006024830181905260448301819052600160648401528982166084840152925193965093945092881692631f9579ca9260a4808301939282900301818387803b158015613ea257600080fd5b505af1158015613eb6573d6000803e3d6000fd5b5050604080517f1f9579ca00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152600160248301528881166044830152600060648301819052608483018190529251908a169450631f9579ca935060a4808301939282900301818387803b158015613f4557600080fd5b505af1158015613f59573d6000803e3d6000fd5b5050505050613fad565b5050600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316179055600060075580805b9250929050565b60405180604001604052806002906020820280388339509192915050565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915290565b6040518060e0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fea265627a7a723158208fe498240a92095cbc10d67d69cd9b4ebb0d6010dbd5b22c663e05b5c94ac4b964736f6c63430005100032` 51 52 // MasternodeRegistryV2 is an auto generated Go binding around an Ethereum contract. 53 type MasternodeRegistryV2 struct { 54 MasternodeRegistryV2Caller // Read-only binding to the contract 55 MasternodeRegistryV2Transactor // Write-only binding to the contract 56 MasternodeRegistryV2Filterer // Log filterer for contract events 57 } 58 59 // MasternodeRegistryV2Caller is an auto generated read-only Go binding around an Ethereum contract. 60 type MasternodeRegistryV2Caller struct { 61 contract *bind.BoundContract // Generic contract wrapper for the low level calls 62 } 63 64 // MasternodeRegistryV2Transactor is an auto generated write-only Go binding around an Ethereum contract. 65 type MasternodeRegistryV2Transactor struct { 66 contract *bind.BoundContract // Generic contract wrapper for the low level calls 67 } 68 69 // MasternodeRegistryV2Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 70 type MasternodeRegistryV2Filterer struct { 71 contract *bind.BoundContract // Generic contract wrapper for the low level calls 72 } 73 74 // MasternodeRegistryV2Session is an auto generated Go binding around an Ethereum contract, 75 // with pre-set call and transact options. 76 type MasternodeRegistryV2Session struct { 77 Contract *MasternodeRegistryV2 // Generic contract binding to set the session for 78 CallOpts bind.CallOpts // Call options to use throughout this session 79 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 80 } 81 82 // MasternodeRegistryV2CallerSession is an auto generated read-only Go binding around an Ethereum contract, 83 // with pre-set call options. 84 type MasternodeRegistryV2CallerSession struct { 85 Contract *MasternodeRegistryV2Caller // Generic contract caller binding to set the session for 86 CallOpts bind.CallOpts // Call options to use throughout this session 87 } 88 89 // MasternodeRegistryV2TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 90 // with pre-set transact options. 91 type MasternodeRegistryV2TransactorSession struct { 92 Contract *MasternodeRegistryV2Transactor // Generic contract transactor binding to set the session for 93 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 94 } 95 96 // MasternodeRegistryV2Raw is an auto generated low-level Go binding around an Ethereum contract. 97 type MasternodeRegistryV2Raw struct { 98 Contract *MasternodeRegistryV2 // Generic contract binding to access the raw methods on 99 } 100 101 // MasternodeRegistryV2CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 102 type MasternodeRegistryV2CallerRaw struct { 103 Contract *MasternodeRegistryV2Caller // Generic read-only contract binding to access the raw methods on 104 } 105 106 // MasternodeRegistryV2TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 107 type MasternodeRegistryV2TransactorRaw struct { 108 Contract *MasternodeRegistryV2Transactor // Generic write-only contract binding to access the raw methods on 109 } 110 111 // NewMasternodeRegistryV2 creates a new instance of MasternodeRegistryV2, bound to a specific deployed contract. 112 func NewMasternodeRegistryV2(address common.Address, backend bind.ContractBackend) (*MasternodeRegistryV2, error) { 113 contract, err := bindMasternodeRegistryV2(address, backend, backend, backend) 114 if err != nil { 115 return nil, err 116 } 117 return &MasternodeRegistryV2{MasternodeRegistryV2Caller: MasternodeRegistryV2Caller{contract: contract}, MasternodeRegistryV2Transactor: MasternodeRegistryV2Transactor{contract: contract}, MasternodeRegistryV2Filterer: MasternodeRegistryV2Filterer{contract: contract}}, nil 118 } 119 120 // NewMasternodeRegistryV2Caller creates a new read-only instance of MasternodeRegistryV2, bound to a specific deployed contract. 121 func NewMasternodeRegistryV2Caller(address common.Address, caller bind.ContractCaller) (*MasternodeRegistryV2Caller, error) { 122 contract, err := bindMasternodeRegistryV2(address, caller, nil, nil) 123 if err != nil { 124 return nil, err 125 } 126 return &MasternodeRegistryV2Caller{contract: contract}, nil 127 } 128 129 // NewMasternodeRegistryV2Transactor creates a new write-only instance of MasternodeRegistryV2, bound to a specific deployed contract. 130 func NewMasternodeRegistryV2Transactor(address common.Address, transactor bind.ContractTransactor) (*MasternodeRegistryV2Transactor, error) { 131 contract, err := bindMasternodeRegistryV2(address, nil, transactor, nil) 132 if err != nil { 133 return nil, err 134 } 135 return &MasternodeRegistryV2Transactor{contract: contract}, nil 136 } 137 138 // NewMasternodeRegistryV2Filterer creates a new log filterer instance of MasternodeRegistryV2, bound to a specific deployed contract. 139 func NewMasternodeRegistryV2Filterer(address common.Address, filterer bind.ContractFilterer) (*MasternodeRegistryV2Filterer, error) { 140 contract, err := bindMasternodeRegistryV2(address, nil, nil, filterer) 141 if err != nil { 142 return nil, err 143 } 144 return &MasternodeRegistryV2Filterer{contract: contract}, nil 145 } 146 147 // bindMasternodeRegistryV2 binds a generic wrapper to an already deployed contract. 148 func bindMasternodeRegistryV2(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 149 parsed, err := abi.JSON(strings.NewReader(MasternodeRegistryV2ABI)) 150 if err != nil { 151 return nil, err 152 } 153 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 154 } 155 156 // Call invokes the (constant) contract method with params as input values and 157 // sets the output to result. The result type might be a single field for simple 158 // returns, a slice of interfaces for anonymous returns and a struct for named 159 // returns. 160 func (_MasternodeRegistryV2 *MasternodeRegistryV2Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 161 return _MasternodeRegistryV2.Contract.MasternodeRegistryV2Caller.contract.Call(opts, result, method, params...) 162 } 163 164 // Transfer initiates a plain transaction to move funds to the contract, calling 165 // its default method if one is available. 166 func (_MasternodeRegistryV2 *MasternodeRegistryV2Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 167 return _MasternodeRegistryV2.Contract.MasternodeRegistryV2Transactor.contract.Transfer(opts) 168 } 169 170 // Transact invokes the (paid) contract method with params as input values. 171 func (_MasternodeRegistryV2 *MasternodeRegistryV2Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 172 return _MasternodeRegistryV2.Contract.MasternodeRegistryV2Transactor.contract.Transact(opts, method, params...) 173 } 174 175 // Call invokes the (constant) contract method with params as input values and 176 // sets the output to result. The result type might be a single field for simple 177 // returns, a slice of interfaces for anonymous returns and a struct for named 178 // returns. 179 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 180 return _MasternodeRegistryV2.Contract.contract.Call(opts, result, method, params...) 181 } 182 183 // Transfer initiates a plain transaction to move funds to the contract, calling 184 // its default method if one is available. 185 func (_MasternodeRegistryV2 *MasternodeRegistryV2TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 186 return _MasternodeRegistryV2.Contract.contract.Transfer(opts) 187 } 188 189 // Transact invokes the (paid) contract method with params as input values. 190 func (_MasternodeRegistryV2 *MasternodeRegistryV2TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 191 return _MasternodeRegistryV2.Contract.contract.Transact(opts, method, params...) 192 } 193 194 // CanHeartbeat is a free data retrieval call binding the contract method 0xd9966aba. 195 // 196 // Solidity: function canHeartbeat(address masternode) constant returns(bool can_heartbeat) 197 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) CanHeartbeat(opts *bind.CallOpts, masternode common.Address) (bool, error) { 198 var ( 199 ret0 = new(bool) 200 ) 201 out := ret0 202 err := _MasternodeRegistryV2.contract.Call(opts, out, "canHeartbeat", masternode) 203 return *ret0, err 204 } 205 206 // CanHeartbeat is a free data retrieval call binding the contract method 0xd9966aba. 207 // 208 // Solidity: function canHeartbeat(address masternode) constant returns(bool can_heartbeat) 209 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) CanHeartbeat(masternode common.Address) (bool, error) { 210 return _MasternodeRegistryV2.Contract.CanHeartbeat(&_MasternodeRegistryV2.CallOpts, masternode) 211 } 212 213 // CanHeartbeat is a free data retrieval call binding the contract method 0xd9966aba. 214 // 215 // Solidity: function canHeartbeat(address masternode) constant returns(bool can_heartbeat) 216 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) CanHeartbeat(masternode common.Address) (bool, error) { 217 return _MasternodeRegistryV2.Contract.CanHeartbeat(&_MasternodeRegistryV2.CallOpts, masternode) 218 } 219 220 // CanInvalidate is a free data retrieval call binding the contract method 0xd13ef5a5. 221 // 222 // Solidity: function canInvalidate(address masternode) constant returns(bool can_invalidate) 223 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) CanInvalidate(opts *bind.CallOpts, masternode common.Address) (bool, error) { 224 var ( 225 ret0 = new(bool) 226 ) 227 out := ret0 228 err := _MasternodeRegistryV2.contract.Call(opts, out, "canInvalidate", masternode) 229 return *ret0, err 230 } 231 232 // CanInvalidate is a free data retrieval call binding the contract method 0xd13ef5a5. 233 // 234 // Solidity: function canInvalidate(address masternode) constant returns(bool can_invalidate) 235 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) CanInvalidate(masternode common.Address) (bool, error) { 236 return _MasternodeRegistryV2.Contract.CanInvalidate(&_MasternodeRegistryV2.CallOpts, masternode) 237 } 238 239 // CanInvalidate is a free data retrieval call binding the contract method 0xd13ef5a5. 240 // 241 // Solidity: function canInvalidate(address masternode) constant returns(bool can_invalidate) 242 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) CanInvalidate(masternode common.Address) (bool, error) { 243 return _MasternodeRegistryV2.Contract.CanInvalidate(&_MasternodeRegistryV2.CallOpts, masternode) 244 } 245 246 // CleanupPeriod is a free data retrieval call binding the contract method 0x5f6e2c7b. 247 // 248 // Solidity: function cleanup_period() constant returns(uint256) 249 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) CleanupPeriod(opts *bind.CallOpts) (*big.Int, error) { 250 var ( 251 ret0 = new(*big.Int) 252 ) 253 out := ret0 254 err := _MasternodeRegistryV2.contract.Call(opts, out, "cleanup_period") 255 return *ret0, err 256 } 257 258 // CleanupPeriod is a free data retrieval call binding the contract method 0x5f6e2c7b. 259 // 260 // Solidity: function cleanup_period() constant returns(uint256) 261 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) CleanupPeriod() (*big.Int, error) { 262 return _MasternodeRegistryV2.Contract.CleanupPeriod(&_MasternodeRegistryV2.CallOpts) 263 } 264 265 // CleanupPeriod is a free data retrieval call binding the contract method 0x5f6e2c7b. 266 // 267 // Solidity: function cleanup_period() constant returns(uint256) 268 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) CleanupPeriod() (*big.Int, error) { 269 return _MasternodeRegistryV2.Contract.CleanupPeriod(&_MasternodeRegistryV2.CallOpts) 270 } 271 272 // CollateralLimits is a free data retrieval call binding the contract method 0xe2cb2195. 273 // 274 // Solidity: function collateralLimits() constant returns(uint256 min, uint256 max) 275 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) CollateralLimits(opts *bind.CallOpts) (struct { 276 Min *big.Int 277 Max *big.Int 278 }, error) { 279 ret := new(struct { 280 Min *big.Int 281 Max *big.Int 282 }) 283 out := ret 284 err := _MasternodeRegistryV2.contract.Call(opts, out, "collateralLimits") 285 return *ret, err 286 } 287 288 // CollateralLimits is a free data retrieval call binding the contract method 0xe2cb2195. 289 // 290 // Solidity: function collateralLimits() constant returns(uint256 min, uint256 max) 291 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) CollateralLimits() (struct { 292 Min *big.Int 293 Max *big.Int 294 }, error) { 295 return _MasternodeRegistryV2.Contract.CollateralLimits(&_MasternodeRegistryV2.CallOpts) 296 } 297 298 // CollateralLimits is a free data retrieval call binding the contract method 0xe2cb2195. 299 // 300 // Solidity: function collateralLimits() constant returns(uint256 min, uint256 max) 301 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) CollateralLimits() (struct { 302 Min *big.Int 303 Max *big.Int 304 }, error) { 305 return _MasternodeRegistryV2.Contract.CollateralLimits(&_MasternodeRegistryV2.CallOpts) 306 } 307 308 // Count is a free data retrieval call binding the contract method 0x06661abd. 309 // 310 // Solidity: function count() constant returns(uint256 active, uint256 total, uint256 active_collateral, uint256 total_collateral, uint256 max_of_all_times) 311 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) Count(opts *bind.CallOpts) (struct { 312 Active *big.Int 313 Total *big.Int 314 ActiveCollateral *big.Int 315 TotalCollateral *big.Int 316 MaxOfAllTimes *big.Int 317 }, error) { 318 ret := new(struct { 319 Active *big.Int 320 Total *big.Int 321 ActiveCollateral *big.Int 322 TotalCollateral *big.Int 323 MaxOfAllTimes *big.Int 324 }) 325 out := ret 326 err := _MasternodeRegistryV2.contract.Call(opts, out, "count") 327 return *ret, err 328 } 329 330 // Count is a free data retrieval call binding the contract method 0x06661abd. 331 // 332 // Solidity: function count() constant returns(uint256 active, uint256 total, uint256 active_collateral, uint256 total_collateral, uint256 max_of_all_times) 333 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) Count() (struct { 334 Active *big.Int 335 Total *big.Int 336 ActiveCollateral *big.Int 337 TotalCollateral *big.Int 338 MaxOfAllTimes *big.Int 339 }, error) { 340 return _MasternodeRegistryV2.Contract.Count(&_MasternodeRegistryV2.CallOpts) 341 } 342 343 // Count is a free data retrieval call binding the contract method 0x06661abd. 344 // 345 // Solidity: function count() constant returns(uint256 active, uint256 total, uint256 active_collateral, uint256 total_collateral, uint256 max_of_all_times) 346 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) Count() (struct { 347 Active *big.Int 348 Total *big.Int 349 ActiveCollateral *big.Int 350 TotalCollateral *big.Int 351 MaxOfAllTimes *big.Int 352 }, error) { 353 return _MasternodeRegistryV2.Contract.Count(&_MasternodeRegistryV2.CallOpts) 354 } 355 356 // CurrValidationEnds is a free data retrieval call binding the contract method 0x2e941dc4. 357 // 358 // Solidity: function curr_validation_ends() constant returns(uint256) 359 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) CurrValidationEnds(opts *bind.CallOpts) (*big.Int, error) { 360 var ( 361 ret0 = new(*big.Int) 362 ) 363 out := ret0 364 err := _MasternodeRegistryV2.contract.Call(opts, out, "curr_validation_ends") 365 return *ret0, err 366 } 367 368 // CurrValidationEnds is a free data retrieval call binding the contract method 0x2e941dc4. 369 // 370 // Solidity: function curr_validation_ends() constant returns(uint256) 371 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) CurrValidationEnds() (*big.Int, error) { 372 return _MasternodeRegistryV2.Contract.CurrValidationEnds(&_MasternodeRegistryV2.CallOpts) 373 } 374 375 // CurrValidationEnds is a free data retrieval call binding the contract method 0x2e941dc4. 376 // 377 // Solidity: function curr_validation_ends() constant returns(uint256) 378 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) CurrValidationEnds() (*big.Int, error) { 379 return _MasternodeRegistryV2.Contract.CurrValidationEnds(&_MasternodeRegistryV2.CallOpts) 380 } 381 382 // CurrValidationOffset is a free data retrieval call binding the contract method 0x73b24540. 383 // 384 // Solidity: function curr_validation_offset() constant returns(uint256) 385 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) CurrValidationOffset(opts *bind.CallOpts) (*big.Int, error) { 386 var ( 387 ret0 = new(*big.Int) 388 ) 389 out := ret0 390 err := _MasternodeRegistryV2.contract.Call(opts, out, "curr_validation_offset") 391 return *ret0, err 392 } 393 394 // CurrValidationOffset is a free data retrieval call binding the contract method 0x73b24540. 395 // 396 // Solidity: function curr_validation_offset() constant returns(uint256) 397 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) CurrValidationOffset() (*big.Int, error) { 398 return _MasternodeRegistryV2.Contract.CurrValidationOffset(&_MasternodeRegistryV2.CallOpts) 399 } 400 401 // CurrValidationOffset is a free data retrieval call binding the contract method 0x73b24540. 402 // 403 // Solidity: function curr_validation_offset() constant returns(uint256) 404 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) CurrValidationOffset() (*big.Int, error) { 405 return _MasternodeRegistryV2.Contract.CurrValidationOffset(&_MasternodeRegistryV2.CallOpts) 406 } 407 408 // CurrentMasternode is a free data retrieval call binding the contract method 0x1a26763c. 409 // 410 // Solidity: function current_masternode() constant returns(address) 411 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) CurrentMasternode(opts *bind.CallOpts) (common.Address, error) { 412 var ( 413 ret0 = new(common.Address) 414 ) 415 out := ret0 416 err := _MasternodeRegistryV2.contract.Call(opts, out, "current_masternode") 417 return *ret0, err 418 } 419 420 // CurrentMasternode is a free data retrieval call binding the contract method 0x1a26763c. 421 // 422 // Solidity: function current_masternode() constant returns(address) 423 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) CurrentMasternode() (common.Address, error) { 424 return _MasternodeRegistryV2.Contract.CurrentMasternode(&_MasternodeRegistryV2.CallOpts) 425 } 426 427 // CurrentMasternode is a free data retrieval call binding the contract method 0x1a26763c. 428 // 429 // Solidity: function current_masternode() constant returns(address) 430 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) CurrentMasternode() (common.Address, error) { 431 return _MasternodeRegistryV2.Contract.CurrentMasternode(&_MasternodeRegistryV2.CallOpts) 432 } 433 434 // CurrentPayouts is a free data retrieval call binding the contract method 0x9c5e8ae2. 435 // 436 // Solidity: function current_payouts() constant returns(uint256) 437 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) CurrentPayouts(opts *bind.CallOpts) (*big.Int, error) { 438 var ( 439 ret0 = new(*big.Int) 440 ) 441 out := ret0 442 err := _MasternodeRegistryV2.contract.Call(opts, out, "current_payouts") 443 return *ret0, err 444 } 445 446 // CurrentPayouts is a free data retrieval call binding the contract method 0x9c5e8ae2. 447 // 448 // Solidity: function current_payouts() constant returns(uint256) 449 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) CurrentPayouts() (*big.Int, error) { 450 return _MasternodeRegistryV2.Contract.CurrentPayouts(&_MasternodeRegistryV2.CallOpts) 451 } 452 453 // CurrentPayouts is a free data retrieval call binding the contract method 0x9c5e8ae2. 454 // 455 // Solidity: function current_payouts() constant returns(uint256) 456 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) CurrentPayouts() (*big.Int, error) { 457 return _MasternodeRegistryV2.Contract.CurrentPayouts(&_MasternodeRegistryV2.CallOpts) 458 } 459 460 // Enumerate is a free data retrieval call binding the contract method 0xff9f78b3. 461 // 462 // Solidity: function enumerate() constant returns(address[] masternodes) 463 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) Enumerate(opts *bind.CallOpts) ([]common.Address, error) { 464 var ( 465 ret0 = new([]common.Address) 466 ) 467 out := ret0 468 err := _MasternodeRegistryV2.contract.Call(opts, out, "enumerate") 469 return *ret0, err 470 } 471 472 // Enumerate is a free data retrieval call binding the contract method 0xff9f78b3. 473 // 474 // Solidity: function enumerate() constant returns(address[] masternodes) 475 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) Enumerate() ([]common.Address, error) { 476 return _MasternodeRegistryV2.Contract.Enumerate(&_MasternodeRegistryV2.CallOpts) 477 } 478 479 // Enumerate is a free data retrieval call binding the contract method 0xff9f78b3. 480 // 481 // Solidity: function enumerate() constant returns(address[] masternodes) 482 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) Enumerate() ([]common.Address, error) { 483 return _MasternodeRegistryV2.Contract.Enumerate(&_MasternodeRegistryV2.CallOpts) 484 } 485 486 // EnumerateActive is a free data retrieval call binding the contract method 0xe1d6f43a. 487 // 488 // Solidity: function enumerateActive() constant returns(address[] masternodes) 489 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) EnumerateActive(opts *bind.CallOpts) ([]common.Address, error) { 490 var ( 491 ret0 = new([]common.Address) 492 ) 493 out := ret0 494 err := _MasternodeRegistryV2.contract.Call(opts, out, "enumerateActive") 495 return *ret0, err 496 } 497 498 // EnumerateActive is a free data retrieval call binding the contract method 0xe1d6f43a. 499 // 500 // Solidity: function enumerateActive() constant returns(address[] masternodes) 501 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) EnumerateActive() ([]common.Address, error) { 502 return _MasternodeRegistryV2.Contract.EnumerateActive(&_MasternodeRegistryV2.CallOpts) 503 } 504 505 // EnumerateActive is a free data retrieval call binding the contract method 0xe1d6f43a. 506 // 507 // Solidity: function enumerateActive() constant returns(address[] masternodes) 508 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) EnumerateActive() ([]common.Address, error) { 509 return _MasternodeRegistryV2.Contract.EnumerateActive(&_MasternodeRegistryV2.CallOpts) 510 } 511 512 // GetReward is a free data retrieval call binding the contract method 0x1c4b774b. 513 // 514 // Solidity: function getReward(uint256 _blockNumber) constant returns(uint256 amount) 515 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) GetReward(opts *bind.CallOpts, _blockNumber *big.Int) (*big.Int, error) { 516 var ( 517 ret0 = new(*big.Int) 518 ) 519 out := ret0 520 err := _MasternodeRegistryV2.contract.Call(opts, out, "getReward", _blockNumber) 521 return *ret0, err 522 } 523 524 // GetReward is a free data retrieval call binding the contract method 0x1c4b774b. 525 // 526 // Solidity: function getReward(uint256 _blockNumber) constant returns(uint256 amount) 527 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) GetReward(_blockNumber *big.Int) (*big.Int, error) { 528 return _MasternodeRegistryV2.Contract.GetReward(&_MasternodeRegistryV2.CallOpts, _blockNumber) 529 } 530 531 // GetReward is a free data retrieval call binding the contract method 0x1c4b774b. 532 // 533 // Solidity: function getReward(uint256 _blockNumber) constant returns(uint256 amount) 534 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) GetReward(_blockNumber *big.Int) (*big.Int, error) { 535 return _MasternodeRegistryV2.Contract.GetReward(&_MasternodeRegistryV2.CallOpts, _blockNumber) 536 } 537 538 // Info is a free data retrieval call binding the contract method 0x0aae7a6b. 539 // 540 // Solidity: function info(address masternode) constant returns(address owner, uint32 ipv4address, bytes32[2] enode, uint256 collateral, uint256 announced_block, uint256 sw_features) 541 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) Info(opts *bind.CallOpts, masternode common.Address) (struct { 542 Owner common.Address 543 Ipv4address uint32 544 Enode [2][32]byte 545 Collateral *big.Int 546 AnnouncedBlock *big.Int 547 SwFeatures *big.Int 548 }, error) { 549 ret := new(struct { 550 Owner common.Address 551 Ipv4address uint32 552 Enode [2][32]byte 553 Collateral *big.Int 554 AnnouncedBlock *big.Int 555 SwFeatures *big.Int 556 }) 557 out := ret 558 err := _MasternodeRegistryV2.contract.Call(opts, out, "info", masternode) 559 return *ret, err 560 } 561 562 // Info is a free data retrieval call binding the contract method 0x0aae7a6b. 563 // 564 // Solidity: function info(address masternode) constant returns(address owner, uint32 ipv4address, bytes32[2] enode, uint256 collateral, uint256 announced_block, uint256 sw_features) 565 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) Info(masternode common.Address) (struct { 566 Owner common.Address 567 Ipv4address uint32 568 Enode [2][32]byte 569 Collateral *big.Int 570 AnnouncedBlock *big.Int 571 SwFeatures *big.Int 572 }, error) { 573 return _MasternodeRegistryV2.Contract.Info(&_MasternodeRegistryV2.CallOpts, masternode) 574 } 575 576 // Info is a free data retrieval call binding the contract method 0x0aae7a6b. 577 // 578 // Solidity: function info(address masternode) constant returns(address owner, uint32 ipv4address, bytes32[2] enode, uint256 collateral, uint256 announced_block, uint256 sw_features) 579 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) Info(masternode common.Address) (struct { 580 Owner common.Address 581 Ipv4address uint32 582 Enode [2][32]byte 583 Collateral *big.Int 584 AnnouncedBlock *big.Int 585 SwFeatures *big.Int 586 }, error) { 587 return _MasternodeRegistryV2.Contract.Info(&_MasternodeRegistryV2.CallOpts, masternode) 588 } 589 590 // IsActive is a free data retrieval call binding the contract method 0x9f8a13d7. 591 // 592 // Solidity: function isActive(address masternode) constant returns(bool) 593 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) IsActive(opts *bind.CallOpts, masternode common.Address) (bool, error) { 594 var ( 595 ret0 = new(bool) 596 ) 597 out := ret0 598 err := _MasternodeRegistryV2.contract.Call(opts, out, "isActive", masternode) 599 return *ret0, err 600 } 601 602 // IsActive is a free data retrieval call binding the contract method 0x9f8a13d7. 603 // 604 // Solidity: function isActive(address masternode) constant returns(bool) 605 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) IsActive(masternode common.Address) (bool, error) { 606 return _MasternodeRegistryV2.Contract.IsActive(&_MasternodeRegistryV2.CallOpts, masternode) 607 } 608 609 // IsActive is a free data retrieval call binding the contract method 0x9f8a13d7. 610 // 611 // Solidity: function isActive(address masternode) constant returns(bool) 612 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) IsActive(masternode common.Address) (bool, error) { 613 return _MasternodeRegistryV2.Contract.IsActive(&_MasternodeRegistryV2.CallOpts, masternode) 614 } 615 616 // LastBlockNumber is a free data retrieval call binding the contract method 0x1eeaebb2. 617 // 618 // Solidity: function last_block_number() constant returns(uint256) 619 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) LastBlockNumber(opts *bind.CallOpts) (*big.Int, error) { 620 var ( 621 ret0 = new(*big.Int) 622 ) 623 out := ret0 624 err := _MasternodeRegistryV2.contract.Call(opts, out, "last_block_number") 625 return *ret0, err 626 } 627 628 // LastBlockNumber is a free data retrieval call binding the contract method 0x1eeaebb2. 629 // 630 // Solidity: function last_block_number() constant returns(uint256) 631 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) LastBlockNumber() (*big.Int, error) { 632 return _MasternodeRegistryV2.Contract.LastBlockNumber(&_MasternodeRegistryV2.CallOpts) 633 } 634 635 // LastBlockNumber is a free data retrieval call binding the contract method 0x1eeaebb2. 636 // 637 // Solidity: function last_block_number() constant returns(uint256) 638 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) LastBlockNumber() (*big.Int, error) { 639 return _MasternodeRegistryV2.Contract.LastBlockNumber(&_MasternodeRegistryV2.CallOpts) 640 } 641 642 // MnActive is a free data retrieval call binding the contract method 0x521f284d. 643 // 644 // Solidity: function mn_active() constant returns(uint256) 645 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) MnActive(opts *bind.CallOpts) (*big.Int, error) { 646 var ( 647 ret0 = new(*big.Int) 648 ) 649 out := ret0 650 err := _MasternodeRegistryV2.contract.Call(opts, out, "mn_active") 651 return *ret0, err 652 } 653 654 // MnActive is a free data retrieval call binding the contract method 0x521f284d. 655 // 656 // Solidity: function mn_active() constant returns(uint256) 657 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) MnActive() (*big.Int, error) { 658 return _MasternodeRegistryV2.Contract.MnActive(&_MasternodeRegistryV2.CallOpts) 659 } 660 661 // MnActive is a free data retrieval call binding the contract method 0x521f284d. 662 // 663 // Solidity: function mn_active() constant returns(uint256) 664 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) MnActive() (*big.Int, error) { 665 return _MasternodeRegistryV2.Contract.MnActive(&_MasternodeRegistryV2.CallOpts) 666 } 667 668 // MnActiveCollateral is a free data retrieval call binding the contract method 0x6d41ff4e. 669 // 670 // Solidity: function mn_active_collateral() constant returns(uint256) 671 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) MnActiveCollateral(opts *bind.CallOpts) (*big.Int, error) { 672 var ( 673 ret0 = new(*big.Int) 674 ) 675 out := ret0 676 err := _MasternodeRegistryV2.contract.Call(opts, out, "mn_active_collateral") 677 return *ret0, err 678 } 679 680 // MnActiveCollateral is a free data retrieval call binding the contract method 0x6d41ff4e. 681 // 682 // Solidity: function mn_active_collateral() constant returns(uint256) 683 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) MnActiveCollateral() (*big.Int, error) { 684 return _MasternodeRegistryV2.Contract.MnActiveCollateral(&_MasternodeRegistryV2.CallOpts) 685 } 686 687 // MnActiveCollateral is a free data retrieval call binding the contract method 0x6d41ff4e. 688 // 689 // Solidity: function mn_active_collateral() constant returns(uint256) 690 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) MnActiveCollateral() (*big.Int, error) { 691 return _MasternodeRegistryV2.Contract.MnActiveCollateral(&_MasternodeRegistryV2.CallOpts) 692 } 693 694 // MnAnnounced is a free data retrieval call binding the contract method 0xab00fdc4. 695 // 696 // Solidity: function mn_announced() constant returns(uint256) 697 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) MnAnnounced(opts *bind.CallOpts) (*big.Int, error) { 698 var ( 699 ret0 = new(*big.Int) 700 ) 701 out := ret0 702 err := _MasternodeRegistryV2.contract.Call(opts, out, "mn_announced") 703 return *ret0, err 704 } 705 706 // MnAnnounced is a free data retrieval call binding the contract method 0xab00fdc4. 707 // 708 // Solidity: function mn_announced() constant returns(uint256) 709 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) MnAnnounced() (*big.Int, error) { 710 return _MasternodeRegistryV2.Contract.MnAnnounced(&_MasternodeRegistryV2.CallOpts) 711 } 712 713 // MnAnnounced is a free data retrieval call binding the contract method 0xab00fdc4. 714 // 715 // Solidity: function mn_announced() constant returns(uint256) 716 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) MnAnnounced() (*big.Int, error) { 717 return _MasternodeRegistryV2.Contract.MnAnnounced(&_MasternodeRegistryV2.CallOpts) 718 } 719 720 // MnAnnouncedCollateral is a free data retrieval call binding the contract method 0x57f2a7d8. 721 // 722 // Solidity: function mn_announced_collateral() constant returns(uint256) 723 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) MnAnnouncedCollateral(opts *bind.CallOpts) (*big.Int, error) { 724 var ( 725 ret0 = new(*big.Int) 726 ) 727 out := ret0 728 err := _MasternodeRegistryV2.contract.Call(opts, out, "mn_announced_collateral") 729 return *ret0, err 730 } 731 732 // MnAnnouncedCollateral is a free data retrieval call binding the contract method 0x57f2a7d8. 733 // 734 // Solidity: function mn_announced_collateral() constant returns(uint256) 735 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) MnAnnouncedCollateral() (*big.Int, error) { 736 return _MasternodeRegistryV2.Contract.MnAnnouncedCollateral(&_MasternodeRegistryV2.CallOpts) 737 } 738 739 // MnAnnouncedCollateral is a free data retrieval call binding the contract method 0x57f2a7d8. 740 // 741 // Solidity: function mn_announced_collateral() constant returns(uint256) 742 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) MnAnnouncedCollateral() (*big.Int, error) { 743 return _MasternodeRegistryV2.Contract.MnAnnouncedCollateral(&_MasternodeRegistryV2.CallOpts) 744 } 745 746 // MnEverCollateral is a free data retrieval call binding the contract method 0xcb4f40c5. 747 // 748 // Solidity: function mn_ever_collateral() constant returns(uint256) 749 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) MnEverCollateral(opts *bind.CallOpts) (*big.Int, error) { 750 var ( 751 ret0 = new(*big.Int) 752 ) 753 out := ret0 754 err := _MasternodeRegistryV2.contract.Call(opts, out, "mn_ever_collateral") 755 return *ret0, err 756 } 757 758 // MnEverCollateral is a free data retrieval call binding the contract method 0xcb4f40c5. 759 // 760 // Solidity: function mn_ever_collateral() constant returns(uint256) 761 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) MnEverCollateral() (*big.Int, error) { 762 return _MasternodeRegistryV2.Contract.MnEverCollateral(&_MasternodeRegistryV2.CallOpts) 763 } 764 765 // MnEverCollateral is a free data retrieval call binding the contract method 0xcb4f40c5. 766 // 767 // Solidity: function mn_ever_collateral() constant returns(uint256) 768 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) MnEverCollateral() (*big.Int, error) { 769 return _MasternodeRegistryV2.Contract.MnEverCollateral(&_MasternodeRegistryV2.CallOpts) 770 } 771 772 // MnStatus is a free data retrieval call binding the contract method 0x4d1b4dae. 773 // 774 // Solidity: function mn_status(address ) constant returns(uint256 sw_features, uint256 next_heartbeat, uint256 inactive_since, uint256 validator_index, uint256 invalidations, uint256 seq_payouts, uint256 last_vote_epoch) 775 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) MnStatus(opts *bind.CallOpts, arg0 common.Address) (struct { 776 SwFeatures *big.Int 777 NextHeartbeat *big.Int 778 InactiveSince *big.Int 779 ValidatorIndex *big.Int 780 Invalidations *big.Int 781 SeqPayouts *big.Int 782 LastVoteEpoch *big.Int 783 }, error) { 784 ret := new(struct { 785 SwFeatures *big.Int 786 NextHeartbeat *big.Int 787 InactiveSince *big.Int 788 ValidatorIndex *big.Int 789 Invalidations *big.Int 790 SeqPayouts *big.Int 791 LastVoteEpoch *big.Int 792 }) 793 out := ret 794 err := _MasternodeRegistryV2.contract.Call(opts, out, "mn_status", arg0) 795 return *ret, err 796 } 797 798 // MnStatus is a free data retrieval call binding the contract method 0x4d1b4dae. 799 // 800 // Solidity: function mn_status(address ) constant returns(uint256 sw_features, uint256 next_heartbeat, uint256 inactive_since, uint256 validator_index, uint256 invalidations, uint256 seq_payouts, uint256 last_vote_epoch) 801 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) MnStatus(arg0 common.Address) (struct { 802 SwFeatures *big.Int 803 NextHeartbeat *big.Int 804 InactiveSince *big.Int 805 ValidatorIndex *big.Int 806 Invalidations *big.Int 807 SeqPayouts *big.Int 808 LastVoteEpoch *big.Int 809 }, error) { 810 return _MasternodeRegistryV2.Contract.MnStatus(&_MasternodeRegistryV2.CallOpts, arg0) 811 } 812 813 // MnStatus is a free data retrieval call binding the contract method 0x4d1b4dae. 814 // 815 // Solidity: function mn_status(address ) constant returns(uint256 sw_features, uint256 next_heartbeat, uint256 inactive_since, uint256 validator_index, uint256 invalidations, uint256 seq_payouts, uint256 last_vote_epoch) 816 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) MnStatus(arg0 common.Address) (struct { 817 SwFeatures *big.Int 818 NextHeartbeat *big.Int 819 InactiveSince *big.Int 820 ValidatorIndex *big.Int 821 Invalidations *big.Int 822 SeqPayouts *big.Int 823 LastVoteEpoch *big.Int 824 }, error) { 825 return _MasternodeRegistryV2.Contract.MnStatus(&_MasternodeRegistryV2.CallOpts, arg0) 826 } 827 828 // OwnerInfo is a free data retrieval call binding the contract method 0xb83e1605. 829 // 830 // Solidity: function ownerInfo(address owner) constant returns(address masternode, uint32 ipv4address, bytes32[2] enode, uint256 collateral, uint256 announced_block, uint256 sw_features) 831 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) OwnerInfo(opts *bind.CallOpts, owner common.Address) (struct { 832 Masternode common.Address 833 Ipv4address uint32 834 Enode [2][32]byte 835 Collateral *big.Int 836 AnnouncedBlock *big.Int 837 SwFeatures *big.Int 838 }, error) { 839 ret := new(struct { 840 Masternode common.Address 841 Ipv4address uint32 842 Enode [2][32]byte 843 Collateral *big.Int 844 AnnouncedBlock *big.Int 845 SwFeatures *big.Int 846 }) 847 out := ret 848 err := _MasternodeRegistryV2.contract.Call(opts, out, "ownerInfo", owner) 849 return *ret, err 850 } 851 852 // OwnerInfo is a free data retrieval call binding the contract method 0xb83e1605. 853 // 854 // Solidity: function ownerInfo(address owner) constant returns(address masternode, uint32 ipv4address, bytes32[2] enode, uint256 collateral, uint256 announced_block, uint256 sw_features) 855 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) OwnerInfo(owner common.Address) (struct { 856 Masternode common.Address 857 Ipv4address uint32 858 Enode [2][32]byte 859 Collateral *big.Int 860 AnnouncedBlock *big.Int 861 SwFeatures *big.Int 862 }, error) { 863 return _MasternodeRegistryV2.Contract.OwnerInfo(&_MasternodeRegistryV2.CallOpts, owner) 864 } 865 866 // OwnerInfo is a free data retrieval call binding the contract method 0xb83e1605. 867 // 868 // Solidity: function ownerInfo(address owner) constant returns(address masternode, uint32 ipv4address, bytes32[2] enode, uint256 collateral, uint256 announced_block, uint256 sw_features) 869 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) OwnerInfo(owner common.Address) (struct { 870 Masternode common.Address 871 Ipv4address uint32 872 Enode [2][32]byte 873 Collateral *big.Int 874 AnnouncedBlock *big.Int 875 SwFeatures *big.Int 876 }, error) { 877 return _MasternodeRegistryV2.Contract.OwnerInfo(&_MasternodeRegistryV2.CallOpts, owner) 878 } 879 880 // PaymentsPerBlock is a free data retrieval call binding the contract method 0x542396fd. 881 // 882 // Solidity: function payments_per_block() constant returns(uint256) 883 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) PaymentsPerBlock(opts *bind.CallOpts) (*big.Int, error) { 884 var ( 885 ret0 = new(*big.Int) 886 ) 887 out := ret0 888 err := _MasternodeRegistryV2.contract.Call(opts, out, "payments_per_block") 889 return *ret0, err 890 } 891 892 // PaymentsPerBlock is a free data retrieval call binding the contract method 0x542396fd. 893 // 894 // Solidity: function payments_per_block() constant returns(uint256) 895 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) PaymentsPerBlock() (*big.Int, error) { 896 return _MasternodeRegistryV2.Contract.PaymentsPerBlock(&_MasternodeRegistryV2.CallOpts) 897 } 898 899 // PaymentsPerBlock is a free data retrieval call binding the contract method 0x542396fd. 900 // 901 // Solidity: function payments_per_block() constant returns(uint256) 902 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) PaymentsPerBlock() (*big.Int, error) { 903 return _MasternodeRegistryV2.Contract.PaymentsPerBlock(&_MasternodeRegistryV2.CallOpts) 904 } 905 906 // Proxy is a free data retrieval call binding the contract method 0xec556889. 907 // 908 // Solidity: function proxy() constant returns(address) 909 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) Proxy(opts *bind.CallOpts) (common.Address, error) { 910 var ( 911 ret0 = new(common.Address) 912 ) 913 out := ret0 914 err := _MasternodeRegistryV2.contract.Call(opts, out, "proxy") 915 return *ret0, err 916 } 917 918 // Proxy is a free data retrieval call binding the contract method 0xec556889. 919 // 920 // Solidity: function proxy() constant returns(address) 921 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) Proxy() (common.Address, error) { 922 return _MasternodeRegistryV2.Contract.Proxy(&_MasternodeRegistryV2.CallOpts) 923 } 924 925 // Proxy is a free data retrieval call binding the contract method 0xec556889. 926 // 927 // Solidity: function proxy() constant returns(address) 928 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) Proxy() (common.Address, error) { 929 return _MasternodeRegistryV2.Contract.Proxy(&_MasternodeRegistryV2.CallOpts) 930 } 931 932 // RequireValidation is a free data retrieval call binding the contract method 0x35ab13f6. 933 // 934 // Solidity: function require_validation() constant returns(uint256) 935 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) RequireValidation(opts *bind.CallOpts) (*big.Int, error) { 936 var ( 937 ret0 = new(*big.Int) 938 ) 939 out := ret0 940 err := _MasternodeRegistryV2.contract.Call(opts, out, "require_validation") 941 return *ret0, err 942 } 943 944 // RequireValidation is a free data retrieval call binding the contract method 0x35ab13f6. 945 // 946 // Solidity: function require_validation() constant returns(uint256) 947 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) RequireValidation() (*big.Int, error) { 948 return _MasternodeRegistryV2.Contract.RequireValidation(&_MasternodeRegistryV2.CallOpts) 949 } 950 951 // RequireValidation is a free data retrieval call binding the contract method 0x35ab13f6. 952 // 953 // Solidity: function require_validation() constant returns(uint256) 954 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) RequireValidation() (*big.Int, error) { 955 return _MasternodeRegistryV2.Contract.RequireValidation(&_MasternodeRegistryV2.CallOpts) 956 } 957 958 // TokenProxy is a free data retrieval call binding the contract method 0x84afd47f. 959 // 960 // Solidity: function token_proxy() constant returns(address) 961 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) TokenProxy(opts *bind.CallOpts) (common.Address, error) { 962 var ( 963 ret0 = new(common.Address) 964 ) 965 out := ret0 966 err := _MasternodeRegistryV2.contract.Call(opts, out, "token_proxy") 967 return *ret0, err 968 } 969 970 // TokenProxy is a free data retrieval call binding the contract method 0x84afd47f. 971 // 972 // Solidity: function token_proxy() constant returns(address) 973 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) TokenProxy() (common.Address, error) { 974 return _MasternodeRegistryV2.Contract.TokenProxy(&_MasternodeRegistryV2.CallOpts) 975 } 976 977 // TokenProxy is a free data retrieval call binding the contract method 0x84afd47f. 978 // 979 // Solidity: function token_proxy() constant returns(address) 980 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) TokenProxy() (common.Address, error) { 981 return _MasternodeRegistryV2.Contract.TokenProxy(&_MasternodeRegistryV2.CallOpts) 982 } 983 984 // TreasuryProxy is a free data retrieval call binding the contract method 0xa2731784. 985 // 986 // Solidity: function treasury_proxy() constant returns(address) 987 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) TreasuryProxy(opts *bind.CallOpts) (common.Address, error) { 988 var ( 989 ret0 = new(common.Address) 990 ) 991 out := ret0 992 err := _MasternodeRegistryV2.contract.Call(opts, out, "treasury_proxy") 993 return *ret0, err 994 } 995 996 // TreasuryProxy is a free data retrieval call binding the contract method 0xa2731784. 997 // 998 // Solidity: function treasury_proxy() constant returns(address) 999 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) TreasuryProxy() (common.Address, error) { 1000 return _MasternodeRegistryV2.Contract.TreasuryProxy(&_MasternodeRegistryV2.CallOpts) 1001 } 1002 1003 // TreasuryProxy is a free data retrieval call binding the contract method 0xa2731784. 1004 // 1005 // Solidity: function treasury_proxy() constant returns(address) 1006 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) TreasuryProxy() (common.Address, error) { 1007 return _MasternodeRegistryV2.Contract.TreasuryProxy(&_MasternodeRegistryV2.CallOpts) 1008 } 1009 1010 // V1storage is a free data retrieval call binding the contract method 0x2d059305. 1011 // 1012 // Solidity: function v1storage() constant returns(address) 1013 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) V1storage(opts *bind.CallOpts) (common.Address, error) { 1014 var ( 1015 ret0 = new(common.Address) 1016 ) 1017 out := ret0 1018 err := _MasternodeRegistryV2.contract.Call(opts, out, "v1storage") 1019 return *ret0, err 1020 } 1021 1022 // V1storage is a free data retrieval call binding the contract method 0x2d059305. 1023 // 1024 // Solidity: function v1storage() constant returns(address) 1025 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) V1storage() (common.Address, error) { 1026 return _MasternodeRegistryV2.Contract.V1storage(&_MasternodeRegistryV2.CallOpts) 1027 } 1028 1029 // V1storage is a free data retrieval call binding the contract method 0x2d059305. 1030 // 1031 // Solidity: function v1storage() constant returns(address) 1032 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) V1storage() (common.Address, error) { 1033 return _MasternodeRegistryV2.Contract.V1storage(&_MasternodeRegistryV2.CallOpts) 1034 } 1035 1036 // ValidationTarget is a free data retrieval call binding the contract method 0xc3db74d6. 1037 // 1038 // Solidity: function validationTarget(address masternode) constant returns(address target) 1039 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) ValidationTarget(opts *bind.CallOpts, masternode common.Address) (common.Address, error) { 1040 var ( 1041 ret0 = new(common.Address) 1042 ) 1043 out := ret0 1044 err := _MasternodeRegistryV2.contract.Call(opts, out, "validationTarget", masternode) 1045 return *ret0, err 1046 } 1047 1048 // ValidationTarget is a free data retrieval call binding the contract method 0xc3db74d6. 1049 // 1050 // Solidity: function validationTarget(address masternode) constant returns(address target) 1051 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) ValidationTarget(masternode common.Address) (common.Address, error) { 1052 return _MasternodeRegistryV2.Contract.ValidationTarget(&_MasternodeRegistryV2.CallOpts, masternode) 1053 } 1054 1055 // ValidationTarget is a free data retrieval call binding the contract method 0xc3db74d6. 1056 // 1057 // Solidity: function validationTarget(address masternode) constant returns(address target) 1058 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) ValidationTarget(masternode common.Address) (common.Address, error) { 1059 return _MasternodeRegistryV2.Contract.ValidationTarget(&_MasternodeRegistryV2.CallOpts, masternode) 1060 } 1061 1062 // ValidationPeriods is a free data retrieval call binding the contract method 0x18a2ac19. 1063 // 1064 // Solidity: function validation_periods() constant returns(uint256) 1065 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) ValidationPeriods(opts *bind.CallOpts) (*big.Int, error) { 1066 var ( 1067 ret0 = new(*big.Int) 1068 ) 1069 out := ret0 1070 err := _MasternodeRegistryV2.contract.Call(opts, out, "validation_periods") 1071 return *ret0, err 1072 } 1073 1074 // ValidationPeriods is a free data retrieval call binding the contract method 0x18a2ac19. 1075 // 1076 // Solidity: function validation_periods() constant returns(uint256) 1077 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) ValidationPeriods() (*big.Int, error) { 1078 return _MasternodeRegistryV2.Contract.ValidationPeriods(&_MasternodeRegistryV2.CallOpts) 1079 } 1080 1081 // ValidationPeriods is a free data retrieval call binding the contract method 0x18a2ac19. 1082 // 1083 // Solidity: function validation_periods() constant returns(uint256) 1084 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) ValidationPeriods() (*big.Int, error) { 1085 return _MasternodeRegistryV2.Contract.ValidationPeriods(&_MasternodeRegistryV2.CallOpts) 1086 } 1087 1088 // ValidatorList is a free data retrieval call binding the contract method 0x4e60b981. 1089 // 1090 // Solidity: function validator_list(uint256 ) constant returns(address) 1091 func (_MasternodeRegistryV2 *MasternodeRegistryV2Caller) ValidatorList(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { 1092 var ( 1093 ret0 = new(common.Address) 1094 ) 1095 out := ret0 1096 err := _MasternodeRegistryV2.contract.Call(opts, out, "validator_list", arg0) 1097 return *ret0, err 1098 } 1099 1100 // ValidatorList is a free data retrieval call binding the contract method 0x4e60b981. 1101 // 1102 // Solidity: function validator_list(uint256 ) constant returns(address) 1103 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) ValidatorList(arg0 *big.Int) (common.Address, error) { 1104 return _MasternodeRegistryV2.Contract.ValidatorList(&_MasternodeRegistryV2.CallOpts, arg0) 1105 } 1106 1107 // ValidatorList is a free data retrieval call binding the contract method 0x4e60b981. 1108 // 1109 // Solidity: function validator_list(uint256 ) constant returns(address) 1110 func (_MasternodeRegistryV2 *MasternodeRegistryV2CallerSession) ValidatorList(arg0 *big.Int) (common.Address, error) { 1111 return _MasternodeRegistryV2.Contract.ValidatorList(&_MasternodeRegistryV2.CallOpts, arg0) 1112 } 1113 1114 // Announce is a paid mutator transaction binding the contract method 0xd70d5c30. 1115 // 1116 // Solidity: function announce(address masternode, uint32 ipv4address, bytes32[2] enode) returns() 1117 func (_MasternodeRegistryV2 *MasternodeRegistryV2Transactor) Announce(opts *bind.TransactOpts, masternode common.Address, ipv4address uint32, enode [2][32]byte) (*types.Transaction, error) { 1118 return _MasternodeRegistryV2.contract.Transact(opts, "announce", masternode, ipv4address, enode) 1119 } 1120 1121 // Announce is a paid mutator transaction binding the contract method 0xd70d5c30. 1122 // 1123 // Solidity: function announce(address masternode, uint32 ipv4address, bytes32[2] enode) returns() 1124 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) Announce(masternode common.Address, ipv4address uint32, enode [2][32]byte) (*types.Transaction, error) { 1125 return _MasternodeRegistryV2.Contract.Announce(&_MasternodeRegistryV2.TransactOpts, masternode, ipv4address, enode) 1126 } 1127 1128 // Announce is a paid mutator transaction binding the contract method 0xd70d5c30. 1129 // 1130 // Solidity: function announce(address masternode, uint32 ipv4address, bytes32[2] enode) returns() 1131 func (_MasternodeRegistryV2 *MasternodeRegistryV2TransactorSession) Announce(masternode common.Address, ipv4address uint32, enode [2][32]byte) (*types.Transaction, error) { 1132 return _MasternodeRegistryV2.Contract.Announce(&_MasternodeRegistryV2.TransactOpts, masternode, ipv4address, enode) 1133 } 1134 1135 // Denounce is a paid mutator transaction binding the contract method 0xca0e551f. 1136 // 1137 // Solidity: function denounce(address masternode) returns() 1138 func (_MasternodeRegistryV2 *MasternodeRegistryV2Transactor) Denounce(opts *bind.TransactOpts, masternode common.Address) (*types.Transaction, error) { 1139 return _MasternodeRegistryV2.contract.Transact(opts, "denounce", masternode) 1140 } 1141 1142 // Denounce is a paid mutator transaction binding the contract method 0xca0e551f. 1143 // 1144 // Solidity: function denounce(address masternode) returns() 1145 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) Denounce(masternode common.Address) (*types.Transaction, error) { 1146 return _MasternodeRegistryV2.Contract.Denounce(&_MasternodeRegistryV2.TransactOpts, masternode) 1147 } 1148 1149 // Denounce is a paid mutator transaction binding the contract method 0xca0e551f. 1150 // 1151 // Solidity: function denounce(address masternode) returns() 1152 func (_MasternodeRegistryV2 *MasternodeRegistryV2TransactorSession) Denounce(masternode common.Address) (*types.Transaction, error) { 1153 return _MasternodeRegistryV2.Contract.Denounce(&_MasternodeRegistryV2.TransactOpts, masternode) 1154 } 1155 1156 // Destroy is a paid mutator transaction binding the contract method 0x00f55d9d. 1157 // 1158 // Solidity: function destroy(address _newImpl) returns() 1159 func (_MasternodeRegistryV2 *MasternodeRegistryV2Transactor) Destroy(opts *bind.TransactOpts, _newImpl common.Address) (*types.Transaction, error) { 1160 return _MasternodeRegistryV2.contract.Transact(opts, "destroy", _newImpl) 1161 } 1162 1163 // Destroy is a paid mutator transaction binding the contract method 0x00f55d9d. 1164 // 1165 // Solidity: function destroy(address _newImpl) returns() 1166 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) Destroy(_newImpl common.Address) (*types.Transaction, error) { 1167 return _MasternodeRegistryV2.Contract.Destroy(&_MasternodeRegistryV2.TransactOpts, _newImpl) 1168 } 1169 1170 // Destroy is a paid mutator transaction binding the contract method 0x00f55d9d. 1171 // 1172 // Solidity: function destroy(address _newImpl) returns() 1173 func (_MasternodeRegistryV2 *MasternodeRegistryV2TransactorSession) Destroy(_newImpl common.Address) (*types.Transaction, error) { 1174 return _MasternodeRegistryV2.Contract.Destroy(&_MasternodeRegistryV2.TransactOpts, _newImpl) 1175 } 1176 1177 // Heartbeat is a paid mutator transaction binding the contract method 0x91ceac96. 1178 // 1179 // Solidity: function heartbeat(uint256 block_number, bytes32 block_hash, uint256 sw_features) returns() 1180 func (_MasternodeRegistryV2 *MasternodeRegistryV2Transactor) Heartbeat(opts *bind.TransactOpts, block_number *big.Int, block_hash [32]byte, sw_features *big.Int) (*types.Transaction, error) { 1181 return _MasternodeRegistryV2.contract.Transact(opts, "heartbeat", block_number, block_hash, sw_features) 1182 } 1183 1184 // Heartbeat is a paid mutator transaction binding the contract method 0x91ceac96. 1185 // 1186 // Solidity: function heartbeat(uint256 block_number, bytes32 block_hash, uint256 sw_features) returns() 1187 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) Heartbeat(block_number *big.Int, block_hash [32]byte, sw_features *big.Int) (*types.Transaction, error) { 1188 return _MasternodeRegistryV2.Contract.Heartbeat(&_MasternodeRegistryV2.TransactOpts, block_number, block_hash, sw_features) 1189 } 1190 1191 // Heartbeat is a paid mutator transaction binding the contract method 0x91ceac96. 1192 // 1193 // Solidity: function heartbeat(uint256 block_number, bytes32 block_hash, uint256 sw_features) returns() 1194 func (_MasternodeRegistryV2 *MasternodeRegistryV2TransactorSession) Heartbeat(block_number *big.Int, block_hash [32]byte, sw_features *big.Int) (*types.Transaction, error) { 1195 return _MasternodeRegistryV2.Contract.Heartbeat(&_MasternodeRegistryV2.TransactOpts, block_number, block_hash, sw_features) 1196 } 1197 1198 // Invalidate is a paid mutator transaction binding the contract method 0x37a3931f. 1199 // 1200 // Solidity: function invalidate(address masternode) returns() 1201 func (_MasternodeRegistryV2 *MasternodeRegistryV2Transactor) Invalidate(opts *bind.TransactOpts, masternode common.Address) (*types.Transaction, error) { 1202 return _MasternodeRegistryV2.contract.Transact(opts, "invalidate", masternode) 1203 } 1204 1205 // Invalidate is a paid mutator transaction binding the contract method 0x37a3931f. 1206 // 1207 // Solidity: function invalidate(address masternode) returns() 1208 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) Invalidate(masternode common.Address) (*types.Transaction, error) { 1209 return _MasternodeRegistryV2.Contract.Invalidate(&_MasternodeRegistryV2.TransactOpts, masternode) 1210 } 1211 1212 // Invalidate is a paid mutator transaction binding the contract method 0x37a3931f. 1213 // 1214 // Solidity: function invalidate(address masternode) returns() 1215 func (_MasternodeRegistryV2 *MasternodeRegistryV2TransactorSession) Invalidate(masternode common.Address) (*types.Transaction, error) { 1216 return _MasternodeRegistryV2.Contract.Invalidate(&_MasternodeRegistryV2.TransactOpts, masternode) 1217 } 1218 1219 // Migrate is a paid mutator transaction binding the contract method 0xce5494bb. 1220 // 1221 // Solidity: function migrate(address _oldImpl) returns() 1222 func (_MasternodeRegistryV2 *MasternodeRegistryV2Transactor) Migrate(opts *bind.TransactOpts, _oldImpl common.Address) (*types.Transaction, error) { 1223 return _MasternodeRegistryV2.contract.Transact(opts, "migrate", _oldImpl) 1224 } 1225 1226 // Migrate is a paid mutator transaction binding the contract method 0xce5494bb. 1227 // 1228 // Solidity: function migrate(address _oldImpl) returns() 1229 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) Migrate(_oldImpl common.Address) (*types.Transaction, error) { 1230 return _MasternodeRegistryV2.Contract.Migrate(&_MasternodeRegistryV2.TransactOpts, _oldImpl) 1231 } 1232 1233 // Migrate is a paid mutator transaction binding the contract method 0xce5494bb. 1234 // 1235 // Solidity: function migrate(address _oldImpl) returns() 1236 func (_MasternodeRegistryV2 *MasternodeRegistryV2TransactorSession) Migrate(_oldImpl common.Address) (*types.Transaction, error) { 1237 return _MasternodeRegistryV2.Contract.Migrate(&_MasternodeRegistryV2.TransactOpts, _oldImpl) 1238 } 1239 1240 // OnCollateralUpdate is a paid mutator transaction binding the contract method 0xcdc7d4ad. 1241 // 1242 // Solidity: function onCollateralUpdate(address owner) returns() 1243 func (_MasternodeRegistryV2 *MasternodeRegistryV2Transactor) OnCollateralUpdate(opts *bind.TransactOpts, owner common.Address) (*types.Transaction, error) { 1244 return _MasternodeRegistryV2.contract.Transact(opts, "onCollateralUpdate", owner) 1245 } 1246 1247 // OnCollateralUpdate is a paid mutator transaction binding the contract method 0xcdc7d4ad. 1248 // 1249 // Solidity: function onCollateralUpdate(address owner) returns() 1250 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) OnCollateralUpdate(owner common.Address) (*types.Transaction, error) { 1251 return _MasternodeRegistryV2.Contract.OnCollateralUpdate(&_MasternodeRegistryV2.TransactOpts, owner) 1252 } 1253 1254 // OnCollateralUpdate is a paid mutator transaction binding the contract method 0xcdc7d4ad. 1255 // 1256 // Solidity: function onCollateralUpdate(address owner) returns() 1257 func (_MasternodeRegistryV2 *MasternodeRegistryV2TransactorSession) OnCollateralUpdate(owner common.Address) (*types.Transaction, error) { 1258 return _MasternodeRegistryV2.Contract.OnCollateralUpdate(&_MasternodeRegistryV2.TransactOpts, owner) 1259 } 1260 1261 // Reward is a paid mutator transaction binding the contract method 0x228cb733. 1262 // 1263 // Solidity: function reward() returns() 1264 func (_MasternodeRegistryV2 *MasternodeRegistryV2Transactor) Reward(opts *bind.TransactOpts) (*types.Transaction, error) { 1265 return _MasternodeRegistryV2.contract.Transact(opts, "reward") 1266 } 1267 1268 // Reward is a paid mutator transaction binding the contract method 0x228cb733. 1269 // 1270 // Solidity: function reward() returns() 1271 func (_MasternodeRegistryV2 *MasternodeRegistryV2Session) Reward() (*types.Transaction, error) { 1272 return _MasternodeRegistryV2.Contract.Reward(&_MasternodeRegistryV2.TransactOpts) 1273 } 1274 1275 // Reward is a paid mutator transaction binding the contract method 0x228cb733. 1276 // 1277 // Solidity: function reward() returns() 1278 func (_MasternodeRegistryV2 *MasternodeRegistryV2TransactorSession) Reward() (*types.Transaction, error) { 1279 return _MasternodeRegistryV2.Contract.Reward(&_MasternodeRegistryV2.TransactOpts) 1280 } 1281 1282 // MasternodeRegistryV2AnnouncedIterator is returned from FilterAnnounced and is used to iterate over the raw logs and unpacked data for Announced events raised by the MasternodeRegistryV2 contract. 1283 type MasternodeRegistryV2AnnouncedIterator struct { 1284 Event *MasternodeRegistryV2Announced // Event containing the contract specifics and raw log 1285 1286 contract *bind.BoundContract // Generic contract to use for unpacking event data 1287 event string // Event name to use for unpacking event data 1288 1289 logs chan types.Log // Log channel receiving the found contract events 1290 sub ethereum.Subscription // Subscription for errors, completion and termination 1291 done bool // Whether the subscription completed delivering logs 1292 fail error // Occurred error to stop iteration 1293 } 1294 1295 // Next advances the iterator to the subsequent event, returning whether there 1296 // are any more events found. In case of a retrieval or parsing error, false is 1297 // returned and Error() can be queried for the exact failure. 1298 func (it *MasternodeRegistryV2AnnouncedIterator) Next() bool { 1299 // If the iterator failed, stop iterating 1300 if it.fail != nil { 1301 return false 1302 } 1303 // If the iterator completed, deliver directly whatever's available 1304 if it.done { 1305 select { 1306 case log := <-it.logs: 1307 it.Event = new(MasternodeRegistryV2Announced) 1308 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1309 it.fail = err 1310 return false 1311 } 1312 it.Event.Raw = log 1313 return true 1314 1315 default: 1316 return false 1317 } 1318 } 1319 // Iterator still in progress, wait for either a data or an error event 1320 select { 1321 case log := <-it.logs: 1322 it.Event = new(MasternodeRegistryV2Announced) 1323 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1324 it.fail = err 1325 return false 1326 } 1327 it.Event.Raw = log 1328 return true 1329 1330 case err := <-it.sub.Err(): 1331 it.done = true 1332 it.fail = err 1333 return it.Next() 1334 } 1335 } 1336 1337 // Error returns any retrieval or parsing error occurred during filtering. 1338 func (it *MasternodeRegistryV2AnnouncedIterator) Error() error { 1339 return it.fail 1340 } 1341 1342 // Close terminates the iteration process, releasing any pending underlying 1343 // resources. 1344 func (it *MasternodeRegistryV2AnnouncedIterator) Close() error { 1345 it.sub.Unsubscribe() 1346 return nil 1347 } 1348 1349 // MasternodeRegistryV2Announced represents a Announced event raised by the MasternodeRegistryV2 contract. 1350 type MasternodeRegistryV2Announced struct { 1351 Masternode common.Address 1352 Owner common.Address 1353 Ipv4address uint32 1354 Enode [2][32]byte 1355 Collateral *big.Int 1356 Raw types.Log // Blockchain specific contextual infos 1357 } 1358 1359 // FilterAnnounced is a free log retrieval operation binding the contract event 0x935a2f33570c4840d82856d75f5d0aafca32c5e6b31db5627552304a7dc82c09. 1360 // 1361 // Solidity: event Announced(address indexed masternode, address indexed owner, uint32 ipv4address, bytes32[2] enode, uint256 collateral) 1362 func (_MasternodeRegistryV2 *MasternodeRegistryV2Filterer) FilterAnnounced(opts *bind.FilterOpts, masternode []common.Address, owner []common.Address) (*MasternodeRegistryV2AnnouncedIterator, error) { 1363 1364 var masternodeRule []interface{} 1365 for _, masternodeItem := range masternode { 1366 masternodeRule = append(masternodeRule, masternodeItem) 1367 } 1368 var ownerRule []interface{} 1369 for _, ownerItem := range owner { 1370 ownerRule = append(ownerRule, ownerItem) 1371 } 1372 1373 logs, sub, err := _MasternodeRegistryV2.contract.FilterLogs(opts, "Announced", masternodeRule, ownerRule) 1374 if err != nil { 1375 return nil, err 1376 } 1377 return &MasternodeRegistryV2AnnouncedIterator{contract: _MasternodeRegistryV2.contract, event: "Announced", logs: logs, sub: sub}, nil 1378 } 1379 1380 // WatchAnnounced is a free log subscription operation binding the contract event 0x935a2f33570c4840d82856d75f5d0aafca32c5e6b31db5627552304a7dc82c09. 1381 // 1382 // Solidity: event Announced(address indexed masternode, address indexed owner, uint32 ipv4address, bytes32[2] enode, uint256 collateral) 1383 func (_MasternodeRegistryV2 *MasternodeRegistryV2Filterer) WatchAnnounced(opts *bind.WatchOpts, sink chan<- *MasternodeRegistryV2Announced, masternode []common.Address, owner []common.Address) (event.Subscription, error) { 1384 1385 var masternodeRule []interface{} 1386 for _, masternodeItem := range masternode { 1387 masternodeRule = append(masternodeRule, masternodeItem) 1388 } 1389 var ownerRule []interface{} 1390 for _, ownerItem := range owner { 1391 ownerRule = append(ownerRule, ownerItem) 1392 } 1393 1394 logs, sub, err := _MasternodeRegistryV2.contract.WatchLogs(opts, "Announced", masternodeRule, ownerRule) 1395 if err != nil { 1396 return nil, err 1397 } 1398 return event.NewSubscription(func(quit <-chan struct{}) error { 1399 defer sub.Unsubscribe() 1400 for { 1401 select { 1402 case log := <-logs: 1403 // New log arrived, parse the event and forward to the user 1404 event := new(MasternodeRegistryV2Announced) 1405 if err := _MasternodeRegistryV2.contract.UnpackLog(event, "Announced", log); err != nil { 1406 return err 1407 } 1408 event.Raw = log 1409 1410 select { 1411 case sink <- event: 1412 case err := <-sub.Err(): 1413 return err 1414 case <-quit: 1415 return nil 1416 } 1417 case err := <-sub.Err(): 1418 return err 1419 case <-quit: 1420 return nil 1421 } 1422 } 1423 }), nil 1424 } 1425 1426 // MasternodeRegistryV2DeactivatedIterator is returned from FilterDeactivated and is used to iterate over the raw logs and unpacked data for Deactivated events raised by the MasternodeRegistryV2 contract. 1427 type MasternodeRegistryV2DeactivatedIterator struct { 1428 Event *MasternodeRegistryV2Deactivated // Event containing the contract specifics and raw log 1429 1430 contract *bind.BoundContract // Generic contract to use for unpacking event data 1431 event string // Event name to use for unpacking event data 1432 1433 logs chan types.Log // Log channel receiving the found contract events 1434 sub ethereum.Subscription // Subscription for errors, completion and termination 1435 done bool // Whether the subscription completed delivering logs 1436 fail error // Occurred error to stop iteration 1437 } 1438 1439 // Next advances the iterator to the subsequent event, returning whether there 1440 // are any more events found. In case of a retrieval or parsing error, false is 1441 // returned and Error() can be queried for the exact failure. 1442 func (it *MasternodeRegistryV2DeactivatedIterator) Next() bool { 1443 // If the iterator failed, stop iterating 1444 if it.fail != nil { 1445 return false 1446 } 1447 // If the iterator completed, deliver directly whatever's available 1448 if it.done { 1449 select { 1450 case log := <-it.logs: 1451 it.Event = new(MasternodeRegistryV2Deactivated) 1452 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1453 it.fail = err 1454 return false 1455 } 1456 it.Event.Raw = log 1457 return true 1458 1459 default: 1460 return false 1461 } 1462 } 1463 // Iterator still in progress, wait for either a data or an error event 1464 select { 1465 case log := <-it.logs: 1466 it.Event = new(MasternodeRegistryV2Deactivated) 1467 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1468 it.fail = err 1469 return false 1470 } 1471 it.Event.Raw = log 1472 return true 1473 1474 case err := <-it.sub.Err(): 1475 it.done = true 1476 it.fail = err 1477 return it.Next() 1478 } 1479 } 1480 1481 // Error returns any retrieval or parsing error occurred during filtering. 1482 func (it *MasternodeRegistryV2DeactivatedIterator) Error() error { 1483 return it.fail 1484 } 1485 1486 // Close terminates the iteration process, releasing any pending underlying 1487 // resources. 1488 func (it *MasternodeRegistryV2DeactivatedIterator) Close() error { 1489 it.sub.Unsubscribe() 1490 return nil 1491 } 1492 1493 // MasternodeRegistryV2Deactivated represents a Deactivated event raised by the MasternodeRegistryV2 contract. 1494 type MasternodeRegistryV2Deactivated struct { 1495 Masternode common.Address 1496 Raw types.Log // Blockchain specific contextual infos 1497 } 1498 1499 // FilterDeactivated is a free log retrieval operation binding the contract event 0x749cb6b4c510bc468cf6b9c2086d6f0a54d6b18e25d37bf3200e68eab0880c00. 1500 // 1501 // Solidity: event Deactivated(address indexed masternode) 1502 func (_MasternodeRegistryV2 *MasternodeRegistryV2Filterer) FilterDeactivated(opts *bind.FilterOpts, masternode []common.Address) (*MasternodeRegistryV2DeactivatedIterator, error) { 1503 1504 var masternodeRule []interface{} 1505 for _, masternodeItem := range masternode { 1506 masternodeRule = append(masternodeRule, masternodeItem) 1507 } 1508 1509 logs, sub, err := _MasternodeRegistryV2.contract.FilterLogs(opts, "Deactivated", masternodeRule) 1510 if err != nil { 1511 return nil, err 1512 } 1513 return &MasternodeRegistryV2DeactivatedIterator{contract: _MasternodeRegistryV2.contract, event: "Deactivated", logs: logs, sub: sub}, nil 1514 } 1515 1516 // WatchDeactivated is a free log subscription operation binding the contract event 0x749cb6b4c510bc468cf6b9c2086d6f0a54d6b18e25d37bf3200e68eab0880c00. 1517 // 1518 // Solidity: event Deactivated(address indexed masternode) 1519 func (_MasternodeRegistryV2 *MasternodeRegistryV2Filterer) WatchDeactivated(opts *bind.WatchOpts, sink chan<- *MasternodeRegistryV2Deactivated, masternode []common.Address) (event.Subscription, error) { 1520 1521 var masternodeRule []interface{} 1522 for _, masternodeItem := range masternode { 1523 masternodeRule = append(masternodeRule, masternodeItem) 1524 } 1525 1526 logs, sub, err := _MasternodeRegistryV2.contract.WatchLogs(opts, "Deactivated", masternodeRule) 1527 if err != nil { 1528 return nil, err 1529 } 1530 return event.NewSubscription(func(quit <-chan struct{}) error { 1531 defer sub.Unsubscribe() 1532 for { 1533 select { 1534 case log := <-logs: 1535 // New log arrived, parse the event and forward to the user 1536 event := new(MasternodeRegistryV2Deactivated) 1537 if err := _MasternodeRegistryV2.contract.UnpackLog(event, "Deactivated", log); err != nil { 1538 return err 1539 } 1540 event.Raw = log 1541 1542 select { 1543 case sink <- event: 1544 case err := <-sub.Err(): 1545 return err 1546 case <-quit: 1547 return nil 1548 } 1549 case err := <-sub.Err(): 1550 return err 1551 case <-quit: 1552 return nil 1553 } 1554 } 1555 }), nil 1556 } 1557 1558 // MasternodeRegistryV2DenouncedIterator is returned from FilterDenounced and is used to iterate over the raw logs and unpacked data for Denounced events raised by the MasternodeRegistryV2 contract. 1559 type MasternodeRegistryV2DenouncedIterator struct { 1560 Event *MasternodeRegistryV2Denounced // Event containing the contract specifics and raw log 1561 1562 contract *bind.BoundContract // Generic contract to use for unpacking event data 1563 event string // Event name to use for unpacking event data 1564 1565 logs chan types.Log // Log channel receiving the found contract events 1566 sub ethereum.Subscription // Subscription for errors, completion and termination 1567 done bool // Whether the subscription completed delivering logs 1568 fail error // Occurred error to stop iteration 1569 } 1570 1571 // Next advances the iterator to the subsequent event, returning whether there 1572 // are any more events found. In case of a retrieval or parsing error, false is 1573 // returned and Error() can be queried for the exact failure. 1574 func (it *MasternodeRegistryV2DenouncedIterator) Next() bool { 1575 // If the iterator failed, stop iterating 1576 if it.fail != nil { 1577 return false 1578 } 1579 // If the iterator completed, deliver directly whatever's available 1580 if it.done { 1581 select { 1582 case log := <-it.logs: 1583 it.Event = new(MasternodeRegistryV2Denounced) 1584 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1585 it.fail = err 1586 return false 1587 } 1588 it.Event.Raw = log 1589 return true 1590 1591 default: 1592 return false 1593 } 1594 } 1595 // Iterator still in progress, wait for either a data or an error event 1596 select { 1597 case log := <-it.logs: 1598 it.Event = new(MasternodeRegistryV2Denounced) 1599 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1600 it.fail = err 1601 return false 1602 } 1603 it.Event.Raw = log 1604 return true 1605 1606 case err := <-it.sub.Err(): 1607 it.done = true 1608 it.fail = err 1609 return it.Next() 1610 } 1611 } 1612 1613 // Error returns any retrieval or parsing error occurred during filtering. 1614 func (it *MasternodeRegistryV2DenouncedIterator) Error() error { 1615 return it.fail 1616 } 1617 1618 // Close terminates the iteration process, releasing any pending underlying 1619 // resources. 1620 func (it *MasternodeRegistryV2DenouncedIterator) Close() error { 1621 it.sub.Unsubscribe() 1622 return nil 1623 } 1624 1625 // MasternodeRegistryV2Denounced represents a Denounced event raised by the MasternodeRegistryV2 contract. 1626 type MasternodeRegistryV2Denounced struct { 1627 Masternode common.Address 1628 Owner common.Address 1629 Raw types.Log // Blockchain specific contextual infos 1630 } 1631 1632 // FilterDenounced is a free log retrieval operation binding the contract event 0x55faf8e51ab442f8d8510476317b2e313144c3db60adc284affef64140fe8552. 1633 // 1634 // Solidity: event Denounced(address indexed masternode, address indexed owner) 1635 func (_MasternodeRegistryV2 *MasternodeRegistryV2Filterer) FilterDenounced(opts *bind.FilterOpts, masternode []common.Address, owner []common.Address) (*MasternodeRegistryV2DenouncedIterator, error) { 1636 1637 var masternodeRule []interface{} 1638 for _, masternodeItem := range masternode { 1639 masternodeRule = append(masternodeRule, masternodeItem) 1640 } 1641 var ownerRule []interface{} 1642 for _, ownerItem := range owner { 1643 ownerRule = append(ownerRule, ownerItem) 1644 } 1645 1646 logs, sub, err := _MasternodeRegistryV2.contract.FilterLogs(opts, "Denounced", masternodeRule, ownerRule) 1647 if err != nil { 1648 return nil, err 1649 } 1650 return &MasternodeRegistryV2DenouncedIterator{contract: _MasternodeRegistryV2.contract, event: "Denounced", logs: logs, sub: sub}, nil 1651 } 1652 1653 // WatchDenounced is a free log subscription operation binding the contract event 0x55faf8e51ab442f8d8510476317b2e313144c3db60adc284affef64140fe8552. 1654 // 1655 // Solidity: event Denounced(address indexed masternode, address indexed owner) 1656 func (_MasternodeRegistryV2 *MasternodeRegistryV2Filterer) WatchDenounced(opts *bind.WatchOpts, sink chan<- *MasternodeRegistryV2Denounced, masternode []common.Address, owner []common.Address) (event.Subscription, error) { 1657 1658 var masternodeRule []interface{} 1659 for _, masternodeItem := range masternode { 1660 masternodeRule = append(masternodeRule, masternodeItem) 1661 } 1662 var ownerRule []interface{} 1663 for _, ownerItem := range owner { 1664 ownerRule = append(ownerRule, ownerItem) 1665 } 1666 1667 logs, sub, err := _MasternodeRegistryV2.contract.WatchLogs(opts, "Denounced", masternodeRule, ownerRule) 1668 if err != nil { 1669 return nil, err 1670 } 1671 return event.NewSubscription(func(quit <-chan struct{}) error { 1672 defer sub.Unsubscribe() 1673 for { 1674 select { 1675 case log := <-logs: 1676 // New log arrived, parse the event and forward to the user 1677 event := new(MasternodeRegistryV2Denounced) 1678 if err := _MasternodeRegistryV2.contract.UnpackLog(event, "Denounced", log); err != nil { 1679 return err 1680 } 1681 event.Raw = log 1682 1683 select { 1684 case sink <- event: 1685 case err := <-sub.Err(): 1686 return err 1687 case <-quit: 1688 return nil 1689 } 1690 case err := <-sub.Err(): 1691 return err 1692 case <-quit: 1693 return nil 1694 } 1695 } 1696 }), nil 1697 } 1698 1699 // MasternodeRegistryV2InvalidationIterator is returned from FilterInvalidation and is used to iterate over the raw logs and unpacked data for Invalidation events raised by the MasternodeRegistryV2 contract. 1700 type MasternodeRegistryV2InvalidationIterator struct { 1701 Event *MasternodeRegistryV2Invalidation // Event containing the contract specifics and raw log 1702 1703 contract *bind.BoundContract // Generic contract to use for unpacking event data 1704 event string // Event name to use for unpacking event data 1705 1706 logs chan types.Log // Log channel receiving the found contract events 1707 sub ethereum.Subscription // Subscription for errors, completion and termination 1708 done bool // Whether the subscription completed delivering logs 1709 fail error // Occurred error to stop iteration 1710 } 1711 1712 // Next advances the iterator to the subsequent event, returning whether there 1713 // are any more events found. In case of a retrieval or parsing error, false is 1714 // returned and Error() can be queried for the exact failure. 1715 func (it *MasternodeRegistryV2InvalidationIterator) Next() bool { 1716 // If the iterator failed, stop iterating 1717 if it.fail != nil { 1718 return false 1719 } 1720 // If the iterator completed, deliver directly whatever's available 1721 if it.done { 1722 select { 1723 case log := <-it.logs: 1724 it.Event = new(MasternodeRegistryV2Invalidation) 1725 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1726 it.fail = err 1727 return false 1728 } 1729 it.Event.Raw = log 1730 return true 1731 1732 default: 1733 return false 1734 } 1735 } 1736 // Iterator still in progress, wait for either a data or an error event 1737 select { 1738 case log := <-it.logs: 1739 it.Event = new(MasternodeRegistryV2Invalidation) 1740 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1741 it.fail = err 1742 return false 1743 } 1744 it.Event.Raw = log 1745 return true 1746 1747 case err := <-it.sub.Err(): 1748 it.done = true 1749 it.fail = err 1750 return it.Next() 1751 } 1752 } 1753 1754 // Error returns any retrieval or parsing error occurred during filtering. 1755 func (it *MasternodeRegistryV2InvalidationIterator) Error() error { 1756 return it.fail 1757 } 1758 1759 // Close terminates the iteration process, releasing any pending underlying 1760 // resources. 1761 func (it *MasternodeRegistryV2InvalidationIterator) Close() error { 1762 it.sub.Unsubscribe() 1763 return nil 1764 } 1765 1766 // MasternodeRegistryV2Invalidation represents a Invalidation event raised by the MasternodeRegistryV2 contract. 1767 type MasternodeRegistryV2Invalidation struct { 1768 Masternode common.Address 1769 Validator common.Address 1770 Raw types.Log // Blockchain specific contextual infos 1771 } 1772 1773 // FilterInvalidation is a free log retrieval operation binding the contract event 0x389d58799d7eca76264c556a007ffbc7c60caa4e3c8ea0564e791af3a1b9d331. 1774 // 1775 // Solidity: event Invalidation(address indexed masternode, address indexed validator) 1776 func (_MasternodeRegistryV2 *MasternodeRegistryV2Filterer) FilterInvalidation(opts *bind.FilterOpts, masternode []common.Address, validator []common.Address) (*MasternodeRegistryV2InvalidationIterator, error) { 1777 1778 var masternodeRule []interface{} 1779 for _, masternodeItem := range masternode { 1780 masternodeRule = append(masternodeRule, masternodeItem) 1781 } 1782 var validatorRule []interface{} 1783 for _, validatorItem := range validator { 1784 validatorRule = append(validatorRule, validatorItem) 1785 } 1786 1787 logs, sub, err := _MasternodeRegistryV2.contract.FilterLogs(opts, "Invalidation", masternodeRule, validatorRule) 1788 if err != nil { 1789 return nil, err 1790 } 1791 return &MasternodeRegistryV2InvalidationIterator{contract: _MasternodeRegistryV2.contract, event: "Invalidation", logs: logs, sub: sub}, nil 1792 } 1793 1794 // WatchInvalidation is a free log subscription operation binding the contract event 0x389d58799d7eca76264c556a007ffbc7c60caa4e3c8ea0564e791af3a1b9d331. 1795 // 1796 // Solidity: event Invalidation(address indexed masternode, address indexed validator) 1797 func (_MasternodeRegistryV2 *MasternodeRegistryV2Filterer) WatchInvalidation(opts *bind.WatchOpts, sink chan<- *MasternodeRegistryV2Invalidation, masternode []common.Address, validator []common.Address) (event.Subscription, error) { 1798 1799 var masternodeRule []interface{} 1800 for _, masternodeItem := range masternode { 1801 masternodeRule = append(masternodeRule, masternodeItem) 1802 } 1803 var validatorRule []interface{} 1804 for _, validatorItem := range validator { 1805 validatorRule = append(validatorRule, validatorItem) 1806 } 1807 1808 logs, sub, err := _MasternodeRegistryV2.contract.WatchLogs(opts, "Invalidation", masternodeRule, validatorRule) 1809 if err != nil { 1810 return nil, err 1811 } 1812 return event.NewSubscription(func(quit <-chan struct{}) error { 1813 defer sub.Unsubscribe() 1814 for { 1815 select { 1816 case log := <-logs: 1817 // New log arrived, parse the event and forward to the user 1818 event := new(MasternodeRegistryV2Invalidation) 1819 if err := _MasternodeRegistryV2.contract.UnpackLog(event, "Invalidation", log); err != nil { 1820 return err 1821 } 1822 event.Raw = log 1823 1824 select { 1825 case sink <- event: 1826 case err := <-sub.Err(): 1827 return err 1828 case <-quit: 1829 return nil 1830 } 1831 case err := <-sub.Err(): 1832 return err 1833 case <-quit: 1834 return nil 1835 } 1836 } 1837 }), nil 1838 }