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