// Code generated - DO NOT EDIT. // This file is a generated binding and any manual changes will be lost. package permission import ( "math/big" "strings" ethereum "github.com/ethereum/go-ethereum" "github.com/ethereum/go-ethereum/accounts/abi" "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/event" ) // Reference imports to suppress errors if they are not otherwise used. var ( _ = big.NewInt _ = strings.NewReader _ = ethereum.NotFound _ = abi.U256 _ = bind.Bind _ = common.Big1 _ = types.BloomLookup _ = event.NewSubscription ) // NodeManagerABI is the input ABI used to generate the binding from. const NodeManagerABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"}],\"name\":\"updateNodeStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"enodeId\",\"type\":\"string\"}],\"name\":\"getNodeDetails\",\"outputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_nodeStatus\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"addOrgNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"approveNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_nodeIndex\",\"type\":\"uint256\"}],\"name\":\"getNodeDetailsFromIndex\",\"outputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_nodeStatus\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"addNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNumberOfNodes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"addAdminNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_permUpgradable\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_enodeId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"NodeProposed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_enodeId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"NodeApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_enodeId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"NodeDeactivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_enodeId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"NodeActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_enodeId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"NodeBlacklisted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_enodeId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"NodeRecoveryInitiated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_enodeId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"NodeRecoveryCompleted\",\"type\":\"event\"}]" // NodeManagerBin is the compiled bytecode used for deploying new contracts. const NodeManagerBin = `608060405234801561001057600080fd5b506040516020806131c18339810180604052602081101561003057600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050613130806100916000396000f3fe608060405234801561001057600080fd5b50600436106100a5576000357c01000000000000000000000000000000000000000000000000000000009004806397c07a9b1161007857806397c07a9b14610483578063a97a44061461059d578063b81c806a1461066b578063e3b09d8414610689576100a5565b80630cc50146146100aa5780633f0e0e47146101825780633f5e1a45146102e757806386bc3652146103b5575b600080fd5b610180600480360360608110156100c057600080fd5b81019080803590602001906401000000008111156100dd57600080fd5b8201836020820111156100ef57600080fd5b8035906020019184600183028401116401000000008311171561011157600080fd5b90919293919293908035906020019064010000000081111561013257600080fd5b82018360208201111561014457600080fd5b8035906020019184600183028401116401000000008311171561016657600080fd5b909192939192939080359060200190929190505050610757565b005b6101f96004803603602081101561019857600080fd5b81019080803590602001906401000000008111156101b557600080fd5b8201836020820111156101c757600080fd5b803590602001918460018302840111640100000000831117156101e957600080fd5b9091929391929390505050611404565b604051808060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015610243578082015181840152602081019050610228565b50505050905090810190601f1680156102705780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156102a957808201518184015260208101905061028e565b50505050905090810190601f1680156102d65780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b6103b3600480360360408110156102fd57600080fd5b810190808035906020019064010000000081111561031a57600080fd5b82018360208201111561032c57600080fd5b8035906020019184600183028401116401000000008311171561034e57600080fd5b90919293919293908035906020019064010000000081111561036f57600080fd5b82018360208201111561038157600080fd5b803590602001918460018302840111640100000000831117156103a357600080fd5b9091929391929390505050611600565b005b610481600480360360408110156103cb57600080fd5b81019080803590602001906401000000008111156103e857600080fd5b8201836020820111156103fa57600080fd5b8035906020019184600183028401116401000000008311171561041c57600080fd5b90919293919293908035906020019064010000000081111561043d57600080fd5b82018360208201111561044f57600080fd5b8035906020019184600183028401116401000000008311171561047157600080fd5b9091929391929390505050611af0565b005b6104af6004803603602081101561049957600080fd5b8101908080359060200190929190505050612159565b604051808060200180602001848152602001838103835286818151815260200191508051906020019080838360005b838110156104f95780820151818401526020810190506104de565b50505050905090810190601f1680156105265780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101561055f578082015181840152602081019050610544565b50505050905090810190601f16801561058c5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b610669600480360360408110156105b357600080fd5b81019080803590602001906401000000008111156105d057600080fd5b8201836020820111156105e257600080fd5b8035906020019184600183028401116401000000008311171561060457600080fd5b90919293919293908035906020019064010000000081111561062557600080fd5b82018360208201111561063757600080fd5b8035906020019184600183028401116401000000008311171561065957600080fd5b9091929391929390505050612304565b005b6106736127f4565b6040518082815260200191505060405180910390f35b6107556004803603604081101561069f57600080fd5b81019080803590602001906401000000008111156106bc57600080fd5b8201836020820111156106ce57600080fd5b803590602001918460018302840111640100000000831117156106f057600080fd5b90919293919293908035906020019064010000000081111561071157600080fd5b82018360208201111561072357600080fd5b8035906020019184600183028401116401000000008311171561074557600080fd5b90919293919293905050506127fe565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156107da57600080fd5b505afa1580156107ee573d6000803e3d6000fd5b505050506040513d602081101561080457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561094657808201518184015260208101905061092b565b50505050905090810190601f1680156109735780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012081526020019081526020016000205414151515610a13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f70617373656420656e6f646520696420646f6573206e6f74206578697374000081525060200191505060405180910390fd5b610aa586868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612cee565b1515610afc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613088602a913960400191505060405180910390fd5b6001821480610b0b5750600282145b80610b165750600382145b80610b215750600482145b80610b2c5750600582145b1515610b83576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806130b26026913960400191505060405180910390fd5b6001821415610d5e576002610bdb87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612e55565b141515610c50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b60036001610ca188888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f37565b815481101515610cad57fe5b9060005260206000209060030201600201819055507fc6c3720fe673e87bb26e06be713d514278aa94c3939cfe7c64b9bea4d486824a868686866040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a16113fc565b6002821415610f39576003610db687878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612e55565b141515610e2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b60026001610e7c88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f37565b815481101515610e8857fe5b9060005260206000209060030201600201819055507f49796be3ca168a59c8ae46c75a36a9bb3a84753d3e12a812f93ae010e783b14f868686866040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a16113fb565b60038214156110505760046001610f9388888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f37565b815481101515610f9f57fe5b9060005260206000209060030201600201819055507f4714623279994517c446c8fb72c3fdaca26434da1e2490d3976fe0cd880cfa7a868686866040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a16113fa565b600482141561122b5760046110a887878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612e55565b14151561111d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b6005600161116e88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f37565b81548110151561117a57fe5b9060005260206000209060030201600201819055507ffd385c618a1e89d01fb9a21780846793e282e8bc0b60caf6ccb3e422d543fbfb868686866040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a16113f9565b600561127a87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612e55565b1415156112ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b6002600161134088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f37565b81548110151561134c57fe5b9060005260206000209060030201600201819055507f787d7bc525e7c4658c64e3e456d974a1be21cc196e8162a4bf1337a12cb38dac868686866040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15b5b5b5b505050505050565b60608060008061145786868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f37565b905060018181548110151561146857fe5b906000526020600020906003020160010160018281548110151561148857fe5b90600052602060002090600302016000016001838154811015156114a857fe5b906000526020600020906003020160020154828054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561154f5780601f106115245761010080835404028352916020019161154f565b820191906000526020600020905b81548152906001019060200180831161153257829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115eb5780601f106115c0576101008083540402835291602001916115eb565b820191906000526020600020905b8154815290600101906020018083116115ce57829003601f168201915b50505050509150935093509350509250925092565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561168357600080fd5b505afa158015611697573d6000803e3d6000fd5b505050506040513d60208110156116ad57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611760576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156117ef5780820151818401526020810190506117d4565b50505050905090810190601f16801561181c5780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001208152602001908152602001600020541415156118bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f70617373656420656e6f6465206964206578697374730000000000000000000081525060200191505060405180910390fd5b60036000815480929190600101919050555060035460026000878760405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002081905550600160606040519081016040528087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081526020016002815250908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000019080519060200190611a27929190612fe2565b506020820151816001019080519060200190611a44929190612fe2565b50604082015181600201555050507f0413ce00d5de406d9939003416263a7530eaeb13f9d281c8baeba1601def960d858585856040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611b7357600080fd5b505afa158015611b87573d6000803e3d6000fd5b505050506040513d6020811015611b9d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611cdf578082015181840152602081019050611cc4565b50505050905090810190601f168015611d0c5780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012081526020019081526020016000205414151515611dac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f70617373656420656e6f646520696420646f6573206e6f74206578697374000081525060200191505060405180910390fd5b611e3e85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612cee565b1515611e95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001806130d8602d913960400191505060405180910390fd5b6001611ee486868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612e55565b141515611f59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f6e6f7468696e672070656e64696e6720666f7220617070726f76616c0000000081525060200191505060405180910390fd5b6000611fa886868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f37565b90506002600182815481101515611fbb57fe5b9060005260206000209060030201600201819055507f0413ce00d5de406d9939003416263a7530eaeb13f9d281c8baeba1601def960d60018281548110151561200057fe5b906000526020600020906003020160000160018381548110151561202057fe5b90600052602060002090600302016001016040518080602001806020018381038352858181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156120be5780601f10612093576101008083540402835291602001916120be565b820191906000526020600020905b8154815290600101906020018083116120a157829003601f168201915b50508381038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156121415780601f1061211657610100808354040283529160200191612141565b820191906000526020600020905b81548152906001019060200180831161212457829003601f168201915b505094505050505060405180910390a1505050505050565b606080600060018481548110151561216d57fe5b906000526020600020906003020160010160018581548110151561218d57fe5b90600052602060002090600302016000016001868154811015156121ad57fe5b906000526020600020906003020160020154828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156122545780601f1061222957610100808354040283529160200191612254565b820191906000526020600020905b81548152906001019060200180831161223757829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156122f05780601f106122c5576101008083540402835291602001916122f0565b820191906000526020600020905b8154815290600101906020018083116122d357829003601f168201915b505050505091509250925092509193909250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561238757600080fd5b505afa15801561239b573d6000803e3d6000fd5b505050506040513d60208110156123b157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156124f35780820151818401526020810190506124d8565b50505050905090810190601f1680156125205780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001208152602001908152602001600020541415156125bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f70617373656420656e6f6465206964206578697374730000000000000000000081525060200191505060405180910390fd5b60036000815480929190600101919050555060035460026000878760405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002081905550600160606040519081016040528087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508152602001600181525090806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001908051906020019061272b929190612fe2565b506020820151816001019080519060200190612748929190612fe2565b50604082015181600201555050507fb1a7eec7dd1a516c3132d6d1f770758b19aa34c3a07c138caf662688b7e3556f858585856040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15050505050565b6000600354905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561288157600080fd5b505afa158015612895573d6000803e3d6000fd5b505050506040513d60208110156128ab57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561295e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156129ed5780820151818401526020810190506129d2565b50505050905090810190601f168015612a1a5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002054141515612ab9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f70617373656420656e6f6465206964206578697374730000000000000000000081525060200191505060405180910390fd5b60036000815480929190600101919050555060035460026000878760405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002081905550600160606040519081016040528087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081526020016002815250908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000019080519060200190612c25929190612fe2565b506020820151816001019080519060200190612c42929190612fe2565b50604082015181600201555050507f0413ce00d5de406d9939003416263a7530eaeb13f9d281c8baeba1601def960d858585856040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15050505050565b6000816040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612d34578082015181840152602081019050612d19565b50505050905090810190601f168015612d615780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001206001612d8785612f37565b815481101515612d9357fe5b90600052602060002090600302016001016040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612e305780601f10612e0557610100808354040283529160200191612e30565b820191906000526020600020905b815481529060010190602001808311612e1357829003601f168201915b5050925050506040516020818303038152906040528051906020012014905092915050565b60008060026000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612ea0578082015181840152602081019050612e85565b50505050905090810190601f168015612ecd5780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001208152602001908152602001600020541415612f065760009050612f32565b6001612f1183612f37565b815481101515612f1d57fe5b90600052602060002090600302016002015490505b919050565b6000600160026000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612f83578082015181840152602081019050612f68565b50505050905090810190601f168015612fb05780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002054039050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061302357805160ff1916838001178555613051565b82800160010185558215613051579182015b82811115613050578251825591602001919060010190613035565b5b50905061305e9190613062565b5090565b61308491905b80821115613080576000816000905550600101613068565b5090565b9056fe656e6f646520696420646f6573206e6f742062656c6f6e6720746f2074686520706173736564206f7267696e76616c6964206f7065726174696f6e2e2077726f6e6720616374696f6e20706173736564656e6f646520696420646f6573206e6f742062656c6f6e6720746f2074686520706173736564206f7267206964a165627a7a7230582011179f2b111ff0fc199ae5bdfe206abf5283b1c344d947e24ad65df0e432745e0029` // DeployNodeManager deploys a new Ethereum contract, binding an instance of NodeManager to it. func DeployNodeManager(auth *bind.TransactOpts, backend bind.ContractBackend, _permUpgradable common.Address) (common.Address, *types.Transaction, *NodeManager, error) { parsed, err := abi.JSON(strings.NewReader(NodeManagerABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(NodeManagerBin), backend, _permUpgradable) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &NodeManager{NodeManagerCaller: NodeManagerCaller{contract: contract}, NodeManagerTransactor: NodeManagerTransactor{contract: contract}, NodeManagerFilterer: NodeManagerFilterer{contract: contract}}, nil } // NodeManager is an auto generated Go binding around an Ethereum contract. type NodeManager struct { NodeManagerCaller // Read-only binding to the contract NodeManagerTransactor // Write-only binding to the contract NodeManagerFilterer // Log filterer for contract events } // NodeManagerCaller is an auto generated read-only Go binding around an Ethereum contract. type NodeManagerCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // NodeManagerTransactor is an auto generated write-only Go binding around an Ethereum contract. type NodeManagerTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // NodeManagerFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type NodeManagerFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // NodeManagerSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type NodeManagerSession struct { Contract *NodeManager // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // NodeManagerCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type NodeManagerCallerSession struct { Contract *NodeManagerCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // NodeManagerTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type NodeManagerTransactorSession struct { Contract *NodeManagerTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // NodeManagerRaw is an auto generated low-level Go binding around an Ethereum contract. type NodeManagerRaw struct { Contract *NodeManager // Generic contract binding to access the raw methods on } // NodeManagerCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type NodeManagerCallerRaw struct { Contract *NodeManagerCaller // Generic read-only contract binding to access the raw methods on } // NodeManagerTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type NodeManagerTransactorRaw struct { Contract *NodeManagerTransactor // Generic write-only contract binding to access the raw methods on } // NewNodeManager creates a new instance of NodeManager, bound to a specific deployed contract. func NewNodeManager(address common.Address, backend bind.ContractBackend) (*NodeManager, error) { contract, err := bindNodeManager(address, backend, backend, backend) if err != nil { return nil, err } return &NodeManager{NodeManagerCaller: NodeManagerCaller{contract: contract}, NodeManagerTransactor: NodeManagerTransactor{contract: contract}, NodeManagerFilterer: NodeManagerFilterer{contract: contract}}, nil } // NewNodeManagerCaller creates a new read-only instance of NodeManager, bound to a specific deployed contract. func NewNodeManagerCaller(address common.Address, caller bind.ContractCaller) (*NodeManagerCaller, error) { contract, err := bindNodeManager(address, caller, nil, nil) if err != nil { return nil, err } return &NodeManagerCaller{contract: contract}, nil } // NewNodeManagerTransactor creates a new write-only instance of NodeManager, bound to a specific deployed contract. func NewNodeManagerTransactor(address common.Address, transactor bind.ContractTransactor) (*NodeManagerTransactor, error) { contract, err := bindNodeManager(address, nil, transactor, nil) if err != nil { return nil, err } return &NodeManagerTransactor{contract: contract}, nil } // NewNodeManagerFilterer creates a new log filterer instance of NodeManager, bound to a specific deployed contract. func NewNodeManagerFilterer(address common.Address, filterer bind.ContractFilterer) (*NodeManagerFilterer, error) { contract, err := bindNodeManager(address, nil, nil, filterer) if err != nil { return nil, err } return &NodeManagerFilterer{contract: contract}, nil } // bindNodeManager binds a generic wrapper to an already deployed contract. func bindNodeManager(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(NodeManagerABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_NodeManager *NodeManagerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _NodeManager.Contract.NodeManagerCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_NodeManager *NodeManagerRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _NodeManager.Contract.NodeManagerTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_NodeManager *NodeManagerRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _NodeManager.Contract.NodeManagerTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_NodeManager *NodeManagerCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _NodeManager.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_NodeManager *NodeManagerTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _NodeManager.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_NodeManager *NodeManagerTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _NodeManager.Contract.contract.Transact(opts, method, params...) } // GetNodeDetails is a free data retrieval call binding the contract method 0x3f0e0e47. // // Solidity: function getNodeDetails(enodeId string) constant returns(_orgId string, _enodeId string, _nodeStatus uint256) func (_NodeManager *NodeManagerCaller) GetNodeDetails(opts *bind.CallOpts, enodeId string) (struct { OrgId string EnodeId string NodeStatus *big.Int }, error) { ret := new(struct { OrgId string EnodeId string NodeStatus *big.Int }) out := ret err := _NodeManager.contract.Call(opts, out, "getNodeDetails", enodeId) return *ret, err } // GetNodeDetails is a free data retrieval call binding the contract method 0x3f0e0e47. // // Solidity: function getNodeDetails(enodeId string) constant returns(_orgId string, _enodeId string, _nodeStatus uint256) func (_NodeManager *NodeManagerSession) GetNodeDetails(enodeId string) (struct { OrgId string EnodeId string NodeStatus *big.Int }, error) { return _NodeManager.Contract.GetNodeDetails(&_NodeManager.CallOpts, enodeId) } // GetNodeDetails is a free data retrieval call binding the contract method 0x3f0e0e47. // // Solidity: function getNodeDetails(enodeId string) constant returns(_orgId string, _enodeId string, _nodeStatus uint256) func (_NodeManager *NodeManagerCallerSession) GetNodeDetails(enodeId string) (struct { OrgId string EnodeId string NodeStatus *big.Int }, error) { return _NodeManager.Contract.GetNodeDetails(&_NodeManager.CallOpts, enodeId) } // GetNodeDetailsFromIndex is a free data retrieval call binding the contract method 0x97c07a9b. // // Solidity: function getNodeDetailsFromIndex(_nodeIndex uint256) constant returns(_orgId string, _enodeId string, _nodeStatus uint256) func (_NodeManager *NodeManagerCaller) GetNodeDetailsFromIndex(opts *bind.CallOpts, _nodeIndex *big.Int) (struct { OrgId string EnodeId string NodeStatus *big.Int }, error) { ret := new(struct { OrgId string EnodeId string NodeStatus *big.Int }) out := ret err := _NodeManager.contract.Call(opts, out, "getNodeDetailsFromIndex", _nodeIndex) return *ret, err } // GetNodeDetailsFromIndex is a free data retrieval call binding the contract method 0x97c07a9b. // // Solidity: function getNodeDetailsFromIndex(_nodeIndex uint256) constant returns(_orgId string, _enodeId string, _nodeStatus uint256) func (_NodeManager *NodeManagerSession) GetNodeDetailsFromIndex(_nodeIndex *big.Int) (struct { OrgId string EnodeId string NodeStatus *big.Int }, error) { return _NodeManager.Contract.GetNodeDetailsFromIndex(&_NodeManager.CallOpts, _nodeIndex) } // GetNodeDetailsFromIndex is a free data retrieval call binding the contract method 0x97c07a9b. // // Solidity: function getNodeDetailsFromIndex(_nodeIndex uint256) constant returns(_orgId string, _enodeId string, _nodeStatus uint256) func (_NodeManager *NodeManagerCallerSession) GetNodeDetailsFromIndex(_nodeIndex *big.Int) (struct { OrgId string EnodeId string NodeStatus *big.Int }, error) { return _NodeManager.Contract.GetNodeDetailsFromIndex(&_NodeManager.CallOpts, _nodeIndex) } // GetNumberOfNodes is a free data retrieval call binding the contract method 0xb81c806a. // // Solidity: function getNumberOfNodes() constant returns(uint256) func (_NodeManager *NodeManagerCaller) GetNumberOfNodes(opts *bind.CallOpts) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _NodeManager.contract.Call(opts, out, "getNumberOfNodes") return *ret0, err } // GetNumberOfNodes is a free data retrieval call binding the contract method 0xb81c806a. // // Solidity: function getNumberOfNodes() constant returns(uint256) func (_NodeManager *NodeManagerSession) GetNumberOfNodes() (*big.Int, error) { return _NodeManager.Contract.GetNumberOfNodes(&_NodeManager.CallOpts) } // GetNumberOfNodes is a free data retrieval call binding the contract method 0xb81c806a. // // Solidity: function getNumberOfNodes() constant returns(uint256) func (_NodeManager *NodeManagerCallerSession) GetNumberOfNodes() (*big.Int, error) { return _NodeManager.Contract.GetNumberOfNodes(&_NodeManager.CallOpts) } // AddAdminNode is a paid mutator transaction binding the contract method 0xe3b09d84. // // Solidity: function addAdminNode(_enodeId string, _orgId string) returns() func (_NodeManager *NodeManagerTransactor) AddAdminNode(opts *bind.TransactOpts, _enodeId string, _orgId string) (*types.Transaction, error) { return _NodeManager.contract.Transact(opts, "addAdminNode", _enodeId, _orgId) } // AddAdminNode is a paid mutator transaction binding the contract method 0xe3b09d84. // // Solidity: function addAdminNode(_enodeId string, _orgId string) returns() func (_NodeManager *NodeManagerSession) AddAdminNode(_enodeId string, _orgId string) (*types.Transaction, error) { return _NodeManager.Contract.AddAdminNode(&_NodeManager.TransactOpts, _enodeId, _orgId) } // AddAdminNode is a paid mutator transaction binding the contract method 0xe3b09d84. // // Solidity: function addAdminNode(_enodeId string, _orgId string) returns() func (_NodeManager *NodeManagerTransactorSession) AddAdminNode(_enodeId string, _orgId string) (*types.Transaction, error) { return _NodeManager.Contract.AddAdminNode(&_NodeManager.TransactOpts, _enodeId, _orgId) } // AddNode is a paid mutator transaction binding the contract method 0xa97a4406. // // Solidity: function addNode(_enodeId string, _orgId string) returns() func (_NodeManager *NodeManagerTransactor) AddNode(opts *bind.TransactOpts, _enodeId string, _orgId string) (*types.Transaction, error) { return _NodeManager.contract.Transact(opts, "addNode", _enodeId, _orgId) } // AddNode is a paid mutator transaction binding the contract method 0xa97a4406. // // Solidity: function addNode(_enodeId string, _orgId string) returns() func (_NodeManager *NodeManagerSession) AddNode(_enodeId string, _orgId string) (*types.Transaction, error) { return _NodeManager.Contract.AddNode(&_NodeManager.TransactOpts, _enodeId, _orgId) } // AddNode is a paid mutator transaction binding the contract method 0xa97a4406. // // Solidity: function addNode(_enodeId string, _orgId string) returns() func (_NodeManager *NodeManagerTransactorSession) AddNode(_enodeId string, _orgId string) (*types.Transaction, error) { return _NodeManager.Contract.AddNode(&_NodeManager.TransactOpts, _enodeId, _orgId) } // AddOrgNode is a paid mutator transaction binding the contract method 0x3f5e1a45. // // Solidity: function addOrgNode(_enodeId string, _orgId string) returns() func (_NodeManager *NodeManagerTransactor) AddOrgNode(opts *bind.TransactOpts, _enodeId string, _orgId string) (*types.Transaction, error) { return _NodeManager.contract.Transact(opts, "addOrgNode", _enodeId, _orgId) } // AddOrgNode is a paid mutator transaction binding the contract method 0x3f5e1a45. // // Solidity: function addOrgNode(_enodeId string, _orgId string) returns() func (_NodeManager *NodeManagerSession) AddOrgNode(_enodeId string, _orgId string) (*types.Transaction, error) { return _NodeManager.Contract.AddOrgNode(&_NodeManager.TransactOpts, _enodeId, _orgId) } // AddOrgNode is a paid mutator transaction binding the contract method 0x3f5e1a45. // // Solidity: function addOrgNode(_enodeId string, _orgId string) returns() func (_NodeManager *NodeManagerTransactorSession) AddOrgNode(_enodeId string, _orgId string) (*types.Transaction, error) { return _NodeManager.Contract.AddOrgNode(&_NodeManager.TransactOpts, _enodeId, _orgId) } // ApproveNode is a paid mutator transaction binding the contract method 0x86bc3652. // // Solidity: function approveNode(_enodeId string, _orgId string) returns() func (_NodeManager *NodeManagerTransactor) ApproveNode(opts *bind.TransactOpts, _enodeId string, _orgId string) (*types.Transaction, error) { return _NodeManager.contract.Transact(opts, "approveNode", _enodeId, _orgId) } // ApproveNode is a paid mutator transaction binding the contract method 0x86bc3652. // // Solidity: function approveNode(_enodeId string, _orgId string) returns() func (_NodeManager *NodeManagerSession) ApproveNode(_enodeId string, _orgId string) (*types.Transaction, error) { return _NodeManager.Contract.ApproveNode(&_NodeManager.TransactOpts, _enodeId, _orgId) } // ApproveNode is a paid mutator transaction binding the contract method 0x86bc3652. // // Solidity: function approveNode(_enodeId string, _orgId string) returns() func (_NodeManager *NodeManagerTransactorSession) ApproveNode(_enodeId string, _orgId string) (*types.Transaction, error) { return _NodeManager.Contract.ApproveNode(&_NodeManager.TransactOpts, _enodeId, _orgId) } // UpdateNodeStatus is a paid mutator transaction binding the contract method 0x0cc50146. // // Solidity: function updateNodeStatus(_enodeId string, _orgId string, _action uint256) returns() func (_NodeManager *NodeManagerTransactor) UpdateNodeStatus(opts *bind.TransactOpts, _enodeId string, _orgId string, _action *big.Int) (*types.Transaction, error) { return _NodeManager.contract.Transact(opts, "updateNodeStatus", _enodeId, _orgId, _action) } // UpdateNodeStatus is a paid mutator transaction binding the contract method 0x0cc50146. // // Solidity: function updateNodeStatus(_enodeId string, _orgId string, _action uint256) returns() func (_NodeManager *NodeManagerSession) UpdateNodeStatus(_enodeId string, _orgId string, _action *big.Int) (*types.Transaction, error) { return _NodeManager.Contract.UpdateNodeStatus(&_NodeManager.TransactOpts, _enodeId, _orgId, _action) } // UpdateNodeStatus is a paid mutator transaction binding the contract method 0x0cc50146. // // Solidity: function updateNodeStatus(_enodeId string, _orgId string, _action uint256) returns() func (_NodeManager *NodeManagerTransactorSession) UpdateNodeStatus(_enodeId string, _orgId string, _action *big.Int) (*types.Transaction, error) { return _NodeManager.Contract.UpdateNodeStatus(&_NodeManager.TransactOpts, _enodeId, _orgId, _action) } // NodeManagerNodeActivatedIterator is returned from FilterNodeActivated and is used to iterate over the raw logs and unpacked data for NodeActivated events raised by the NodeManager contract. type NodeManagerNodeActivatedIterator struct { Event *NodeManagerNodeActivated // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *NodeManagerNodeActivatedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(NodeManagerNodeActivated) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(NodeManagerNodeActivated) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *NodeManagerNodeActivatedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *NodeManagerNodeActivatedIterator) Close() error { it.sub.Unsubscribe() return nil } // NodeManagerNodeActivated represents a NodeActivated event raised by the NodeManager contract. type NodeManagerNodeActivated struct { EnodeId string OrgId string Raw types.Log // Blockchain specific contextual infos } // FilterNodeActivated is a free log retrieval operation binding the contract event 0x49796be3ca168a59c8ae46c75a36a9bb3a84753d3e12a812f93ae010e783b14f. // // Solidity: e NodeActivated(_enodeId string, _orgId string) func (_NodeManager *NodeManagerFilterer) FilterNodeActivated(opts *bind.FilterOpts) (*NodeManagerNodeActivatedIterator, error) { logs, sub, err := _NodeManager.contract.FilterLogs(opts, "NodeActivated") if err != nil { return nil, err } return &NodeManagerNodeActivatedIterator{contract: _NodeManager.contract, event: "NodeActivated", logs: logs, sub: sub}, nil } // WatchNodeActivated is a free log subscription operation binding the contract event 0x49796be3ca168a59c8ae46c75a36a9bb3a84753d3e12a812f93ae010e783b14f. // // Solidity: e NodeActivated(_enodeId string, _orgId string) func (_NodeManager *NodeManagerFilterer) WatchNodeActivated(opts *bind.WatchOpts, sink chan<- *NodeManagerNodeActivated) (event.Subscription, error) { logs, sub, err := _NodeManager.contract.WatchLogs(opts, "NodeActivated") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(NodeManagerNodeActivated) if err := _NodeManager.contract.UnpackLog(event, "NodeActivated", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // NodeManagerNodeApprovedIterator is returned from FilterNodeApproved and is used to iterate over the raw logs and unpacked data for NodeApproved events raised by the NodeManager contract. type NodeManagerNodeApprovedIterator struct { Event *NodeManagerNodeApproved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *NodeManagerNodeApprovedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(NodeManagerNodeApproved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(NodeManagerNodeApproved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *NodeManagerNodeApprovedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *NodeManagerNodeApprovedIterator) Close() error { it.sub.Unsubscribe() return nil } // NodeManagerNodeApproved represents a NodeApproved event raised by the NodeManager contract. type NodeManagerNodeApproved struct { EnodeId string OrgId string Raw types.Log // Blockchain specific contextual infos } // FilterNodeApproved is a free log retrieval operation binding the contract event 0x0413ce00d5de406d9939003416263a7530eaeb13f9d281c8baeba1601def960d. // // Solidity: e NodeApproved(_enodeId string, _orgId string) func (_NodeManager *NodeManagerFilterer) FilterNodeApproved(opts *bind.FilterOpts) (*NodeManagerNodeApprovedIterator, error) { logs, sub, err := _NodeManager.contract.FilterLogs(opts, "NodeApproved") if err != nil { return nil, err } return &NodeManagerNodeApprovedIterator{contract: _NodeManager.contract, event: "NodeApproved", logs: logs, sub: sub}, nil } // WatchNodeApproved is a free log subscription operation binding the contract event 0x0413ce00d5de406d9939003416263a7530eaeb13f9d281c8baeba1601def960d. // // Solidity: e NodeApproved(_enodeId string, _orgId string) func (_NodeManager *NodeManagerFilterer) WatchNodeApproved(opts *bind.WatchOpts, sink chan<- *NodeManagerNodeApproved) (event.Subscription, error) { logs, sub, err := _NodeManager.contract.WatchLogs(opts, "NodeApproved") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(NodeManagerNodeApproved) if err := _NodeManager.contract.UnpackLog(event, "NodeApproved", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // NodeManagerNodeBlacklistedIterator is returned from FilterNodeBlacklisted and is used to iterate over the raw logs and unpacked data for NodeBlacklisted events raised by the NodeManager contract. type NodeManagerNodeBlacklistedIterator struct { Event *NodeManagerNodeBlacklisted // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *NodeManagerNodeBlacklistedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(NodeManagerNodeBlacklisted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(NodeManagerNodeBlacklisted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *NodeManagerNodeBlacklistedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *NodeManagerNodeBlacklistedIterator) Close() error { it.sub.Unsubscribe() return nil } // NodeManagerNodeBlacklisted represents a NodeBlacklisted event raised by the NodeManager contract. type NodeManagerNodeBlacklisted struct { EnodeId string OrgId string Raw types.Log // Blockchain specific contextual infos } // FilterNodeBlacklisted is a free log retrieval operation binding the contract event 0x4714623279994517c446c8fb72c3fdaca26434da1e2490d3976fe0cd880cfa7a. // // Solidity: e NodeBlacklisted(_enodeId string, _orgId string) func (_NodeManager *NodeManagerFilterer) FilterNodeBlacklisted(opts *bind.FilterOpts) (*NodeManagerNodeBlacklistedIterator, error) { logs, sub, err := _NodeManager.contract.FilterLogs(opts, "NodeBlacklisted") if err != nil { return nil, err } return &NodeManagerNodeBlacklistedIterator{contract: _NodeManager.contract, event: "NodeBlacklisted", logs: logs, sub: sub}, nil } // WatchNodeBlacklisted is a free log subscription operation binding the contract event 0x4714623279994517c446c8fb72c3fdaca26434da1e2490d3976fe0cd880cfa7a. // // Solidity: e NodeBlacklisted(_enodeId string, _orgId string) func (_NodeManager *NodeManagerFilterer) WatchNodeBlacklisted(opts *bind.WatchOpts, sink chan<- *NodeManagerNodeBlacklisted) (event.Subscription, error) { logs, sub, err := _NodeManager.contract.WatchLogs(opts, "NodeBlacklisted") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(NodeManagerNodeBlacklisted) if err := _NodeManager.contract.UnpackLog(event, "NodeBlacklisted", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // NodeManagerNodeDeactivatedIterator is returned from FilterNodeDeactivated and is used to iterate over the raw logs and unpacked data for NodeDeactivated events raised by the NodeManager contract. type NodeManagerNodeDeactivatedIterator struct { Event *NodeManagerNodeDeactivated // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *NodeManagerNodeDeactivatedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(NodeManagerNodeDeactivated) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(NodeManagerNodeDeactivated) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *NodeManagerNodeDeactivatedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *NodeManagerNodeDeactivatedIterator) Close() error { it.sub.Unsubscribe() return nil } // NodeManagerNodeDeactivated represents a NodeDeactivated event raised by the NodeManager contract. type NodeManagerNodeDeactivated struct { EnodeId string OrgId string Raw types.Log // Blockchain specific contextual infos } // FilterNodeDeactivated is a free log retrieval operation binding the contract event 0xc6c3720fe673e87bb26e06be713d514278aa94c3939cfe7c64b9bea4d486824a. // // Solidity: e NodeDeactivated(_enodeId string, _orgId string) func (_NodeManager *NodeManagerFilterer) FilterNodeDeactivated(opts *bind.FilterOpts) (*NodeManagerNodeDeactivatedIterator, error) { logs, sub, err := _NodeManager.contract.FilterLogs(opts, "NodeDeactivated") if err != nil { return nil, err } return &NodeManagerNodeDeactivatedIterator{contract: _NodeManager.contract, event: "NodeDeactivated", logs: logs, sub: sub}, nil } // WatchNodeDeactivated is a free log subscription operation binding the contract event 0xc6c3720fe673e87bb26e06be713d514278aa94c3939cfe7c64b9bea4d486824a. // // Solidity: e NodeDeactivated(_enodeId string, _orgId string) func (_NodeManager *NodeManagerFilterer) WatchNodeDeactivated(opts *bind.WatchOpts, sink chan<- *NodeManagerNodeDeactivated) (event.Subscription, error) { logs, sub, err := _NodeManager.contract.WatchLogs(opts, "NodeDeactivated") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(NodeManagerNodeDeactivated) if err := _NodeManager.contract.UnpackLog(event, "NodeDeactivated", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // NodeManagerNodeProposedIterator is returned from FilterNodeProposed and is used to iterate over the raw logs and unpacked data for NodeProposed events raised by the NodeManager contract. type NodeManagerNodeProposedIterator struct { Event *NodeManagerNodeProposed // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *NodeManagerNodeProposedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(NodeManagerNodeProposed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(NodeManagerNodeProposed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *NodeManagerNodeProposedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *NodeManagerNodeProposedIterator) Close() error { it.sub.Unsubscribe() return nil } // NodeManagerNodeProposed represents a NodeProposed event raised by the NodeManager contract. type NodeManagerNodeProposed struct { EnodeId string OrgId string Raw types.Log // Blockchain specific contextual infos } // FilterNodeProposed is a free log retrieval operation binding the contract event 0xb1a7eec7dd1a516c3132d6d1f770758b19aa34c3a07c138caf662688b7e3556f. // // Solidity: e NodeProposed(_enodeId string, _orgId string) func (_NodeManager *NodeManagerFilterer) FilterNodeProposed(opts *bind.FilterOpts) (*NodeManagerNodeProposedIterator, error) { logs, sub, err := _NodeManager.contract.FilterLogs(opts, "NodeProposed") if err != nil { return nil, err } return &NodeManagerNodeProposedIterator{contract: _NodeManager.contract, event: "NodeProposed", logs: logs, sub: sub}, nil } // WatchNodeProposed is a free log subscription operation binding the contract event 0xb1a7eec7dd1a516c3132d6d1f770758b19aa34c3a07c138caf662688b7e3556f. // // Solidity: e NodeProposed(_enodeId string, _orgId string) func (_NodeManager *NodeManagerFilterer) WatchNodeProposed(opts *bind.WatchOpts, sink chan<- *NodeManagerNodeProposed) (event.Subscription, error) { logs, sub, err := _NodeManager.contract.WatchLogs(opts, "NodeProposed") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(NodeManagerNodeProposed) if err := _NodeManager.contract.UnpackLog(event, "NodeProposed", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // NodeManagerNodeRecoveryCompletedIterator is returned from FilterNodeRecoveryCompleted and is used to iterate over the raw logs and unpacked data for NodeRecoveryCompleted events raised by the NodeManager contract. type NodeManagerNodeRecoveryCompletedIterator struct { Event *NodeManagerNodeRecoveryCompleted // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *NodeManagerNodeRecoveryCompletedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(NodeManagerNodeRecoveryCompleted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(NodeManagerNodeRecoveryCompleted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *NodeManagerNodeRecoveryCompletedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *NodeManagerNodeRecoveryCompletedIterator) Close() error { it.sub.Unsubscribe() return nil } // NodeManagerNodeRecoveryCompleted represents a NodeRecoveryCompleted event raised by the NodeManager contract. type NodeManagerNodeRecoveryCompleted struct { EnodeId string OrgId string Raw types.Log // Blockchain specific contextual infos } // FilterNodeRecoveryCompleted is a free log retrieval operation binding the contract event 0x787d7bc525e7c4658c64e3e456d974a1be21cc196e8162a4bf1337a12cb38dac. // // Solidity: e NodeRecoveryCompleted(_enodeId string, _orgId string) func (_NodeManager *NodeManagerFilterer) FilterNodeRecoveryCompleted(opts *bind.FilterOpts) (*NodeManagerNodeRecoveryCompletedIterator, error) { logs, sub, err := _NodeManager.contract.FilterLogs(opts, "NodeRecoveryCompleted") if err != nil { return nil, err } return &NodeManagerNodeRecoveryCompletedIterator{contract: _NodeManager.contract, event: "NodeRecoveryCompleted", logs: logs, sub: sub}, nil } // WatchNodeRecoveryCompleted is a free log subscription operation binding the contract event 0x787d7bc525e7c4658c64e3e456d974a1be21cc196e8162a4bf1337a12cb38dac. // // Solidity: e NodeRecoveryCompleted(_enodeId string, _orgId string) func (_NodeManager *NodeManagerFilterer) WatchNodeRecoveryCompleted(opts *bind.WatchOpts, sink chan<- *NodeManagerNodeRecoveryCompleted) (event.Subscription, error) { logs, sub, err := _NodeManager.contract.WatchLogs(opts, "NodeRecoveryCompleted") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(NodeManagerNodeRecoveryCompleted) if err := _NodeManager.contract.UnpackLog(event, "NodeRecoveryCompleted", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // NodeManagerNodeRecoveryInitiatedIterator is returned from FilterNodeRecoveryInitiated and is used to iterate over the raw logs and unpacked data for NodeRecoveryInitiated events raised by the NodeManager contract. type NodeManagerNodeRecoveryInitiatedIterator struct { Event *NodeManagerNodeRecoveryInitiated // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *NodeManagerNodeRecoveryInitiatedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(NodeManagerNodeRecoveryInitiated) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(NodeManagerNodeRecoveryInitiated) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *NodeManagerNodeRecoveryInitiatedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *NodeManagerNodeRecoveryInitiatedIterator) Close() error { it.sub.Unsubscribe() return nil } // NodeManagerNodeRecoveryInitiated represents a NodeRecoveryInitiated event raised by the NodeManager contract. type NodeManagerNodeRecoveryInitiated struct { EnodeId string OrgId string Raw types.Log // Blockchain specific contextual infos } // FilterNodeRecoveryInitiated is a free log retrieval operation binding the contract event 0xfd385c618a1e89d01fb9a21780846793e282e8bc0b60caf6ccb3e422d543fbfb. // // Solidity: e NodeRecoveryInitiated(_enodeId string, _orgId string) func (_NodeManager *NodeManagerFilterer) FilterNodeRecoveryInitiated(opts *bind.FilterOpts) (*NodeManagerNodeRecoveryInitiatedIterator, error) { logs, sub, err := _NodeManager.contract.FilterLogs(opts, "NodeRecoveryInitiated") if err != nil { return nil, err } return &NodeManagerNodeRecoveryInitiatedIterator{contract: _NodeManager.contract, event: "NodeRecoveryInitiated", logs: logs, sub: sub}, nil } // WatchNodeRecoveryInitiated is a free log subscription operation binding the contract event 0xfd385c618a1e89d01fb9a21780846793e282e8bc0b60caf6ccb3e422d543fbfb. // // Solidity: e NodeRecoveryInitiated(_enodeId string, _orgId string) func (_NodeManager *NodeManagerFilterer) WatchNodeRecoveryInitiated(opts *bind.WatchOpts, sink chan<- *NodeManagerNodeRecoveryInitiated) (event.Subscription, error) { logs, sub, err := _NodeManager.contract.WatchLogs(opts, "NodeRecoveryInitiated") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(NodeManagerNodeRecoveryInitiated) if err := _NodeManager.contract.UnpackLog(event, "NodeRecoveryInitiated", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil }