github.com/kisexp/xdchain@v0.0.0-20211206025815-490d6b732aa7/permission/v2/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 bind
     5  
     6  import (
     7  	"math/big"
     8  	"strings"
     9  
    10  	ethereum "github.com/kisexp/xdchain"
    11  	"github.com/kisexp/xdchain/accounts/abi"
    12  	"github.com/kisexp/xdchain/accounts/abi/bind"
    13  	"github.com/kisexp/xdchain/common"
    14  	"github.com/kisexp/xdchain/core/types"
    15  	"github.com/kisexp/xdchain/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  	_ = bind.Bind
    24  	_ = common.Big1
    25  	_ = types.BloomLookup
    26  	_ = event.NewSubscription
    27  )
    28  
    29  // RoleManagerABI is the input ABI used to generate the binding from.
    30  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\":\"roleAccess\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_ultParent\",\"type\":\"string\"},{\"name\":\"_typeOfTxn\",\"type\":\"uint256\"}],\"name\":\"transactionAllowed\",\"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\"}]"
    31  
    32  var RoleManagerParsedABI, _ = abi.JSON(strings.NewReader(RoleManagerABI))
    33  
    34  // RoleManagerBin is the compiled bytecode used for deploying new contracts.
    35  var RoleManagerBin = "0x608060405234801561001057600080fd5b506040516020806128d98339810180604052602081101561003057600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055612877806100626000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063abf5739f11610066578063abf5739f1461048e578063be322e5414610650578063cfc83dfa1461075e578063d1f778661461090c578063deb16ba714610a1a5761009e565b80631870aba3146100a35780637b7135791461025f57806387f55d3114610399578063a451d4a8146103b3578063a6343012146103d0575b600080fd5b610161600480360360408110156100b957600080fd5b810190602081018135600160201b8111156100d357600080fd5b8201836020820111156100e557600080fd5b803590602001918460018302840111600160201b8311171561010657600080fd5b919390929091602081019035600160201b81111561012357600080fd5b82018360208201111561013557600080fd5b803590602001918460018302840111600160201b8311171561015657600080fd5b509092509050610b28565b604080519081018590528315156060820152821515608082015281151560a082015260c08082528751908201528651819060208083019160e08401918b019080838360005b838110156101be5781810151838201526020016101a6565b50505050905090810190601f1680156101eb5780820380516001836020036101000a031916815260200191505b5083810382528851815288516020918201918a019080838360005b8381101561021e578181015183820152602001610206565b50505050905090810190601f16801561024b5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b610397600480360360a081101561027557600080fd5b810190602081018135600160201b81111561028f57600080fd5b8201836020820111156102a157600080fd5b803590602001918460018302840111600160201b831117156102c257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561031457600080fd5b82018360208201111561032657600080fd5b803590602001918460018302840111600160201b8311171561034757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135151590604001351515610eae565b005b6103a1611454565b60408051918252519081900360200190f35b610161600480360360208110156103c957600080fd5b503561145b565b610397600480360360408110156103e657600080fd5b810190602081018135600160201b81111561040057600080fd5b82018360208201111561041257600080fd5b803590602001918460018302840111600160201b8311171561043357600080fd5b919390929091602081019035600160201b81111561045057600080fd5b82018360208201111561046257600080fd5b803590602001918460018302840111600160201b8311171561048357600080fd5b509092509050611679565b61063c600480360360608110156104a457600080fd5b810190602081018135600160201b8111156104be57600080fd5b8201836020820111156104d057600080fd5b803590602001918460018302840111600160201b831117156104f157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561054357600080fd5b82018360208201111561055557600080fd5b803590602001918460018302840111600160201b8311171561057657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156105c857600080fd5b8201836020820111156105da57600080fd5b803590602001918460018302840111600160201b831117156105fb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611974945050505050565b604080519115158252519081900360200190f35b61063c6004803603606081101561066657600080fd5b810190602081018135600160201b81111561068057600080fd5b82018360208201111561069257600080fd5b803590602001918460018302840111600160201b831117156106b357600080fd5b919390929091602081019035600160201b8111156106d057600080fd5b8201836020820111156106e257600080fd5b803590602001918460018302840111600160201b8311171561070357600080fd5b919390929091602081019035600160201b81111561072057600080fd5b82018360208201111561073257600080fd5b803590602001918460018302840111600160201b8311171561075357600080fd5b509092509050611be8565b6103a16004803603606081101561077457600080fd5b810190602081018135600160201b81111561078e57600080fd5b8201836020820111156107a057600080fd5b803590602001918460018302840111600160201b831117156107c157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561081357600080fd5b82018360208201111561082557600080fd5b803590602001918460018302840111600160201b8311171561084657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561089857600080fd5b8201836020820111156108aa57600080fd5b803590602001918460018302840111600160201b831117156108cb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611f68945050505050565b61063c6004803603608081101561092257600080fd5b810190602081018135600160201b81111561093c57600080fd5b82018360208201111561094e57600080fd5b803590602001918460018302840111600160201b8311171561096f57600080fd5b919390929091602081019035600160201b81111561098c57600080fd5b82018360208201111561099e57600080fd5b803590602001918460018302840111600160201b831117156109bf57600080fd5b919390929091602081019035600160201b8111156109dc57600080fd5b8201836020820111156109ee57600080fd5b803590602001918460018302840111600160201b83111715610a0f57600080fd5b9193509150356121c2565b61063c60048036036060811015610a3057600080fd5b810190602081018135600160201b811115610a4a57600080fd5b820183602082011115610a5c57600080fd5b803590602001918460018302840111600160201b83111715610a7d57600080fd5b919390929091602081019035600160201b811115610a9a57600080fd5b820183602082011115610aac57600080fd5b803590602001918460018302840111600160201b83111715610acd57600080fd5b919390929091602081019035600160201b811115610aea57600080fd5b820183602082011115610afc57600080fd5b803590602001918460018302840111600160201b83111715610b1d57600080fd5b50909250905061232e565b606080600080600080610bb28a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b9081908401838280828437600092018290525060408051602081019091529081529250611974915050565b1515610c1c57898960008060008085858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805160208101909152908152939f50929d50959b509399509197509550610ea1945050505050565b6000610c918b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284376000920191909152506126a392505050565b9050600181815481101515610ca257fe5b9060005260206000209060040201600001600182815481101515610cc257fe5b9060005260206000209060040201600101600183815481101515610ce257fe5b906000526020600020906004020160020154600184815481101515610d0357fe5b60009182526020909120600360049092020101546001805460ff9092169186908110610d2b57fe5b906000526020600020906004020160030160019054906101000a900460ff16600186815481101515610d5957fe5b6000918252602091829020600491909102016003015486546040805160026101006001851615026000190190931692909204601f81018590048502830185019091528082526201000090920460ff169290918891830182828015610dfe5780601f10610dd357610100808354040283529160200191610dfe565b820191906000526020600020905b815481529060010190602001808311610de157829003601f168201915b5050885460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959b508a945092508401905082828015610e8c5780601f10610e6157610100808354040283529160200191610e8c565b820191906000526020600020905b815481529060010190602001808311610e6f57829003601f168201915b50505050509450965096509650965096509650505b9499939850945094509450565b6000809054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b158015610efb57600080fd5b505afa158015610f0f573d6000803e3d6000fd5b505050506040513d6020811015610f2557600080fd5b50516001600160a01b03163314610f7a5760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b60088310610fd25760408051600160e51b62461bcd02815260206004820152601460248201527f696e76616c6964206163636573732076616c7565000000000000000000000000604482015290519081900360640190fd5b600260008686604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561101c578181015183820152602001611004565b50505050905090810190601f1680156110495780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561107c578181015183820152602001611064565b50505050905090810190601f1680156110a95780820380516001836020036101000a031916815260200191505b5094505050505060405160208183030381529060405280519060200120815260200190815260200160002054600014151561112e5760408051600160e51b62461bcd02815260206004820152601760248201527f726f6c652065786973747320666f7220746865206f7267000000000000000000604482015290519081900360640190fd5b60038054600101908190556040805160208082018381528951606084015289516002946000948c948c94938493830192608001918701908083838b5b8381101561118257818101518382015260200161116a565b50505050905090810190601f1680156111af5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156111e25781810151838201526020016111ca565b50505050905090810190601f16801561120f5780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208852878201989098529587016000908120989098555050845160c0810186528b81528085018b905294850189905250505084151560608301528315156080830152600160a083018190528054808201808355919094528251805191946004027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601926112b9928492909101906127b3565b5060208281015180516112d292600185019201906127b3565b5060408281015160028301556060808401516003909301805460808087015160a09788015160ff199093169615159690961761ff001916610100961515969096029590951762ff0000191662010000911515919091021790558151918201889052861515908201528415159181019190915281815287519181019190915286517fefa5bc1bedbee25b04b00855c15a0c180ecb4a2440d4d08296e49561655e2b1c92508791879187918791879190819060208083019160c08401918a019080838360005b838110156113ae578181015183820152602001611396565b50505050905090810190601f1680156113db5780820380516001836020036101000a031916815260200191505b50838103825287518152875160209182019189019080838360005b8381101561140e5781810151838201526020016113f6565b50505050905090810190601f16801561143b5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15050505050565b6001545b90565b60608060008060008060018781548110151561147357fe5b906000526020600020906004020160000160018881548110151561149357fe5b90600052602060002090600402016001016001898154811015156114b357fe5b90600052602060002090600402016002015460018a8154811015156114d457fe5b60009182526020909120600360049092020101546001805460ff909216918c9081106114fc57fe5b906000526020600020906004020160030160019054906101000a900460ff1660018c81548110151561152a57fe5b6000918252602091829020600491909102016003015486546040805160026101006001851615026000190190931692909204601f81018590048502830185019091528082526201000090920460ff1692909188918301828280156115cf5780601f106115a4576101008083540402835291602001916115cf565b820191906000526020600020905b8154815290600101906020018083116115b257829003601f168201915b5050885460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959b508a94509250840190508282801561165d5780601f106116325761010080835404028352916020019161165d565b820191906000526020600020905b81548152906001019060200180831161164057829003601f168201915b5050505050945095509550955095509550955091939550919395565b6000809054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b1580156116c657600080fd5b505afa1580156116da573d6000803e3d6000fd5b505050506040513d60208110156116f057600080fd5b50516001600160a01b031633146117455760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b60026000858585856040516020018080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052805190602001208152602001908152602001600020546000141515156118315760408051600160e51b62461bcd02815260206004820152601360248201527f726f6c6520646f6573206e6f7420657869737400000000000000000000000000604482015290519081900360640190fd5b60006118a685858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f890181900481028201810190925287815292508791508690819084018382808284376000920191909152506126a392505050565b905060006001828154811015156118b957fe5b906000526020600020906004020160030160026101000a81548160ff0219169083151502179055507f1196059dd83524bf989fd94bb65808c09dbea2ab791fb6bfa87a0e0aa64b2ea6858585856040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a15050505050565b600080600260008686604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b838110156119c15781810151838201526020016119a9565b50505050905090810190601f1680156119ee5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015611a21578181015183820152602001611a09565b50505050905090810190601f168015611a4e5780820380516001836020036101000a031916815260200191505b50945050505050604051602081830303815290604052805190602001208152602001908152602001600020546000141515611ac557611a8d85856126a3565b9050600181815481101515611a9e57fe5b906000526020600020906004020160030160029054906101000a900460ff16915050611be1565b600260008685604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611b0f578181015183820152602001611af7565b50505050905090810190601f168015611b3c5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015611b6f578181015183820152602001611b57565b50505050905090810190601f168015611b9c5780820380516001836020036101000a031916815260200191505b50945050505050604051602081830303815290604052805190602001208152602001908152602001600020546000141515611bdb57611a8d85846126a3565b60009150505b9392505050565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b158015611c3757600080fd5b505afa158015611c4b573d6000803e3d6000fd5b505050506040513d6020811015611c6157600080fd5b50516001600160a01b03163314611cb65760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b611d5d87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525050604080516020601f8a01819004810282018101909252888152925088915087908190840183828082843760009201919091525061197492505050565b1515611d6b57506000611f5e565b600060026000898989896040516020018080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052805190602001208152602001908152602001600020546000141515611e8257611e7b88888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152506126a392505050565b9050611ef8565b611ef588888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a0181900481028201810190925288815292508891508790819084018382808284376000920191909152506126a392505050565b90505b6001805482908110611f0657fe5b906000526020600020906004020160030160029054906101000a900460ff168015611f5a57506001805482908110611f3a57fe5b906000526020600020906004020160030160019054906101000a900460ff165b9150505b9695505050505050565b600080600260008686604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611fb5578181015183820152602001611f9d565b50505050905090810190601f168015611fe25780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015612015578181015183820152602001611ffd565b50505050905090810190601f1680156120425780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040528051906020012081526020019081526020016000205460001415156120ac5761208185856126a3565b905060018181548110151561209257fe5b906000526020600020906004020160020154915050611be1565b600260008685604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b838110156120f65781810151838201526020016120de565b50505050905090810190601f1680156121235780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561215657818101518382015260200161213e565b50505050905090810190601f1680156121835780820380516001836020036101000a031916815260200191505b50945050505050604051602081830303815290604052805190602001208152602001908152602001600020546000141515611bdb5761208185846126a3565b60008061226c89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a908190840183828082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a9150899081908401838280828437600092019190915250611f6892505050565b90508060031415612281576001915050612323565b8260011480156122a65750806001148061229b5750806005145b806122a65750806006145b156122b5576001915050612323565b8260021480156122da575080600214806122cf5750806006145b806122da5750806007145b156122e9576001915050612323565b82600314801561230e575080600414806123035750806005145b8061230e5750806007145b1561231d576001915050612323565b60009150505b979650505050505050565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b15801561237d57600080fd5b505afa158015612391573d6000803e3d6000fd5b505050506040513d60208110156123a757600080fd5b50516001600160a01b031633146123fc5760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b6124a387878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525050604080516020601f8a01819004810282018101909252888152925088915087908190840183828082843760009201919091525061197492505050565b15156124b157506000611f5e565b600060026000898989896040516020018080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f82011690508083019250505096505050505050506040516020818303038152906040528051906020012081526020019081526020016000205460001415156125c8576125c188888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152506126a392505050565b905061263e565b61263b88888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a0181900481028201810190925288815292508891508790819084018382808284376000920191909152506126a392505050565b90505b600180548290811061264c57fe5b906000526020600020906004020160030160029054906101000a900460ff168015611f5a5750600180548290811061268057fe5b600091825260209091206004909102016003015460ff1698975050505050505050565b60006001600260008585604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b838110156126f15781810151838201526020016126d9565b50505050905090810190601f16801561271e5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015612751578181015183820152602001612739565b50505050905090810190601f16801561277e5780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040528051906020012081526020019081526020016000205403905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106127f457805160ff1916838001178555612821565b82800160010185558215612821579182015b82811115612821578251825591602001919060010190612806565b5061282d929150612831565b5090565b61145891905b8082111561282d576000815560010161283756fea165627a7a7230582075c8fd5504ba38b54f31bd0f3c28ac8ef88060c8e359bff58088d242f8cd256c0029"
    36  
    37  // DeployRoleManager deploys a new Ethereum contract, binding an instance of RoleManager to it.
    38  func DeployRoleManager(auth *bind.TransactOpts, backend bind.ContractBackend, _permUpgradable common.Address) (common.Address, *types.Transaction, *RoleManager, error) {
    39  	parsed, err := abi.JSON(strings.NewReader(RoleManagerABI))
    40  	if err != nil {
    41  		return common.Address{}, nil, nil, err
    42  	}
    43  
    44  	address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(RoleManagerBin), backend, _permUpgradable)
    45  	if err != nil {
    46  		return common.Address{}, nil, nil, err
    47  	}
    48  	return address, tx, &RoleManager{RoleManagerCaller: RoleManagerCaller{contract: contract}, RoleManagerTransactor: RoleManagerTransactor{contract: contract}, RoleManagerFilterer: RoleManagerFilterer{contract: contract}}, nil
    49  }
    50  
    51  // RoleManager is an auto generated Go binding around an Ethereum contract.
    52  type RoleManager struct {
    53  	RoleManagerCaller     // Read-only binding to the contract
    54  	RoleManagerTransactor // Write-only binding to the contract
    55  	RoleManagerFilterer   // Log filterer for contract events
    56  }
    57  
    58  // RoleManagerCaller is an auto generated read-only Go binding around an Ethereum contract.
    59  type RoleManagerCaller struct {
    60  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    61  }
    62  
    63  // RoleManagerTransactor is an auto generated write-only Go binding around an Ethereum contract.
    64  type RoleManagerTransactor struct {
    65  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    66  }
    67  
    68  // RoleManagerFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    69  type RoleManagerFilterer struct {
    70  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    71  }
    72  
    73  // RoleManagerSession is an auto generated Go binding around an Ethereum contract,
    74  // with pre-set call and transact options.
    75  type RoleManagerSession struct {
    76  	Contract     *RoleManager      // Generic contract binding to set the session for
    77  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    78  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    79  }
    80  
    81  // RoleManagerCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    82  // with pre-set call options.
    83  type RoleManagerCallerSession struct {
    84  	Contract *RoleManagerCaller // Generic contract caller binding to set the session for
    85  	CallOpts bind.CallOpts      // Call options to use throughout this session
    86  }
    87  
    88  // RoleManagerTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    89  // with pre-set transact options.
    90  type RoleManagerTransactorSession struct {
    91  	Contract     *RoleManagerTransactor // Generic contract transactor binding to set the session for
    92  	TransactOpts bind.TransactOpts      // Transaction auth options to use throughout this session
    93  }
    94  
    95  // RoleManagerRaw is an auto generated low-level Go binding around an Ethereum contract.
    96  type RoleManagerRaw struct {
    97  	Contract *RoleManager // Generic contract binding to access the raw methods on
    98  }
    99  
   100  // RoleManagerCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
   101  type RoleManagerCallerRaw struct {
   102  	Contract *RoleManagerCaller // Generic read-only contract binding to access the raw methods on
   103  }
   104  
   105  // RoleManagerTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
   106  type RoleManagerTransactorRaw struct {
   107  	Contract *RoleManagerTransactor // Generic write-only contract binding to access the raw methods on
   108  }
   109  
   110  // NewRoleManager creates a new instance of RoleManager, bound to a specific deployed contract.
   111  func NewRoleManager(address common.Address, backend bind.ContractBackend) (*RoleManager, error) {
   112  	contract, err := bindRoleManager(address, backend, backend, backend)
   113  	if err != nil {
   114  		return nil, err
   115  	}
   116  	return &RoleManager{RoleManagerCaller: RoleManagerCaller{contract: contract}, RoleManagerTransactor: RoleManagerTransactor{contract: contract}, RoleManagerFilterer: RoleManagerFilterer{contract: contract}}, nil
   117  }
   118  
   119  // NewRoleManagerCaller creates a new read-only instance of RoleManager, bound to a specific deployed contract.
   120  func NewRoleManagerCaller(address common.Address, caller bind.ContractCaller) (*RoleManagerCaller, error) {
   121  	contract, err := bindRoleManager(address, caller, nil, nil)
   122  	if err != nil {
   123  		return nil, err
   124  	}
   125  	return &RoleManagerCaller{contract: contract}, nil
   126  }
   127  
   128  // NewRoleManagerTransactor creates a new write-only instance of RoleManager, bound to a specific deployed contract.
   129  func NewRoleManagerTransactor(address common.Address, transactor bind.ContractTransactor) (*RoleManagerTransactor, error) {
   130  	contract, err := bindRoleManager(address, nil, transactor, nil)
   131  	if err != nil {
   132  		return nil, err
   133  	}
   134  	return &RoleManagerTransactor{contract: contract}, nil
   135  }
   136  
   137  // NewRoleManagerFilterer creates a new log filterer instance of RoleManager, bound to a specific deployed contract.
   138  func NewRoleManagerFilterer(address common.Address, filterer bind.ContractFilterer) (*RoleManagerFilterer, error) {
   139  	contract, err := bindRoleManager(address, nil, nil, filterer)
   140  	if err != nil {
   141  		return nil, err
   142  	}
   143  	return &RoleManagerFilterer{contract: contract}, nil
   144  }
   145  
   146  // bindRoleManager binds a generic wrapper to an already deployed contract.
   147  func bindRoleManager(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   148  	parsed, err := abi.JSON(strings.NewReader(RoleManagerABI))
   149  	if err != nil {
   150  		return nil, err
   151  	}
   152  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
   153  }
   154  
   155  // Call invokes the (constant) contract method with params as input values and
   156  // sets the output to result. The result type might be a single field for simple
   157  // returns, a slice of interfaces for anonymous returns and a struct for named
   158  // returns.
   159  func (_RoleManager *RoleManagerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   160  	return _RoleManager.Contract.RoleManagerCaller.contract.Call(opts, result, method, params...)
   161  }
   162  
   163  // Transfer initiates a plain transaction to move funds to the contract, calling
   164  // its default method if one is available.
   165  func (_RoleManager *RoleManagerRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   166  	return _RoleManager.Contract.RoleManagerTransactor.contract.Transfer(opts)
   167  }
   168  
   169  // Transact invokes the (paid) contract method with params as input values.
   170  func (_RoleManager *RoleManagerRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   171  	return _RoleManager.Contract.RoleManagerTransactor.contract.Transact(opts, method, params...)
   172  }
   173  
   174  // Call invokes the (constant) contract method with params as input values and
   175  // sets the output to result. The result type might be a single field for simple
   176  // returns, a slice of interfaces for anonymous returns and a struct for named
   177  // returns.
   178  func (_RoleManager *RoleManagerCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   179  	return _RoleManager.Contract.contract.Call(opts, result, method, params...)
   180  }
   181  
   182  // Transfer initiates a plain transaction to move funds to the contract, calling
   183  // its default method if one is available.
   184  func (_RoleManager *RoleManagerTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   185  	return _RoleManager.Contract.contract.Transfer(opts)
   186  }
   187  
   188  // Transact invokes the (paid) contract method with params as input values.
   189  func (_RoleManager *RoleManagerTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   190  	return _RoleManager.Contract.contract.Transact(opts, method, params...)
   191  }
   192  
   193  // GetNumberOfRoles is a free data retrieval call binding the contract method 0x87f55d31.
   194  //
   195  // Solidity: function getNumberOfRoles() view returns(uint256)
   196  func (_RoleManager *RoleManagerCaller) GetNumberOfRoles(opts *bind.CallOpts) (*big.Int, error) {
   197  	var out []interface{}
   198  	err := _RoleManager.contract.Call(opts, &out, "getNumberOfRoles")
   199  
   200  	if err != nil {
   201  		return *new(*big.Int), err
   202  	}
   203  
   204  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   205  
   206  	return out0, err
   207  
   208  }
   209  
   210  // GetNumberOfRoles is a free data retrieval call binding the contract method 0x87f55d31.
   211  //
   212  // Solidity: function getNumberOfRoles() view returns(uint256)
   213  func (_RoleManager *RoleManagerSession) GetNumberOfRoles() (*big.Int, error) {
   214  	return _RoleManager.Contract.GetNumberOfRoles(&_RoleManager.CallOpts)
   215  }
   216  
   217  // GetNumberOfRoles is a free data retrieval call binding the contract method 0x87f55d31.
   218  //
   219  // Solidity: function getNumberOfRoles() view returns(uint256)
   220  func (_RoleManager *RoleManagerCallerSession) GetNumberOfRoles() (*big.Int, error) {
   221  	return _RoleManager.Contract.GetNumberOfRoles(&_RoleManager.CallOpts)
   222  }
   223  
   224  // GetRoleDetails is a free data retrieval call binding the contract method 0x1870aba3.
   225  //
   226  // Solidity: function getRoleDetails(string _roleId, string _orgId) view returns(string roleId, string orgId, uint256 accessType, bool voter, bool admin, bool active)
   227  func (_RoleManager *RoleManagerCaller) GetRoleDetails(opts *bind.CallOpts, _roleId string, _orgId string) (struct {
   228  	RoleId     string
   229  	OrgId      string
   230  	AccessType *big.Int
   231  	Voter      bool
   232  	Admin      bool
   233  	Active     bool
   234  }, error) {
   235  	var out []interface{}
   236  	err := _RoleManager.contract.Call(opts, &out, "getRoleDetails", _roleId, _orgId)
   237  
   238  	outstruct := new(struct {
   239  		RoleId     string
   240  		OrgId      string
   241  		AccessType *big.Int
   242  		Voter      bool
   243  		Admin      bool
   244  		Active     bool
   245  	})
   246  
   247  	outstruct.RoleId = out[0].(string)
   248  	outstruct.OrgId = out[1].(string)
   249  	outstruct.AccessType = out[2].(*big.Int)
   250  	outstruct.Voter = out[3].(bool)
   251  	outstruct.Admin = out[4].(bool)
   252  	outstruct.Active = out[5].(bool)
   253  
   254  	return *outstruct, err
   255  
   256  }
   257  
   258  // GetRoleDetails is a free data retrieval call binding the contract method 0x1870aba3.
   259  //
   260  // Solidity: function getRoleDetails(string _roleId, string _orgId) view returns(string roleId, string orgId, uint256 accessType, bool voter, bool admin, bool active)
   261  func (_RoleManager *RoleManagerSession) 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  // GetRoleDetails is a free data retrieval call binding the contract method 0x1870aba3.
   273  //
   274  // Solidity: function getRoleDetails(string _roleId, string _orgId) view returns(string roleId, string orgId, uint256 accessType, bool voter, bool admin, bool active)
   275  func (_RoleManager *RoleManagerCallerSession) GetRoleDetails(_roleId string, _orgId string) (struct {
   276  	RoleId     string
   277  	OrgId      string
   278  	AccessType *big.Int
   279  	Voter      bool
   280  	Admin      bool
   281  	Active     bool
   282  }, error) {
   283  	return _RoleManager.Contract.GetRoleDetails(&_RoleManager.CallOpts, _roleId, _orgId)
   284  }
   285  
   286  // GetRoleDetailsFromIndex is a free data retrieval call binding the contract method 0xa451d4a8.
   287  //
   288  // Solidity: function getRoleDetailsFromIndex(uint256 _rIndex) view returns(string roleId, string orgId, uint256 accessType, bool voter, bool admin, bool active)
   289  func (_RoleManager *RoleManagerCaller) GetRoleDetailsFromIndex(opts *bind.CallOpts, _rIndex *big.Int) (struct {
   290  	RoleId     string
   291  	OrgId      string
   292  	AccessType *big.Int
   293  	Voter      bool
   294  	Admin      bool
   295  	Active     bool
   296  }, error) {
   297  	var out []interface{}
   298  	err := _RoleManager.contract.Call(opts, &out, "getRoleDetailsFromIndex", _rIndex)
   299  
   300  	outstruct := new(struct {
   301  		RoleId     string
   302  		OrgId      string
   303  		AccessType *big.Int
   304  		Voter      bool
   305  		Admin      bool
   306  		Active     bool
   307  	})
   308  
   309  	outstruct.RoleId = out[0].(string)
   310  	outstruct.OrgId = out[1].(string)
   311  	outstruct.AccessType = out[2].(*big.Int)
   312  	outstruct.Voter = out[3].(bool)
   313  	outstruct.Admin = out[4].(bool)
   314  	outstruct.Active = out[5].(bool)
   315  
   316  	return *outstruct, err
   317  
   318  }
   319  
   320  // GetRoleDetailsFromIndex is a free data retrieval call binding the contract method 0xa451d4a8.
   321  //
   322  // Solidity: function getRoleDetailsFromIndex(uint256 _rIndex) view returns(string roleId, string orgId, uint256 accessType, bool voter, bool admin, bool active)
   323  func (_RoleManager *RoleManagerSession) GetRoleDetailsFromIndex(_rIndex *big.Int) (struct {
   324  	RoleId     string
   325  	OrgId      string
   326  	AccessType *big.Int
   327  	Voter      bool
   328  	Admin      bool
   329  	Active     bool
   330  }, error) {
   331  	return _RoleManager.Contract.GetRoleDetailsFromIndex(&_RoleManager.CallOpts, _rIndex)
   332  }
   333  
   334  // GetRoleDetailsFromIndex is a free data retrieval call binding the contract method 0xa451d4a8.
   335  //
   336  // Solidity: function getRoleDetailsFromIndex(uint256 _rIndex) view returns(string roleId, string orgId, uint256 accessType, bool voter, bool admin, bool active)
   337  func (_RoleManager *RoleManagerCallerSession) GetRoleDetailsFromIndex(_rIndex *big.Int) (struct {
   338  	RoleId     string
   339  	OrgId      string
   340  	AccessType *big.Int
   341  	Voter      bool
   342  	Admin      bool
   343  	Active     bool
   344  }, error) {
   345  	return _RoleManager.Contract.GetRoleDetailsFromIndex(&_RoleManager.CallOpts, _rIndex)
   346  }
   347  
   348  // IsAdminRole is a free data retrieval call binding the contract method 0xbe322e54.
   349  //
   350  // Solidity: function isAdminRole(string _roleId, string _orgId, string _ultParent) view returns(bool)
   351  func (_RoleManager *RoleManagerCaller) IsAdminRole(opts *bind.CallOpts, _roleId string, _orgId string, _ultParent string) (bool, error) {
   352  	var out []interface{}
   353  	err := _RoleManager.contract.Call(opts, &out, "isAdminRole", _roleId, _orgId, _ultParent)
   354  
   355  	if err != nil {
   356  		return *new(bool), err
   357  	}
   358  
   359  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   360  
   361  	return out0, err
   362  
   363  }
   364  
   365  // IsAdminRole is a free data retrieval call binding the contract method 0xbe322e54.
   366  //
   367  // Solidity: function isAdminRole(string _roleId, string _orgId, string _ultParent) view returns(bool)
   368  func (_RoleManager *RoleManagerSession) IsAdminRole(_roleId string, _orgId string, _ultParent string) (bool, error) {
   369  	return _RoleManager.Contract.IsAdminRole(&_RoleManager.CallOpts, _roleId, _orgId, _ultParent)
   370  }
   371  
   372  // IsAdminRole is a free data retrieval call binding the contract method 0xbe322e54.
   373  //
   374  // Solidity: function isAdminRole(string _roleId, string _orgId, string _ultParent) view returns(bool)
   375  func (_RoleManager *RoleManagerCallerSession) IsAdminRole(_roleId string, _orgId string, _ultParent string) (bool, error) {
   376  	return _RoleManager.Contract.IsAdminRole(&_RoleManager.CallOpts, _roleId, _orgId, _ultParent)
   377  }
   378  
   379  // IsVoterRole is a free data retrieval call binding the contract method 0xdeb16ba7.
   380  //
   381  // Solidity: function isVoterRole(string _roleId, string _orgId, string _ultParent) view returns(bool)
   382  func (_RoleManager *RoleManagerCaller) IsVoterRole(opts *bind.CallOpts, _roleId string, _orgId string, _ultParent string) (bool, error) {
   383  	var out []interface{}
   384  	err := _RoleManager.contract.Call(opts, &out, "isVoterRole", _roleId, _orgId, _ultParent)
   385  
   386  	if err != nil {
   387  		return *new(bool), err
   388  	}
   389  
   390  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   391  
   392  	return out0, err
   393  
   394  }
   395  
   396  // IsVoterRole is a free data retrieval call binding the contract method 0xdeb16ba7.
   397  //
   398  // Solidity: function isVoterRole(string _roleId, string _orgId, string _ultParent) view returns(bool)
   399  func (_RoleManager *RoleManagerSession) IsVoterRole(_roleId string, _orgId string, _ultParent string) (bool, error) {
   400  	return _RoleManager.Contract.IsVoterRole(&_RoleManager.CallOpts, _roleId, _orgId, _ultParent)
   401  }
   402  
   403  // IsVoterRole is a free data retrieval call binding the contract method 0xdeb16ba7.
   404  //
   405  // Solidity: function isVoterRole(string _roleId, string _orgId, string _ultParent) view returns(bool)
   406  func (_RoleManager *RoleManagerCallerSession) IsVoterRole(_roleId string, _orgId string, _ultParent string) (bool, error) {
   407  	return _RoleManager.Contract.IsVoterRole(&_RoleManager.CallOpts, _roleId, _orgId, _ultParent)
   408  }
   409  
   410  // RoleAccess is a free data retrieval call binding the contract method 0xcfc83dfa.
   411  //
   412  // Solidity: function roleAccess(string _roleId, string _orgId, string _ultParent) view returns(uint256)
   413  func (_RoleManager *RoleManagerCaller) RoleAccess(opts *bind.CallOpts, _roleId string, _orgId string, _ultParent string) (*big.Int, error) {
   414  	var out []interface{}
   415  	err := _RoleManager.contract.Call(opts, &out, "roleAccess", _roleId, _orgId, _ultParent)
   416  
   417  	if err != nil {
   418  		return *new(*big.Int), err
   419  	}
   420  
   421  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   422  
   423  	return out0, err
   424  
   425  }
   426  
   427  // RoleAccess is a free data retrieval call binding the contract method 0xcfc83dfa.
   428  //
   429  // Solidity: function roleAccess(string _roleId, string _orgId, string _ultParent) view returns(uint256)
   430  func (_RoleManager *RoleManagerSession) RoleAccess(_roleId string, _orgId string, _ultParent string) (*big.Int, error) {
   431  	return _RoleManager.Contract.RoleAccess(&_RoleManager.CallOpts, _roleId, _orgId, _ultParent)
   432  }
   433  
   434  // RoleAccess is a free data retrieval call binding the contract method 0xcfc83dfa.
   435  //
   436  // Solidity: function roleAccess(string _roleId, string _orgId, string _ultParent) view returns(uint256)
   437  func (_RoleManager *RoleManagerCallerSession) RoleAccess(_roleId string, _orgId string, _ultParent string) (*big.Int, error) {
   438  	return _RoleManager.Contract.RoleAccess(&_RoleManager.CallOpts, _roleId, _orgId, _ultParent)
   439  }
   440  
   441  // RoleExists is a free data retrieval call binding the contract method 0xabf5739f.
   442  //
   443  // Solidity: function roleExists(string _roleId, string _orgId, string _ultParent) view returns(bool)
   444  func (_RoleManager *RoleManagerCaller) RoleExists(opts *bind.CallOpts, _roleId string, _orgId string, _ultParent string) (bool, error) {
   445  	var out []interface{}
   446  	err := _RoleManager.contract.Call(opts, &out, "roleExists", _roleId, _orgId, _ultParent)
   447  
   448  	if err != nil {
   449  		return *new(bool), err
   450  	}
   451  
   452  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   453  
   454  	return out0, err
   455  
   456  }
   457  
   458  // RoleExists is a free data retrieval call binding the contract method 0xabf5739f.
   459  //
   460  // Solidity: function roleExists(string _roleId, string _orgId, string _ultParent) view returns(bool)
   461  func (_RoleManager *RoleManagerSession) RoleExists(_roleId string, _orgId string, _ultParent string) (bool, error) {
   462  	return _RoleManager.Contract.RoleExists(&_RoleManager.CallOpts, _roleId, _orgId, _ultParent)
   463  }
   464  
   465  // RoleExists is a free data retrieval call binding the contract method 0xabf5739f.
   466  //
   467  // Solidity: function roleExists(string _roleId, string _orgId, string _ultParent) view returns(bool)
   468  func (_RoleManager *RoleManagerCallerSession) RoleExists(_roleId string, _orgId string, _ultParent string) (bool, error) {
   469  	return _RoleManager.Contract.RoleExists(&_RoleManager.CallOpts, _roleId, _orgId, _ultParent)
   470  }
   471  
   472  // TransactionAllowed is a free data retrieval call binding the contract method 0xd1f77866.
   473  //
   474  // Solidity: function transactionAllowed(string _roleId, string _orgId, string _ultParent, uint256 _typeOfTxn) view returns(bool)
   475  func (_RoleManager *RoleManagerCaller) TransactionAllowed(opts *bind.CallOpts, _roleId string, _orgId string, _ultParent string, _typeOfTxn *big.Int) (bool, error) {
   476  	var out []interface{}
   477  	err := _RoleManager.contract.Call(opts, &out, "transactionAllowed", _roleId, _orgId, _ultParent, _typeOfTxn)
   478  
   479  	if err != nil {
   480  		return *new(bool), err
   481  	}
   482  
   483  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   484  
   485  	return out0, err
   486  
   487  }
   488  
   489  // TransactionAllowed is a free data retrieval call binding the contract method 0xd1f77866.
   490  //
   491  // Solidity: function transactionAllowed(string _roleId, string _orgId, string _ultParent, uint256 _typeOfTxn) view returns(bool)
   492  func (_RoleManager *RoleManagerSession) TransactionAllowed(_roleId string, _orgId string, _ultParent string, _typeOfTxn *big.Int) (bool, error) {
   493  	return _RoleManager.Contract.TransactionAllowed(&_RoleManager.CallOpts, _roleId, _orgId, _ultParent, _typeOfTxn)
   494  }
   495  
   496  // TransactionAllowed is a free data retrieval call binding the contract method 0xd1f77866.
   497  //
   498  // Solidity: function transactionAllowed(string _roleId, string _orgId, string _ultParent, uint256 _typeOfTxn) view returns(bool)
   499  func (_RoleManager *RoleManagerCallerSession) TransactionAllowed(_roleId string, _orgId string, _ultParent string, _typeOfTxn *big.Int) (bool, error) {
   500  	return _RoleManager.Contract.TransactionAllowed(&_RoleManager.CallOpts, _roleId, _orgId, _ultParent, _typeOfTxn)
   501  }
   502  
   503  // AddRole is a paid mutator transaction binding the contract method 0x7b713579.
   504  //
   505  // Solidity: function addRole(string _roleId, string _orgId, uint256 _baseAccess, bool _isVoter, bool _isAdmin) returns()
   506  func (_RoleManager *RoleManagerTransactor) AddRole(opts *bind.TransactOpts, _roleId string, _orgId string, _baseAccess *big.Int, _isVoter bool, _isAdmin bool) (*types.Transaction, error) {
   507  	return _RoleManager.contract.Transact(opts, "addRole", _roleId, _orgId, _baseAccess, _isVoter, _isAdmin)
   508  }
   509  
   510  // AddRole is a paid mutator transaction binding the contract method 0x7b713579.
   511  //
   512  // Solidity: function addRole(string _roleId, string _orgId, uint256 _baseAccess, bool _isVoter, bool _isAdmin) returns()
   513  func (_RoleManager *RoleManagerSession) AddRole(_roleId string, _orgId string, _baseAccess *big.Int, _isVoter bool, _isAdmin bool) (*types.Transaction, error) {
   514  	return _RoleManager.Contract.AddRole(&_RoleManager.TransactOpts, _roleId, _orgId, _baseAccess, _isVoter, _isAdmin)
   515  }
   516  
   517  // AddRole is a paid mutator transaction binding the contract method 0x7b713579.
   518  //
   519  // Solidity: function addRole(string _roleId, string _orgId, uint256 _baseAccess, bool _isVoter, bool _isAdmin) returns()
   520  func (_RoleManager *RoleManagerTransactorSession) AddRole(_roleId string, _orgId string, _baseAccess *big.Int, _isVoter bool, _isAdmin bool) (*types.Transaction, error) {
   521  	return _RoleManager.Contract.AddRole(&_RoleManager.TransactOpts, _roleId, _orgId, _baseAccess, _isVoter, _isAdmin)
   522  }
   523  
   524  // RemoveRole is a paid mutator transaction binding the contract method 0xa6343012.
   525  //
   526  // Solidity: function removeRole(string _roleId, string _orgId) returns()
   527  func (_RoleManager *RoleManagerTransactor) RemoveRole(opts *bind.TransactOpts, _roleId string, _orgId string) (*types.Transaction, error) {
   528  	return _RoleManager.contract.Transact(opts, "removeRole", _roleId, _orgId)
   529  }
   530  
   531  // RemoveRole is a paid mutator transaction binding the contract method 0xa6343012.
   532  //
   533  // Solidity: function removeRole(string _roleId, string _orgId) returns()
   534  func (_RoleManager *RoleManagerSession) RemoveRole(_roleId string, _orgId string) (*types.Transaction, error) {
   535  	return _RoleManager.Contract.RemoveRole(&_RoleManager.TransactOpts, _roleId, _orgId)
   536  }
   537  
   538  // RemoveRole is a paid mutator transaction binding the contract method 0xa6343012.
   539  //
   540  // Solidity: function removeRole(string _roleId, string _orgId) returns()
   541  func (_RoleManager *RoleManagerTransactorSession) RemoveRole(_roleId string, _orgId string) (*types.Transaction, error) {
   542  	return _RoleManager.Contract.RemoveRole(&_RoleManager.TransactOpts, _roleId, _orgId)
   543  }
   544  
   545  // 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.
   546  type RoleManagerRoleCreatedIterator struct {
   547  	Event *RoleManagerRoleCreated // Event containing the contract specifics and raw log
   548  
   549  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   550  	event    string              // Event name to use for unpacking event data
   551  
   552  	logs chan types.Log        // Log channel receiving the found contract events
   553  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   554  	done bool                  // Whether the subscription completed delivering logs
   555  	fail error                 // Occurred error to stop iteration
   556  }
   557  
   558  // Next advances the iterator to the subsequent event, returning whether there
   559  // are any more events found. In case of a retrieval or parsing error, false is
   560  // returned and Error() can be queried for the exact failure.
   561  func (it *RoleManagerRoleCreatedIterator) Next() bool {
   562  	// If the iterator failed, stop iterating
   563  	if it.fail != nil {
   564  		return false
   565  	}
   566  	// If the iterator completed, deliver directly whatever's available
   567  	if it.done {
   568  		select {
   569  		case log := <-it.logs:
   570  			it.Event = new(RoleManagerRoleCreated)
   571  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   572  				it.fail = err
   573  				return false
   574  			}
   575  			it.Event.Raw = log
   576  			return true
   577  
   578  		default:
   579  			return false
   580  		}
   581  	}
   582  	// Iterator still in progress, wait for either a data or an error event
   583  	select {
   584  	case log := <-it.logs:
   585  		it.Event = new(RoleManagerRoleCreated)
   586  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   587  			it.fail = err
   588  			return false
   589  		}
   590  		it.Event.Raw = log
   591  		return true
   592  
   593  	case err := <-it.sub.Err():
   594  		it.done = true
   595  		it.fail = err
   596  		return it.Next()
   597  	}
   598  }
   599  
   600  // Error returns any retrieval or parsing error occurred during filtering.
   601  func (it *RoleManagerRoleCreatedIterator) Error() error {
   602  	return it.fail
   603  }
   604  
   605  // Close terminates the iteration process, releasing any pending underlying
   606  // resources.
   607  func (it *RoleManagerRoleCreatedIterator) Close() error {
   608  	it.sub.Unsubscribe()
   609  	return nil
   610  }
   611  
   612  // RoleManagerRoleCreated represents a RoleCreated event raised by the RoleManager contract.
   613  type RoleManagerRoleCreated struct {
   614  	RoleId     string
   615  	OrgId      string
   616  	BaseAccess *big.Int
   617  	IsVoter    bool
   618  	IsAdmin    bool
   619  	Raw        types.Log // Blockchain specific contextual infos
   620  }
   621  
   622  // FilterRoleCreated is a free log retrieval operation binding the contract event 0xefa5bc1bedbee25b04b00855c15a0c180ecb4a2440d4d08296e49561655e2b1c.
   623  //
   624  // Solidity: event RoleCreated(string _roleId, string _orgId, uint256 _baseAccess, bool _isVoter, bool _isAdmin)
   625  func (_RoleManager *RoleManagerFilterer) FilterRoleCreated(opts *bind.FilterOpts) (*RoleManagerRoleCreatedIterator, error) {
   626  
   627  	logs, sub, err := _RoleManager.contract.FilterLogs(opts, "RoleCreated")
   628  	if err != nil {
   629  		return nil, err
   630  	}
   631  	return &RoleManagerRoleCreatedIterator{contract: _RoleManager.contract, event: "RoleCreated", logs: logs, sub: sub}, nil
   632  }
   633  
   634  var RoleCreatedTopicHash = "0xefa5bc1bedbee25b04b00855c15a0c180ecb4a2440d4d08296e49561655e2b1c"
   635  
   636  // WatchRoleCreated is a free log subscription operation binding the contract event 0xefa5bc1bedbee25b04b00855c15a0c180ecb4a2440d4d08296e49561655e2b1c.
   637  //
   638  // Solidity: event RoleCreated(string _roleId, string _orgId, uint256 _baseAccess, bool _isVoter, bool _isAdmin)
   639  func (_RoleManager *RoleManagerFilterer) WatchRoleCreated(opts *bind.WatchOpts, sink chan<- *RoleManagerRoleCreated) (event.Subscription, error) {
   640  
   641  	logs, sub, err := _RoleManager.contract.WatchLogs(opts, "RoleCreated")
   642  	if err != nil {
   643  		return nil, err
   644  	}
   645  	return event.NewSubscription(func(quit <-chan struct{}) error {
   646  		defer sub.Unsubscribe()
   647  		for {
   648  			select {
   649  			case log := <-logs:
   650  				// New log arrived, parse the event and forward to the user
   651  				event := new(RoleManagerRoleCreated)
   652  				if err := _RoleManager.contract.UnpackLog(event, "RoleCreated", log); err != nil {
   653  					return err
   654  				}
   655  				event.Raw = log
   656  
   657  				select {
   658  				case sink <- event:
   659  				case err := <-sub.Err():
   660  					return err
   661  				case <-quit:
   662  					return nil
   663  				}
   664  			case err := <-sub.Err():
   665  				return err
   666  			case <-quit:
   667  				return nil
   668  			}
   669  		}
   670  	}), nil
   671  }
   672  
   673  // ParseRoleCreated is a log parse operation binding the contract event 0xefa5bc1bedbee25b04b00855c15a0c180ecb4a2440d4d08296e49561655e2b1c.
   674  //
   675  // Solidity: event RoleCreated(string _roleId, string _orgId, uint256 _baseAccess, bool _isVoter, bool _isAdmin)
   676  func (_RoleManager *RoleManagerFilterer) ParseRoleCreated(log types.Log) (*RoleManagerRoleCreated, error) {
   677  	event := new(RoleManagerRoleCreated)
   678  	if err := _RoleManager.contract.UnpackLog(event, "RoleCreated", log); err != nil {
   679  		return nil, err
   680  	}
   681  	return event, nil
   682  }
   683  
   684  // 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.
   685  type RoleManagerRoleRevokedIterator struct {
   686  	Event *RoleManagerRoleRevoked // Event containing the contract specifics and raw log
   687  
   688  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   689  	event    string              // Event name to use for unpacking event data
   690  
   691  	logs chan types.Log        // Log channel receiving the found contract events
   692  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   693  	done bool                  // Whether the subscription completed delivering logs
   694  	fail error                 // Occurred error to stop iteration
   695  }
   696  
   697  // Next advances the iterator to the subsequent event, returning whether there
   698  // are any more events found. In case of a retrieval or parsing error, false is
   699  // returned and Error() can be queried for the exact failure.
   700  func (it *RoleManagerRoleRevokedIterator) Next() bool {
   701  	// If the iterator failed, stop iterating
   702  	if it.fail != nil {
   703  		return false
   704  	}
   705  	// If the iterator completed, deliver directly whatever's available
   706  	if it.done {
   707  		select {
   708  		case log := <-it.logs:
   709  			it.Event = new(RoleManagerRoleRevoked)
   710  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   711  				it.fail = err
   712  				return false
   713  			}
   714  			it.Event.Raw = log
   715  			return true
   716  
   717  		default:
   718  			return false
   719  		}
   720  	}
   721  	// Iterator still in progress, wait for either a data or an error event
   722  	select {
   723  	case log := <-it.logs:
   724  		it.Event = new(RoleManagerRoleRevoked)
   725  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   726  			it.fail = err
   727  			return false
   728  		}
   729  		it.Event.Raw = log
   730  		return true
   731  
   732  	case err := <-it.sub.Err():
   733  		it.done = true
   734  		it.fail = err
   735  		return it.Next()
   736  	}
   737  }
   738  
   739  // Error returns any retrieval or parsing error occurred during filtering.
   740  func (it *RoleManagerRoleRevokedIterator) Error() error {
   741  	return it.fail
   742  }
   743  
   744  // Close terminates the iteration process, releasing any pending underlying
   745  // resources.
   746  func (it *RoleManagerRoleRevokedIterator) Close() error {
   747  	it.sub.Unsubscribe()
   748  	return nil
   749  }
   750  
   751  // RoleManagerRoleRevoked represents a RoleRevoked event raised by the RoleManager contract.
   752  type RoleManagerRoleRevoked struct {
   753  	RoleId string
   754  	OrgId  string
   755  	Raw    types.Log // Blockchain specific contextual infos
   756  }
   757  
   758  // FilterRoleRevoked is a free log retrieval operation binding the contract event 0x1196059dd83524bf989fd94bb65808c09dbea2ab791fb6bfa87a0e0aa64b2ea6.
   759  //
   760  // Solidity: event RoleRevoked(string _roleId, string _orgId)
   761  func (_RoleManager *RoleManagerFilterer) FilterRoleRevoked(opts *bind.FilterOpts) (*RoleManagerRoleRevokedIterator, error) {
   762  
   763  	logs, sub, err := _RoleManager.contract.FilterLogs(opts, "RoleRevoked")
   764  	if err != nil {
   765  		return nil, err
   766  	}
   767  	return &RoleManagerRoleRevokedIterator{contract: _RoleManager.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil
   768  }
   769  
   770  var RoleRevokedTopicHash = "0x1196059dd83524bf989fd94bb65808c09dbea2ab791fb6bfa87a0e0aa64b2ea6"
   771  
   772  // WatchRoleRevoked is a free log subscription operation binding the contract event 0x1196059dd83524bf989fd94bb65808c09dbea2ab791fb6bfa87a0e0aa64b2ea6.
   773  //
   774  // Solidity: event RoleRevoked(string _roleId, string _orgId)
   775  func (_RoleManager *RoleManagerFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *RoleManagerRoleRevoked) (event.Subscription, error) {
   776  
   777  	logs, sub, err := _RoleManager.contract.WatchLogs(opts, "RoleRevoked")
   778  	if err != nil {
   779  		return nil, err
   780  	}
   781  	return event.NewSubscription(func(quit <-chan struct{}) error {
   782  		defer sub.Unsubscribe()
   783  		for {
   784  			select {
   785  			case log := <-logs:
   786  				// New log arrived, parse the event and forward to the user
   787  				event := new(RoleManagerRoleRevoked)
   788  				if err := _RoleManager.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
   789  					return err
   790  				}
   791  				event.Raw = log
   792  
   793  				select {
   794  				case sink <- event:
   795  				case err := <-sub.Err():
   796  					return err
   797  				case <-quit:
   798  					return nil
   799  				}
   800  			case err := <-sub.Err():
   801  				return err
   802  			case <-quit:
   803  				return nil
   804  			}
   805  		}
   806  	}), nil
   807  }
   808  
   809  // ParseRoleRevoked is a log parse operation binding the contract event 0x1196059dd83524bf989fd94bb65808c09dbea2ab791fb6bfa87a0e0aa64b2ea6.
   810  //
   811  // Solidity: event RoleRevoked(string _roleId, string _orgId)
   812  func (_RoleManager *RoleManagerFilterer) ParseRoleRevoked(log types.Log) (*RoleManagerRoleRevoked, error) {
   813  	event := new(RoleManagerRoleRevoked)
   814  	if err := _RoleManager.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
   815  		return nil, err
   816  	}
   817  	return event, nil
   818  }