github.com/xfers/quorum@v21.1.0+incompatible/permission/v1/bind/roles.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  // RoleManagerABI is the input ABI used to generate the binding from.
    31  const RoleManagerABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"getRoleDetails\",\"outputs\":[{\"name\":\"roleId\",\"type\":\"string\"},{\"name\":\"orgId\",\"type\":\"string\"},{\"name\":\"accessType\",\"type\":\"uint256\"},{\"name\":\"voter\",\"type\":\"bool\"},{\"name\":\"admin\",\"type\":\"bool\"},{\"name\":\"active\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_baseAccess\",\"type\":\"uint256\"},{\"name\":\"_isVoter\",\"type\":\"bool\"},{\"name\":\"_isAdmin\",\"type\":\"bool\"}],\"name\":\"addRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNumberOfRoles\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_rIndex\",\"type\":\"uint256\"}],\"name\":\"getRoleDetailsFromIndex\",\"outputs\":[{\"name\":\"roleId\",\"type\":\"string\"},{\"name\":\"orgId\",\"type\":\"string\"},{\"name\":\"accessType\",\"type\":\"uint256\"},{\"name\":\"voter\",\"type\":\"bool\"},{\"name\":\"admin\",\"type\":\"bool\"},{\"name\":\"active\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"removeRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_ultParent\",\"type\":\"string\"}],\"name\":\"roleExists\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_ultParent\",\"type\":\"string\"}],\"name\":\"isAdminRole\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_ultParent\",\"type\":\"string\"}],\"name\":\"isVoterRole\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_permUpgradable\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_roleId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_baseAccess\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_isVoter\",\"type\":\"bool\"},{\"indexed\":false,\"name\":\"_isAdmin\",\"type\":\"bool\"}],\"name\":\"RoleCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_roleId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"}]"
    32  
    33  var RoleManagerParsedABI, _ = abi.JSON(strings.NewReader(RoleManagerABI))
    34  
    35  // RoleManagerBin is the compiled bytecode used for deploying new contracts.
    36  var RoleManagerBin = "0x608060405234801561001057600080fd5b506040516020806122418339810180604052602081101561003057600080fd5b5051600080546001600160a01b039092166001600160a01b03199092169190911790556121df806100626000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063a63430121161005b578063a6343012146103ba578063abf5739f14610478578063be322e541461063a578063deb16ba71461074857610088565b80631870aba31461008d5780637b7135791461024957806387f55d3114610383578063a451d4a81461039d575b600080fd5b61014b600480360360408110156100a357600080fd5b810190602081018135600160201b8111156100bd57600080fd5b8201836020820111156100cf57600080fd5b803590602001918460018302840111600160201b831117156100f057600080fd5b919390929091602081019035600160201b81111561010d57600080fd5b82018360208201111561011f57600080fd5b803590602001918460018302840111600160201b8311171561014057600080fd5b509092509050610856565b604080519081018590528315156060820152821515608082015281151560a082015260c08082528751908201528651819060208083019160e08401918b019080838360005b838110156101a8578181015183820152602001610190565b50505050905090810190601f1680156101d55780820380516001836020036101000a031916815260200191505b5083810382528851815288516020918201918a019080838360005b838110156102085781810151838201526020016101f0565b50505050905090810190601f1680156102355780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b610381600480360360a081101561025f57600080fd5b810190602081018135600160201b81111561027957600080fd5b82018360208201111561028b57600080fd5b803590602001918460018302840111600160201b831117156102ac57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156102fe57600080fd5b82018360208201111561031057600080fd5b803590602001918460018302840111600160201b8311171561033157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135151590604001351515610bdc565b005b61038b611182565b60408051918252519081900360200190f35b61014b600480360360208110156103b357600080fd5b5035611189565b610381600480360360408110156103d057600080fd5b810190602081018135600160201b8111156103ea57600080fd5b8201836020820111156103fc57600080fd5b803590602001918460018302840111600160201b8311171561041d57600080fd5b919390929091602081019035600160201b81111561043a57600080fd5b82018360208201111561044c57600080fd5b803590602001918460018302840111600160201b8311171561046d57600080fd5b5090925090506113a7565b6106266004803603606081101561048e57600080fd5b810190602081018135600160201b8111156104a857600080fd5b8201836020820111156104ba57600080fd5b803590602001918460018302840111600160201b831117156104db57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561052d57600080fd5b82018360208201111561053f57600080fd5b803590602001918460018302840111600160201b8311171561056057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156105b257600080fd5b8201836020820111156105c457600080fd5b803590602001918460018302840111600160201b831117156105e557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506116a2945050505050565b604080519115158252519081900360200190f35b6106266004803603606081101561065057600080fd5b810190602081018135600160201b81111561066a57600080fd5b82018360208201111561067c57600080fd5b803590602001918460018302840111600160201b8311171561069d57600080fd5b919390929091602081019035600160201b8111156106ba57600080fd5b8201836020820111156106cc57600080fd5b803590602001918460018302840111600160201b831117156106ed57600080fd5b919390929091602081019035600160201b81111561070a57600080fd5b82018360208201111561071c57600080fd5b803590602001918460018302840111600160201b8311171561073d57600080fd5b509092509050611916565b6106266004803603606081101561075e57600080fd5b810190602081018135600160201b81111561077857600080fd5b82018360208201111561078a57600080fd5b803590602001918460018302840111600160201b831117156107ab57600080fd5b919390929091602081019035600160201b8111156107c857600080fd5b8201836020820111156107da57600080fd5b803590602001918460018302840111600160201b831117156107fb57600080fd5b919390929091602081019035600160201b81111561081857600080fd5b82018360208201111561082a57600080fd5b803590602001918460018302840111600160201b8311171561084b57600080fd5b509092509050611c96565b6060806000806000806108e08a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b90819084018382808284376000920182905250604080516020810190915290815292506116a2915050565b151561094a57898960008060008085858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805160208101909152908152939f50929d50959b509399509197509550610bcf945050505050565b60006109bf8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525061200b92505050565b90506001818154811015156109d057fe5b90600052602060002090600402016000016001828154811015156109f057fe5b9060005260206000209060040201600101600183815481101515610a1057fe5b906000526020600020906004020160020154600184815481101515610a3157fe5b60009182526020909120600360049092020101546001805460ff9092169186908110610a5957fe5b906000526020600020906004020160030160019054906101000a900460ff16600186815481101515610a8757fe5b6000918252602091829020600491909102016003015486546040805160026101006001851615026000190190931692909204601f81018590048502830185019091528082526201000090920460ff169290918891830182828015610b2c5780601f10610b0157610100808354040283529160200191610b2c565b820191906000526020600020905b815481529060010190602001808311610b0f57829003601f168201915b5050885460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959b508a945092508401905082828015610bba5780601f10610b8f57610100808354040283529160200191610bba565b820191906000526020600020905b815481529060010190602001808311610b9d57829003601f168201915b50505050509450965096509650965096509650505b9499939850945094509450565b6000809054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b158015610c2957600080fd5b505afa158015610c3d573d6000803e3d6000fd5b505050506040513d6020811015610c5357600080fd5b50516001600160a01b03163314610ca85760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b60048310610d005760408051600160e51b62461bcd02815260206004820152601460248201527f696e76616c6964206163636573732076616c7565000000000000000000000000604482015290519081900360640190fd5b600260008686604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610d4a578181015183820152602001610d32565b50505050905090810190601f168015610d775780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610daa578181015183820152602001610d92565b50505050905090810190601f168015610dd75780820380516001836020036101000a031916815260200191505b50945050505050604051602081830303815290604052805190602001208152602001908152602001600020546000141515610e5c5760408051600160e51b62461bcd02815260206004820152601760248201527f726f6c652065786973747320666f7220746865206f7267000000000000000000604482015290519081900360640190fd5b60038054600101908190556040805160208082018381528951606084015289516002946000948c948c94938493830192608001918701908083838b5b83811015610eb0578181015183820152602001610e98565b50505050905090810190601f168015610edd5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610f10578181015183820152602001610ef8565b50505050905090810190601f168015610f3d5780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208852878201989098529587016000908120989098555050845160c0810186528b81528085018b905294850189905250505084151560608301528315156080830152600160a083018190528054808201808355919094528251805191946004027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60192610fe79284929091019061211b565b506020828101518051611000926001850192019061211b565b5060408281015160028301556060808401516003909301805460808087015160a09788015160ff199093169615159690961761ff001916610100961515969096029590951762ff0000191662010000911515919091021790558151918201889052861515908201528415159181019190915281815287519181019190915286517fefa5bc1bedbee25b04b00855c15a0c180ecb4a2440d4d08296e49561655e2b1c92508791879187918791879190819060208083019160c08401918a019080838360005b838110156110dc5781810151838201526020016110c4565b50505050905090810190601f1680156111095780820380516001836020036101000a031916815260200191505b50838103825287518152875160209182019189019080838360005b8381101561113c578181015183820152602001611124565b50505050905090810190601f1680156111695780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15050505050565b6001545b90565b6060806000806000806001878154811015156111a157fe5b90600052602060002090600402016000016001888154811015156111c157fe5b90600052602060002090600402016001016001898154811015156111e157fe5b90600052602060002090600402016002015460018a81548110151561120257fe5b60009182526020909120600360049092020101546001805460ff909216918c90811061122a57fe5b906000526020600020906004020160030160019054906101000a900460ff1660018c81548110151561125857fe5b6000918252602091829020600491909102016003015486546040805160026101006001851615026000190190931692909204601f81018590048502830185019091528082526201000090920460ff1692909188918301828280156112fd5780601f106112d2576101008083540402835291602001916112fd565b820191906000526020600020905b8154815290600101906020018083116112e057829003601f168201915b5050885460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959b508a94509250840190508282801561138b5780601f106113605761010080835404028352916020019161138b565b820191906000526020600020905b81548152906001019060200180831161136e57829003601f168201915b5050505050945095509550955095509550955091939550919395565b6000809054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b1580156113f457600080fd5b505afa158015611408573d6000803e3d6000fd5b505050506040513d602081101561141e57600080fd5b50516001600160a01b031633146114735760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b60026000858585856040516020018080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f82011690508083019250505096505050505050506040516020818303038152906040528051906020012081526020019081526020016000205460001415151561155f5760408051600160e51b62461bcd02815260206004820152601360248201527f726f6c6520646f6573206e6f7420657869737400000000000000000000000000604482015290519081900360640190fd5b60006115d485858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8901819004810282018101909252878152925087915086908190840183828082843760009201919091525061200b92505050565b905060006001828154811015156115e757fe5b906000526020600020906004020160030160026101000a81548160ff0219169083151502179055507f1196059dd83524bf989fd94bb65808c09dbea2ab791fb6bfa87a0e0aa64b2ea6858585856040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a15050505050565b600080600260008686604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b838110156116ef5781810151838201526020016116d7565b50505050905090810190601f16801561171c5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561174f578181015183820152602001611737565b50505050905090810190601f16801561177c5780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040528051906020012081526020019081526020016000205460001415156117f3576117bb858561200b565b90506001818154811015156117cc57fe5b906000526020600020906004020160030160029054906101000a900460ff1691505061190f565b600260008685604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561183d578181015183820152602001611825565b50505050905090810190601f16801561186a5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561189d578181015183820152602001611885565b50505050905090810190601f1680156118ca5780820380516001836020036101000a031916815260200191505b50945050505050604051602081830303815290604052805190602001208152602001908152602001600020546000141515611909576117bb858461200b565b60009150505b9392505050565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b15801561196557600080fd5b505afa158015611979573d6000803e3d6000fd5b505050506040513d602081101561198f57600080fd5b50516001600160a01b031633146119e45760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b611a8b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525050604080516020601f8a0181900481028201810190925288815292508891508790819084018382808284376000920191909152506116a292505050565b1515611a9957506000611c8c565b600060026000898989896040516020018080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052805190602001208152602001908152602001600020546000141515611bb057611ba988888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a915089908190840183828082843760009201919091525061200b92505050565b9050611c26565b611c2388888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a01819004810282018101909252888152925088915087908190840183828082843760009201919091525061200b92505050565b90505b6001805482908110611c3457fe5b906000526020600020906004020160030160029054906101000a900460ff168015611c8857506001805482908110611c6857fe5b906000526020600020906004020160030160019054906101000a900460ff165b9150505b9695505050505050565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b158015611ce557600080fd5b505afa158015611cf9573d6000803e3d6000fd5b505050506040513d6020811015611d0f57600080fd5b50516001600160a01b03163314611d645760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b611e0b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525050604080516020601f8a0181900481028201810190925288815292508891508790819084018382808284376000920191909152506116a292505050565b1515611e1957506000611c8c565b600060026000898989896040516020018080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052805190602001208152602001908152602001600020546000141515611f3057611f2988888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a915089908190840183828082843760009201919091525061200b92505050565b9050611fa6565b611fa388888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a01819004810282018101909252888152925088915087908190840183828082843760009201919091525061200b92505050565b90505b6001805482908110611fb457fe5b906000526020600020906004020160030160029054906101000a900460ff168015611c8857506001805482908110611fe857fe5b600091825260209091206004909102016003015460ff1698975050505050505050565b60006001600260008585604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b83811015612059578181015183820152602001612041565b50505050905090810190601f1680156120865780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156120b95781810151838201526020016120a1565b50505050905090810190601f1680156120e65780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040528051906020012081526020019081526020016000205403905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061215c57805160ff1916838001178555612189565b82800160010185558215612189579182015b8281111561218957825182559160200191906001019061216e565b50612195929150612199565b5090565b61118691905b80821115612195576000815560010161219f56fea165627a7a723058209059a9af47943da0750b529cb5cf17b9f0745cfb3bea00dad68345c815bbec800029"
    37  
    38  // DeployRoleManager deploys a new Ethereum contract, binding an instance of RoleManager to it.
    39  func DeployRoleManager(auth *bind.TransactOpts, backend bind.ContractBackend, _permUpgradable common.Address) (common.Address, *types.Transaction, *RoleManager, error) {
    40  	parsed, err := abi.JSON(strings.NewReader(RoleManagerABI))
    41  	if err != nil {
    42  		return common.Address{}, nil, nil, err
    43  	}
    44  
    45  	address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(RoleManagerBin), backend, _permUpgradable)
    46  	if err != nil {
    47  		return common.Address{}, nil, nil, err
    48  	}
    49  	return address, tx, &RoleManager{RoleManagerCaller: RoleManagerCaller{contract: contract}, RoleManagerTransactor: RoleManagerTransactor{contract: contract}, RoleManagerFilterer: RoleManagerFilterer{contract: contract}}, nil
    50  }
    51  
    52  // RoleManager is an auto generated Go binding around an Ethereum contract.
    53  type RoleManager struct {
    54  	RoleManagerCaller     // Read-only binding to the contract
    55  	RoleManagerTransactor // Write-only binding to the contract
    56  	RoleManagerFilterer   // Log filterer for contract events
    57  }
    58  
    59  // RoleManagerCaller is an auto generated read-only Go binding around an Ethereum contract.
    60  type RoleManagerCaller struct {
    61  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    62  }
    63  
    64  // RoleManagerTransactor is an auto generated write-only Go binding around an Ethereum contract.
    65  type RoleManagerTransactor struct {
    66  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    67  }
    68  
    69  // RoleManagerFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    70  type RoleManagerFilterer struct {
    71  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    72  }
    73  
    74  // RoleManagerSession is an auto generated Go binding around an Ethereum contract,
    75  // with pre-set call and transact options.
    76  type RoleManagerSession struct {
    77  	Contract     *RoleManager      // 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  // RoleManagerCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    83  // with pre-set call options.
    84  type RoleManagerCallerSession struct {
    85  	Contract *RoleManagerCaller // Generic contract caller binding to set the session for
    86  	CallOpts bind.CallOpts      // Call options to use throughout this session
    87  }
    88  
    89  // RoleManagerTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    90  // with pre-set transact options.
    91  type RoleManagerTransactorSession struct {
    92  	Contract     *RoleManagerTransactor // Generic contract transactor binding to set the session for
    93  	TransactOpts bind.TransactOpts      // Transaction auth options to use throughout this session
    94  }
    95  
    96  // RoleManagerRaw is an auto generated low-level Go binding around an Ethereum contract.
    97  type RoleManagerRaw struct {
    98  	Contract *RoleManager // Generic contract binding to access the raw methods on
    99  }
   100  
   101  // RoleManagerCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
   102  type RoleManagerCallerRaw struct {
   103  	Contract *RoleManagerCaller // Generic read-only contract binding to access the raw methods on
   104  }
   105  
   106  // RoleManagerTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
   107  type RoleManagerTransactorRaw struct {
   108  	Contract *RoleManagerTransactor // Generic write-only contract binding to access the raw methods on
   109  }
   110  
   111  // NewRoleManager creates a new instance of RoleManager, bound to a specific deployed contract.
   112  func NewRoleManager(address common.Address, backend bind.ContractBackend) (*RoleManager, error) {
   113  	contract, err := bindRoleManager(address, backend, backend, backend)
   114  	if err != nil {
   115  		return nil, err
   116  	}
   117  	return &RoleManager{RoleManagerCaller: RoleManagerCaller{contract: contract}, RoleManagerTransactor: RoleManagerTransactor{contract: contract}, RoleManagerFilterer: RoleManagerFilterer{contract: contract}}, nil
   118  }
   119  
   120  // NewRoleManagerCaller creates a new read-only instance of RoleManager, bound to a specific deployed contract.
   121  func NewRoleManagerCaller(address common.Address, caller bind.ContractCaller) (*RoleManagerCaller, error) {
   122  	contract, err := bindRoleManager(address, caller, nil, nil)
   123  	if err != nil {
   124  		return nil, err
   125  	}
   126  	return &RoleManagerCaller{contract: contract}, nil
   127  }
   128  
   129  // NewRoleManagerTransactor creates a new write-only instance of RoleManager, bound to a specific deployed contract.
   130  func NewRoleManagerTransactor(address common.Address, transactor bind.ContractTransactor) (*RoleManagerTransactor, error) {
   131  	contract, err := bindRoleManager(address, nil, transactor, nil)
   132  	if err != nil {
   133  		return nil, err
   134  	}
   135  	return &RoleManagerTransactor{contract: contract}, nil
   136  }
   137  
   138  // NewRoleManagerFilterer creates a new log filterer instance of RoleManager, bound to a specific deployed contract.
   139  func NewRoleManagerFilterer(address common.Address, filterer bind.ContractFilterer) (*RoleManagerFilterer, error) {
   140  	contract, err := bindRoleManager(address, nil, nil, filterer)
   141  	if err != nil {
   142  		return nil, err
   143  	}
   144  	return &RoleManagerFilterer{contract: contract}, nil
   145  }
   146  
   147  // bindRoleManager binds a generic wrapper to an already deployed contract.
   148  func bindRoleManager(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   149  	parsed, err := abi.JSON(strings.NewReader(RoleManagerABI))
   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 (_RoleManager *RoleManagerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
   161  	return _RoleManager.Contract.RoleManagerCaller.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 (_RoleManager *RoleManagerRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   167  	return _RoleManager.Contract.RoleManagerTransactor.contract.Transfer(opts)
   168  }
   169  
   170  // Transact invokes the (paid) contract method with params as input values.
   171  func (_RoleManager *RoleManagerRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   172  	return _RoleManager.Contract.RoleManagerTransactor.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 (_RoleManager *RoleManagerCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
   180  	return _RoleManager.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 (_RoleManager *RoleManagerTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   186  	return _RoleManager.Contract.contract.Transfer(opts)
   187  }
   188  
   189  // Transact invokes the (paid) contract method with params as input values.
   190  func (_RoleManager *RoleManagerTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   191  	return _RoleManager.Contract.contract.Transact(opts, method, params...)
   192  }
   193  
   194  // GetNumberOfRoles is a free data retrieval call binding the contract method 0x87f55d31.
   195  //
   196  // Solidity: function getNumberOfRoles() constant returns(uint256)
   197  func (_RoleManager *RoleManagerCaller) GetNumberOfRoles(opts *bind.CallOpts) (*big.Int, error) {
   198  	var (
   199  		ret0 = new(*big.Int)
   200  	)
   201  	out := ret0
   202  	err := _RoleManager.contract.Call(opts, out, "getNumberOfRoles")
   203  	return *ret0, err
   204  }
   205  
   206  // GetNumberOfRoles is a free data retrieval call binding the contract method 0x87f55d31.
   207  //
   208  // Solidity: function getNumberOfRoles() constant returns(uint256)
   209  func (_RoleManager *RoleManagerSession) GetNumberOfRoles() (*big.Int, error) {
   210  	return _RoleManager.Contract.GetNumberOfRoles(&_RoleManager.CallOpts)
   211  }
   212  
   213  // GetNumberOfRoles is a free data retrieval call binding the contract method 0x87f55d31.
   214  //
   215  // Solidity: function getNumberOfRoles() constant returns(uint256)
   216  func (_RoleManager *RoleManagerCallerSession) GetNumberOfRoles() (*big.Int, error) {
   217  	return _RoleManager.Contract.GetNumberOfRoles(&_RoleManager.CallOpts)
   218  }
   219  
   220  // GetRoleDetails is a free data retrieval call binding the contract method 0x1870aba3.
   221  //
   222  // Solidity: function getRoleDetails(string _roleId, string _orgId) constant returns(string roleId, string orgId, uint256 accessType, bool voter, bool admin, bool active)
   223  func (_RoleManager *RoleManagerCaller) GetRoleDetails(opts *bind.CallOpts, _roleId string, _orgId string) (struct {
   224  	RoleId     string
   225  	OrgId      string
   226  	AccessType *big.Int
   227  	Voter      bool
   228  	Admin      bool
   229  	Active     bool
   230  }, error) {
   231  	ret := new(struct {
   232  		RoleId     string
   233  		OrgId      string
   234  		AccessType *big.Int
   235  		Voter      bool
   236  		Admin      bool
   237  		Active     bool
   238  	})
   239  	out := ret
   240  	err := _RoleManager.contract.Call(opts, out, "getRoleDetails", _roleId, _orgId)
   241  	return *ret, err
   242  }
   243  
   244  // GetRoleDetails is a free data retrieval call binding the contract method 0x1870aba3.
   245  //
   246  // Solidity: function getRoleDetails(string _roleId, string _orgId) constant returns(string roleId, string orgId, uint256 accessType, bool voter, bool admin, bool active)
   247  func (_RoleManager *RoleManagerSession) GetRoleDetails(_roleId string, _orgId string) (struct {
   248  	RoleId     string
   249  	OrgId      string
   250  	AccessType *big.Int
   251  	Voter      bool
   252  	Admin      bool
   253  	Active     bool
   254  }, error) {
   255  	return _RoleManager.Contract.GetRoleDetails(&_RoleManager.CallOpts, _roleId, _orgId)
   256  }
   257  
   258  // GetRoleDetails is a free data retrieval call binding the contract method 0x1870aba3.
   259  //
   260  // Solidity: function getRoleDetails(string _roleId, string _orgId) constant returns(string roleId, string orgId, uint256 accessType, bool voter, bool admin, bool active)
   261  func (_RoleManager *RoleManagerCallerSession) GetRoleDetails(_roleId string, _orgId string) (struct {
   262  	RoleId     string
   263  	OrgId      string
   264  	AccessType *big.Int
   265  	Voter      bool
   266  	Admin      bool
   267  	Active     bool
   268  }, error) {
   269  	return _RoleManager.Contract.GetRoleDetails(&_RoleManager.CallOpts, _roleId, _orgId)
   270  }
   271  
   272  // GetRoleDetailsFromIndex is a free data retrieval call binding the contract method 0xa451d4a8.
   273  //
   274  // Solidity: function getRoleDetailsFromIndex(uint256 _rIndex) constant returns(string roleId, string orgId, uint256 accessType, bool voter, bool admin, bool active)
   275  func (_RoleManager *RoleManagerCaller) GetRoleDetailsFromIndex(opts *bind.CallOpts, _rIndex *big.Int) (struct {
   276  	RoleId     string
   277  	OrgId      string
   278  	AccessType *big.Int
   279  	Voter      bool
   280  	Admin      bool
   281  	Active     bool
   282  }, error) {
   283  	ret := new(struct {
   284  		RoleId     string
   285  		OrgId      string
   286  		AccessType *big.Int
   287  		Voter      bool
   288  		Admin      bool
   289  		Active     bool
   290  	})
   291  	out := ret
   292  	err := _RoleManager.contract.Call(opts, out, "getRoleDetailsFromIndex", _rIndex)
   293  	return *ret, err
   294  }
   295  
   296  // GetRoleDetailsFromIndex is a free data retrieval call binding the contract method 0xa451d4a8.
   297  //
   298  // Solidity: function getRoleDetailsFromIndex(uint256 _rIndex) constant returns(string roleId, string orgId, uint256 accessType, bool voter, bool admin, bool active)
   299  func (_RoleManager *RoleManagerSession) GetRoleDetailsFromIndex(_rIndex *big.Int) (struct {
   300  	RoleId     string
   301  	OrgId      string
   302  	AccessType *big.Int
   303  	Voter      bool
   304  	Admin      bool
   305  	Active     bool
   306  }, error) {
   307  	return _RoleManager.Contract.GetRoleDetailsFromIndex(&_RoleManager.CallOpts, _rIndex)
   308  }
   309  
   310  // GetRoleDetailsFromIndex is a free data retrieval call binding the contract method 0xa451d4a8.
   311  //
   312  // Solidity: function getRoleDetailsFromIndex(uint256 _rIndex) constant returns(string roleId, string orgId, uint256 accessType, bool voter, bool admin, bool active)
   313  func (_RoleManager *RoleManagerCallerSession) GetRoleDetailsFromIndex(_rIndex *big.Int) (struct {
   314  	RoleId     string
   315  	OrgId      string
   316  	AccessType *big.Int
   317  	Voter      bool
   318  	Admin      bool
   319  	Active     bool
   320  }, error) {
   321  	return _RoleManager.Contract.GetRoleDetailsFromIndex(&_RoleManager.CallOpts, _rIndex)
   322  }
   323  
   324  // IsAdminRole is a free data retrieval call binding the contract method 0xbe322e54.
   325  //
   326  // Solidity: function isAdminRole(string _roleId, string _orgId, string _ultParent) constant returns(bool)
   327  func (_RoleManager *RoleManagerCaller) IsAdminRole(opts *bind.CallOpts, _roleId string, _orgId string, _ultParent string) (bool, error) {
   328  	var (
   329  		ret0 = new(bool)
   330  	)
   331  	out := ret0
   332  	err := _RoleManager.contract.Call(opts, out, "isAdminRole", _roleId, _orgId, _ultParent)
   333  	return *ret0, err
   334  }
   335  
   336  // IsAdminRole is a free data retrieval call binding the contract method 0xbe322e54.
   337  //
   338  // Solidity: function isAdminRole(string _roleId, string _orgId, string _ultParent) constant returns(bool)
   339  func (_RoleManager *RoleManagerSession) IsAdminRole(_roleId string, _orgId string, _ultParent string) (bool, error) {
   340  	return _RoleManager.Contract.IsAdminRole(&_RoleManager.CallOpts, _roleId, _orgId, _ultParent)
   341  }
   342  
   343  // IsAdminRole is a free data retrieval call binding the contract method 0xbe322e54.
   344  //
   345  // Solidity: function isAdminRole(string _roleId, string _orgId, string _ultParent) constant returns(bool)
   346  func (_RoleManager *RoleManagerCallerSession) IsAdminRole(_roleId string, _orgId string, _ultParent string) (bool, error) {
   347  	return _RoleManager.Contract.IsAdminRole(&_RoleManager.CallOpts, _roleId, _orgId, _ultParent)
   348  }
   349  
   350  // IsVoterRole is a free data retrieval call binding the contract method 0xdeb16ba7.
   351  //
   352  // Solidity: function isVoterRole(string _roleId, string _orgId, string _ultParent) constant returns(bool)
   353  func (_RoleManager *RoleManagerCaller) IsVoterRole(opts *bind.CallOpts, _roleId string, _orgId string, _ultParent string) (bool, error) {
   354  	var (
   355  		ret0 = new(bool)
   356  	)
   357  	out := ret0
   358  	err := _RoleManager.contract.Call(opts, out, "isVoterRole", _roleId, _orgId, _ultParent)
   359  	return *ret0, err
   360  }
   361  
   362  // IsVoterRole is a free data retrieval call binding the contract method 0xdeb16ba7.
   363  //
   364  // Solidity: function isVoterRole(string _roleId, string _orgId, string _ultParent) constant returns(bool)
   365  func (_RoleManager *RoleManagerSession) IsVoterRole(_roleId string, _orgId string, _ultParent string) (bool, error) {
   366  	return _RoleManager.Contract.IsVoterRole(&_RoleManager.CallOpts, _roleId, _orgId, _ultParent)
   367  }
   368  
   369  // IsVoterRole is a free data retrieval call binding the contract method 0xdeb16ba7.
   370  //
   371  // Solidity: function isVoterRole(string _roleId, string _orgId, string _ultParent) constant returns(bool)
   372  func (_RoleManager *RoleManagerCallerSession) IsVoterRole(_roleId string, _orgId string, _ultParent string) (bool, error) {
   373  	return _RoleManager.Contract.IsVoterRole(&_RoleManager.CallOpts, _roleId, _orgId, _ultParent)
   374  }
   375  
   376  // RoleExists is a free data retrieval call binding the contract method 0xabf5739f.
   377  //
   378  // Solidity: function roleExists(string _roleId, string _orgId, string _ultParent) constant returns(bool)
   379  func (_RoleManager *RoleManagerCaller) RoleExists(opts *bind.CallOpts, _roleId string, _orgId string, _ultParent string) (bool, error) {
   380  	var (
   381  		ret0 = new(bool)
   382  	)
   383  	out := ret0
   384  	err := _RoleManager.contract.Call(opts, out, "roleExists", _roleId, _orgId, _ultParent)
   385  	return *ret0, err
   386  }
   387  
   388  // RoleExists is a free data retrieval call binding the contract method 0xabf5739f.
   389  //
   390  // Solidity: function roleExists(string _roleId, string _orgId, string _ultParent) constant returns(bool)
   391  func (_RoleManager *RoleManagerSession) RoleExists(_roleId string, _orgId string, _ultParent string) (bool, error) {
   392  	return _RoleManager.Contract.RoleExists(&_RoleManager.CallOpts, _roleId, _orgId, _ultParent)
   393  }
   394  
   395  // RoleExists is a free data retrieval call binding the contract method 0xabf5739f.
   396  //
   397  // Solidity: function roleExists(string _roleId, string _orgId, string _ultParent) constant returns(bool)
   398  func (_RoleManager *RoleManagerCallerSession) RoleExists(_roleId string, _orgId string, _ultParent string) (bool, error) {
   399  	return _RoleManager.Contract.RoleExists(&_RoleManager.CallOpts, _roleId, _orgId, _ultParent)
   400  }
   401  
   402  // AddRole is a paid mutator transaction binding the contract method 0x7b713579.
   403  //
   404  // Solidity: function addRole(string _roleId, string _orgId, uint256 _baseAccess, bool _isVoter, bool _isAdmin) returns()
   405  func (_RoleManager *RoleManagerTransactor) AddRole(opts *bind.TransactOpts, _roleId string, _orgId string, _baseAccess *big.Int, _isVoter bool, _isAdmin bool) (*types.Transaction, error) {
   406  	return _RoleManager.contract.Transact(opts, "addRole", _roleId, _orgId, _baseAccess, _isVoter, _isAdmin)
   407  }
   408  
   409  // AddRole is a paid mutator transaction binding the contract method 0x7b713579.
   410  //
   411  // Solidity: function addRole(string _roleId, string _orgId, uint256 _baseAccess, bool _isVoter, bool _isAdmin) returns()
   412  func (_RoleManager *RoleManagerSession) AddRole(_roleId string, _orgId string, _baseAccess *big.Int, _isVoter bool, _isAdmin bool) (*types.Transaction, error) {
   413  	return _RoleManager.Contract.AddRole(&_RoleManager.TransactOpts, _roleId, _orgId, _baseAccess, _isVoter, _isAdmin)
   414  }
   415  
   416  // AddRole is a paid mutator transaction binding the contract method 0x7b713579.
   417  //
   418  // Solidity: function addRole(string _roleId, string _orgId, uint256 _baseAccess, bool _isVoter, bool _isAdmin) returns()
   419  func (_RoleManager *RoleManagerTransactorSession) AddRole(_roleId string, _orgId string, _baseAccess *big.Int, _isVoter bool, _isAdmin bool) (*types.Transaction, error) {
   420  	return _RoleManager.Contract.AddRole(&_RoleManager.TransactOpts, _roleId, _orgId, _baseAccess, _isVoter, _isAdmin)
   421  }
   422  
   423  // RemoveRole is a paid mutator transaction binding the contract method 0xa6343012.
   424  //
   425  // Solidity: function removeRole(string _roleId, string _orgId) returns()
   426  func (_RoleManager *RoleManagerTransactor) RemoveRole(opts *bind.TransactOpts, _roleId string, _orgId string) (*types.Transaction, error) {
   427  	return _RoleManager.contract.Transact(opts, "removeRole", _roleId, _orgId)
   428  }
   429  
   430  // RemoveRole is a paid mutator transaction binding the contract method 0xa6343012.
   431  //
   432  // Solidity: function removeRole(string _roleId, string _orgId) returns()
   433  func (_RoleManager *RoleManagerSession) RemoveRole(_roleId string, _orgId string) (*types.Transaction, error) {
   434  	return _RoleManager.Contract.RemoveRole(&_RoleManager.TransactOpts, _roleId, _orgId)
   435  }
   436  
   437  // RemoveRole is a paid mutator transaction binding the contract method 0xa6343012.
   438  //
   439  // Solidity: function removeRole(string _roleId, string _orgId) returns()
   440  func (_RoleManager *RoleManagerTransactorSession) RemoveRole(_roleId string, _orgId string) (*types.Transaction, error) {
   441  	return _RoleManager.Contract.RemoveRole(&_RoleManager.TransactOpts, _roleId, _orgId)
   442  }
   443  
   444  // RoleManagerRoleCreatedIterator is returned from FilterRoleCreated and is used to iterate over the raw logs and unpacked data for RoleCreated events raised by the RoleManager contract.
   445  type RoleManagerRoleCreatedIterator struct {
   446  	Event *RoleManagerRoleCreated // Event containing the contract specifics and raw log
   447  
   448  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   449  	event    string              // Event name to use for unpacking event data
   450  
   451  	logs chan types.Log        // Log channel receiving the found contract events
   452  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   453  	done bool                  // Whether the subscription completed delivering logs
   454  	fail error                 // Occurred error to stop iteration
   455  }
   456  
   457  // Next advances the iterator to the subsequent event, returning whether there
   458  // are any more events found. In case of a retrieval or parsing error, false is
   459  // returned and Error() can be queried for the exact failure.
   460  func (it *RoleManagerRoleCreatedIterator) Next() bool {
   461  	// If the iterator failed, stop iterating
   462  	if it.fail != nil {
   463  		return false
   464  	}
   465  	// If the iterator completed, deliver directly whatever's available
   466  	if it.done {
   467  		select {
   468  		case log := <-it.logs:
   469  			it.Event = new(RoleManagerRoleCreated)
   470  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   471  				it.fail = err
   472  				return false
   473  			}
   474  			it.Event.Raw = log
   475  			return true
   476  
   477  		default:
   478  			return false
   479  		}
   480  	}
   481  	// Iterator still in progress, wait for either a data or an error event
   482  	select {
   483  	case log := <-it.logs:
   484  		it.Event = new(RoleManagerRoleCreated)
   485  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   486  			it.fail = err
   487  			return false
   488  		}
   489  		it.Event.Raw = log
   490  		return true
   491  
   492  	case err := <-it.sub.Err():
   493  		it.done = true
   494  		it.fail = err
   495  		return it.Next()
   496  	}
   497  }
   498  
   499  // Error returns any retrieval or parsing error occurred during filtering.
   500  func (it *RoleManagerRoleCreatedIterator) Error() error {
   501  	return it.fail
   502  }
   503  
   504  // Close terminates the iteration process, releasing any pending underlying
   505  // resources.
   506  func (it *RoleManagerRoleCreatedIterator) Close() error {
   507  	it.sub.Unsubscribe()
   508  	return nil
   509  }
   510  
   511  // RoleManagerRoleCreated represents a RoleCreated event raised by the RoleManager contract.
   512  type RoleManagerRoleCreated struct {
   513  	RoleId     string
   514  	OrgId      string
   515  	BaseAccess *big.Int
   516  	IsVoter    bool
   517  	IsAdmin    bool
   518  	Raw        types.Log // Blockchain specific contextual infos
   519  }
   520  
   521  // FilterRoleCreated is a free log retrieval operation binding the contract event 0xefa5bc1bedbee25b04b00855c15a0c180ecb4a2440d4d08296e49561655e2b1c.
   522  //
   523  // Solidity: event RoleCreated(string _roleId, string _orgId, uint256 _baseAccess, bool _isVoter, bool _isAdmin)
   524  func (_RoleManager *RoleManagerFilterer) FilterRoleCreated(opts *bind.FilterOpts) (*RoleManagerRoleCreatedIterator, error) {
   525  
   526  	logs, sub, err := _RoleManager.contract.FilterLogs(opts, "RoleCreated")
   527  	if err != nil {
   528  		return nil, err
   529  	}
   530  	return &RoleManagerRoleCreatedIterator{contract: _RoleManager.contract, event: "RoleCreated", logs: logs, sub: sub}, nil
   531  }
   532  
   533  var RoleCreatedTopicHash = "0xefa5bc1bedbee25b04b00855c15a0c180ecb4a2440d4d08296e49561655e2b1c"
   534  
   535  // WatchRoleCreated is a free log subscription operation binding the contract event 0xefa5bc1bedbee25b04b00855c15a0c180ecb4a2440d4d08296e49561655e2b1c.
   536  //
   537  // Solidity: event RoleCreated(string _roleId, string _orgId, uint256 _baseAccess, bool _isVoter, bool _isAdmin)
   538  func (_RoleManager *RoleManagerFilterer) WatchRoleCreated(opts *bind.WatchOpts, sink chan<- *RoleManagerRoleCreated) (event.Subscription, error) {
   539  
   540  	logs, sub, err := _RoleManager.contract.WatchLogs(opts, "RoleCreated")
   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(RoleManagerRoleCreated)
   551  				if err := _RoleManager.contract.UnpackLog(event, "RoleCreated", 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  // ParseRoleCreated is a log parse operation binding the contract event 0xefa5bc1bedbee25b04b00855c15a0c180ecb4a2440d4d08296e49561655e2b1c.
   573  //
   574  // Solidity: event RoleCreated(string _roleId, string _orgId, uint256 _baseAccess, bool _isVoter, bool _isAdmin)
   575  func (_RoleManager *RoleManagerFilterer) ParseRoleCreated(log types.Log) (*RoleManagerRoleCreated, error) {
   576  	event := new(RoleManagerRoleCreated)
   577  	if err := _RoleManager.contract.UnpackLog(event, "RoleCreated", log); err != nil {
   578  		return nil, err
   579  	}
   580  	return event, nil
   581  }
   582  
   583  // RoleManagerRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the RoleManager contract.
   584  type RoleManagerRoleRevokedIterator struct {
   585  	Event *RoleManagerRoleRevoked // 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 *RoleManagerRoleRevokedIterator) 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(RoleManagerRoleRevoked)
   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(RoleManagerRoleRevoked)
   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 *RoleManagerRoleRevokedIterator) Error() error {
   640  	return it.fail
   641  }
   642  
   643  // Close terminates the iteration process, releasing any pending underlying
   644  // resources.
   645  func (it *RoleManagerRoleRevokedIterator) Close() error {
   646  	it.sub.Unsubscribe()
   647  	return nil
   648  }
   649  
   650  // RoleManagerRoleRevoked represents a RoleRevoked event raised by the RoleManager contract.
   651  type RoleManagerRoleRevoked struct {
   652  	RoleId string
   653  	OrgId  string
   654  	Raw    types.Log // Blockchain specific contextual infos
   655  }
   656  
   657  // FilterRoleRevoked is a free log retrieval operation binding the contract event 0x1196059dd83524bf989fd94bb65808c09dbea2ab791fb6bfa87a0e0aa64b2ea6.
   658  //
   659  // Solidity: event RoleRevoked(string _roleId, string _orgId)
   660  func (_RoleManager *RoleManagerFilterer) FilterRoleRevoked(opts *bind.FilterOpts) (*RoleManagerRoleRevokedIterator, error) {
   661  
   662  	logs, sub, err := _RoleManager.contract.FilterLogs(opts, "RoleRevoked")
   663  	if err != nil {
   664  		return nil, err
   665  	}
   666  	return &RoleManagerRoleRevokedIterator{contract: _RoleManager.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil
   667  }
   668  
   669  var RoleRevokedTopicHash = "0x1196059dd83524bf989fd94bb65808c09dbea2ab791fb6bfa87a0e0aa64b2ea6"
   670  
   671  // WatchRoleRevoked is a free log subscription operation binding the contract event 0x1196059dd83524bf989fd94bb65808c09dbea2ab791fb6bfa87a0e0aa64b2ea6.
   672  //
   673  // Solidity: event RoleRevoked(string _roleId, string _orgId)
   674  func (_RoleManager *RoleManagerFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *RoleManagerRoleRevoked) (event.Subscription, error) {
   675  
   676  	logs, sub, err := _RoleManager.contract.WatchLogs(opts, "RoleRevoked")
   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(RoleManagerRoleRevoked)
   687  				if err := _RoleManager.contract.UnpackLog(event, "RoleRevoked", 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  // ParseRoleRevoked is a log parse operation binding the contract event 0x1196059dd83524bf989fd94bb65808c09dbea2ab791fb6bfa87a0e0aa64b2ea6.
   709  //
   710  // Solidity: event RoleRevoked(string _roleId, string _orgId)
   711  func (_RoleManager *RoleManagerFilterer) ParseRoleRevoked(log types.Log) (*RoleManagerRoleRevoked, error) {
   712  	event := new(RoleManagerRoleRevoked)
   713  	if err := _RoleManager.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
   714  		return nil, err
   715  	}
   716  	return event, nil
   717  }