github.com/xfers/quorum@v21.1.0+incompatible/permission/v1/bind/voter.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 permission
     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  // VoterManagerABI is the input ABI used to generate the binding from.
    31  const VoterManagerABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"getPendingOpDetails\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_vAccount\",\"type\":\"address\"}],\"name\":\"addVoter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_vAccount\",\"type\":\"address\"}],\"name\":\"deleteVoter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_authOrg\",\"type\":\"string\"},{\"name\":\"_vAccount\",\"type\":\"address\"},{\"name\":\"_pendingOp\",\"type\":\"uint256\"}],\"name\":\"processVote\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_authOrg\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_pendingOp\",\"type\":\"uint256\"}],\"name\":\"addVotingItem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_permUpgradable\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_vAccount\",\"type\":\"address\"}],\"name\":\"VoterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_vAccount\",\"type\":\"address\"}],\"name\":\"VoterDeleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"VotingItemAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"VoteProcessed\",\"type\":\"event\"}]"
    32  
    33  var VoterManagerParsedABI, _ = abi.JSON(strings.NewReader(VoterManagerABI))
    34  
    35  // VoterManagerBin is the compiled bytecode used for deploying new contracts.
    36  var VoterManagerBin = "0x6080604052600060035534801561001557600080fd5b50604051602080611fe48339810180604052602081101561003557600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055611f7d806100676000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063014e6acc1461005c5780635607395b146101c857806359cbd6fe14610241578063b0213864146102b8578063e98ac22d14610349575b600080fd5b6100ca6004803603602081101561007257600080fd5b810190602081018135600160201b81111561008c57600080fd5b82018360208201111561009e57600080fd5b803590602001918460018302840111600160201b831117156100bf57600080fd5b509092509050610466565b604051808060200180602001856001600160a01b03166001600160a01b03168152602001848152602001838103835287818151815260200191508051906020019080838360005b83811015610129578181015183820152602001610111565b50505050905090810190601f1680156101565780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b83811015610189578181015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b61023f600480360360408110156101de57600080fd5b810190602081018135600160201b8111156101f857600080fd5b82018360208201111561020a57600080fd5b803590602001918460018302840111600160201b8311171561022b57600080fd5b9193509150356001600160a01b0316610740565b005b61023f6004803603604081101561025757600080fd5b810190602081018135600160201b81111561027157600080fd5b82018360208201111561028357600080fd5b803590602001918460018302840111600160201b831117156102a457600080fd5b9193509150356001600160a01b0316610f06565b610335600480360360608110156102ce57600080fd5b810190602081018135600160201b8111156102e857600080fd5b8201836020820111156102fa57600080fd5b803590602001918460018302840111600160201b8311171561031b57600080fd5b91935091506001600160a01b0381351690602001356111e8565b604080519115158252519081900360200190f35b61023f600480360360a081101561035f57600080fd5b810190602081018135600160201b81111561037957600080fd5b82018360208201111561038b57600080fd5b803590602001918460018302840111600160201b831117156103ac57600080fd5b919390929091602081019035600160201b8111156103c957600080fd5b8201836020820111156103db57600080fd5b803590602001918460018302840111600160201b831117156103fc57600080fd5b919390929091602081019035600160201b81111561041957600080fd5b82018360208201111561042b57600080fd5b803590602001918460018302840111600160201b8311171561044c57600080fd5b91935091506001600160a01b0381351690602001356116f8565b6060806000806000809054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b957600080fd5b505afa1580156104cd573d6000803e3d6000fd5b505050506040513d60208110156104e357600080fd5b50516001600160a01b031633146105385760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b600061057987878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611afd92505050565b905060018181548110151561058a57fe5b90600052602060002090600b02016004016000016001828154811015156105ad57fe5b90600052602060002090600b02016004016001016001838154811015156105d057fe5b600091825260209091206006600b909202010154600180546001600160a01b0390921691859081106105fe57fe5b60009182526020918290206007600b909202010154845460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815291928691908301828280156106995780601f1061066e57610100808354040283529160200191610699565b820191906000526020600020905b81548152906001019060200180831161067c57829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959950889450925084019050828280156107275780601f106106fc57610100808354040283529160200191610727565b820191906000526020600020905b81548152906001019060200180831161070a57829003601f168201915b5050505050925094509450945094505092959194509250565b6000809054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b15801561078d57600080fd5b505afa1580156107a1573d6000803e3d6000fd5b505050506040513d60208110156107b757600080fd5b50516001600160a01b0316331461080c5760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b60026000848460405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012081526020019081526020016000205460001415610b78576003805460010190819055604080516020808201908152918101859052600291600091879187918190606001848480828437600081840152601f19601f8201169050808301925050509350505050604051602081830303815290604052805190602001208152602001908152602001600020819055506000600180548091906001016109069190611cdd565b9050838360018381548110151561091957fe5b6000918252602090912061093393600b9092020191611d0e565b506001808281548110151561094457fe5b90600052602060002090600b0201600101819055506001808281548110151561096957fe5b90600052602060002090600b020160020181905550600060018281548110151561098f57fe5b90600052602060002090600b020160030181905550604051806020016040528060008152506001828154811015156109c357fe5b90600052602060002090600b020160040160000190805190602001906109ea929190611d8c565b506040805160208101909152600081526001805483908110610a0857fe5b90600052602060002090600b02016004016001019080519060200190610a2f929190611d8c565b506000600182815481101515610a4157fe5b600091825260208220600b919091020160060180546001600160a01b0319166001600160a01b0393909316929092179091556001805483908110610a8157fe5b600091825260209091206007600b9092020101556001805482908110610aa357fe5b90600052602060002090600b020160010154600182815481101515610ac457fe5b600091825260208083206001600160a01b03871684526009600b9093020191909101905260409020556001805482908110610afb57fe5b60009182526020808320604080518082019091526001600160a01b0387811682526001828501818152600b969096029093016008018054938401815586529290942093519301805492516001600160a01b03199093169390911692909217600160a01b60ff021916600160a01b9115159190910217905550610e90565b6000610bb984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611afd92505050565b9050600181815481101515610bca57fe5b600091825260208083206001600160a01b03861684526009600b9093020191909101905260409020541515610d2c576001805482908110610c0757fe5b600091825260209091206001600b909202018101805482019055805482908110610c2d57fe5b90600052602060002090600b020160010154600182815481101515610c4e57fe5b600091825260208083206001600160a01b03871684526009600b9093020191909101905260409020556001805482908110610c8557fe5b60009182526020808320604080518082019091526001600160a01b0387811682526001828501818152600b96909602909301600801805480850182559087529390952090519201805493516001600160a01b03199094169290941691909117600160a01b60ff021916600160a01b9215159290920291909117909155805482908110610d0d57fe5b600091825260209091206002600b909202010180546001019055610e8e565b6000610d6f85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250611ba5915050565b9050600182815481101515610d8057fe5b90600052602060002090600b020160080181815481101515610d9e57fe5b600091825260209091200154600160a01b900460ff16151560011415610e0e5760408051600160e51b62461bcd02815260206004820152600f60248201527f616c7265616479206120766f7465720000000000000000000000000000000000604482015290519081900360640190fd5b60018083815481101515610e1e57fe5b90600052602060002090600b020160080182815481101515610e3c57fe5b60009182526020909120018054911515600160a01b02600160a01b60ff02199092169190911790556001805483908110610e7257fe5b600091825260209091206002600b909202010180546001019055505b505b604080516001600160a01b03831660208201528181529081018390527f424f3ad05c61ea35cad66f22b70b1fad7250d8229921238078c401db36d34574908490849084908060608101858580828437600083820152604051601f909101601f1916909201829003965090945050505050a1505050565b6000809054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5357600080fd5b505afa158015610f67573d6000803e3d6000fd5b505050506040513d6020811015610f7d57600080fd5b50516001600160a01b03163314610fd25760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250849250611016915083905082611bf7565b15156001146110645760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e36bab9ba1031329030903b37ba32b902604482015290519081900360640190fd5b60006110a586868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611afd92505050565b905060006110ea87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250899250611ba5915050565b90506001828154811015156110fb57fe5b6000918252602082206002600b90920201018054600019019055600180548490811061112357fe5b90600052602060002090600b02016008018281548110151561114157fe5b9060005260206000200160000160146101000a81548160ff0219169083151502179055507f654cd85d9b2abaf3affef0a047625d088e6e4d0448935c9b5016b5f5aa0ca3b68787876040518080602001836001600160a01b03166001600160a01b031681526020018281038252858582818152602001925080828437600083820152604051601f909101601f1916909201829003965090945050505050a150505050505050565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b15801561123757600080fd5b505afa15801561124b573d6000803e3d6000fd5b505050506040513d602081101561126157600080fd5b50516001600160a01b031633146112b65760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508692506112fa915083905082611bf7565b15156001146113485760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e36bab9ba1031329030903b37ba32b902604482015290519081900360640190fd5b61138987878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250889250611ca7915050565b15156001146113e25760408051600160e51b62461bcd02815260206004820152601260248201527f6e6f7468696e6720746f20617070726f76650000000000000000000000000000604482015290519081900360640190fd5b600061142388888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611afd92505050565b905060018181548110151561143457fe5b60009182526020808320848452600a600b9093020191909101815260408083206001600160a01b038a16845290915290205460ff161515600114156114c35760408051600160e51b62461bcd02815260206004820152601260248201527f63616e6e6f7420646f75626c6520766f74650000000000000000000000000000604482015290519081900360640190fd5b60018054829081106114d157fe5b600091825260209091206003600b90920201018054600190810190915580548190839081106114fc57fe5b60009182526020808320858452600b92909202909101600a01815260408083206001600160a01b038b168452825291829020805460ff19169315159390931790925580518281529182018990527f87999b54e45aa02834a1265e356d7bcdceb72b8cbb4396ebaeba32a103b43508918a918a919081908101848480828437600083820152604051601f909101601f19169092018290039550909350505050a160026001828154811015156115ac57fe5b90600052602060002090600b0201600201548115156115c757fe5b046001828154811015156115d757fe5b90600052602060002090600b02016003015411156116e857604080516020810190915260008152600180548390811061160c57fe5b90600052602060002090600b02016004016000019080519060200190611633929190611d8c565b50604080516020810190915260008152600180548390811061165157fe5b90600052602060002090600b02016004016001019080519060200190611678929190611d8c565b50600060018281548110151561168a57fe5b600091825260208220600b919091020160060180546001600160a01b0319166001600160a01b03939093169290921790915560018054839081106116ca57fe5b600091825260209091206007600b90920201015550600192506116ee565b60009350505b5050949350505050565b6000809054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b15801561174557600080fd5b505afa158015611759573d6000803e3d6000fd5b505050506040513d602081101561176f57600080fd5b50516001600160a01b031633146117c45760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b61180388888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250611ca7915050565b151561184357604051600160e51b62461bcd028152600401808060200182810382526034815260200180611f1e6034913960400191505060405180910390fd5b600061188489898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611afd92505050565b9050868660018381548110151561189757fe5b90600052602060002090600b020160040160000191906118b8929190611d0e565b5084846001838154811015156118ca57fe5b90600052602060002090600b020160040160010191906118eb929190611d0e565b50826001828154811015156118fc57fe5b90600052602060002090600b020160040160020160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160018281548110151561194457fe5b6000918252602082206007600b9092020101919091555b600180548390811061196957fe5b90600052602060002090600b020160080180549050811015611a6b57600180548390811061199357fe5b90600052602060002090600b0201600801818154811015156119b157fe5b600091825260209091200154600160a01b900460ff1615611a635760006001838154811015156119dd57fe5b90600052602060002090600b0201600a0160008481526020019081526020016000206000600185815481101515611a1057fe5b90600052602060002090600b020160080184815481101515611a2e57fe5b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff19169115159190911790555b60010161195b565b506000600182815481101515611a7d57fe5b90600052602060002090600b0201600301819055507f5bfaebb5931145594f63236d2a59314c4dc6035b65d0ca4cee9c7298e2f06ca3898960405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a1505050505050505050565b6000600160026000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611b46578181015183820152602001611b2e565b50505050905090810190601f168015611b735780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002054039050919050565b600080611bb184611afd565b905060018082815481101515611bc357fe5b600091825260208083206001600160a01b03881684526009600b909302019190910190526040902054039150505b92915050565b600080611c0384611afd565b9050600181815481101515611c1457fe5b600091825260208083206001600160a01b03871684526009600b9093020191909101905260409020541515611c4d576000915050611bf1565b6000611c598585611ba5565b9050600182815481101515611c6a57fe5b90600052602060002090600b020160080181815481101515611c8857fe5b600091825260209091200154600160a01b900460ff1695945050505050565b6000816001611cb585611afd565b81548110611cbf57fe5b90600052602060002090600b02016004016003015414905092915050565b815481835581811115611d0957600b0281600b028360005260206000209182019101611d099190611dfa565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611d4f5782800160ff19823516178555611d7c565b82800160010185558215611d7c579182015b82811115611d7c578235825591602001919060010190611d61565b50611d88929150611e7f565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611dcd57805160ff1916838001178555611d7c565b82800160010185558215611d7c579182015b82811115611d7c578251825591602001919060010190611ddf565b611e7c91905b80821115611d88576000611e148282611e99565b60006001830181905560028301819055600383018190556004830190611e3a8282611e99565b611e48600183016000611e99565b506002810180546001600160a01b031916905560006003909101819055611e73906008840190611ee0565b50600b01611e00565b90565b611e7c91905b80821115611d885760008155600101611e85565b50805460018160011615610100020316600290046000825580601f10611ebf5750611edd565b601f016020900490600052602060002090810190611edd9190611e7f565b50565b5080546000825590600052602060002090810190611edd9190611e7c91905b80821115611d885780546001600160a81b0319168155600101611eff56fe6974656d732070656e64696e6720666f7220617070726f76616c2e206e6577206974656d2063616e6e6f74206265206164646564a165627a7a723058208c26d91675a875844a1887c5ed36a158ac303cb35eb5df6294460bcd07c299780029"
    37  
    38  // DeployVoterManager deploys a new Ethereum contract, binding an instance of VoterManager to it.
    39  func DeployVoterManager(auth *bind.TransactOpts, backend bind.ContractBackend, _permUpgradable common.Address) (common.Address, *types.Transaction, *VoterManager, error) {
    40  	parsed, err := abi.JSON(strings.NewReader(VoterManagerABI))
    41  	if err != nil {
    42  		return common.Address{}, nil, nil, err
    43  	}
    44  
    45  	address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(VoterManagerBin), backend, _permUpgradable)
    46  	if err != nil {
    47  		return common.Address{}, nil, nil, err
    48  	}
    49  	return address, tx, &VoterManager{VoterManagerCaller: VoterManagerCaller{contract: contract}, VoterManagerTransactor: VoterManagerTransactor{contract: contract}, VoterManagerFilterer: VoterManagerFilterer{contract: contract}}, nil
    50  }
    51  
    52  // VoterManager is an auto generated Go binding around an Ethereum contract.
    53  type VoterManager struct {
    54  	VoterManagerCaller     // Read-only binding to the contract
    55  	VoterManagerTransactor // Write-only binding to the contract
    56  	VoterManagerFilterer   // Log filterer for contract events
    57  }
    58  
    59  // VoterManagerCaller is an auto generated read-only Go binding around an Ethereum contract.
    60  type VoterManagerCaller struct {
    61  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    62  }
    63  
    64  // VoterManagerTransactor is an auto generated write-only Go binding around an Ethereum contract.
    65  type VoterManagerTransactor struct {
    66  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    67  }
    68  
    69  // VoterManagerFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    70  type VoterManagerFilterer struct {
    71  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    72  }
    73  
    74  // VoterManagerSession is an auto generated Go binding around an Ethereum contract,
    75  // with pre-set call and transact options.
    76  type VoterManagerSession struct {
    77  	Contract     *VoterManager     // 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  // VoterManagerCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    83  // with pre-set call options.
    84  type VoterManagerCallerSession struct {
    85  	Contract *VoterManagerCaller // Generic contract caller binding to set the session for
    86  	CallOpts bind.CallOpts       // Call options to use throughout this session
    87  }
    88  
    89  // VoterManagerTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    90  // with pre-set transact options.
    91  type VoterManagerTransactorSession struct {
    92  	Contract     *VoterManagerTransactor // Generic contract transactor binding to set the session for
    93  	TransactOpts bind.TransactOpts       // Transaction auth options to use throughout this session
    94  }
    95  
    96  // VoterManagerRaw is an auto generated low-level Go binding around an Ethereum contract.
    97  type VoterManagerRaw struct {
    98  	Contract *VoterManager // Generic contract binding to access the raw methods on
    99  }
   100  
   101  // VoterManagerCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
   102  type VoterManagerCallerRaw struct {
   103  	Contract *VoterManagerCaller // Generic read-only contract binding to access the raw methods on
   104  }
   105  
   106  // VoterManagerTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
   107  type VoterManagerTransactorRaw struct {
   108  	Contract *VoterManagerTransactor // Generic write-only contract binding to access the raw methods on
   109  }
   110  
   111  // NewVoterManager creates a new instance of VoterManager, bound to a specific deployed contract.
   112  func NewVoterManager(address common.Address, backend bind.ContractBackend) (*VoterManager, error) {
   113  	contract, err := bindVoterManager(address, backend, backend, backend)
   114  	if err != nil {
   115  		return nil, err
   116  	}
   117  	return &VoterManager{VoterManagerCaller: VoterManagerCaller{contract: contract}, VoterManagerTransactor: VoterManagerTransactor{contract: contract}, VoterManagerFilterer: VoterManagerFilterer{contract: contract}}, nil
   118  }
   119  
   120  // NewVoterManagerCaller creates a new read-only instance of VoterManager, bound to a specific deployed contract.
   121  func NewVoterManagerCaller(address common.Address, caller bind.ContractCaller) (*VoterManagerCaller, error) {
   122  	contract, err := bindVoterManager(address, caller, nil, nil)
   123  	if err != nil {
   124  		return nil, err
   125  	}
   126  	return &VoterManagerCaller{contract: contract}, nil
   127  }
   128  
   129  // NewVoterManagerTransactor creates a new write-only instance of VoterManager, bound to a specific deployed contract.
   130  func NewVoterManagerTransactor(address common.Address, transactor bind.ContractTransactor) (*VoterManagerTransactor, error) {
   131  	contract, err := bindVoterManager(address, nil, transactor, nil)
   132  	if err != nil {
   133  		return nil, err
   134  	}
   135  	return &VoterManagerTransactor{contract: contract}, nil
   136  }
   137  
   138  // NewVoterManagerFilterer creates a new log filterer instance of VoterManager, bound to a specific deployed contract.
   139  func NewVoterManagerFilterer(address common.Address, filterer bind.ContractFilterer) (*VoterManagerFilterer, error) {
   140  	contract, err := bindVoterManager(address, nil, nil, filterer)
   141  	if err != nil {
   142  		return nil, err
   143  	}
   144  	return &VoterManagerFilterer{contract: contract}, nil
   145  }
   146  
   147  // bindVoterManager binds a generic wrapper to an already deployed contract.
   148  func bindVoterManager(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   149  	parsed, err := abi.JSON(strings.NewReader(VoterManagerABI))
   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 (_VoterManager *VoterManagerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
   161  	return _VoterManager.Contract.VoterManagerCaller.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 (_VoterManager *VoterManagerRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   167  	return _VoterManager.Contract.VoterManagerTransactor.contract.Transfer(opts)
   168  }
   169  
   170  // Transact invokes the (paid) contract method with params as input values.
   171  func (_VoterManager *VoterManagerRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   172  	return _VoterManager.Contract.VoterManagerTransactor.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 (_VoterManager *VoterManagerCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
   180  	return _VoterManager.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 (_VoterManager *VoterManagerTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   186  	return _VoterManager.Contract.contract.Transfer(opts)
   187  }
   188  
   189  // Transact invokes the (paid) contract method with params as input values.
   190  func (_VoterManager *VoterManagerTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   191  	return _VoterManager.Contract.contract.Transact(opts, method, params...)
   192  }
   193  
   194  // GetPendingOpDetails is a free data retrieval call binding the contract method 0x014e6acc.
   195  //
   196  // Solidity: function getPendingOpDetails(string _orgId) constant returns(string, string, address, uint256)
   197  func (_VoterManager *VoterManagerCaller) GetPendingOpDetails(opts *bind.CallOpts, _orgId string) (string, string, common.Address, *big.Int, error) {
   198  	var (
   199  		ret0 = new(string)
   200  		ret1 = new(string)
   201  		ret2 = new(common.Address)
   202  		ret3 = new(*big.Int)
   203  	)
   204  	out := &[]interface{}{
   205  		ret0,
   206  		ret1,
   207  		ret2,
   208  		ret3,
   209  	}
   210  	err := _VoterManager.contract.Call(opts, out, "getPendingOpDetails", _orgId)
   211  	return *ret0, *ret1, *ret2, *ret3, err
   212  }
   213  
   214  // GetPendingOpDetails is a free data retrieval call binding the contract method 0x014e6acc.
   215  //
   216  // Solidity: function getPendingOpDetails(string _orgId) constant returns(string, string, address, uint256)
   217  func (_VoterManager *VoterManagerSession) GetPendingOpDetails(_orgId string) (string, string, common.Address, *big.Int, error) {
   218  	return _VoterManager.Contract.GetPendingOpDetails(&_VoterManager.CallOpts, _orgId)
   219  }
   220  
   221  // GetPendingOpDetails is a free data retrieval call binding the contract method 0x014e6acc.
   222  //
   223  // Solidity: function getPendingOpDetails(string _orgId) constant returns(string, string, address, uint256)
   224  func (_VoterManager *VoterManagerCallerSession) GetPendingOpDetails(_orgId string) (string, string, common.Address, *big.Int, error) {
   225  	return _VoterManager.Contract.GetPendingOpDetails(&_VoterManager.CallOpts, _orgId)
   226  }
   227  
   228  // AddVoter is a paid mutator transaction binding the contract method 0x5607395b.
   229  //
   230  // Solidity: function addVoter(string _orgId, address _vAccount) returns()
   231  func (_VoterManager *VoterManagerTransactor) AddVoter(opts *bind.TransactOpts, _orgId string, _vAccount common.Address) (*types.Transaction, error) {
   232  	return _VoterManager.contract.Transact(opts, "addVoter", _orgId, _vAccount)
   233  }
   234  
   235  // AddVoter is a paid mutator transaction binding the contract method 0x5607395b.
   236  //
   237  // Solidity: function addVoter(string _orgId, address _vAccount) returns()
   238  func (_VoterManager *VoterManagerSession) AddVoter(_orgId string, _vAccount common.Address) (*types.Transaction, error) {
   239  	return _VoterManager.Contract.AddVoter(&_VoterManager.TransactOpts, _orgId, _vAccount)
   240  }
   241  
   242  // AddVoter is a paid mutator transaction binding the contract method 0x5607395b.
   243  //
   244  // Solidity: function addVoter(string _orgId, address _vAccount) returns()
   245  func (_VoterManager *VoterManagerTransactorSession) AddVoter(_orgId string, _vAccount common.Address) (*types.Transaction, error) {
   246  	return _VoterManager.Contract.AddVoter(&_VoterManager.TransactOpts, _orgId, _vAccount)
   247  }
   248  
   249  // AddVotingItem is a paid mutator transaction binding the contract method 0xe98ac22d.
   250  //
   251  // Solidity: function addVotingItem(string _authOrg, string _orgId, string _enodeId, address _account, uint256 _pendingOp) returns()
   252  func (_VoterManager *VoterManagerTransactor) AddVotingItem(opts *bind.TransactOpts, _authOrg string, _orgId string, _enodeId string, _account common.Address, _pendingOp *big.Int) (*types.Transaction, error) {
   253  	return _VoterManager.contract.Transact(opts, "addVotingItem", _authOrg, _orgId, _enodeId, _account, _pendingOp)
   254  }
   255  
   256  // AddVotingItem is a paid mutator transaction binding the contract method 0xe98ac22d.
   257  //
   258  // Solidity: function addVotingItem(string _authOrg, string _orgId, string _enodeId, address _account, uint256 _pendingOp) returns()
   259  func (_VoterManager *VoterManagerSession) AddVotingItem(_authOrg string, _orgId string, _enodeId string, _account common.Address, _pendingOp *big.Int) (*types.Transaction, error) {
   260  	return _VoterManager.Contract.AddVotingItem(&_VoterManager.TransactOpts, _authOrg, _orgId, _enodeId, _account, _pendingOp)
   261  }
   262  
   263  // AddVotingItem is a paid mutator transaction binding the contract method 0xe98ac22d.
   264  //
   265  // Solidity: function addVotingItem(string _authOrg, string _orgId, string _enodeId, address _account, uint256 _pendingOp) returns()
   266  func (_VoterManager *VoterManagerTransactorSession) AddVotingItem(_authOrg string, _orgId string, _enodeId string, _account common.Address, _pendingOp *big.Int) (*types.Transaction, error) {
   267  	return _VoterManager.Contract.AddVotingItem(&_VoterManager.TransactOpts, _authOrg, _orgId, _enodeId, _account, _pendingOp)
   268  }
   269  
   270  // DeleteVoter is a paid mutator transaction binding the contract method 0x59cbd6fe.
   271  //
   272  // Solidity: function deleteVoter(string _orgId, address _vAccount) returns()
   273  func (_VoterManager *VoterManagerTransactor) DeleteVoter(opts *bind.TransactOpts, _orgId string, _vAccount common.Address) (*types.Transaction, error) {
   274  	return _VoterManager.contract.Transact(opts, "deleteVoter", _orgId, _vAccount)
   275  }
   276  
   277  // DeleteVoter is a paid mutator transaction binding the contract method 0x59cbd6fe.
   278  //
   279  // Solidity: function deleteVoter(string _orgId, address _vAccount) returns()
   280  func (_VoterManager *VoterManagerSession) DeleteVoter(_orgId string, _vAccount common.Address) (*types.Transaction, error) {
   281  	return _VoterManager.Contract.DeleteVoter(&_VoterManager.TransactOpts, _orgId, _vAccount)
   282  }
   283  
   284  // DeleteVoter is a paid mutator transaction binding the contract method 0x59cbd6fe.
   285  //
   286  // Solidity: function deleteVoter(string _orgId, address _vAccount) returns()
   287  func (_VoterManager *VoterManagerTransactorSession) DeleteVoter(_orgId string, _vAccount common.Address) (*types.Transaction, error) {
   288  	return _VoterManager.Contract.DeleteVoter(&_VoterManager.TransactOpts, _orgId, _vAccount)
   289  }
   290  
   291  // ProcessVote is a paid mutator transaction binding the contract method 0xb0213864.
   292  //
   293  // Solidity: function processVote(string _authOrg, address _vAccount, uint256 _pendingOp) returns(bool)
   294  func (_VoterManager *VoterManagerTransactor) ProcessVote(opts *bind.TransactOpts, _authOrg string, _vAccount common.Address, _pendingOp *big.Int) (*types.Transaction, error) {
   295  	return _VoterManager.contract.Transact(opts, "processVote", _authOrg, _vAccount, _pendingOp)
   296  }
   297  
   298  // ProcessVote is a paid mutator transaction binding the contract method 0xb0213864.
   299  //
   300  // Solidity: function processVote(string _authOrg, address _vAccount, uint256 _pendingOp) returns(bool)
   301  func (_VoterManager *VoterManagerSession) ProcessVote(_authOrg string, _vAccount common.Address, _pendingOp *big.Int) (*types.Transaction, error) {
   302  	return _VoterManager.Contract.ProcessVote(&_VoterManager.TransactOpts, _authOrg, _vAccount, _pendingOp)
   303  }
   304  
   305  // ProcessVote is a paid mutator transaction binding the contract method 0xb0213864.
   306  //
   307  // Solidity: function processVote(string _authOrg, address _vAccount, uint256 _pendingOp) returns(bool)
   308  func (_VoterManager *VoterManagerTransactorSession) ProcessVote(_authOrg string, _vAccount common.Address, _pendingOp *big.Int) (*types.Transaction, error) {
   309  	return _VoterManager.Contract.ProcessVote(&_VoterManager.TransactOpts, _authOrg, _vAccount, _pendingOp)
   310  }
   311  
   312  // VoterManagerVoteProcessedIterator is returned from FilterVoteProcessed and is used to iterate over the raw logs and unpacked data for VoteProcessed events raised by the VoterManager contract.
   313  type VoterManagerVoteProcessedIterator struct {
   314  	Event *VoterManagerVoteProcessed // Event containing the contract specifics and raw log
   315  
   316  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   317  	event    string              // Event name to use for unpacking event data
   318  
   319  	logs chan types.Log        // Log channel receiving the found contract events
   320  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   321  	done bool                  // Whether the subscription completed delivering logs
   322  	fail error                 // Occurred error to stop iteration
   323  }
   324  
   325  // Next advances the iterator to the subsequent event, returning whether there
   326  // are any more events found. In case of a retrieval or parsing error, false is
   327  // returned and Error() can be queried for the exact failure.
   328  func (it *VoterManagerVoteProcessedIterator) Next() bool {
   329  	// If the iterator failed, stop iterating
   330  	if it.fail != nil {
   331  		return false
   332  	}
   333  	// If the iterator completed, deliver directly whatever's available
   334  	if it.done {
   335  		select {
   336  		case log := <-it.logs:
   337  			it.Event = new(VoterManagerVoteProcessed)
   338  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   339  				it.fail = err
   340  				return false
   341  			}
   342  			it.Event.Raw = log
   343  			return true
   344  
   345  		default:
   346  			return false
   347  		}
   348  	}
   349  	// Iterator still in progress, wait for either a data or an error event
   350  	select {
   351  	case log := <-it.logs:
   352  		it.Event = new(VoterManagerVoteProcessed)
   353  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   354  			it.fail = err
   355  			return false
   356  		}
   357  		it.Event.Raw = log
   358  		return true
   359  
   360  	case err := <-it.sub.Err():
   361  		it.done = true
   362  		it.fail = err
   363  		return it.Next()
   364  	}
   365  }
   366  
   367  // Error returns any retrieval or parsing error occurred during filtering.
   368  func (it *VoterManagerVoteProcessedIterator) Error() error {
   369  	return it.fail
   370  }
   371  
   372  // Close terminates the iteration process, releasing any pending underlying
   373  // resources.
   374  func (it *VoterManagerVoteProcessedIterator) Close() error {
   375  	it.sub.Unsubscribe()
   376  	return nil
   377  }
   378  
   379  // VoterManagerVoteProcessed represents a VoteProcessed event raised by the VoterManager contract.
   380  type VoterManagerVoteProcessed struct {
   381  	OrgId string
   382  	Raw   types.Log // Blockchain specific contextual infos
   383  }
   384  
   385  // FilterVoteProcessed is a free log retrieval operation binding the contract event 0x87999b54e45aa02834a1265e356d7bcdceb72b8cbb4396ebaeba32a103b43508.
   386  //
   387  // Solidity: event VoteProcessed(string _orgId)
   388  func (_VoterManager *VoterManagerFilterer) FilterVoteProcessed(opts *bind.FilterOpts) (*VoterManagerVoteProcessedIterator, error) {
   389  
   390  	logs, sub, err := _VoterManager.contract.FilterLogs(opts, "VoteProcessed")
   391  	if err != nil {
   392  		return nil, err
   393  	}
   394  	return &VoterManagerVoteProcessedIterator{contract: _VoterManager.contract, event: "VoteProcessed", logs: logs, sub: sub}, nil
   395  }
   396  
   397  var VoteProcessedTopicHash = "0x87999b54e45aa02834a1265e356d7bcdceb72b8cbb4396ebaeba32a103b43508"
   398  
   399  // WatchVoteProcessed is a free log subscription operation binding the contract event 0x87999b54e45aa02834a1265e356d7bcdceb72b8cbb4396ebaeba32a103b43508.
   400  //
   401  // Solidity: event VoteProcessed(string _orgId)
   402  func (_VoterManager *VoterManagerFilterer) WatchVoteProcessed(opts *bind.WatchOpts, sink chan<- *VoterManagerVoteProcessed) (event.Subscription, error) {
   403  
   404  	logs, sub, err := _VoterManager.contract.WatchLogs(opts, "VoteProcessed")
   405  	if err != nil {
   406  		return nil, err
   407  	}
   408  	return event.NewSubscription(func(quit <-chan struct{}) error {
   409  		defer sub.Unsubscribe()
   410  		for {
   411  			select {
   412  			case log := <-logs:
   413  				// New log arrived, parse the event and forward to the user
   414  				event := new(VoterManagerVoteProcessed)
   415  				if err := _VoterManager.contract.UnpackLog(event, "VoteProcessed", log); err != nil {
   416  					return err
   417  				}
   418  				event.Raw = log
   419  
   420  				select {
   421  				case sink <- event:
   422  				case err := <-sub.Err():
   423  					return err
   424  				case <-quit:
   425  					return nil
   426  				}
   427  			case err := <-sub.Err():
   428  				return err
   429  			case <-quit:
   430  				return nil
   431  			}
   432  		}
   433  	}), nil
   434  }
   435  
   436  // ParseVoteProcessed is a log parse operation binding the contract event 0x87999b54e45aa02834a1265e356d7bcdceb72b8cbb4396ebaeba32a103b43508.
   437  //
   438  // Solidity: event VoteProcessed(string _orgId)
   439  func (_VoterManager *VoterManagerFilterer) ParseVoteProcessed(log types.Log) (*VoterManagerVoteProcessed, error) {
   440  	event := new(VoterManagerVoteProcessed)
   441  	if err := _VoterManager.contract.UnpackLog(event, "VoteProcessed", log); err != nil {
   442  		return nil, err
   443  	}
   444  	return event, nil
   445  }
   446  
   447  // VoterManagerVoterAddedIterator is returned from FilterVoterAdded and is used to iterate over the raw logs and unpacked data for VoterAdded events raised by the VoterManager contract.
   448  type VoterManagerVoterAddedIterator struct {
   449  	Event *VoterManagerVoterAdded // Event containing the contract specifics and raw log
   450  
   451  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   452  	event    string              // Event name to use for unpacking event data
   453  
   454  	logs chan types.Log        // Log channel receiving the found contract events
   455  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   456  	done bool                  // Whether the subscription completed delivering logs
   457  	fail error                 // Occurred error to stop iteration
   458  }
   459  
   460  // Next advances the iterator to the subsequent event, returning whether there
   461  // are any more events found. In case of a retrieval or parsing error, false is
   462  // returned and Error() can be queried for the exact failure.
   463  func (it *VoterManagerVoterAddedIterator) Next() bool {
   464  	// If the iterator failed, stop iterating
   465  	if it.fail != nil {
   466  		return false
   467  	}
   468  	// If the iterator completed, deliver directly whatever's available
   469  	if it.done {
   470  		select {
   471  		case log := <-it.logs:
   472  			it.Event = new(VoterManagerVoterAdded)
   473  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   474  				it.fail = err
   475  				return false
   476  			}
   477  			it.Event.Raw = log
   478  			return true
   479  
   480  		default:
   481  			return false
   482  		}
   483  	}
   484  	// Iterator still in progress, wait for either a data or an error event
   485  	select {
   486  	case log := <-it.logs:
   487  		it.Event = new(VoterManagerVoterAdded)
   488  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   489  			it.fail = err
   490  			return false
   491  		}
   492  		it.Event.Raw = log
   493  		return true
   494  
   495  	case err := <-it.sub.Err():
   496  		it.done = true
   497  		it.fail = err
   498  		return it.Next()
   499  	}
   500  }
   501  
   502  // Error returns any retrieval or parsing error occurred during filtering.
   503  func (it *VoterManagerVoterAddedIterator) Error() error {
   504  	return it.fail
   505  }
   506  
   507  // Close terminates the iteration process, releasing any pending underlying
   508  // resources.
   509  func (it *VoterManagerVoterAddedIterator) Close() error {
   510  	it.sub.Unsubscribe()
   511  	return nil
   512  }
   513  
   514  // VoterManagerVoterAdded represents a VoterAdded event raised by the VoterManager contract.
   515  type VoterManagerVoterAdded struct {
   516  	OrgId    string
   517  	VAccount common.Address
   518  	Raw      types.Log // Blockchain specific contextual infos
   519  }
   520  
   521  // FilterVoterAdded is a free log retrieval operation binding the contract event 0x424f3ad05c61ea35cad66f22b70b1fad7250d8229921238078c401db36d34574.
   522  //
   523  // Solidity: event VoterAdded(string _orgId, address _vAccount)
   524  func (_VoterManager *VoterManagerFilterer) FilterVoterAdded(opts *bind.FilterOpts) (*VoterManagerVoterAddedIterator, error) {
   525  
   526  	logs, sub, err := _VoterManager.contract.FilterLogs(opts, "VoterAdded")
   527  	if err != nil {
   528  		return nil, err
   529  	}
   530  	return &VoterManagerVoterAddedIterator{contract: _VoterManager.contract, event: "VoterAdded", logs: logs, sub: sub}, nil
   531  }
   532  
   533  var VoterAddedTopicHash = "0x424f3ad05c61ea35cad66f22b70b1fad7250d8229921238078c401db36d34574"
   534  
   535  // WatchVoterAdded is a free log subscription operation binding the contract event 0x424f3ad05c61ea35cad66f22b70b1fad7250d8229921238078c401db36d34574.
   536  //
   537  // Solidity: event VoterAdded(string _orgId, address _vAccount)
   538  func (_VoterManager *VoterManagerFilterer) WatchVoterAdded(opts *bind.WatchOpts, sink chan<- *VoterManagerVoterAdded) (event.Subscription, error) {
   539  
   540  	logs, sub, err := _VoterManager.contract.WatchLogs(opts, "VoterAdded")
   541  	if err != nil {
   542  		return nil, err
   543  	}
   544  	return event.NewSubscription(func(quit <-chan struct{}) error {
   545  		defer sub.Unsubscribe()
   546  		for {
   547  			select {
   548  			case log := <-logs:
   549  				// New log arrived, parse the event and forward to the user
   550  				event := new(VoterManagerVoterAdded)
   551  				if err := _VoterManager.contract.UnpackLog(event, "VoterAdded", log); err != nil {
   552  					return err
   553  				}
   554  				event.Raw = log
   555  
   556  				select {
   557  				case sink <- event:
   558  				case err := <-sub.Err():
   559  					return err
   560  				case <-quit:
   561  					return nil
   562  				}
   563  			case err := <-sub.Err():
   564  				return err
   565  			case <-quit:
   566  				return nil
   567  			}
   568  		}
   569  	}), nil
   570  }
   571  
   572  // ParseVoterAdded is a log parse operation binding the contract event 0x424f3ad05c61ea35cad66f22b70b1fad7250d8229921238078c401db36d34574.
   573  //
   574  // Solidity: event VoterAdded(string _orgId, address _vAccount)
   575  func (_VoterManager *VoterManagerFilterer) ParseVoterAdded(log types.Log) (*VoterManagerVoterAdded, error) {
   576  	event := new(VoterManagerVoterAdded)
   577  	if err := _VoterManager.contract.UnpackLog(event, "VoterAdded", log); err != nil {
   578  		return nil, err
   579  	}
   580  	return event, nil
   581  }
   582  
   583  // VoterManagerVoterDeletedIterator is returned from FilterVoterDeleted and is used to iterate over the raw logs and unpacked data for VoterDeleted events raised by the VoterManager contract.
   584  type VoterManagerVoterDeletedIterator struct {
   585  	Event *VoterManagerVoterDeleted // Event containing the contract specifics and raw log
   586  
   587  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   588  	event    string              // Event name to use for unpacking event data
   589  
   590  	logs chan types.Log        // Log channel receiving the found contract events
   591  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   592  	done bool                  // Whether the subscription completed delivering logs
   593  	fail error                 // Occurred error to stop iteration
   594  }
   595  
   596  // Next advances the iterator to the subsequent event, returning whether there
   597  // are any more events found. In case of a retrieval or parsing error, false is
   598  // returned and Error() can be queried for the exact failure.
   599  func (it *VoterManagerVoterDeletedIterator) Next() bool {
   600  	// If the iterator failed, stop iterating
   601  	if it.fail != nil {
   602  		return false
   603  	}
   604  	// If the iterator completed, deliver directly whatever's available
   605  	if it.done {
   606  		select {
   607  		case log := <-it.logs:
   608  			it.Event = new(VoterManagerVoterDeleted)
   609  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   610  				it.fail = err
   611  				return false
   612  			}
   613  			it.Event.Raw = log
   614  			return true
   615  
   616  		default:
   617  			return false
   618  		}
   619  	}
   620  	// Iterator still in progress, wait for either a data or an error event
   621  	select {
   622  	case log := <-it.logs:
   623  		it.Event = new(VoterManagerVoterDeleted)
   624  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   625  			it.fail = err
   626  			return false
   627  		}
   628  		it.Event.Raw = log
   629  		return true
   630  
   631  	case err := <-it.sub.Err():
   632  		it.done = true
   633  		it.fail = err
   634  		return it.Next()
   635  	}
   636  }
   637  
   638  // Error returns any retrieval or parsing error occurred during filtering.
   639  func (it *VoterManagerVoterDeletedIterator) Error() error {
   640  	return it.fail
   641  }
   642  
   643  // Close terminates the iteration process, releasing any pending underlying
   644  // resources.
   645  func (it *VoterManagerVoterDeletedIterator) Close() error {
   646  	it.sub.Unsubscribe()
   647  	return nil
   648  }
   649  
   650  // VoterManagerVoterDeleted represents a VoterDeleted event raised by the VoterManager contract.
   651  type VoterManagerVoterDeleted struct {
   652  	OrgId    string
   653  	VAccount common.Address
   654  	Raw      types.Log // Blockchain specific contextual infos
   655  }
   656  
   657  // FilterVoterDeleted is a free log retrieval operation binding the contract event 0x654cd85d9b2abaf3affef0a047625d088e6e4d0448935c9b5016b5f5aa0ca3b6.
   658  //
   659  // Solidity: event VoterDeleted(string _orgId, address _vAccount)
   660  func (_VoterManager *VoterManagerFilterer) FilterVoterDeleted(opts *bind.FilterOpts) (*VoterManagerVoterDeletedIterator, error) {
   661  
   662  	logs, sub, err := _VoterManager.contract.FilterLogs(opts, "VoterDeleted")
   663  	if err != nil {
   664  		return nil, err
   665  	}
   666  	return &VoterManagerVoterDeletedIterator{contract: _VoterManager.contract, event: "VoterDeleted", logs: logs, sub: sub}, nil
   667  }
   668  
   669  var VoterDeletedTopicHash = "0x654cd85d9b2abaf3affef0a047625d088e6e4d0448935c9b5016b5f5aa0ca3b6"
   670  
   671  // WatchVoterDeleted is a free log subscription operation binding the contract event 0x654cd85d9b2abaf3affef0a047625d088e6e4d0448935c9b5016b5f5aa0ca3b6.
   672  //
   673  // Solidity: event VoterDeleted(string _orgId, address _vAccount)
   674  func (_VoterManager *VoterManagerFilterer) WatchVoterDeleted(opts *bind.WatchOpts, sink chan<- *VoterManagerVoterDeleted) (event.Subscription, error) {
   675  
   676  	logs, sub, err := _VoterManager.contract.WatchLogs(opts, "VoterDeleted")
   677  	if err != nil {
   678  		return nil, err
   679  	}
   680  	return event.NewSubscription(func(quit <-chan struct{}) error {
   681  		defer sub.Unsubscribe()
   682  		for {
   683  			select {
   684  			case log := <-logs:
   685  				// New log arrived, parse the event and forward to the user
   686  				event := new(VoterManagerVoterDeleted)
   687  				if err := _VoterManager.contract.UnpackLog(event, "VoterDeleted", log); err != nil {
   688  					return err
   689  				}
   690  				event.Raw = log
   691  
   692  				select {
   693  				case sink <- event:
   694  				case err := <-sub.Err():
   695  					return err
   696  				case <-quit:
   697  					return nil
   698  				}
   699  			case err := <-sub.Err():
   700  				return err
   701  			case <-quit:
   702  				return nil
   703  			}
   704  		}
   705  	}), nil
   706  }
   707  
   708  // ParseVoterDeleted is a log parse operation binding the contract event 0x654cd85d9b2abaf3affef0a047625d088e6e4d0448935c9b5016b5f5aa0ca3b6.
   709  //
   710  // Solidity: event VoterDeleted(string _orgId, address _vAccount)
   711  func (_VoterManager *VoterManagerFilterer) ParseVoterDeleted(log types.Log) (*VoterManagerVoterDeleted, error) {
   712  	event := new(VoterManagerVoterDeleted)
   713  	if err := _VoterManager.contract.UnpackLog(event, "VoterDeleted", log); err != nil {
   714  		return nil, err
   715  	}
   716  	return event, nil
   717  }
   718  
   719  // VoterManagerVotingItemAddedIterator is returned from FilterVotingItemAdded and is used to iterate over the raw logs and unpacked data for VotingItemAdded events raised by the VoterManager contract.
   720  type VoterManagerVotingItemAddedIterator struct {
   721  	Event *VoterManagerVotingItemAdded // Event containing the contract specifics and raw log
   722  
   723  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   724  	event    string              // Event name to use for unpacking event data
   725  
   726  	logs chan types.Log        // Log channel receiving the found contract events
   727  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   728  	done bool                  // Whether the subscription completed delivering logs
   729  	fail error                 // Occurred error to stop iteration
   730  }
   731  
   732  // Next advances the iterator to the subsequent event, returning whether there
   733  // are any more events found. In case of a retrieval or parsing error, false is
   734  // returned and Error() can be queried for the exact failure.
   735  func (it *VoterManagerVotingItemAddedIterator) Next() bool {
   736  	// If the iterator failed, stop iterating
   737  	if it.fail != nil {
   738  		return false
   739  	}
   740  	// If the iterator completed, deliver directly whatever's available
   741  	if it.done {
   742  		select {
   743  		case log := <-it.logs:
   744  			it.Event = new(VoterManagerVotingItemAdded)
   745  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   746  				it.fail = err
   747  				return false
   748  			}
   749  			it.Event.Raw = log
   750  			return true
   751  
   752  		default:
   753  			return false
   754  		}
   755  	}
   756  	// Iterator still in progress, wait for either a data or an error event
   757  	select {
   758  	case log := <-it.logs:
   759  		it.Event = new(VoterManagerVotingItemAdded)
   760  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   761  			it.fail = err
   762  			return false
   763  		}
   764  		it.Event.Raw = log
   765  		return true
   766  
   767  	case err := <-it.sub.Err():
   768  		it.done = true
   769  		it.fail = err
   770  		return it.Next()
   771  	}
   772  }
   773  
   774  // Error returns any retrieval or parsing error occurred during filtering.
   775  func (it *VoterManagerVotingItemAddedIterator) Error() error {
   776  	return it.fail
   777  }
   778  
   779  // Close terminates the iteration process, releasing any pending underlying
   780  // resources.
   781  func (it *VoterManagerVotingItemAddedIterator) Close() error {
   782  	it.sub.Unsubscribe()
   783  	return nil
   784  }
   785  
   786  // VoterManagerVotingItemAdded represents a VotingItemAdded event raised by the VoterManager contract.
   787  type VoterManagerVotingItemAdded struct {
   788  	OrgId string
   789  	Raw   types.Log // Blockchain specific contextual infos
   790  }
   791  
   792  // FilterVotingItemAdded is a free log retrieval operation binding the contract event 0x5bfaebb5931145594f63236d2a59314c4dc6035b65d0ca4cee9c7298e2f06ca3.
   793  //
   794  // Solidity: event VotingItemAdded(string _orgId)
   795  func (_VoterManager *VoterManagerFilterer) FilterVotingItemAdded(opts *bind.FilterOpts) (*VoterManagerVotingItemAddedIterator, error) {
   796  
   797  	logs, sub, err := _VoterManager.contract.FilterLogs(opts, "VotingItemAdded")
   798  	if err != nil {
   799  		return nil, err
   800  	}
   801  	return &VoterManagerVotingItemAddedIterator{contract: _VoterManager.contract, event: "VotingItemAdded", logs: logs, sub: sub}, nil
   802  }
   803  
   804  var VotingItemAddedTopicHash = "0x5bfaebb5931145594f63236d2a59314c4dc6035b65d0ca4cee9c7298e2f06ca3"
   805  
   806  // WatchVotingItemAdded is a free log subscription operation binding the contract event 0x5bfaebb5931145594f63236d2a59314c4dc6035b65d0ca4cee9c7298e2f06ca3.
   807  //
   808  // Solidity: event VotingItemAdded(string _orgId)
   809  func (_VoterManager *VoterManagerFilterer) WatchVotingItemAdded(opts *bind.WatchOpts, sink chan<- *VoterManagerVotingItemAdded) (event.Subscription, error) {
   810  
   811  	logs, sub, err := _VoterManager.contract.WatchLogs(opts, "VotingItemAdded")
   812  	if err != nil {
   813  		return nil, err
   814  	}
   815  	return event.NewSubscription(func(quit <-chan struct{}) error {
   816  		defer sub.Unsubscribe()
   817  		for {
   818  			select {
   819  			case log := <-logs:
   820  				// New log arrived, parse the event and forward to the user
   821  				event := new(VoterManagerVotingItemAdded)
   822  				if err := _VoterManager.contract.UnpackLog(event, "VotingItemAdded", log); err != nil {
   823  					return err
   824  				}
   825  				event.Raw = log
   826  
   827  				select {
   828  				case sink <- event:
   829  				case err := <-sub.Err():
   830  					return err
   831  				case <-quit:
   832  					return nil
   833  				}
   834  			case err := <-sub.Err():
   835  				return err
   836  			case <-quit:
   837  				return nil
   838  			}
   839  		}
   840  	}), nil
   841  }
   842  
   843  // ParseVotingItemAdded is a log parse operation binding the contract event 0x5bfaebb5931145594f63236d2a59314c4dc6035b65d0ca4cee9c7298e2f06ca3.
   844  //
   845  // Solidity: event VotingItemAdded(string _orgId)
   846  func (_VoterManager *VoterManagerFilterer) ParseVotingItemAdded(log types.Log) (*VoterManagerVotingItemAdded, error) {
   847  	event := new(VoterManagerVotingItemAdded)
   848  	if err := _VoterManager.contract.UnpackLog(event, "VotingItemAdded", log); err != nil {
   849  		return nil, err
   850  	}
   851  	return event, nil
   852  }