github.com/kisexp/xdchain@v0.0.0-20211206025815-490d6b732aa7/permission/v2/bind/accounts.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  // AcctManagerABI is the input ABI used to generate the binding from.
    30  const AcctManagerABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_adminRole\",\"type\":\"bool\"}],\"name\":\"assignAccountRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"removeExistingAdmin\",\"outputs\":[{\"name\":\"voterUpdate\",\"type\":\"bool\"},{\"name\":\"account\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccountDetails\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNumberOfAccounts\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccountOrgRole\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"validateAccount\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccountRole\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_action\",\"type\":\"uint256\"}],\"name\":\"updateAccountStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"orgAdminExists\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_aIndex\",\"type\":\"uint256\"}],\"name\":\"getAccountDetailsFromIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"addNewAdmin\",\"outputs\":[{\"name\":\"voterUpdate\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_nwAdminRole\",\"type\":\"string\"},{\"name\":\"_oAdminRole\",\"type\":\"string\"}],\"name\":\"setDefaults\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_status\",\"type\":\"uint256\"}],\"name\":\"assignAdminRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_ultParent\",\"type\":\"string\"}],\"name\":\"checkOrgAdmin\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccountStatus\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_permUpgradable\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_account\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_roleId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgAdmin\",\"type\":\"bool\"},{\"indexed\":false,\"name\":\"_status\",\"type\":\"uint256\"}],\"name\":\"AccountAccessModified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_account\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_roleId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgAdmin\",\"type\":\"bool\"}],\"name\":\"AccountAccessRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_account\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_status\",\"type\":\"uint256\"}],\"name\":\"AccountStatusChanged\",\"type\":\"event\"}]"
    31  
    32  var AcctManagerParsedABI, _ = abi.JSON(strings.NewReader(AcctManagerABI))
    33  
    34  // AcctManagerBin is the compiled bytecode used for deploying new contracts.
    35  var AcctManagerBin = "0x608060405234801561001057600080fd5b50604051602080613d2d8339810180604052602081101561003057600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055613ccb806100626000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806384b7a84a11610097578063cef7f6af11610066578063cef7f6af1461078c578063e3483a9d1461084a578063e8b42bf414610918578063fd4fa05a14610a51576100f5565b806384b7a84a146105d7578063950145cf14610654578063b2018568146106f8578063c214e5e514610715576100f5565b8063309e36ef116100d3578063309e36ef1461038c5780636acee5fd146103a65780636b568d76146104aa57806381d66b231461053c576100f5565b8063143a5604146100fa5780631d09dc93146101cc5780632aceb5341461025d575b600080fd5b6101ca6004803603608081101561011057600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561013a57600080fd5b82018360208201111561014c57600080fd5b803590602001918460018302840111600160201b8311171561016d57600080fd5b919390929091602081019035600160201b81111561018a57600080fd5b82018360208201111561019c57600080fd5b803590602001918460018302840111600160201b831117156101bd57600080fd5b9193509150351515610a77565b005b61023a600480360360208110156101e257600080fd5b810190602081018135600160201b8111156101fc57600080fd5b82018360208201111561020e57600080fd5b803590602001918460018302840111600160201b8311171561022f57600080fd5b509092509050610e75565b6040805192151583526001600160a01b0390911660208301528051918290030190f35b6102836004803603602081101561027357600080fd5b50356001600160a01b0316611401565b60405180866001600160a01b03166001600160a01b03168152602001806020018060200185815260200184151515158152602001838103835287818151815260200191508051906020019080838360005b838110156102ec5781810151838201526020016102d4565b50505050905090810190601f1680156103195780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b8381101561034c578181015183820152602001610334565b50505050905090810190601f1680156103795780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b610394611659565b60408051918252519081900360200190f35b6103cc600480360360208110156103bc57600080fd5b50356001600160a01b0316611660565b604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561040d5781810151838201526020016103f5565b50505050905090810190601f16801561043a5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561046d578181015183820152602001610455565b50505050905090810190601f16801561049a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b610528600480360360408110156104c057600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156104ea57600080fd5b8201836020820111156104fc57600080fd5b803590602001918460018302840111600160201b8311171561051d57600080fd5b509092509050611831565b604080519115158252519081900360200190f35b6105626004803603602081101561055257600080fd5b50356001600160a01b031661198c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561059c578181015183820152602001610584565b50505050905090810190601f1680156105c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ca600480360360608110156105ed57600080fd5b810190602081018135600160201b81111561060757600080fd5b82018360208201111561061957600080fd5b803590602001918460018302840111600160201b8311171561063a57600080fd5b91935091506001600160a01b038135169060200135611ae2565b6105286004803603602081101561066a57600080fd5b810190602081018135600160201b81111561068457600080fd5b82018360208201111561069657600080fd5b803590602001918460018302840111600160201b831117156106b757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612215945050505050565b6102836004803603602081101561070e57600080fd5b5035612390565b6105286004803603604081101561072b57600080fd5b810190602081018135600160201b81111561074557600080fd5b82018360208201111561075757600080fd5b803590602001918460018302840111600160201b8311171561077857600080fd5b9193509150356001600160a01b031661257a565b6101ca600480360360408110156107a257600080fd5b810190602081018135600160201b8111156107bc57600080fd5b8201836020820111156107ce57600080fd5b803590602001918460018302840111600160201b831117156107ef57600080fd5b919390929091602081019035600160201b81111561080c57600080fd5b82018360208201111561081e57600080fd5b803590602001918460018302840111600160201b8311171561083f57600080fd5b509092509050612bcc565b6101ca6004803603608081101561086057600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561088a57600080fd5b82018360208201111561089c57600080fd5b803590602001918460018302840111600160201b831117156108bd57600080fd5b919390929091602081019035600160201b8111156108da57600080fd5b8201836020820111156108ec57600080fd5b803590602001918460018302840111600160201b8311171561090d57600080fd5b919350915035612cb8565b6105286004803603606081101561092e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561095857600080fd5b82018360208201111561096a57600080fd5b803590602001918460018302840111600160201b8311171561098b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156109dd57600080fd5b8201836020820111156109ef57600080fd5b803590602001918460018302840111600160201b83111715610a1057600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061302a945050505050565b61039460048036036020811015610a6757600080fd5b50356001600160a01b0316613591565b6000809054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b158015610ac457600080fd5b505afa158015610ad8573d6000803e3d6000fd5b505050506040513d6020811015610aee57600080fd5b50516001600160a01b03163314610b435760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b6040805160208082019081526004805460026000196101006001841615020190911604938301849052929091829160609091019084908015610bc65780601f10610b9b57610100808354040283529160200191610bc6565b820191906000526020600020905b815481529060010190602001808311610ba957829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014158015610db457506040805160208082019081526005805460026000196101006001841615020190911604938301849052929091829160609091019084908015610cc15780601f10610c9657610100808354040283529160200191610cc1565b820191906000526020600020905b815481529060010190602001808311610ca457829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040526040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015610d69578181015183820152602001610d51565b50505050905090810190601f168015610d965780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012014155b1515610df457604051600160e51b62461bcd028152600401808060200182810382526040815260200180613bfb6040913960400191505060405180910390fd5b610e6d8686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881529250889150879081908401838280828437600092019190915250600292508791506135ee9050565b505050505050565b6000805460408051600160e41b62e32cf9028152905183926001600160a01b031691630e32cf90916004808301926020929190829003018186803b158015610ebc57600080fd5b505afa158015610ed0573d6000803e3d6000fd5b505050506040513d6020811015610ee657600080fd5b50516001600160a01b03163314610f3b5760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b610f7a84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061221592505050565b156113f357600061100260066000878760405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a90046001600160a01b03166139c8565b9050600660018281548110151561101557fe5b906000526020600020906005020160030181905550600060018281548110151561103b57fe5b906000526020600020906005020160040160006101000a81548160ff0219169083151502179055507f68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc77660018281548110151561109357fe5b6000918252602090912060059091020154600180546001600160a01b0390921691849081106110be57fe5b90600052602060002090600502016001016001848154811015156110de57fe5b90600052602060002090600502016002016001858154811015156110fe57fe5b60009182526020909120600460059092020101546001805460ff909216918790811061112657fe5b600091825260209182902060036005909202010154604080516001600160a01b038816815284151560608201526080810183905260a0938101848152875460026000196101006001841615020190911604948201859052929390929183019060c0840190889080156111d95780601f106111ae576101008083540402835291602001916111d9565b820191906000526020600020905b8154815290600101906020018083116111bc57829003601f168201915b505083810382528654600260001961010060018416150201909116048082526020909101908790801561124d5780601f106112225761010080835404028352916020019161124d565b820191906000526020600020905b81548152906001019060200180831161123057829003601f168201915b505097505050505050505060405180910390a160408051602080820190815260048054600260001961010060018416150201909116049383018490529290918291606090910190849080156112e35780601f106112b8576101008083540402835291602001916112e3565b820191906000526020600020905b8154815290600101906020018083116112c657829003601f168201915b5050925050506040516020818303038152906040528051906020012060018281548110151561130e57fe5b6000918252602091829020604080518085019485526002600590940290920183018054600019610100600183161502011693909304908201819052919291829160600190849080156113a15780601f10611376576101008083540402835291602001916113a1565b820191906000526020600020905b81548152906001019060200180831161138457829003601f168201915b50509250505060405160208183030381529060405280519060200120146001828154811015156113cd57fe5b60009182526020909120600590910201549093506001600160a01b031691506113fa9050565b5060009050805b9250929050565b6001600160a01b038116600090815260026020526040812054606090819083908190151561146857505060408051808201825260048152600160e01b634e4f4e45026020808301919091528251908101909252600080835286955090935090915080611650565b6000611473876139c8565b905060018181548110151561148457fe5b6000918252602090912060059091020154600180546001600160a01b0390921691839081106114af57fe5b90600052602060002090600502016001016001838154811015156114cf57fe5b90600052602060002090600502016002016001848154811015156114ef57fe5b90600052602060002090600502016003015460018581548110151561151057fe5b600091825260209182902060046005909202010154845460408051601f6002600019600186161561010002019094169390930492830185900485028101850190915281815260ff909216928691908301828280156115af5780601f10611584576101008083540402835291602001916115af565b820191906000526020600020905b81548152906001019060200180831161159257829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529599508894509250840190508282801561163d5780601f106116125761010080835404028352916020019161163d565b820191906000526020600020905b81548152906001019060200180831161162057829003601f168201915b5050505050925095509550955095509550505b91939590929450565b6001545b90565b6001600160a01b038116600090815260026020526040902054606090819015156116bd57604051806040016040528060048152602001600160e01b634e4f4e4502815250604051806020016040528060008152509150915061182c565b60006116c8846139c8565b90506001818154811015156116d957fe5b90600052602060002090600502016001016001828154811015156116f957fe5b6000918252602091829020835460408051601f600260001961010060018716150201909416849004908101879004870282018701909252818152600590940290920101928491908301828280156117915780601f1061176657610100808354040283529160200191611791565b820191906000526020600020905b81548152906001019060200180831161177457829003601f168201915b5050845460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529597508694509250840190508282801561181f5780601f106117f45761010080835404028352916020019161181f565b820191906000526020600020905b81548152906001019060200180831161180257829003601f168201915b5050505050905092509250505b915091565b6001600160a01b038316600090815260026020526040812054151561185857506001611985565b6000611863856139c8565b9050838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050604051602081830303815290604052805190602001206001828154811015156118c757fe5b906000526020600020906005020160010160405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156119645780601f1061193957610100808354040283529160200191611964565b820191906000526020600020905b81548152906001019060200180831161194757829003601f168201915b50509250505060405160208183030381529060405280519060200120149150505b9392505050565b6001600160a01b03811660009081526002602052604090205460609015156119d257506040805180820190915260048152600160e01b634e4f4e45026020820152611add565b60006119dd836139c8565b90506001818154811015156119ee57fe5b9060005260206000209060050201600301546000141515611abc576001805482908110611a1757fe5b600091825260209182902060026005909202018101805460408051601f600019610100600186161502019093169490940491820185900485028401850190528083529192909190830182828015611aaf5780601f10611a8457610100808354040283529160200191611aaf565b820191906000526020600020905b815481529060010190602001808311611a9257829003601f168201915b5050505050915050611add565b50506040805180820190915260048152600160e01b634e4f4e450260208201525b919050565b6000809054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b158015611b2f57600080fd5b505afa158015611b43573d6000803e3d6000fd5b505050506040513d6020811015611b5957600080fd5b50516001600160a01b03163314611bae5760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506001600160a01b03871681526002602052604090205486935015159150611c5390505760408051600160e51b62461bcd02815260206004820152601760248201527f6163636f756e7420646f6573206e6f7420657869737473000000000000000000604482015290519081900360640190fd5b816040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611c94578181015183820152602001611c7c565b50505050905090810190601f168015611cc15780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001206001611ce7836139c8565b81548110611cf157fe5b90600052602060002090600502016001016040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611d8e5780601f10611d6357610100808354040283529160200191611d8e565b820191906000526020600020905b815481529060010190602001808311611d7157829003601f168201915b50509250505060405160208183030381529060405280519060200120141515611e015760408051600160e51b62461bcd02815260206004820152601860248201527f6163636f756e7420696e20646966666572656e74206f72670000000000000000604482015290519081900360640190fd5b600083118015611e115750600683105b1515611e675760408051600160e51b62461bcd02815260206004820152601d60248201527f696e76616c696420737461747573206368616e67652072657175657374000000604482015290519081900360640190fd5b611eb58487878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805160208101909152908152925061302a915050565b151560011415611ef957604051600160e51b62461bcd028152600401808060200182810382526031815260200180613c6f6031913960400191505060405180910390fd5b60008360011415611f76576001611f0f866139c8565b81548110611f1957fe5b9060005260206000209060050201600301546002141515611f6e57604051600160e51b62461bcd028152600401808060200182810382526039815260200180613b9a6039913960400191505060405180910390fd5b50600461215f565b8360021415611ff1576001611f8a866139c8565b81548110611f9457fe5b9060005260206000209060050201600301546004141515611fe957604051600160e51b62461bcd02815260040180806020018281038252603c815260200180613b5e603c913960400191505060405180910390fd5b50600261215f565b836003141561206d576001612005866139c8565b8154811061200f57fe5b90600052602060002090600502016003015460051415151561206557604051600160e51b62461bcd028152600401808060200182810382526038815260200180613b266038913960400191505060405180910390fd5b50600561215f565b83600414156120e8576001612081866139c8565b8154811061208b57fe5b90600052602060002090600502016003015460051415156120e057604051600160e51b62461bcd028152600401808060200182810382526034815260200180613c3b6034913960400191505060405180910390fd5b50600761215f565b836005141561215f5760016120fc866139c8565b8154811061210657fe5b906000526020600020906005020160030154600714151561215b57604051600160e51b62461bcd028152600401808060200182810382526038815260200180613aee6038913960400191505060405180910390fd5b5060025b80600161216b876139c8565b8154811061217557fe5b9060005260206000209060050201600301819055507f36b0ea38154dec5e98b6bf928b971a9db5e8cd4b6946350e9e43fb9848c70b258588888460405180856001600160a01b03166001600160a01b03168152602001806020018381526020018281038252858582818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a150505050505050565b6000806001600160a01b031660066000846040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561226657818101518382015260200161224e565b50505050905090810190601f1680156122935780820380516001836020036101000a031916815260200191505b5060408051601f19818403018152918152815160209283012086529085019590955250505001600020546001600160a01b03161461238857600060066000846040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156123125781810151838201526020016122fa565b50505050905090810190601f16801561233f5780820380516001836020036101000a031916815260200191505b5060408051601f19818403018152918152815160209283012086529085019590955250505001600020546001600160a01b0316905061237d81613591565b600214915050611add565b506000919050565b60006060806000806001868154811015156123a757fe5b6000918252602090912060059091020154600180546001600160a01b0390921691889081106123d257fe5b90600052602060002090600502016001016001888154811015156123f257fe5b906000526020600020906005020160020160018981548110151561241257fe5b90600052602060002090600502016003015460018a81548110151561243357fe5b600091825260209182902060046005909202010154845460408051601f6002600019600186161561010002019094169390930492830185900485028101850190915281815260ff909216928691908301828280156124d25780601f106124a7576101008083540402835291602001916124d2565b820191906000526020600020905b8154815290600101906020018083116124b557829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959950889450925084019050828280156125605780601f1061253557610100808354040283529160200191612560565b820191906000526020600020905b81548152906001019060200180831161254357829003601f168201915b505050505092509450945094509450945091939590929450565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b1580156125c957600080fd5b505afa1580156125dd573d6000803e3d6000fd5b505050506040513d60208110156125f357600080fd5b50516001600160a01b031633146126485760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b60606126538361198c565b9050600061266084613591565b9050600061266d856139c8565b604080516020808201908152600580546002600019610100600184161502019091160493830184905293945091829160600190849080156126ef5780601f106126c4576101008083540402835291602001916126ef565b820191906000526020600020905b8154815290600101906020018083116126d257829003601f168201915b50509250505060405160208183030381529060405280519060200120836040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561274c578181015183820152602001612734565b50505050905090810190601f1680156127795780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001201480156127a15750816001145b15612831578460066000898960405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b600260018281548110151561284257fe5b9060005260206000209060050201600301819055506001808281548110151561286757fe5b906000526020600020906005020160040160006101000a81548160ff0219169083151502179055507f68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc776856001838154811015156128c057fe5b90600052602060002090600502016001016001848154811015156128e057fe5b906000526020600020906005020160020160018581548110151561290057fe5b60009182526020909120600460059092020101546001805460ff909216918790811061292857fe5b600091825260209182902060036005909202010154604080516001600160a01b038816815284151560608201526080810183905260a0938101848152875460026000196101006001841615020190911604948201859052929390929183019060c0840190889080156129db5780601f106129b0576101008083540402835291602001916129db565b820191906000526020600020905b8154815290600101906020018083116129be57829003601f168201915b5050838103825286546002600019610100600184161502019091160480825260209091019087908015612a4f5780601f10612a2457610100808354040283529160200191612a4f565b820191906000526020600020905b815481529060010190602001808311612a3257829003601f168201915b505097505050505050505060405180910390a16040805160208082019081526004805460026000196101006001841615020190911604938301849052929091829160609091019084908015612ae55780601f10612aba57610100808354040283529160200191612ae5565b820191906000526020600020905b815481529060010190602001808311612ac857829003601f168201915b50509250505060405160208183030381529060405280519060200120600182815481101515612b1057fe5b600091825260209182902060408051808501948552600260059094029092018301805460001961010060018316150201169390930490820181905291929182916060019084908015612ba35780601f10612b7857610100808354040283529160200191612ba3565b820191906000526020600020905b815481529060010190602001808311612b8657829003601f168201915b505092505050604051602081830303815290604052805190602001201493505050509392505050565b6000809054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b158015612c1957600080fd5b505afa158015612c2d573d6000803e3d6000fd5b505050506040513d6020811015612c4357600080fd5b50516001600160a01b03163314612c985760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b612ca4600485856139e7565b50612cb1600583836139e7565b5050505050565b6000809054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b158015612d0557600080fd5b505afa158015612d19573d6000803e3d6000fd5b505050506040513d6020811015612d2f57600080fd5b50516001600160a01b03163314612d845760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b6040805160208082019081526005805460026000196101006001841615020190911604938301849052929091829160609091019084908015612e075780601f10612ddc57610100808354040283529160200191612e07565b820191906000526020600020905b815481529060010190602001808311612dea57829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050604051602081830303815290604052805190602001201480612f7157506040805160208082019081526004805460026000196101006001841615020190911604938301849052929091829160609091019084908015612f005780601f10612ed557610100808354040283529160200191612f00565b820191906000526020600020905b815481529060010190602001808311612ee357829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120145b1515612fb157604051600160e51b62461bcd028152600401808060200182810382526028815260200180613bd36028913960400191505060405180910390fd5b610e6d8686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881529250889150879081908401838280828437600092019190915250879250600191506135ee9050565b604080516020808201908152600480546002600019610100600184161502019091160493830184905260009390928291606090910190849080156130af5780601f10613084576101008083540402835291602001916130af565b820191906000526020600020905b81548152906001019060200180831161309257829003601f168201915b505092505050604051602081830303815290604052805190602001206130d48561198c565b6040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156131145781810151838201526020016130fc565b50505050905090810190601f1680156131415780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120141561342257600061316d856139c8565b9050836040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156131b0578181015183820152602001613198565b50505050905090810190601f1680156131dd5780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012060018281548110151561320757fe5b906000526020600020906005020160010160405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156132a45780601f10613279576101008083540402835291602001916132a4565b820191906000526020600020905b81548152906001019060200180831161328757829003601f168201915b50509250505060405160208183030381529060405280519060200120148061341a5750826040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156133085781810151838201526020016132f0565b50505050905090810190601f1680156133355780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012060018281548110151561335f57fe5b906000526020600020906005020160010160405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156133fc5780601f106133d1576101008083540402835291602001916133fc565b820191906000526020600020905b8154815290600101906020018083116133df57829003601f168201915b50509250505060405160208183030381529060405280519060200120145b915050611985565b836001600160a01b031660066000856040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613471578181015183820152602001613459565b50505050905090810190601f16801561349e5780820380516001836020036101000a031916815260200191505b5060408051601f19818403018152918152815160209283012086529085019590955250505001600020546001600160a01b031614806135895750836001600160a01b031660066000846040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561352757818101518382015260200161350f565b50505050905090810190601f1680156135545780820380516001836020036101000a031916815260200191505b5060408051601f19818403018152918152815160209283012086529085019590955250505001600020546001600160a01b0316145b949350505050565b6001600160a01b03811660009081526002602052604081205415156135b857506000611add565b60006135c3836139c8565b90506001818154811015156135d457fe5b906000526020600020906005020160030154915050919050565b6000809054906101000a90046001600160a01b03166001600160a01b0316630e32cf906040518163ffffffff1660e01b815260040160206040518083038186803b15801561363b57600080fd5b505afa15801561364f573d6000803e3d6000fd5b505050506040513d602081101561366557600080fd5b50516001600160a01b031633146136ba5760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d34b73b30b634b21031b0b63632b902604482015290519081900360640190fd5b60006136c5866139c8565b6001600160a01b0387166000908152600260205260409020549091501561377757836001828154811015156136f657fe5b9060005260206000209060050201600201908051906020019061371a929190613a65565b508260018281548110151561372b57fe5b9060005260206000209060050201600301819055508160018281548110151561375057fe5b60009182526020909120600590910201600401805460ff1916911515919091179055613892565b600380546001908101918290556001600160a01b03888116600081815260026020908152604080832096909655855160a0810187529283528281018b81529583018a905260608301899052871515608084015284548086018087559590925282517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6600590930292830180546001600160a01b03191691909516178455945180519495929461384f937fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf7909301929190910190613a65565b506040820151805161386b916002840191602090910190613a65565b50606082015160038201556080909101516004909101805460ff1916911515919091179055505b7f68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc776868686858760405180866001600160a01b03166001600160a01b03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b83811015613921578181015183820152602001613909565b50505050905090810190601f16801561394e5780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b83811015613981578181015183820152602001613969565b50505050905090810190601f1680156139ae5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a1505050505050565b6001600160a01b03166000908152600260205260409020546000190190565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613a285782800160ff19823516178555613a55565b82800160010185558215613a55579182015b82811115613a55578235825591602001919060010190613a3a565b50613a61929150613ad3565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613aa657805160ff1916838001178555613a55565b82800160010185558215613a55579182015b82811115613a55578251825591602001919060010190613ab8565b61165d91905b80821115613a615760008155600101613ad956fe6163636f756e74207265636f76657279206e6f7420696e697469617465642e206f7065726174696f6e2063616e6e6f7420626520646f6e656163636f756e7420697320616c726561647920626c61636b6c69737465642e206f7065726174696f6e2063616e6e6f7420626520646f6e656163636f756e74206973206e6f7420696e2073757370656e646564207374617475732e206f7065726174696f6e2063616e6e6f7420626520646f6e656163636f756e74206973206e6f7420696e20616374697665207374617475732e206f7065726174696f6e2063616e6e6f7420626520646f6e6563616e2062652063616c6c656420746f2061737369676e2061646d696e20726f6c6573206f6e6c7963616e6e6f742062652063616c6c65642066726f2061737369676e696e67206f72672061646d696e20616e64206e6574776f726b2061646d696e20726f6c65736163636f756e74206973206e6f7420626c61636b6c69737465642e206f7065726174696f6e2063616e6e6f7420626520646f6e65737461747573206368616e6765206e6f7420706f737369626c6520666f72206f72672061646d696e206163636f756e7473a165627a7a72305820f5cf4f43c37e9dae763b0a301bd310a91d3b733b1642aabb6208a69fcc6a272d0029"
    36  
    37  // DeployAcctManager deploys a new Ethereum contract, binding an instance of AcctManager to it.
    38  func DeployAcctManager(auth *bind.TransactOpts, backend bind.ContractBackend, _permUpgradable common.Address) (common.Address, *types.Transaction, *AcctManager, error) {
    39  	parsed, err := abi.JSON(strings.NewReader(AcctManagerABI))
    40  	if err != nil {
    41  		return common.Address{}, nil, nil, err
    42  	}
    43  
    44  	address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(AcctManagerBin), backend, _permUpgradable)
    45  	if err != nil {
    46  		return common.Address{}, nil, nil, err
    47  	}
    48  	return address, tx, &AcctManager{AcctManagerCaller: AcctManagerCaller{contract: contract}, AcctManagerTransactor: AcctManagerTransactor{contract: contract}, AcctManagerFilterer: AcctManagerFilterer{contract: contract}}, nil
    49  }
    50  
    51  // AcctManager is an auto generated Go binding around an Ethereum contract.
    52  type AcctManager struct {
    53  	AcctManagerCaller     // Read-only binding to the contract
    54  	AcctManagerTransactor // Write-only binding to the contract
    55  	AcctManagerFilterer   // Log filterer for contract events
    56  }
    57  
    58  // AcctManagerCaller is an auto generated read-only Go binding around an Ethereum contract.
    59  type AcctManagerCaller struct {
    60  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    61  }
    62  
    63  // AcctManagerTransactor is an auto generated write-only Go binding around an Ethereum contract.
    64  type AcctManagerTransactor struct {
    65  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    66  }
    67  
    68  // AcctManagerFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    69  type AcctManagerFilterer struct {
    70  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    71  }
    72  
    73  // AcctManagerSession is an auto generated Go binding around an Ethereum contract,
    74  // with pre-set call and transact options.
    75  type AcctManagerSession struct {
    76  	Contract     *AcctManager      // 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  // AcctManagerCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    82  // with pre-set call options.
    83  type AcctManagerCallerSession struct {
    84  	Contract *AcctManagerCaller // Generic contract caller binding to set the session for
    85  	CallOpts bind.CallOpts      // Call options to use throughout this session
    86  }
    87  
    88  // AcctManagerTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    89  // with pre-set transact options.
    90  type AcctManagerTransactorSession struct {
    91  	Contract     *AcctManagerTransactor // Generic contract transactor binding to set the session for
    92  	TransactOpts bind.TransactOpts      // Transaction auth options to use throughout this session
    93  }
    94  
    95  // AcctManagerRaw is an auto generated low-level Go binding around an Ethereum contract.
    96  type AcctManagerRaw struct {
    97  	Contract *AcctManager // Generic contract binding to access the raw methods on
    98  }
    99  
   100  // AcctManagerCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
   101  type AcctManagerCallerRaw struct {
   102  	Contract *AcctManagerCaller // Generic read-only contract binding to access the raw methods on
   103  }
   104  
   105  // AcctManagerTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
   106  type AcctManagerTransactorRaw struct {
   107  	Contract *AcctManagerTransactor // Generic write-only contract binding to access the raw methods on
   108  }
   109  
   110  // NewAcctManager creates a new instance of AcctManager, bound to a specific deployed contract.
   111  func NewAcctManager(address common.Address, backend bind.ContractBackend) (*AcctManager, error) {
   112  	contract, err := bindAcctManager(address, backend, backend, backend)
   113  	if err != nil {
   114  		return nil, err
   115  	}
   116  	return &AcctManager{AcctManagerCaller: AcctManagerCaller{contract: contract}, AcctManagerTransactor: AcctManagerTransactor{contract: contract}, AcctManagerFilterer: AcctManagerFilterer{contract: contract}}, nil
   117  }
   118  
   119  // NewAcctManagerCaller creates a new read-only instance of AcctManager, bound to a specific deployed contract.
   120  func NewAcctManagerCaller(address common.Address, caller bind.ContractCaller) (*AcctManagerCaller, error) {
   121  	contract, err := bindAcctManager(address, caller, nil, nil)
   122  	if err != nil {
   123  		return nil, err
   124  	}
   125  	return &AcctManagerCaller{contract: contract}, nil
   126  }
   127  
   128  // NewAcctManagerTransactor creates a new write-only instance of AcctManager, bound to a specific deployed contract.
   129  func NewAcctManagerTransactor(address common.Address, transactor bind.ContractTransactor) (*AcctManagerTransactor, error) {
   130  	contract, err := bindAcctManager(address, nil, transactor, nil)
   131  	if err != nil {
   132  		return nil, err
   133  	}
   134  	return &AcctManagerTransactor{contract: contract}, nil
   135  }
   136  
   137  // NewAcctManagerFilterer creates a new log filterer instance of AcctManager, bound to a specific deployed contract.
   138  func NewAcctManagerFilterer(address common.Address, filterer bind.ContractFilterer) (*AcctManagerFilterer, error) {
   139  	contract, err := bindAcctManager(address, nil, nil, filterer)
   140  	if err != nil {
   141  		return nil, err
   142  	}
   143  	return &AcctManagerFilterer{contract: contract}, nil
   144  }
   145  
   146  // bindAcctManager binds a generic wrapper to an already deployed contract.
   147  func bindAcctManager(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   148  	parsed, err := abi.JSON(strings.NewReader(AcctManagerABI))
   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 (_AcctManager *AcctManagerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   160  	return _AcctManager.Contract.AcctManagerCaller.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 (_AcctManager *AcctManagerRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   166  	return _AcctManager.Contract.AcctManagerTransactor.contract.Transfer(opts)
   167  }
   168  
   169  // Transact invokes the (paid) contract method with params as input values.
   170  func (_AcctManager *AcctManagerRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   171  	return _AcctManager.Contract.AcctManagerTransactor.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 (_AcctManager *AcctManagerCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   179  	return _AcctManager.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 (_AcctManager *AcctManagerTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   185  	return _AcctManager.Contract.contract.Transfer(opts)
   186  }
   187  
   188  // Transact invokes the (paid) contract method with params as input values.
   189  func (_AcctManager *AcctManagerTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   190  	return _AcctManager.Contract.contract.Transact(opts, method, params...)
   191  }
   192  
   193  // CheckOrgAdmin is a free data retrieval call binding the contract method 0xe8b42bf4.
   194  //
   195  // Solidity: function checkOrgAdmin(address _account, string _orgId, string _ultParent) view returns(bool)
   196  func (_AcctManager *AcctManagerCaller) CheckOrgAdmin(opts *bind.CallOpts, _account common.Address, _orgId string, _ultParent string) (bool, error) {
   197  	var out []interface{}
   198  	err := _AcctManager.contract.Call(opts, &out, "checkOrgAdmin", _account, _orgId, _ultParent)
   199  
   200  	if err != nil {
   201  		return *new(bool), err
   202  	}
   203  
   204  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   205  
   206  	return out0, err
   207  
   208  }
   209  
   210  // CheckOrgAdmin is a free data retrieval call binding the contract method 0xe8b42bf4.
   211  //
   212  // Solidity: function checkOrgAdmin(address _account, string _orgId, string _ultParent) view returns(bool)
   213  func (_AcctManager *AcctManagerSession) CheckOrgAdmin(_account common.Address, _orgId string, _ultParent string) (bool, error) {
   214  	return _AcctManager.Contract.CheckOrgAdmin(&_AcctManager.CallOpts, _account, _orgId, _ultParent)
   215  }
   216  
   217  // CheckOrgAdmin is a free data retrieval call binding the contract method 0xe8b42bf4.
   218  //
   219  // Solidity: function checkOrgAdmin(address _account, string _orgId, string _ultParent) view returns(bool)
   220  func (_AcctManager *AcctManagerCallerSession) CheckOrgAdmin(_account common.Address, _orgId string, _ultParent string) (bool, error) {
   221  	return _AcctManager.Contract.CheckOrgAdmin(&_AcctManager.CallOpts, _account, _orgId, _ultParent)
   222  }
   223  
   224  // GetAccountDetails is a free data retrieval call binding the contract method 0x2aceb534.
   225  //
   226  // Solidity: function getAccountDetails(address _account) view returns(address, string, string, uint256, bool)
   227  func (_AcctManager *AcctManagerCaller) GetAccountDetails(opts *bind.CallOpts, _account common.Address) (common.Address, string, string, *big.Int, bool, error) {
   228  	var out []interface{}
   229  	err := _AcctManager.contract.Call(opts, &out, "getAccountDetails", _account)
   230  
   231  	if err != nil {
   232  		return *new(common.Address), *new(string), *new(string), *new(*big.Int), *new(bool), err
   233  	}
   234  
   235  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   236  	out1 := *abi.ConvertType(out[1], new(string)).(*string)
   237  	out2 := *abi.ConvertType(out[2], new(string)).(*string)
   238  	out3 := *abi.ConvertType(out[3], new(*big.Int)).(**big.Int)
   239  	out4 := *abi.ConvertType(out[4], new(bool)).(*bool)
   240  
   241  	return out0, out1, out2, out3, out4, err
   242  
   243  }
   244  
   245  // GetAccountDetails is a free data retrieval call binding the contract method 0x2aceb534.
   246  //
   247  // Solidity: function getAccountDetails(address _account) view returns(address, string, string, uint256, bool)
   248  func (_AcctManager *AcctManagerSession) GetAccountDetails(_account common.Address) (common.Address, string, string, *big.Int, bool, error) {
   249  	return _AcctManager.Contract.GetAccountDetails(&_AcctManager.CallOpts, _account)
   250  }
   251  
   252  // GetAccountDetails is a free data retrieval call binding the contract method 0x2aceb534.
   253  //
   254  // Solidity: function getAccountDetails(address _account) view returns(address, string, string, uint256, bool)
   255  func (_AcctManager *AcctManagerCallerSession) GetAccountDetails(_account common.Address) (common.Address, string, string, *big.Int, bool, error) {
   256  	return _AcctManager.Contract.GetAccountDetails(&_AcctManager.CallOpts, _account)
   257  }
   258  
   259  // GetAccountDetailsFromIndex is a free data retrieval call binding the contract method 0xb2018568.
   260  //
   261  // Solidity: function getAccountDetailsFromIndex(uint256 _aIndex) view returns(address, string, string, uint256, bool)
   262  func (_AcctManager *AcctManagerCaller) GetAccountDetailsFromIndex(opts *bind.CallOpts, _aIndex *big.Int) (common.Address, string, string, *big.Int, bool, error) {
   263  	var out []interface{}
   264  	err := _AcctManager.contract.Call(opts, &out, "getAccountDetailsFromIndex", _aIndex)
   265  
   266  	if err != nil {
   267  		return *new(common.Address), *new(string), *new(string), *new(*big.Int), *new(bool), err
   268  	}
   269  
   270  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   271  	out1 := *abi.ConvertType(out[1], new(string)).(*string)
   272  	out2 := *abi.ConvertType(out[2], new(string)).(*string)
   273  	out3 := *abi.ConvertType(out[3], new(*big.Int)).(**big.Int)
   274  	out4 := *abi.ConvertType(out[4], new(bool)).(*bool)
   275  
   276  	return out0, out1, out2, out3, out4, err
   277  
   278  }
   279  
   280  // GetAccountDetailsFromIndex is a free data retrieval call binding the contract method 0xb2018568.
   281  //
   282  // Solidity: function getAccountDetailsFromIndex(uint256 _aIndex) view returns(address, string, string, uint256, bool)
   283  func (_AcctManager *AcctManagerSession) GetAccountDetailsFromIndex(_aIndex *big.Int) (common.Address, string, string, *big.Int, bool, error) {
   284  	return _AcctManager.Contract.GetAccountDetailsFromIndex(&_AcctManager.CallOpts, _aIndex)
   285  }
   286  
   287  // GetAccountDetailsFromIndex is a free data retrieval call binding the contract method 0xb2018568.
   288  //
   289  // Solidity: function getAccountDetailsFromIndex(uint256 _aIndex) view returns(address, string, string, uint256, bool)
   290  func (_AcctManager *AcctManagerCallerSession) GetAccountDetailsFromIndex(_aIndex *big.Int) (common.Address, string, string, *big.Int, bool, error) {
   291  	return _AcctManager.Contract.GetAccountDetailsFromIndex(&_AcctManager.CallOpts, _aIndex)
   292  }
   293  
   294  // GetAccountOrgRole is a free data retrieval call binding the contract method 0x6acee5fd.
   295  //
   296  // Solidity: function getAccountOrgRole(address _account) view returns(string, string)
   297  func (_AcctManager *AcctManagerCaller) GetAccountOrgRole(opts *bind.CallOpts, _account common.Address) (string, string, error) {
   298  	var out []interface{}
   299  	err := _AcctManager.contract.Call(opts, &out, "getAccountOrgRole", _account)
   300  
   301  	if err != nil {
   302  		return *new(string), *new(string), err
   303  	}
   304  
   305  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   306  	out1 := *abi.ConvertType(out[1], new(string)).(*string)
   307  
   308  	return out0, out1, err
   309  
   310  }
   311  
   312  // GetAccountOrgRole is a free data retrieval call binding the contract method 0x6acee5fd.
   313  //
   314  // Solidity: function getAccountOrgRole(address _account) view returns(string, string)
   315  func (_AcctManager *AcctManagerSession) GetAccountOrgRole(_account common.Address) (string, string, error) {
   316  	return _AcctManager.Contract.GetAccountOrgRole(&_AcctManager.CallOpts, _account)
   317  }
   318  
   319  // GetAccountOrgRole is a free data retrieval call binding the contract method 0x6acee5fd.
   320  //
   321  // Solidity: function getAccountOrgRole(address _account) view returns(string, string)
   322  func (_AcctManager *AcctManagerCallerSession) GetAccountOrgRole(_account common.Address) (string, string, error) {
   323  	return _AcctManager.Contract.GetAccountOrgRole(&_AcctManager.CallOpts, _account)
   324  }
   325  
   326  // GetAccountRole is a free data retrieval call binding the contract method 0x81d66b23.
   327  //
   328  // Solidity: function getAccountRole(address _account) view returns(string)
   329  func (_AcctManager *AcctManagerCaller) GetAccountRole(opts *bind.CallOpts, _account common.Address) (string, error) {
   330  	var out []interface{}
   331  	err := _AcctManager.contract.Call(opts, &out, "getAccountRole", _account)
   332  
   333  	if err != nil {
   334  		return *new(string), err
   335  	}
   336  
   337  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   338  
   339  	return out0, err
   340  
   341  }
   342  
   343  // GetAccountRole is a free data retrieval call binding the contract method 0x81d66b23.
   344  //
   345  // Solidity: function getAccountRole(address _account) view returns(string)
   346  func (_AcctManager *AcctManagerSession) GetAccountRole(_account common.Address) (string, error) {
   347  	return _AcctManager.Contract.GetAccountRole(&_AcctManager.CallOpts, _account)
   348  }
   349  
   350  // GetAccountRole is a free data retrieval call binding the contract method 0x81d66b23.
   351  //
   352  // Solidity: function getAccountRole(address _account) view returns(string)
   353  func (_AcctManager *AcctManagerCallerSession) GetAccountRole(_account common.Address) (string, error) {
   354  	return _AcctManager.Contract.GetAccountRole(&_AcctManager.CallOpts, _account)
   355  }
   356  
   357  // GetAccountStatus is a free data retrieval call binding the contract method 0xfd4fa05a.
   358  //
   359  // Solidity: function getAccountStatus(address _account) view returns(uint256)
   360  func (_AcctManager *AcctManagerCaller) GetAccountStatus(opts *bind.CallOpts, _account common.Address) (*big.Int, error) {
   361  	var out []interface{}
   362  	err := _AcctManager.contract.Call(opts, &out, "getAccountStatus", _account)
   363  
   364  	if err != nil {
   365  		return *new(*big.Int), err
   366  	}
   367  
   368  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   369  
   370  	return out0, err
   371  
   372  }
   373  
   374  // GetAccountStatus is a free data retrieval call binding the contract method 0xfd4fa05a.
   375  //
   376  // Solidity: function getAccountStatus(address _account) view returns(uint256)
   377  func (_AcctManager *AcctManagerSession) GetAccountStatus(_account common.Address) (*big.Int, error) {
   378  	return _AcctManager.Contract.GetAccountStatus(&_AcctManager.CallOpts, _account)
   379  }
   380  
   381  // GetAccountStatus is a free data retrieval call binding the contract method 0xfd4fa05a.
   382  //
   383  // Solidity: function getAccountStatus(address _account) view returns(uint256)
   384  func (_AcctManager *AcctManagerCallerSession) GetAccountStatus(_account common.Address) (*big.Int, error) {
   385  	return _AcctManager.Contract.GetAccountStatus(&_AcctManager.CallOpts, _account)
   386  }
   387  
   388  // GetNumberOfAccounts is a free data retrieval call binding the contract method 0x309e36ef.
   389  //
   390  // Solidity: function getNumberOfAccounts() view returns(uint256)
   391  func (_AcctManager *AcctManagerCaller) GetNumberOfAccounts(opts *bind.CallOpts) (*big.Int, error) {
   392  	var out []interface{}
   393  	err := _AcctManager.contract.Call(opts, &out, "getNumberOfAccounts")
   394  
   395  	if err != nil {
   396  		return *new(*big.Int), err
   397  	}
   398  
   399  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   400  
   401  	return out0, err
   402  
   403  }
   404  
   405  // GetNumberOfAccounts is a free data retrieval call binding the contract method 0x309e36ef.
   406  //
   407  // Solidity: function getNumberOfAccounts() view returns(uint256)
   408  func (_AcctManager *AcctManagerSession) GetNumberOfAccounts() (*big.Int, error) {
   409  	return _AcctManager.Contract.GetNumberOfAccounts(&_AcctManager.CallOpts)
   410  }
   411  
   412  // GetNumberOfAccounts is a free data retrieval call binding the contract method 0x309e36ef.
   413  //
   414  // Solidity: function getNumberOfAccounts() view returns(uint256)
   415  func (_AcctManager *AcctManagerCallerSession) GetNumberOfAccounts() (*big.Int, error) {
   416  	return _AcctManager.Contract.GetNumberOfAccounts(&_AcctManager.CallOpts)
   417  }
   418  
   419  // OrgAdminExists is a free data retrieval call binding the contract method 0x950145cf.
   420  //
   421  // Solidity: function orgAdminExists(string _orgId) view returns(bool)
   422  func (_AcctManager *AcctManagerCaller) OrgAdminExists(opts *bind.CallOpts, _orgId string) (bool, error) {
   423  	var out []interface{}
   424  	err := _AcctManager.contract.Call(opts, &out, "orgAdminExists", _orgId)
   425  
   426  	if err != nil {
   427  		return *new(bool), err
   428  	}
   429  
   430  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   431  
   432  	return out0, err
   433  
   434  }
   435  
   436  // OrgAdminExists is a free data retrieval call binding the contract method 0x950145cf.
   437  //
   438  // Solidity: function orgAdminExists(string _orgId) view returns(bool)
   439  func (_AcctManager *AcctManagerSession) OrgAdminExists(_orgId string) (bool, error) {
   440  	return _AcctManager.Contract.OrgAdminExists(&_AcctManager.CallOpts, _orgId)
   441  }
   442  
   443  // OrgAdminExists is a free data retrieval call binding the contract method 0x950145cf.
   444  //
   445  // Solidity: function orgAdminExists(string _orgId) view returns(bool)
   446  func (_AcctManager *AcctManagerCallerSession) OrgAdminExists(_orgId string) (bool, error) {
   447  	return _AcctManager.Contract.OrgAdminExists(&_AcctManager.CallOpts, _orgId)
   448  }
   449  
   450  // ValidateAccount is a free data retrieval call binding the contract method 0x6b568d76.
   451  //
   452  // Solidity: function validateAccount(address _account, string _orgId) view returns(bool)
   453  func (_AcctManager *AcctManagerCaller) ValidateAccount(opts *bind.CallOpts, _account common.Address, _orgId string) (bool, error) {
   454  	var out []interface{}
   455  	err := _AcctManager.contract.Call(opts, &out, "validateAccount", _account, _orgId)
   456  
   457  	if err != nil {
   458  		return *new(bool), err
   459  	}
   460  
   461  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   462  
   463  	return out0, err
   464  
   465  }
   466  
   467  // ValidateAccount is a free data retrieval call binding the contract method 0x6b568d76.
   468  //
   469  // Solidity: function validateAccount(address _account, string _orgId) view returns(bool)
   470  func (_AcctManager *AcctManagerSession) ValidateAccount(_account common.Address, _orgId string) (bool, error) {
   471  	return _AcctManager.Contract.ValidateAccount(&_AcctManager.CallOpts, _account, _orgId)
   472  }
   473  
   474  // ValidateAccount is a free data retrieval call binding the contract method 0x6b568d76.
   475  //
   476  // Solidity: function validateAccount(address _account, string _orgId) view returns(bool)
   477  func (_AcctManager *AcctManagerCallerSession) ValidateAccount(_account common.Address, _orgId string) (bool, error) {
   478  	return _AcctManager.Contract.ValidateAccount(&_AcctManager.CallOpts, _account, _orgId)
   479  }
   480  
   481  // AddNewAdmin is a paid mutator transaction binding the contract method 0xc214e5e5.
   482  //
   483  // Solidity: function addNewAdmin(string _orgId, address _account) returns(bool voterUpdate)
   484  func (_AcctManager *AcctManagerTransactor) AddNewAdmin(opts *bind.TransactOpts, _orgId string, _account common.Address) (*types.Transaction, error) {
   485  	return _AcctManager.contract.Transact(opts, "addNewAdmin", _orgId, _account)
   486  }
   487  
   488  // AddNewAdmin is a paid mutator transaction binding the contract method 0xc214e5e5.
   489  //
   490  // Solidity: function addNewAdmin(string _orgId, address _account) returns(bool voterUpdate)
   491  func (_AcctManager *AcctManagerSession) AddNewAdmin(_orgId string, _account common.Address) (*types.Transaction, error) {
   492  	return _AcctManager.Contract.AddNewAdmin(&_AcctManager.TransactOpts, _orgId, _account)
   493  }
   494  
   495  // AddNewAdmin is a paid mutator transaction binding the contract method 0xc214e5e5.
   496  //
   497  // Solidity: function addNewAdmin(string _orgId, address _account) returns(bool voterUpdate)
   498  func (_AcctManager *AcctManagerTransactorSession) AddNewAdmin(_orgId string, _account common.Address) (*types.Transaction, error) {
   499  	return _AcctManager.Contract.AddNewAdmin(&_AcctManager.TransactOpts, _orgId, _account)
   500  }
   501  
   502  // AssignAccountRole is a paid mutator transaction binding the contract method 0x143a5604.
   503  //
   504  // Solidity: function assignAccountRole(address _account, string _orgId, string _roleId, bool _adminRole) returns()
   505  func (_AcctManager *AcctManagerTransactor) AssignAccountRole(opts *bind.TransactOpts, _account common.Address, _orgId string, _roleId string, _adminRole bool) (*types.Transaction, error) {
   506  	return _AcctManager.contract.Transact(opts, "assignAccountRole", _account, _orgId, _roleId, _adminRole)
   507  }
   508  
   509  // AssignAccountRole is a paid mutator transaction binding the contract method 0x143a5604.
   510  //
   511  // Solidity: function assignAccountRole(address _account, string _orgId, string _roleId, bool _adminRole) returns()
   512  func (_AcctManager *AcctManagerSession) AssignAccountRole(_account common.Address, _orgId string, _roleId string, _adminRole bool) (*types.Transaction, error) {
   513  	return _AcctManager.Contract.AssignAccountRole(&_AcctManager.TransactOpts, _account, _orgId, _roleId, _adminRole)
   514  }
   515  
   516  // AssignAccountRole is a paid mutator transaction binding the contract method 0x143a5604.
   517  //
   518  // Solidity: function assignAccountRole(address _account, string _orgId, string _roleId, bool _adminRole) returns()
   519  func (_AcctManager *AcctManagerTransactorSession) AssignAccountRole(_account common.Address, _orgId string, _roleId string, _adminRole bool) (*types.Transaction, error) {
   520  	return _AcctManager.Contract.AssignAccountRole(&_AcctManager.TransactOpts, _account, _orgId, _roleId, _adminRole)
   521  }
   522  
   523  // AssignAdminRole is a paid mutator transaction binding the contract method 0xe3483a9d.
   524  //
   525  // Solidity: function assignAdminRole(address _account, string _orgId, string _roleId, uint256 _status) returns()
   526  func (_AcctManager *AcctManagerTransactor) AssignAdminRole(opts *bind.TransactOpts, _account common.Address, _orgId string, _roleId string, _status *big.Int) (*types.Transaction, error) {
   527  	return _AcctManager.contract.Transact(opts, "assignAdminRole", _account, _orgId, _roleId, _status)
   528  }
   529  
   530  // AssignAdminRole is a paid mutator transaction binding the contract method 0xe3483a9d.
   531  //
   532  // Solidity: function assignAdminRole(address _account, string _orgId, string _roleId, uint256 _status) returns()
   533  func (_AcctManager *AcctManagerSession) AssignAdminRole(_account common.Address, _orgId string, _roleId string, _status *big.Int) (*types.Transaction, error) {
   534  	return _AcctManager.Contract.AssignAdminRole(&_AcctManager.TransactOpts, _account, _orgId, _roleId, _status)
   535  }
   536  
   537  // AssignAdminRole is a paid mutator transaction binding the contract method 0xe3483a9d.
   538  //
   539  // Solidity: function assignAdminRole(address _account, string _orgId, string _roleId, uint256 _status) returns()
   540  func (_AcctManager *AcctManagerTransactorSession) AssignAdminRole(_account common.Address, _orgId string, _roleId string, _status *big.Int) (*types.Transaction, error) {
   541  	return _AcctManager.Contract.AssignAdminRole(&_AcctManager.TransactOpts, _account, _orgId, _roleId, _status)
   542  }
   543  
   544  // RemoveExistingAdmin is a paid mutator transaction binding the contract method 0x1d09dc93.
   545  //
   546  // Solidity: function removeExistingAdmin(string _orgId) returns(bool voterUpdate, address account)
   547  func (_AcctManager *AcctManagerTransactor) RemoveExistingAdmin(opts *bind.TransactOpts, _orgId string) (*types.Transaction, error) {
   548  	return _AcctManager.contract.Transact(opts, "removeExistingAdmin", _orgId)
   549  }
   550  
   551  // RemoveExistingAdmin is a paid mutator transaction binding the contract method 0x1d09dc93.
   552  //
   553  // Solidity: function removeExistingAdmin(string _orgId) returns(bool voterUpdate, address account)
   554  func (_AcctManager *AcctManagerSession) RemoveExistingAdmin(_orgId string) (*types.Transaction, error) {
   555  	return _AcctManager.Contract.RemoveExistingAdmin(&_AcctManager.TransactOpts, _orgId)
   556  }
   557  
   558  // RemoveExistingAdmin is a paid mutator transaction binding the contract method 0x1d09dc93.
   559  //
   560  // Solidity: function removeExistingAdmin(string _orgId) returns(bool voterUpdate, address account)
   561  func (_AcctManager *AcctManagerTransactorSession) RemoveExistingAdmin(_orgId string) (*types.Transaction, error) {
   562  	return _AcctManager.Contract.RemoveExistingAdmin(&_AcctManager.TransactOpts, _orgId)
   563  }
   564  
   565  // SetDefaults is a paid mutator transaction binding the contract method 0xcef7f6af.
   566  //
   567  // Solidity: function setDefaults(string _nwAdminRole, string _oAdminRole) returns()
   568  func (_AcctManager *AcctManagerTransactor) SetDefaults(opts *bind.TransactOpts, _nwAdminRole string, _oAdminRole string) (*types.Transaction, error) {
   569  	return _AcctManager.contract.Transact(opts, "setDefaults", _nwAdminRole, _oAdminRole)
   570  }
   571  
   572  // SetDefaults is a paid mutator transaction binding the contract method 0xcef7f6af.
   573  //
   574  // Solidity: function setDefaults(string _nwAdminRole, string _oAdminRole) returns()
   575  func (_AcctManager *AcctManagerSession) SetDefaults(_nwAdminRole string, _oAdminRole string) (*types.Transaction, error) {
   576  	return _AcctManager.Contract.SetDefaults(&_AcctManager.TransactOpts, _nwAdminRole, _oAdminRole)
   577  }
   578  
   579  // SetDefaults is a paid mutator transaction binding the contract method 0xcef7f6af.
   580  //
   581  // Solidity: function setDefaults(string _nwAdminRole, string _oAdminRole) returns()
   582  func (_AcctManager *AcctManagerTransactorSession) SetDefaults(_nwAdminRole string, _oAdminRole string) (*types.Transaction, error) {
   583  	return _AcctManager.Contract.SetDefaults(&_AcctManager.TransactOpts, _nwAdminRole, _oAdminRole)
   584  }
   585  
   586  // UpdateAccountStatus is a paid mutator transaction binding the contract method 0x84b7a84a.
   587  //
   588  // Solidity: function updateAccountStatus(string _orgId, address _account, uint256 _action) returns()
   589  func (_AcctManager *AcctManagerTransactor) UpdateAccountStatus(opts *bind.TransactOpts, _orgId string, _account common.Address, _action *big.Int) (*types.Transaction, error) {
   590  	return _AcctManager.contract.Transact(opts, "updateAccountStatus", _orgId, _account, _action)
   591  }
   592  
   593  // UpdateAccountStatus is a paid mutator transaction binding the contract method 0x84b7a84a.
   594  //
   595  // Solidity: function updateAccountStatus(string _orgId, address _account, uint256 _action) returns()
   596  func (_AcctManager *AcctManagerSession) UpdateAccountStatus(_orgId string, _account common.Address, _action *big.Int) (*types.Transaction, error) {
   597  	return _AcctManager.Contract.UpdateAccountStatus(&_AcctManager.TransactOpts, _orgId, _account, _action)
   598  }
   599  
   600  // UpdateAccountStatus is a paid mutator transaction binding the contract method 0x84b7a84a.
   601  //
   602  // Solidity: function updateAccountStatus(string _orgId, address _account, uint256 _action) returns()
   603  func (_AcctManager *AcctManagerTransactorSession) UpdateAccountStatus(_orgId string, _account common.Address, _action *big.Int) (*types.Transaction, error) {
   604  	return _AcctManager.Contract.UpdateAccountStatus(&_AcctManager.TransactOpts, _orgId, _account, _action)
   605  }
   606  
   607  // AcctManagerAccountAccessModifiedIterator is returned from FilterAccountAccessModified and is used to iterate over the raw logs and unpacked data for AccountAccessModified events raised by the AcctManager contract.
   608  type AcctManagerAccountAccessModifiedIterator struct {
   609  	Event *AcctManagerAccountAccessModified // Event containing the contract specifics and raw log
   610  
   611  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   612  	event    string              // Event name to use for unpacking event data
   613  
   614  	logs chan types.Log        // Log channel receiving the found contract events
   615  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   616  	done bool                  // Whether the subscription completed delivering logs
   617  	fail error                 // Occurred error to stop iteration
   618  }
   619  
   620  // Next advances the iterator to the subsequent event, returning whether there
   621  // are any more events found. In case of a retrieval or parsing error, false is
   622  // returned and Error() can be queried for the exact failure.
   623  func (it *AcctManagerAccountAccessModifiedIterator) Next() bool {
   624  	// If the iterator failed, stop iterating
   625  	if it.fail != nil {
   626  		return false
   627  	}
   628  	// If the iterator completed, deliver directly whatever's available
   629  	if it.done {
   630  		select {
   631  		case log := <-it.logs:
   632  			it.Event = new(AcctManagerAccountAccessModified)
   633  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   634  				it.fail = err
   635  				return false
   636  			}
   637  			it.Event.Raw = log
   638  			return true
   639  
   640  		default:
   641  			return false
   642  		}
   643  	}
   644  	// Iterator still in progress, wait for either a data or an error event
   645  	select {
   646  	case log := <-it.logs:
   647  		it.Event = new(AcctManagerAccountAccessModified)
   648  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   649  			it.fail = err
   650  			return false
   651  		}
   652  		it.Event.Raw = log
   653  		return true
   654  
   655  	case err := <-it.sub.Err():
   656  		it.done = true
   657  		it.fail = err
   658  		return it.Next()
   659  	}
   660  }
   661  
   662  // Error returns any retrieval or parsing error occurred during filtering.
   663  func (it *AcctManagerAccountAccessModifiedIterator) Error() error {
   664  	return it.fail
   665  }
   666  
   667  // Close terminates the iteration process, releasing any pending underlying
   668  // resources.
   669  func (it *AcctManagerAccountAccessModifiedIterator) Close() error {
   670  	it.sub.Unsubscribe()
   671  	return nil
   672  }
   673  
   674  // AcctManagerAccountAccessModified represents a AccountAccessModified event raised by the AcctManager contract.
   675  type AcctManagerAccountAccessModified struct {
   676  	Account  common.Address
   677  	OrgId    string
   678  	RoleId   string
   679  	OrgAdmin bool
   680  	Status   *big.Int
   681  	Raw      types.Log // Blockchain specific contextual infos
   682  }
   683  
   684  // FilterAccountAccessModified is a free log retrieval operation binding the contract event 0x68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc776.
   685  //
   686  // Solidity: event AccountAccessModified(address _account, string _orgId, string _roleId, bool _orgAdmin, uint256 _status)
   687  func (_AcctManager *AcctManagerFilterer) FilterAccountAccessModified(opts *bind.FilterOpts) (*AcctManagerAccountAccessModifiedIterator, error) {
   688  
   689  	logs, sub, err := _AcctManager.contract.FilterLogs(opts, "AccountAccessModified")
   690  	if err != nil {
   691  		return nil, err
   692  	}
   693  	return &AcctManagerAccountAccessModifiedIterator{contract: _AcctManager.contract, event: "AccountAccessModified", logs: logs, sub: sub}, nil
   694  }
   695  
   696  var AccountAccessModifiedTopicHash = "0x68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc776"
   697  
   698  // WatchAccountAccessModified is a free log subscription operation binding the contract event 0x68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc776.
   699  //
   700  // Solidity: event AccountAccessModified(address _account, string _orgId, string _roleId, bool _orgAdmin, uint256 _status)
   701  func (_AcctManager *AcctManagerFilterer) WatchAccountAccessModified(opts *bind.WatchOpts, sink chan<- *AcctManagerAccountAccessModified) (event.Subscription, error) {
   702  
   703  	logs, sub, err := _AcctManager.contract.WatchLogs(opts, "AccountAccessModified")
   704  	if err != nil {
   705  		return nil, err
   706  	}
   707  	return event.NewSubscription(func(quit <-chan struct{}) error {
   708  		defer sub.Unsubscribe()
   709  		for {
   710  			select {
   711  			case log := <-logs:
   712  				// New log arrived, parse the event and forward to the user
   713  				event := new(AcctManagerAccountAccessModified)
   714  				if err := _AcctManager.contract.UnpackLog(event, "AccountAccessModified", log); err != nil {
   715  					return err
   716  				}
   717  				event.Raw = log
   718  
   719  				select {
   720  				case sink <- event:
   721  				case err := <-sub.Err():
   722  					return err
   723  				case <-quit:
   724  					return nil
   725  				}
   726  			case err := <-sub.Err():
   727  				return err
   728  			case <-quit:
   729  				return nil
   730  			}
   731  		}
   732  	}), nil
   733  }
   734  
   735  // ParseAccountAccessModified is a log parse operation binding the contract event 0x68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc776.
   736  //
   737  // Solidity: event AccountAccessModified(address _account, string _orgId, string _roleId, bool _orgAdmin, uint256 _status)
   738  func (_AcctManager *AcctManagerFilterer) ParseAccountAccessModified(log types.Log) (*AcctManagerAccountAccessModified, error) {
   739  	event := new(AcctManagerAccountAccessModified)
   740  	if err := _AcctManager.contract.UnpackLog(event, "AccountAccessModified", log); err != nil {
   741  		return nil, err
   742  	}
   743  	return event, nil
   744  }
   745  
   746  // AcctManagerAccountAccessRevokedIterator is returned from FilterAccountAccessRevoked and is used to iterate over the raw logs and unpacked data for AccountAccessRevoked events raised by the AcctManager contract.
   747  type AcctManagerAccountAccessRevokedIterator struct {
   748  	Event *AcctManagerAccountAccessRevoked // Event containing the contract specifics and raw log
   749  
   750  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   751  	event    string              // Event name to use for unpacking event data
   752  
   753  	logs chan types.Log        // Log channel receiving the found contract events
   754  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   755  	done bool                  // Whether the subscription completed delivering logs
   756  	fail error                 // Occurred error to stop iteration
   757  }
   758  
   759  // Next advances the iterator to the subsequent event, returning whether there
   760  // are any more events found. In case of a retrieval or parsing error, false is
   761  // returned and Error() can be queried for the exact failure.
   762  func (it *AcctManagerAccountAccessRevokedIterator) Next() bool {
   763  	// If the iterator failed, stop iterating
   764  	if it.fail != nil {
   765  		return false
   766  	}
   767  	// If the iterator completed, deliver directly whatever's available
   768  	if it.done {
   769  		select {
   770  		case log := <-it.logs:
   771  			it.Event = new(AcctManagerAccountAccessRevoked)
   772  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   773  				it.fail = err
   774  				return false
   775  			}
   776  			it.Event.Raw = log
   777  			return true
   778  
   779  		default:
   780  			return false
   781  		}
   782  	}
   783  	// Iterator still in progress, wait for either a data or an error event
   784  	select {
   785  	case log := <-it.logs:
   786  		it.Event = new(AcctManagerAccountAccessRevoked)
   787  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   788  			it.fail = err
   789  			return false
   790  		}
   791  		it.Event.Raw = log
   792  		return true
   793  
   794  	case err := <-it.sub.Err():
   795  		it.done = true
   796  		it.fail = err
   797  		return it.Next()
   798  	}
   799  }
   800  
   801  // Error returns any retrieval or parsing error occurred during filtering.
   802  func (it *AcctManagerAccountAccessRevokedIterator) Error() error {
   803  	return it.fail
   804  }
   805  
   806  // Close terminates the iteration process, releasing any pending underlying
   807  // resources.
   808  func (it *AcctManagerAccountAccessRevokedIterator) Close() error {
   809  	it.sub.Unsubscribe()
   810  	return nil
   811  }
   812  
   813  // AcctManagerAccountAccessRevoked represents a AccountAccessRevoked event raised by the AcctManager contract.
   814  type AcctManagerAccountAccessRevoked struct {
   815  	Account  common.Address
   816  	OrgId    string
   817  	RoleId   string
   818  	OrgAdmin bool
   819  	Raw      types.Log // Blockchain specific contextual infos
   820  }
   821  
   822  // FilterAccountAccessRevoked is a free log retrieval operation binding the contract event 0x6b5105396435a8a139aeed682dd573cd2a7e6279de77f8c11f95a30399212ad1.
   823  //
   824  // Solidity: event AccountAccessRevoked(address _account, string _orgId, string _roleId, bool _orgAdmin)
   825  func (_AcctManager *AcctManagerFilterer) FilterAccountAccessRevoked(opts *bind.FilterOpts) (*AcctManagerAccountAccessRevokedIterator, error) {
   826  
   827  	logs, sub, err := _AcctManager.contract.FilterLogs(opts, "AccountAccessRevoked")
   828  	if err != nil {
   829  		return nil, err
   830  	}
   831  	return &AcctManagerAccountAccessRevokedIterator{contract: _AcctManager.contract, event: "AccountAccessRevoked", logs: logs, sub: sub}, nil
   832  }
   833  
   834  var AccountAccessRevokedTopicHash = "0x6b5105396435a8a139aeed682dd573cd2a7e6279de77f8c11f95a30399212ad1"
   835  
   836  // WatchAccountAccessRevoked is a free log subscription operation binding the contract event 0x6b5105396435a8a139aeed682dd573cd2a7e6279de77f8c11f95a30399212ad1.
   837  //
   838  // Solidity: event AccountAccessRevoked(address _account, string _orgId, string _roleId, bool _orgAdmin)
   839  func (_AcctManager *AcctManagerFilterer) WatchAccountAccessRevoked(opts *bind.WatchOpts, sink chan<- *AcctManagerAccountAccessRevoked) (event.Subscription, error) {
   840  
   841  	logs, sub, err := _AcctManager.contract.WatchLogs(opts, "AccountAccessRevoked")
   842  	if err != nil {
   843  		return nil, err
   844  	}
   845  	return event.NewSubscription(func(quit <-chan struct{}) error {
   846  		defer sub.Unsubscribe()
   847  		for {
   848  			select {
   849  			case log := <-logs:
   850  				// New log arrived, parse the event and forward to the user
   851  				event := new(AcctManagerAccountAccessRevoked)
   852  				if err := _AcctManager.contract.UnpackLog(event, "AccountAccessRevoked", log); err != nil {
   853  					return err
   854  				}
   855  				event.Raw = log
   856  
   857  				select {
   858  				case sink <- event:
   859  				case err := <-sub.Err():
   860  					return err
   861  				case <-quit:
   862  					return nil
   863  				}
   864  			case err := <-sub.Err():
   865  				return err
   866  			case <-quit:
   867  				return nil
   868  			}
   869  		}
   870  	}), nil
   871  }
   872  
   873  // ParseAccountAccessRevoked is a log parse operation binding the contract event 0x6b5105396435a8a139aeed682dd573cd2a7e6279de77f8c11f95a30399212ad1.
   874  //
   875  // Solidity: event AccountAccessRevoked(address _account, string _orgId, string _roleId, bool _orgAdmin)
   876  func (_AcctManager *AcctManagerFilterer) ParseAccountAccessRevoked(log types.Log) (*AcctManagerAccountAccessRevoked, error) {
   877  	event := new(AcctManagerAccountAccessRevoked)
   878  	if err := _AcctManager.contract.UnpackLog(event, "AccountAccessRevoked", log); err != nil {
   879  		return nil, err
   880  	}
   881  	return event, nil
   882  }
   883  
   884  // AcctManagerAccountStatusChangedIterator is returned from FilterAccountStatusChanged and is used to iterate over the raw logs and unpacked data for AccountStatusChanged events raised by the AcctManager contract.
   885  type AcctManagerAccountStatusChangedIterator struct {
   886  	Event *AcctManagerAccountStatusChanged // Event containing the contract specifics and raw log
   887  
   888  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   889  	event    string              // Event name to use for unpacking event data
   890  
   891  	logs chan types.Log        // Log channel receiving the found contract events
   892  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   893  	done bool                  // Whether the subscription completed delivering logs
   894  	fail error                 // Occurred error to stop iteration
   895  }
   896  
   897  // Next advances the iterator to the subsequent event, returning whether there
   898  // are any more events found. In case of a retrieval or parsing error, false is
   899  // returned and Error() can be queried for the exact failure.
   900  func (it *AcctManagerAccountStatusChangedIterator) Next() bool {
   901  	// If the iterator failed, stop iterating
   902  	if it.fail != nil {
   903  		return false
   904  	}
   905  	// If the iterator completed, deliver directly whatever's available
   906  	if it.done {
   907  		select {
   908  		case log := <-it.logs:
   909  			it.Event = new(AcctManagerAccountStatusChanged)
   910  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   911  				it.fail = err
   912  				return false
   913  			}
   914  			it.Event.Raw = log
   915  			return true
   916  
   917  		default:
   918  			return false
   919  		}
   920  	}
   921  	// Iterator still in progress, wait for either a data or an error event
   922  	select {
   923  	case log := <-it.logs:
   924  		it.Event = new(AcctManagerAccountStatusChanged)
   925  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   926  			it.fail = err
   927  			return false
   928  		}
   929  		it.Event.Raw = log
   930  		return true
   931  
   932  	case err := <-it.sub.Err():
   933  		it.done = true
   934  		it.fail = err
   935  		return it.Next()
   936  	}
   937  }
   938  
   939  // Error returns any retrieval or parsing error occurred during filtering.
   940  func (it *AcctManagerAccountStatusChangedIterator) Error() error {
   941  	return it.fail
   942  }
   943  
   944  // Close terminates the iteration process, releasing any pending underlying
   945  // resources.
   946  func (it *AcctManagerAccountStatusChangedIterator) Close() error {
   947  	it.sub.Unsubscribe()
   948  	return nil
   949  }
   950  
   951  // AcctManagerAccountStatusChanged represents a AccountStatusChanged event raised by the AcctManager contract.
   952  type AcctManagerAccountStatusChanged struct {
   953  	Account common.Address
   954  	OrgId   string
   955  	Status  *big.Int
   956  	Raw     types.Log // Blockchain specific contextual infos
   957  }
   958  
   959  // FilterAccountStatusChanged is a free log retrieval operation binding the contract event 0x36b0ea38154dec5e98b6bf928b971a9db5e8cd4b6946350e9e43fb9848c70b25.
   960  //
   961  // Solidity: event AccountStatusChanged(address _account, string _orgId, uint256 _status)
   962  func (_AcctManager *AcctManagerFilterer) FilterAccountStatusChanged(opts *bind.FilterOpts) (*AcctManagerAccountStatusChangedIterator, error) {
   963  
   964  	logs, sub, err := _AcctManager.contract.FilterLogs(opts, "AccountStatusChanged")
   965  	if err != nil {
   966  		return nil, err
   967  	}
   968  	return &AcctManagerAccountStatusChangedIterator{contract: _AcctManager.contract, event: "AccountStatusChanged", logs: logs, sub: sub}, nil
   969  }
   970  
   971  var AccountStatusChangedTopicHash = "0x36b0ea38154dec5e98b6bf928b971a9db5e8cd4b6946350e9e43fb9848c70b25"
   972  
   973  // WatchAccountStatusChanged is a free log subscription operation binding the contract event 0x36b0ea38154dec5e98b6bf928b971a9db5e8cd4b6946350e9e43fb9848c70b25.
   974  //
   975  // Solidity: event AccountStatusChanged(address _account, string _orgId, uint256 _status)
   976  func (_AcctManager *AcctManagerFilterer) WatchAccountStatusChanged(opts *bind.WatchOpts, sink chan<- *AcctManagerAccountStatusChanged) (event.Subscription, error) {
   977  
   978  	logs, sub, err := _AcctManager.contract.WatchLogs(opts, "AccountStatusChanged")
   979  	if err != nil {
   980  		return nil, err
   981  	}
   982  	return event.NewSubscription(func(quit <-chan struct{}) error {
   983  		defer sub.Unsubscribe()
   984  		for {
   985  			select {
   986  			case log := <-logs:
   987  				// New log arrived, parse the event and forward to the user
   988  				event := new(AcctManagerAccountStatusChanged)
   989  				if err := _AcctManager.contract.UnpackLog(event, "AccountStatusChanged", log); err != nil {
   990  					return err
   991  				}
   992  				event.Raw = log
   993  
   994  				select {
   995  				case sink <- event:
   996  				case err := <-sub.Err():
   997  					return err
   998  				case <-quit:
   999  					return nil
  1000  				}
  1001  			case err := <-sub.Err():
  1002  				return err
  1003  			case <-quit:
  1004  				return nil
  1005  			}
  1006  		}
  1007  	}), nil
  1008  }
  1009  
  1010  // ParseAccountStatusChanged is a log parse operation binding the contract event 0x36b0ea38154dec5e98b6bf928b971a9db5e8cd4b6946350e9e43fb9848c70b25.
  1011  //
  1012  // Solidity: event AccountStatusChanged(address _account, string _orgId, uint256 _status)
  1013  func (_AcctManager *AcctManagerFilterer) ParseAccountStatusChanged(log types.Log) (*AcctManagerAccountStatusChanged, error) {
  1014  	event := new(AcctManagerAccountStatusChanged)
  1015  	if err := _AcctManager.contract.UnpackLog(event, "AccountStatusChanged", log); err != nil {
  1016  		return nil, err
  1017  	}
  1018  	return event, nil
  1019  }