github.com/hyperion-hyn/go-ethereum@v2.4.0+incompatible/permission/bind/org.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  // OrgManagerABI is the input ABI used to generate the binding from.
    31  const OrgManagerABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"}],\"name\":\"updateOrg\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"}],\"name\":\"approveOrgStatusUpdate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"getUltimateParent\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_pOrgId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"addSubOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"_getOrgIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_orgIndex\",\"type\":\"uint256\"}],\"name\":\"getOrgInfo\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNumberOfOrgs\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_orgStatus\",\"type\":\"uint256\"}],\"name\":\"checkOrgStatus\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_breadth\",\"type\":\"uint256\"},{\"name\":\"_depth\",\"type\":\"uint256\"}],\"name\":\"setUpOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"approveOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"addOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"checkOrgExists\",\"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\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_porgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_ultParent\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_level\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_status\",\"type\":\"uint256\"}],\"name\":\"OrgApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_porgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_ultParent\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_level\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_status\",\"type\":\"uint256\"}],\"name\":\"OrgPendingApproval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_porgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_ultParent\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_level\",\"type\":\"uint256\"}],\"name\":\"OrgSuspended\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_porgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_ultParent\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_level\",\"type\":\"uint256\"}],\"name\":\"OrgSuspensionRevoked\",\"type\":\"event\"}]"
    32  
    33  // OrgManagerBin is the compiled bytecode used for deploying new contracts.
    34  const OrgManagerBin = `60806040526000600160146101000a81548160ff02191690831515021790555060046002556004600355600060065534801561003a57600080fd5b506040516020806140b48339810180604052602081101561005a57600080fd5b810190808051906020019092919050505080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050613ff8806100bc6000396000f3fe608060405234801561001057600080fd5b50600436106100d1576000357c0100000000000000000000000000000000000000000000000000000000900480637755ebdd1161008e5780637755ebdd1461060c5780638c8642df1461062a5780639e58eb9f14610707578063e302831614610794578063f9953de51461080d578063ffe40d1d14610886576100d1565b80630cc27493146100d657806314f775f91461016d578063177c8d8a146101f05780631f953480146102e2578063320d2c39146103b05780635c4f32ee1461047f575b600080fd5b610157600480360360408110156100ec57600080fd5b810190808035906020019064010000000081111561010957600080fd5b82018360208201111561011b57600080fd5b8035906020019184600183028401116401000000008311171561013d57600080fd5b909192939192939080359060200190929190505050610959565b6040518082815260200191505060405180910390f35b6101ee6004803603604081101561018357600080fd5b81019080803590602001906401000000008111156101a057600080fd5b8201836020820111156101b257600080fd5b803590602001918460018302840111640100000000831117156101d457600080fd5b909192939192939080359060200190929190505050610e46565b005b6102676004803603602081101561020657600080fd5b810190808035906020019064010000000081111561022357600080fd5b82018360208201111561023557600080fd5b8035906020019184600183028401116401000000008311171561025757600080fd5b909192939192939050505061111f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102a757808201518184015260208101905061028c565b50505050905090810190601f1680156102d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103ae600480360360408110156102f857600080fd5b810190808035906020019064010000000081111561031557600080fd5b82018360208201111561032757600080fd5b8035906020019184600183028401116401000000008311171561034957600080fd5b90919293919293908035906020019064010000000081111561036a57600080fd5b82018360208201111561037c57600080fd5b8035906020019184600183028401116401000000008311171561039e57600080fd5b909192939192939050505061138f565b005b610469600480360360208110156103c657600080fd5b81019080803590602001906401000000008111156103e357600080fd5b8201836020820111156103f557600080fd5b8035906020019184600183028401116401000000008311171561041757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611672565b6040518082815260200191505060405180910390f35b6104ab6004803603602081101561049557600080fd5b8101908080359060200190929190505050611705565b60405180806020018060200180602001868152602001858152602001848103845289818151815260200191508051906020019080838360005b838110156104ff5780820151818401526020810190506104e4565b50505050905090810190601f16801561052c5780820380516001836020036101000a031916815260200191505b50848103835288818151815260200191508051906020019080838360005b8381101561056557808201518184015260208101905061054a565b50505050905090810190601f1680156105925780820380516001836020036101000a031916815260200191505b50848103825287818151815260200191508051906020019080838360005b838110156105cb5780820151818401526020810190506105b0565b50505050905090810190601f1680156105f85780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b610614611996565b6040518082815260200191505060405180910390f35b6106ed6004803603604081101561064057600080fd5b810190808035906020019064010000000081111561065d57600080fd5b82018360208201111561066f57600080fd5b8035906020019184600183028401116401000000008311171561069157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001909291905050506119a3565b604051808215151515815260200191505060405180910390f35b6107926004803603606081101561071d57600080fd5b810190808035906020019064010000000081111561073a57600080fd5b82018360208201111561074c57600080fd5b8035906020019184600183028401116401000000008311171561076e57600080fd5b90919293919293908035906020019092919080359060200190929190505050611a70565b005b61080b600480360360208110156107aa57600080fd5b81019080803590602001906401000000008111156107c757600080fd5b8201836020820111156107d957600080fd5b803590602001918460018302840111640100000000831117156107fb57600080fd5b9091929391929390505050611c47565b005b6108846004803603602081101561082357600080fd5b810190808035906020019064010000000081111561084057600080fd5b82018360208201111561085257600080fd5b8035906020019184600183028401116401000000008311171561087457600080fd5b9091929391929390505050612149565b005b61093f6004803603602081101561089c57600080fd5b81019080803590602001906401000000008111156108b957600080fd5b8201836020820111156108cb57600080fd5b803590602001918460018302840111640100000000831117156108ed57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506123d9565b604051808215151515815260200191505060405180910390f35b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156109df57600080fd5b505afa1580156109f3573d6000803e3d6000fd5b505050506040513d6020811015610a0957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060011515610b0e826123d9565b1515141515610b85576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6f726720646f6573206e6f74206578697374000000000000000000000000000081525060200191505060405180910390fd5b6001831480610b945750600283145b1515610beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613f266025913960400191505060405180910390fd5b6000610c3a86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611672565b90506001600482815481101515610c4d57fe5b906000526020600020906008020160060154141515610cb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180613f4b6027913960400191505060405180910390fd5b6000806001861415610cd0576002915060029050610ce3565b6002861415610ce25760049150600390505b5b60011515610d3589898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050846119a3565b1515141515610d8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180613f726027913960400191505060405180910390fd5b6001861415610dea57610de588888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061246c565b610e38565b610e3788888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612767565b5b809450505050509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015610eca57600080fd5b505afa158015610ede573d6000803e3d6000fd5b505050506040513d6020811015610ef457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fa7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060011515610ff9826123d9565b1515141515611070576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6f726720646f6573206e6f74206578697374000000000000000000000000000081525060200191505060405180910390fd5b60018214156110cb576110c684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612a7f565b611119565b61111884848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612d8d565b5b50505050565b6060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156111a557600080fd5b505afa1580156111b9573d6000803e3d6000fd5b505050506040513d60208110156111cf57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611282576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b60046112d184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611672565b8154811015156112dd57fe5b90600052602060002090600802016004018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113825780601f1061135757610100808354040283529160200191611382565b820191906000526020600020905b81548152906001019060200180831161136557829003601f168201915b5050505050905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561141357600080fd5b505afa158015611427573d6000803e3d6000fd5b505050506040513d602081101561143d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b838383836040516020018085858082843780830192505050807f2e00000000000000000000000000000000000000000000000000000000000000815250600101838380828437808301925050509450505050506040516020818303038152906040526000151561155f826123d9565b15151415156115d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f7267206578697374730000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61166b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060028061309c565b5050505050565b6000600160056000846040516020018082805190602001908083835b6020831015156116b3578051825260208201915060208101905060208303925061168e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120815260200190815260200160002054039050919050565b606080606060008060048681548110151561171c57fe5b906000526020600020906008020160000160048781548110151561173c57fe5b906000526020600020906008020160020160048881548110151561175c57fe5b906000526020600020906008020160040160048981548110151561177c57fe5b90600052602060002090600802016006015460048a81548110151561179d57fe5b906000526020600020906008020160010154848054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118445780601f1061181957610100808354040283529160200191611844565b820191906000526020600020905b81548152906001019060200180831161182757829003601f168201915b50505050509450838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118e05780601f106118b5576101008083540402835291602001916118e0565b820191906000526020600020905b8154815290600101906020018083116118c357829003601f168201915b50505050509350828054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561197c5780601f106119515761010080835404028352916020019161197c565b820191906000526020600020905b81548152906001019060200180831161195f57829003601f168201915b505050505092509450945094509450945091939590929450565b6000600480549050905090565b6000806119af84611672565b9050600060056000866040516020018082805190602001908083835b6020831015156119f057805182526020820191506020810190506020830392506119cb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012081526020019081526020016000205414158015611a67575082600482815481101515611a5357fe5b906000526020600020906008020160010154145b91505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611af457600080fd5b505afa158015611b08573d6000803e3d6000fd5b505050506040513d6020811015611b1e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b611c33602060405190810160405280600081525085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001600261309c565b806002819055508160038190555050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611ccb57600080fd5b505afa158015611cdf573d6000803e3d6000fd5b505050506040513d6020811015611cf557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611da8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b60011515611dfb83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060016119a3565b1515141515611e72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6e6f7468696e6720746f20617070726f7665000000000000000000000000000081525060200191505060405180910390fd5b6000611ec183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611672565b90506002600482815481101515611ed457fe5b9060005260206000209060080201600101819055507fd705723a50859c9cc1d3953e10b8b9478820e7a62927ad3215897ed87b20591c600482815481101515611f1957fe5b9060005260206000209060080201600001600483815481101515611f3957fe5b9060005260206000209060080201600201600484815481101515611f5957fe5b9060005260206000209060080201600401600485815481101515611f7957fe5b90600052602060002090600802016006015460026040518080602001806020018060200186815260200185815260200184810384528981815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561202a5780601f10611fff5761010080835404028352916020019161202a565b820191906000526020600020905b81548152906001019060200180831161200d57829003601f168201915b50508481038352888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156120ad5780601f10612082576101008083540402835291602001916120ad565b820191906000526020600020905b81548152906001019060200180831161209057829003601f168201915b50508481038252878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156121305780601f1061210557610100808354040283529160200191612130565b820191906000526020600020905b81548152906001019060200180831161211357829003601f168201915b50509850505050505050505060405180910390a1505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156121cd57600080fd5b505afa1580156121e1573d6000803e3d6000fd5b505050506040513d60208110156121f757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156122aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600015156122fc826123d9565b1515141515612373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f7267206578697374730000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6123d4602060405190810160405280600081525084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060018061309c565b505050565b60008060056000846040516020018082805190602001908083835b60208310151561241957805182526020820191506020810190506020830392506123f4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012081526020019081526020016000205414159050919050565b6001151561247b8260026119a3565b15151415156124d5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526034815260200180613f996034913960400191505060405180910390fd5b60006124e082611672565b905060036004828154811015156124f357fe5b9060005260206000209060080201600101819055507f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b60048281548110151561253857fe5b906000526020600020906008020160000160048381548110151561255857fe5b906000526020600020906008020160020160048481548110151561257857fe5b906000526020600020906008020160040160048581548110151561259857fe5b9060005260206000209060080201600601546003604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156126495780601f1061261e57610100808354040283529160200191612649565b820191906000526020600020905b81548152906001019060200180831161262c57829003601f168201915b50508481038352888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156126cc5780601f106126a1576101008083540402835291602001916126cc565b820191906000526020600020905b8154815290600101906020018083116126af57829003601f168201915b505084810382528781815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561274f5780601f106127245761010080835404028352916020019161274f565b820191906000526020600020905b81548152906001019060200180831161273257829003601f168201915b50509850505050505050505060405180910390a15050565b600115156127768260046119a3565b15151415156127ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f7267206e6f7420696e2073757370656e64656420737461746500000000000081525060200191505060405180910390fd5b60006127f882611672565b9050600560048281548110151561280b57fe5b9060005260206000209060080201600101819055507f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b60048281548110151561285057fe5b906000526020600020906008020160000160048381548110151561287057fe5b906000526020600020906008020160020160048481548110151561289057fe5b90600052602060002090600802016004016004858154811015156128b057fe5b9060005260206000209060080201600601546005604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156129615780601f1061293657610100808354040283529160200191612961565b820191906000526020600020905b81548152906001019060200180831161294457829003601f168201915b50508481038352888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156129e45780601f106129b9576101008083540402835291602001916129e4565b820191906000526020600020905b8154815290600101906020018083116129c757829003601f168201915b5050848103825287818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612a675780601f10612a3c57610100808354040283529160200191612a67565b820191906000526020600020905b815481529060010190602001808311612a4a57829003601f168201915b50509850505050505050505060405180910390a15050565b60011515612a8e8260036119a3565b1515141515612b05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6e6f7468696e6720746f20617070726f7665000000000000000000000000000081525060200191505060405180910390fd5b6000612b1082611672565b905060048082815481101515612b2257fe5b9060005260206000209060080201600101819055507f73ccf8d6c8385bf5347269bd59712da33183c1a5e1702494bcdb87d0f4674d96600482815481101515612b6757fe5b9060005260206000209060080201600001600483815481101515612b8757fe5b9060005260206000209060080201600201600484815481101515612ba757fe5b9060005260206000209060080201600401600485815481101515612bc757fe5b90600052602060002090600802016006015460405180806020018060200180602001858152602001848103845288818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612c705780601f10612c4557610100808354040283529160200191612c70565b820191906000526020600020905b815481529060010190602001808311612c5357829003601f168201915b5050848103835287818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612cf35780601f10612cc857610100808354040283529160200191612cf3565b820191906000526020600020905b815481529060010190602001808311612cd657829003601f168201915b5050848103825286818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612d765780601f10612d4b57610100808354040283529160200191612d76565b820191906000526020600020905b815481529060010190602001808311612d5957829003601f168201915b505097505050505050505060405180910390a15050565b60011515612d9c8260056119a3565b1515141515612e13576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6e6f7468696e6720746f20617070726f7665000000000000000000000000000081525060200191505060405180910390fd5b6000612e1e82611672565b90506002600482815481101515612e3157fe5b9060005260206000209060080201600101819055507f882f030c609566cd82918a97d457fd48f9cfcefd11282e2654cde3f94579c15f600482815481101515612e7657fe5b9060005260206000209060080201600001600483815481101515612e9657fe5b9060005260206000209060080201600201600484815481101515612eb657fe5b9060005260206000209060080201600401600485815481101515612ed657fe5b90600052602060002090600802016006015460405180806020018060200180602001858152602001848103845288818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612f7f5780601f10612f5457610100808354040283529160200191612f7f565b820191906000526020600020905b815481529060010190602001808311612f6257829003601f168201915b50508481038352878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156130025780601f10612fd757610100808354040283529160200191613002565b820191906000526020600020905b815481529060010190602001808311612fe557829003601f168201915b50508481038252868181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156130855780601f1061305a57610100808354040283529160200191613085565b820191906000526020600020905b81548152906001019060200180831161306857829003601f168201915b505097505050505050505060405180910390a15050565b600080905060008090506000809050600185141561312f57856040516020018082805190602001908083835b6020831015156130ed57805182526020820191506020810190506020830392506130c8565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001209150613299565b866040516020018082805190602001908083835b6020831015156131685780518252602082019150602081019050602083039250613143565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120925086866040516020018083805190602001908083835b6020831015156131df57805182526020820191506020810190506020830392506131ba565b6001836020036101000a038019825116818451168082178552505050505050905001807f2e0000000000000000000000000000000000000000000000000000000000000081525060010182805190602001908083835b60208310151561325a5780518252602082019150602081019050602083039250613235565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040528051906020012091505b60066000815480929190600101919050555060065460056000848152602001908152602001600020819055506000600480548091906001016132db9190613cab565b905060018614156133a057856004828154811015156132f657fe5b906000526020600020906008020160060181905550600060048281548110151561331c57fe5b9060005260206000209060080201600501819055508660048281548110151561334157fe5b90600052602060002090600802016003019080519060200190613365929190613cdd565b508660048281548110151561337657fe5b9060005260206000209060080201600401908051906020019061339a929190613cdd565b5061374d565b600160056000868152602001908152602001600020540391506003546004838154811015156133cb57fe5b906000526020600020906008020160070180549050101515613455576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f62726561647468206c6576656c2065786365656465640000000000000000000081525060200191505060405180910390fd5b60025460048381548110151561346757fe5b9060005260206000209060080201600601541015156134ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6465707468206c6576656c20657863656564656400000000000000000000000081525060200191505060405180910390fd5b60016004838154811015156134ff57fe5b9060005260206000209060080201600601540160048281548110151561352157fe5b9060005260206000209060080201600601819055508160048281548110151561354657fe5b90600052602060002090600802016005018190555060048281548110151561356a57fe5b906000526020600020906008020160040160048281548110151561358a57fe5b906000526020600020906008020160040190805460018160011615610100020316600290046135ba929190613d5d565b5060006004838154811015156135cc57fe5b906000526020600020906008020160070180548091906001016135ef9190613de4565b90508160048481548110151561360157fe5b90600052602060002090600802016007018281548110151561361f57fe5b906000526020600020018190555088886040516020018083805190602001908083835b6020831015156136675780518252602082019150602081019050602083039250613642565b6001836020036101000a038019825116818451168082178552505050505050905001807f2e0000000000000000000000000000000000000000000000000000000000000081525060010182805190602001908083835b6020831015156136e257805182526020820191506020810190506020830392506136bd565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405260048381548110151561372657fe5b9060005260206000209060080201600301908051906020019061374a929190613cdd565b50505b8660048281548110151561375d57fe5b90600052602060002090600802016000019080519060200190613781929190613cdd565b508760048281548110151561379257fe5b906000526020600020906008020160020190805190602001906137b6929190613cdd565b50846004828154811015156137c757fe5b9060005260206000209060080201600101819055506001851415613a45577f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b60048281548110151561381557fe5b906000526020600020906008020160000160048381548110151561383557fe5b906000526020600020906008020160020160048481548110151561385557fe5b906000526020600020906008020160040160048581548110151561387557fe5b9060005260206000209060080201600601546001604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156139265780601f106138fb57610100808354040283529160200191613926565b820191906000526020600020905b81548152906001019060200180831161390957829003601f168201915b50508481038352888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156139a95780601f1061397e576101008083540402835291602001916139a9565b820191906000526020600020905b81548152906001019060200180831161398c57829003601f168201915b5050848103825287818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015613a2c5780601f10613a0157610100808354040283529160200191613a2c565b820191906000526020600020905b815481529060010190602001808311613a0f57829003601f168201915b50509850505050505050505060405180910390a1613ca1565b7fd705723a50859c9cc1d3953e10b8b9478820e7a62927ad3215897ed87b20591c600482815481101515613a7557fe5b9060005260206000209060080201600001600483815481101515613a9557fe5b9060005260206000209060080201600201600484815481101515613ab557fe5b9060005260206000209060080201600401600485815481101515613ad557fe5b906000526020600020906008020160060154600260405180806020018060200180602001868152602001858152602001848103845289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015613b865780601f10613b5b57610100808354040283529160200191613b86565b820191906000526020600020905b815481529060010190602001808311613b6957829003601f168201915b5050848103835288818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015613c095780601f10613bde57610100808354040283529160200191613c09565b820191906000526020600020905b815481529060010190602001808311613bec57829003601f168201915b5050848103825287818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015613c8c5780601f10613c6157610100808354040283529160200191613c8c565b820191906000526020600020905b815481529060010190602001808311613c6f57829003601f168201915b50509850505050505050505060405180910390a15b5050505050505050565b815481835581811115613cd857600802816008028360005260206000209182019101613cd79190613e10565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613d1e57805160ff1916838001178555613d4c565b82800160010185558215613d4c579182015b82811115613d4b578251825591602001919060010190613d30565b5b509050613d599190613e97565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613d965780548555613dd3565b82800160010185558215613dd357600052602060002091601f016020900482015b82811115613dd2578254825591600101919060010190613db7565b5b509050613de09190613e97565b5090565b815481835581811115613e0b57818360005260206000209182019101613e0a9190613e97565b5b505050565b613e9491905b80821115613e905760008082016000613e2f9190613ebc565b6001820160009055600282016000613e479190613ebc565b600382016000613e579190613ebc565b600482016000613e679190613ebc565b60058201600090556006820160009055600782016000613e879190613f04565b50600801613e16565b5090565b90565b613eb991905b80821115613eb5576000816000905550600101613e9d565b5090565b90565b50805460018160011615610100020316600290046000825580601f10613ee25750613f01565b601f016020900490600052602060002090810190613f009190613e97565b5b50565b5080546000825590600052602060002090810190613f229190613e97565b5056fe696e76616c696420616374696f6e2e206f7065726174696f6e206e6f7420616c6c6f7765646e6f742061206d6173746572206f72672e206f7065726174696f6e206e6f7420616c6c6f7765646f72672073746174757320646f6573206e6f7420616c6c6f7720746865206f7065726174696f6e6f7267206e6f7420696e20617070726f766564207374617475732e206f7065726174696f6e2063616e6e6f7420626520646f6e65a165627a7a72305820ad4f7ede501fde744bd99a211aae38fa1573644d4dc550d1c4e668f404270efd0029`
    35  
    36  // DeployOrgManager deploys a new Ethereum contract, binding an instance of OrgManager to it.
    37  func DeployOrgManager(auth *bind.TransactOpts, backend bind.ContractBackend, _permUpgradable common.Address) (common.Address, *types.Transaction, *OrgManager, error) {
    38  	parsed, err := abi.JSON(strings.NewReader(OrgManagerABI))
    39  	if err != nil {
    40  		return common.Address{}, nil, nil, err
    41  	}
    42  	address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(OrgManagerBin), backend, _permUpgradable)
    43  	if err != nil {
    44  		return common.Address{}, nil, nil, err
    45  	}
    46  	return address, tx, &OrgManager{OrgManagerCaller: OrgManagerCaller{contract: contract}, OrgManagerTransactor: OrgManagerTransactor{contract: contract}, OrgManagerFilterer: OrgManagerFilterer{contract: contract}}, nil
    47  }
    48  
    49  // OrgManager is an auto generated Go binding around an Ethereum contract.
    50  type OrgManager struct {
    51  	OrgManagerCaller     // Read-only binding to the contract
    52  	OrgManagerTransactor // Write-only binding to the contract
    53  	OrgManagerFilterer   // Log filterer for contract events
    54  }
    55  
    56  // OrgManagerCaller is an auto generated read-only Go binding around an Ethereum contract.
    57  type OrgManagerCaller struct {
    58  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    59  }
    60  
    61  // OrgManagerTransactor is an auto generated write-only Go binding around an Ethereum contract.
    62  type OrgManagerTransactor struct {
    63  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    64  }
    65  
    66  // OrgManagerFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    67  type OrgManagerFilterer struct {
    68  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    69  }
    70  
    71  // OrgManagerSession is an auto generated Go binding around an Ethereum contract,
    72  // with pre-set call and transact options.
    73  type OrgManagerSession struct {
    74  	Contract     *OrgManager       // Generic contract binding to set the session for
    75  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    76  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    77  }
    78  
    79  // OrgManagerCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    80  // with pre-set call options.
    81  type OrgManagerCallerSession struct {
    82  	Contract *OrgManagerCaller // Generic contract caller binding to set the session for
    83  	CallOpts bind.CallOpts     // Call options to use throughout this session
    84  }
    85  
    86  // OrgManagerTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    87  // with pre-set transact options.
    88  type OrgManagerTransactorSession struct {
    89  	Contract     *OrgManagerTransactor // Generic contract transactor binding to set the session for
    90  	TransactOpts bind.TransactOpts     // Transaction auth options to use throughout this session
    91  }
    92  
    93  // OrgManagerRaw is an auto generated low-level Go binding around an Ethereum contract.
    94  type OrgManagerRaw struct {
    95  	Contract *OrgManager // Generic contract binding to access the raw methods on
    96  }
    97  
    98  // OrgManagerCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
    99  type OrgManagerCallerRaw struct {
   100  	Contract *OrgManagerCaller // Generic read-only contract binding to access the raw methods on
   101  }
   102  
   103  // OrgManagerTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
   104  type OrgManagerTransactorRaw struct {
   105  	Contract *OrgManagerTransactor // Generic write-only contract binding to access the raw methods on
   106  }
   107  
   108  // NewOrgManager creates a new instance of OrgManager, bound to a specific deployed contract.
   109  func NewOrgManager(address common.Address, backend bind.ContractBackend) (*OrgManager, error) {
   110  	contract, err := bindOrgManager(address, backend, backend, backend)
   111  	if err != nil {
   112  		return nil, err
   113  	}
   114  	return &OrgManager{OrgManagerCaller: OrgManagerCaller{contract: contract}, OrgManagerTransactor: OrgManagerTransactor{contract: contract}, OrgManagerFilterer: OrgManagerFilterer{contract: contract}}, nil
   115  }
   116  
   117  // NewOrgManagerCaller creates a new read-only instance of OrgManager, bound to a specific deployed contract.
   118  func NewOrgManagerCaller(address common.Address, caller bind.ContractCaller) (*OrgManagerCaller, error) {
   119  	contract, err := bindOrgManager(address, caller, nil, nil)
   120  	if err != nil {
   121  		return nil, err
   122  	}
   123  	return &OrgManagerCaller{contract: contract}, nil
   124  }
   125  
   126  // NewOrgManagerTransactor creates a new write-only instance of OrgManager, bound to a specific deployed contract.
   127  func NewOrgManagerTransactor(address common.Address, transactor bind.ContractTransactor) (*OrgManagerTransactor, error) {
   128  	contract, err := bindOrgManager(address, nil, transactor, nil)
   129  	if err != nil {
   130  		return nil, err
   131  	}
   132  	return &OrgManagerTransactor{contract: contract}, nil
   133  }
   134  
   135  // NewOrgManagerFilterer creates a new log filterer instance of OrgManager, bound to a specific deployed contract.
   136  func NewOrgManagerFilterer(address common.Address, filterer bind.ContractFilterer) (*OrgManagerFilterer, error) {
   137  	contract, err := bindOrgManager(address, nil, nil, filterer)
   138  	if err != nil {
   139  		return nil, err
   140  	}
   141  	return &OrgManagerFilterer{contract: contract}, nil
   142  }
   143  
   144  // bindOrgManager binds a generic wrapper to an already deployed contract.
   145  func bindOrgManager(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   146  	parsed, err := abi.JSON(strings.NewReader(OrgManagerABI))
   147  	if err != nil {
   148  		return nil, err
   149  	}
   150  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
   151  }
   152  
   153  // Call invokes the (constant) contract method with params as input values and
   154  // sets the output to result. The result type might be a single field for simple
   155  // returns, a slice of interfaces for anonymous returns and a struct for named
   156  // returns.
   157  func (_OrgManager *OrgManagerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
   158  	return _OrgManager.Contract.OrgManagerCaller.contract.Call(opts, result, method, params...)
   159  }
   160  
   161  // Transfer initiates a plain transaction to move funds to the contract, calling
   162  // its default method if one is available.
   163  func (_OrgManager *OrgManagerRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   164  	return _OrgManager.Contract.OrgManagerTransactor.contract.Transfer(opts)
   165  }
   166  
   167  // Transact invokes the (paid) contract method with params as input values.
   168  func (_OrgManager *OrgManagerRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   169  	return _OrgManager.Contract.OrgManagerTransactor.contract.Transact(opts, method, params...)
   170  }
   171  
   172  // Call invokes the (constant) contract method with params as input values and
   173  // sets the output to result. The result type might be a single field for simple
   174  // returns, a slice of interfaces for anonymous returns and a struct for named
   175  // returns.
   176  func (_OrgManager *OrgManagerCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
   177  	return _OrgManager.Contract.contract.Call(opts, result, method, params...)
   178  }
   179  
   180  // Transfer initiates a plain transaction to move funds to the contract, calling
   181  // its default method if one is available.
   182  func (_OrgManager *OrgManagerTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   183  	return _OrgManager.Contract.contract.Transfer(opts)
   184  }
   185  
   186  // Transact invokes the (paid) contract method with params as input values.
   187  func (_OrgManager *OrgManagerTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   188  	return _OrgManager.Contract.contract.Transact(opts, method, params...)
   189  }
   190  
   191  // GetOrgIndex is a free data retrieval call binding the contract method 0x320d2c39.
   192  //
   193  // Solidity: function _getOrgIndex(_orgId string) constant returns(uint256)
   194  func (_OrgManager *OrgManagerCaller) GetOrgIndex(opts *bind.CallOpts, _orgId string) (*big.Int, error) {
   195  	var (
   196  		ret0 = new(*big.Int)
   197  	)
   198  	out := ret0
   199  	err := _OrgManager.contract.Call(opts, out, "_getOrgIndex", _orgId)
   200  	return *ret0, err
   201  }
   202  
   203  // GetOrgIndex is a free data retrieval call binding the contract method 0x320d2c39.
   204  //
   205  // Solidity: function _getOrgIndex(_orgId string) constant returns(uint256)
   206  func (_OrgManager *OrgManagerSession) GetOrgIndex(_orgId string) (*big.Int, error) {
   207  	return _OrgManager.Contract.GetOrgIndex(&_OrgManager.CallOpts, _orgId)
   208  }
   209  
   210  // GetOrgIndex is a free data retrieval call binding the contract method 0x320d2c39.
   211  //
   212  // Solidity: function _getOrgIndex(_orgId string) constant returns(uint256)
   213  func (_OrgManager *OrgManagerCallerSession) GetOrgIndex(_orgId string) (*big.Int, error) {
   214  	return _OrgManager.Contract.GetOrgIndex(&_OrgManager.CallOpts, _orgId)
   215  }
   216  
   217  // CheckOrgExists is a free data retrieval call binding the contract method 0xffe40d1d.
   218  //
   219  // Solidity: function checkOrgExists(_orgId string) constant returns(bool)
   220  func (_OrgManager *OrgManagerCaller) CheckOrgExists(opts *bind.CallOpts, _orgId string) (bool, error) {
   221  	var (
   222  		ret0 = new(bool)
   223  	)
   224  	out := ret0
   225  	err := _OrgManager.contract.Call(opts, out, "checkOrgExists", _orgId)
   226  	return *ret0, err
   227  }
   228  
   229  // CheckOrgExists is a free data retrieval call binding the contract method 0xffe40d1d.
   230  //
   231  // Solidity: function checkOrgExists(_orgId string) constant returns(bool)
   232  func (_OrgManager *OrgManagerSession) CheckOrgExists(_orgId string) (bool, error) {
   233  	return _OrgManager.Contract.CheckOrgExists(&_OrgManager.CallOpts, _orgId)
   234  }
   235  
   236  // CheckOrgExists is a free data retrieval call binding the contract method 0xffe40d1d.
   237  //
   238  // Solidity: function checkOrgExists(_orgId string) constant returns(bool)
   239  func (_OrgManager *OrgManagerCallerSession) CheckOrgExists(_orgId string) (bool, error) {
   240  	return _OrgManager.Contract.CheckOrgExists(&_OrgManager.CallOpts, _orgId)
   241  }
   242  
   243  // CheckOrgStatus is a free data retrieval call binding the contract method 0x8c8642df.
   244  //
   245  // Solidity: function checkOrgStatus(_orgId string, _orgStatus uint256) constant returns(bool)
   246  func (_OrgManager *OrgManagerCaller) CheckOrgStatus(opts *bind.CallOpts, _orgId string, _orgStatus *big.Int) (bool, error) {
   247  	var (
   248  		ret0 = new(bool)
   249  	)
   250  	out := ret0
   251  	err := _OrgManager.contract.Call(opts, out, "checkOrgStatus", _orgId, _orgStatus)
   252  	return *ret0, err
   253  }
   254  
   255  // CheckOrgStatus is a free data retrieval call binding the contract method 0x8c8642df.
   256  //
   257  // Solidity: function checkOrgStatus(_orgId string, _orgStatus uint256) constant returns(bool)
   258  func (_OrgManager *OrgManagerSession) CheckOrgStatus(_orgId string, _orgStatus *big.Int) (bool, error) {
   259  	return _OrgManager.Contract.CheckOrgStatus(&_OrgManager.CallOpts, _orgId, _orgStatus)
   260  }
   261  
   262  // CheckOrgStatus is a free data retrieval call binding the contract method 0x8c8642df.
   263  //
   264  // Solidity: function checkOrgStatus(_orgId string, _orgStatus uint256) constant returns(bool)
   265  func (_OrgManager *OrgManagerCallerSession) CheckOrgStatus(_orgId string, _orgStatus *big.Int) (bool, error) {
   266  	return _OrgManager.Contract.CheckOrgStatus(&_OrgManager.CallOpts, _orgId, _orgStatus)
   267  }
   268  
   269  // GetNumberOfOrgs is a free data retrieval call binding the contract method 0x7755ebdd.
   270  //
   271  // Solidity: function getNumberOfOrgs() constant returns(uint256)
   272  func (_OrgManager *OrgManagerCaller) GetNumberOfOrgs(opts *bind.CallOpts) (*big.Int, error) {
   273  	var (
   274  		ret0 = new(*big.Int)
   275  	)
   276  	out := ret0
   277  	err := _OrgManager.contract.Call(opts, out, "getNumberOfOrgs")
   278  	return *ret0, err
   279  }
   280  
   281  // GetNumberOfOrgs is a free data retrieval call binding the contract method 0x7755ebdd.
   282  //
   283  // Solidity: function getNumberOfOrgs() constant returns(uint256)
   284  func (_OrgManager *OrgManagerSession) GetNumberOfOrgs() (*big.Int, error) {
   285  	return _OrgManager.Contract.GetNumberOfOrgs(&_OrgManager.CallOpts)
   286  }
   287  
   288  // GetNumberOfOrgs is a free data retrieval call binding the contract method 0x7755ebdd.
   289  //
   290  // Solidity: function getNumberOfOrgs() constant returns(uint256)
   291  func (_OrgManager *OrgManagerCallerSession) GetNumberOfOrgs() (*big.Int, error) {
   292  	return _OrgManager.Contract.GetNumberOfOrgs(&_OrgManager.CallOpts)
   293  }
   294  
   295  // GetOrgInfo is a free data retrieval call binding the contract method 0x5c4f32ee.
   296  //
   297  // Solidity: function getOrgInfo(_orgIndex uint256) constant returns(string, string, string, uint256, uint256)
   298  func (_OrgManager *OrgManagerCaller) GetOrgInfo(opts *bind.CallOpts, _orgIndex *big.Int) (string, string, string, *big.Int, *big.Int, error) {
   299  	var (
   300  		ret0 = new(string)
   301  		ret1 = new(string)
   302  		ret2 = new(string)
   303  		ret3 = new(*big.Int)
   304  		ret4 = new(*big.Int)
   305  	)
   306  	out := &[]interface{}{
   307  		ret0,
   308  		ret1,
   309  		ret2,
   310  		ret3,
   311  		ret4,
   312  	}
   313  	err := _OrgManager.contract.Call(opts, out, "getOrgInfo", _orgIndex)
   314  	return *ret0, *ret1, *ret2, *ret3, *ret4, err
   315  }
   316  
   317  // GetOrgInfo is a free data retrieval call binding the contract method 0x5c4f32ee.
   318  //
   319  // Solidity: function getOrgInfo(_orgIndex uint256) constant returns(string, string, string, uint256, uint256)
   320  func (_OrgManager *OrgManagerSession) GetOrgInfo(_orgIndex *big.Int) (string, string, string, *big.Int, *big.Int, error) {
   321  	return _OrgManager.Contract.GetOrgInfo(&_OrgManager.CallOpts, _orgIndex)
   322  }
   323  
   324  // GetOrgInfo is a free data retrieval call binding the contract method 0x5c4f32ee.
   325  //
   326  // Solidity: function getOrgInfo(_orgIndex uint256) constant returns(string, string, string, uint256, uint256)
   327  func (_OrgManager *OrgManagerCallerSession) GetOrgInfo(_orgIndex *big.Int) (string, string, string, *big.Int, *big.Int, error) {
   328  	return _OrgManager.Contract.GetOrgInfo(&_OrgManager.CallOpts, _orgIndex)
   329  }
   330  
   331  // GetUltimateParent is a free data retrieval call binding the contract method 0x177c8d8a.
   332  //
   333  // Solidity: function getUltimateParent(_orgId string) constant returns(string)
   334  func (_OrgManager *OrgManagerCaller) GetUltimateParent(opts *bind.CallOpts, _orgId string) (string, error) {
   335  	var (
   336  		ret0 = new(string)
   337  	)
   338  	out := ret0
   339  	err := _OrgManager.contract.Call(opts, out, "getUltimateParent", _orgId)
   340  	return *ret0, err
   341  }
   342  
   343  // GetUltimateParent is a free data retrieval call binding the contract method 0x177c8d8a.
   344  //
   345  // Solidity: function getUltimateParent(_orgId string) constant returns(string)
   346  func (_OrgManager *OrgManagerSession) GetUltimateParent(_orgId string) (string, error) {
   347  	return _OrgManager.Contract.GetUltimateParent(&_OrgManager.CallOpts, _orgId)
   348  }
   349  
   350  // GetUltimateParent is a free data retrieval call binding the contract method 0x177c8d8a.
   351  //
   352  // Solidity: function getUltimateParent(_orgId string) constant returns(string)
   353  func (_OrgManager *OrgManagerCallerSession) GetUltimateParent(_orgId string) (string, error) {
   354  	return _OrgManager.Contract.GetUltimateParent(&_OrgManager.CallOpts, _orgId)
   355  }
   356  
   357  // AddOrg is a paid mutator transaction binding the contract method 0xf9953de5.
   358  //
   359  // Solidity: function addOrg(_orgId string) returns()
   360  func (_OrgManager *OrgManagerTransactor) AddOrg(opts *bind.TransactOpts, _orgId string) (*types.Transaction, error) {
   361  	return _OrgManager.contract.Transact(opts, "addOrg", _orgId)
   362  }
   363  
   364  // AddOrg is a paid mutator transaction binding the contract method 0xf9953de5.
   365  //
   366  // Solidity: function addOrg(_orgId string) returns()
   367  func (_OrgManager *OrgManagerSession) AddOrg(_orgId string) (*types.Transaction, error) {
   368  	return _OrgManager.Contract.AddOrg(&_OrgManager.TransactOpts, _orgId)
   369  }
   370  
   371  // AddOrg is a paid mutator transaction binding the contract method 0xf9953de5.
   372  //
   373  // Solidity: function addOrg(_orgId string) returns()
   374  func (_OrgManager *OrgManagerTransactorSession) AddOrg(_orgId string) (*types.Transaction, error) {
   375  	return _OrgManager.Contract.AddOrg(&_OrgManager.TransactOpts, _orgId)
   376  }
   377  
   378  // AddSubOrg is a paid mutator transaction binding the contract method 0x1f953480.
   379  //
   380  // Solidity: function addSubOrg(_pOrgId string, _orgId string) returns()
   381  func (_OrgManager *OrgManagerTransactor) AddSubOrg(opts *bind.TransactOpts, _pOrgId string, _orgId string) (*types.Transaction, error) {
   382  	return _OrgManager.contract.Transact(opts, "addSubOrg", _pOrgId, _orgId)
   383  }
   384  
   385  // AddSubOrg is a paid mutator transaction binding the contract method 0x1f953480.
   386  //
   387  // Solidity: function addSubOrg(_pOrgId string, _orgId string) returns()
   388  func (_OrgManager *OrgManagerSession) AddSubOrg(_pOrgId string, _orgId string) (*types.Transaction, error) {
   389  	return _OrgManager.Contract.AddSubOrg(&_OrgManager.TransactOpts, _pOrgId, _orgId)
   390  }
   391  
   392  // AddSubOrg is a paid mutator transaction binding the contract method 0x1f953480.
   393  //
   394  // Solidity: function addSubOrg(_pOrgId string, _orgId string) returns()
   395  func (_OrgManager *OrgManagerTransactorSession) AddSubOrg(_pOrgId string, _orgId string) (*types.Transaction, error) {
   396  	return _OrgManager.Contract.AddSubOrg(&_OrgManager.TransactOpts, _pOrgId, _orgId)
   397  }
   398  
   399  // ApproveOrg is a paid mutator transaction binding the contract method 0xe3028316.
   400  //
   401  // Solidity: function approveOrg(_orgId string) returns()
   402  func (_OrgManager *OrgManagerTransactor) ApproveOrg(opts *bind.TransactOpts, _orgId string) (*types.Transaction, error) {
   403  	return _OrgManager.contract.Transact(opts, "approveOrg", _orgId)
   404  }
   405  
   406  // ApproveOrg is a paid mutator transaction binding the contract method 0xe3028316.
   407  //
   408  // Solidity: function approveOrg(_orgId string) returns()
   409  func (_OrgManager *OrgManagerSession) ApproveOrg(_orgId string) (*types.Transaction, error) {
   410  	return _OrgManager.Contract.ApproveOrg(&_OrgManager.TransactOpts, _orgId)
   411  }
   412  
   413  // ApproveOrg is a paid mutator transaction binding the contract method 0xe3028316.
   414  //
   415  // Solidity: function approveOrg(_orgId string) returns()
   416  func (_OrgManager *OrgManagerTransactorSession) ApproveOrg(_orgId string) (*types.Transaction, error) {
   417  	return _OrgManager.Contract.ApproveOrg(&_OrgManager.TransactOpts, _orgId)
   418  }
   419  
   420  // ApproveOrgStatusUpdate is a paid mutator transaction binding the contract method 0x14f775f9.
   421  //
   422  // Solidity: function approveOrgStatusUpdate(_orgId string, _action uint256) returns()
   423  func (_OrgManager *OrgManagerTransactor) ApproveOrgStatusUpdate(opts *bind.TransactOpts, _orgId string, _action *big.Int) (*types.Transaction, error) {
   424  	return _OrgManager.contract.Transact(opts, "approveOrgStatusUpdate", _orgId, _action)
   425  }
   426  
   427  // ApproveOrgStatusUpdate is a paid mutator transaction binding the contract method 0x14f775f9.
   428  //
   429  // Solidity: function approveOrgStatusUpdate(_orgId string, _action uint256) returns()
   430  func (_OrgManager *OrgManagerSession) ApproveOrgStatusUpdate(_orgId string, _action *big.Int) (*types.Transaction, error) {
   431  	return _OrgManager.Contract.ApproveOrgStatusUpdate(&_OrgManager.TransactOpts, _orgId, _action)
   432  }
   433  
   434  // ApproveOrgStatusUpdate is a paid mutator transaction binding the contract method 0x14f775f9.
   435  //
   436  // Solidity: function approveOrgStatusUpdate(_orgId string, _action uint256) returns()
   437  func (_OrgManager *OrgManagerTransactorSession) ApproveOrgStatusUpdate(_orgId string, _action *big.Int) (*types.Transaction, error) {
   438  	return _OrgManager.Contract.ApproveOrgStatusUpdate(&_OrgManager.TransactOpts, _orgId, _action)
   439  }
   440  
   441  // SetUpOrg is a paid mutator transaction binding the contract method 0x9e58eb9f.
   442  //
   443  // Solidity: function setUpOrg(_orgId string, _breadth uint256, _depth uint256) returns()
   444  func (_OrgManager *OrgManagerTransactor) SetUpOrg(opts *bind.TransactOpts, _orgId string, _breadth *big.Int, _depth *big.Int) (*types.Transaction, error) {
   445  	return _OrgManager.contract.Transact(opts, "setUpOrg", _orgId, _breadth, _depth)
   446  }
   447  
   448  // SetUpOrg is a paid mutator transaction binding the contract method 0x9e58eb9f.
   449  //
   450  // Solidity: function setUpOrg(_orgId string, _breadth uint256, _depth uint256) returns()
   451  func (_OrgManager *OrgManagerSession) SetUpOrg(_orgId string, _breadth *big.Int, _depth *big.Int) (*types.Transaction, error) {
   452  	return _OrgManager.Contract.SetUpOrg(&_OrgManager.TransactOpts, _orgId, _breadth, _depth)
   453  }
   454  
   455  // SetUpOrg is a paid mutator transaction binding the contract method 0x9e58eb9f.
   456  //
   457  // Solidity: function setUpOrg(_orgId string, _breadth uint256, _depth uint256) returns()
   458  func (_OrgManager *OrgManagerTransactorSession) SetUpOrg(_orgId string, _breadth *big.Int, _depth *big.Int) (*types.Transaction, error) {
   459  	return _OrgManager.Contract.SetUpOrg(&_OrgManager.TransactOpts, _orgId, _breadth, _depth)
   460  }
   461  
   462  // UpdateOrg is a paid mutator transaction binding the contract method 0x0cc27493.
   463  //
   464  // Solidity: function updateOrg(_orgId string, _action uint256) returns(uint256)
   465  func (_OrgManager *OrgManagerTransactor) UpdateOrg(opts *bind.TransactOpts, _orgId string, _action *big.Int) (*types.Transaction, error) {
   466  	return _OrgManager.contract.Transact(opts, "updateOrg", _orgId, _action)
   467  }
   468  
   469  // UpdateOrg is a paid mutator transaction binding the contract method 0x0cc27493.
   470  //
   471  // Solidity: function updateOrg(_orgId string, _action uint256) returns(uint256)
   472  func (_OrgManager *OrgManagerSession) UpdateOrg(_orgId string, _action *big.Int) (*types.Transaction, error) {
   473  	return _OrgManager.Contract.UpdateOrg(&_OrgManager.TransactOpts, _orgId, _action)
   474  }
   475  
   476  // UpdateOrg is a paid mutator transaction binding the contract method 0x0cc27493.
   477  //
   478  // Solidity: function updateOrg(_orgId string, _action uint256) returns(uint256)
   479  func (_OrgManager *OrgManagerTransactorSession) UpdateOrg(_orgId string, _action *big.Int) (*types.Transaction, error) {
   480  	return _OrgManager.Contract.UpdateOrg(&_OrgManager.TransactOpts, _orgId, _action)
   481  }
   482  
   483  // OrgManagerOrgApprovedIterator is returned from FilterOrgApproved and is used to iterate over the raw logs and unpacked data for OrgApproved events raised by the OrgManager contract.
   484  type OrgManagerOrgApprovedIterator struct {
   485  	Event *OrgManagerOrgApproved // Event containing the contract specifics and raw log
   486  
   487  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   488  	event    string              // Event name to use for unpacking event data
   489  
   490  	logs chan types.Log        // Log channel receiving the found contract events
   491  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   492  	done bool                  // Whether the subscription completed delivering logs
   493  	fail error                 // Occurred error to stop iteration
   494  }
   495  
   496  // Next advances the iterator to the subsequent event, returning whether there
   497  // are any more events found. In case of a retrieval or parsing error, false is
   498  // returned and Error() can be queried for the exact failure.
   499  func (it *OrgManagerOrgApprovedIterator) Next() bool {
   500  	// If the iterator failed, stop iterating
   501  	if it.fail != nil {
   502  		return false
   503  	}
   504  	// If the iterator completed, deliver directly whatever's available
   505  	if it.done {
   506  		select {
   507  		case log := <-it.logs:
   508  			it.Event = new(OrgManagerOrgApproved)
   509  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   510  				it.fail = err
   511  				return false
   512  			}
   513  			it.Event.Raw = log
   514  			return true
   515  
   516  		default:
   517  			return false
   518  		}
   519  	}
   520  	// Iterator still in progress, wait for either a data or an error event
   521  	select {
   522  	case log := <-it.logs:
   523  		it.Event = new(OrgManagerOrgApproved)
   524  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   525  			it.fail = err
   526  			return false
   527  		}
   528  		it.Event.Raw = log
   529  		return true
   530  
   531  	case err := <-it.sub.Err():
   532  		it.done = true
   533  		it.fail = err
   534  		return it.Next()
   535  	}
   536  }
   537  
   538  // Error returns any retrieval or parsing error occurred during filtering.
   539  func (it *OrgManagerOrgApprovedIterator) Error() error {
   540  	return it.fail
   541  }
   542  
   543  // Close terminates the iteration process, releasing any pending underlying
   544  // resources.
   545  func (it *OrgManagerOrgApprovedIterator) Close() error {
   546  	it.sub.Unsubscribe()
   547  	return nil
   548  }
   549  
   550  // OrgManagerOrgApproved represents a OrgApproved event raised by the OrgManager contract.
   551  type OrgManagerOrgApproved struct {
   552  	OrgId     string
   553  	PorgId    string
   554  	UltParent string
   555  	Level     *big.Int
   556  	Status    *big.Int
   557  	Raw       types.Log // Blockchain specific contextual infos
   558  }
   559  
   560  // FilterOrgApproved is a free log retrieval operation binding the contract event 0xd705723a50859c9cc1d3953e10b8b9478820e7a62927ad3215897ed87b20591c.
   561  //
   562  // Solidity: e OrgApproved(_orgId string, _porgId string, _ultParent string, _level uint256, _status uint256)
   563  func (_OrgManager *OrgManagerFilterer) FilterOrgApproved(opts *bind.FilterOpts) (*OrgManagerOrgApprovedIterator, error) {
   564  
   565  	logs, sub, err := _OrgManager.contract.FilterLogs(opts, "OrgApproved")
   566  	if err != nil {
   567  		return nil, err
   568  	}
   569  	return &OrgManagerOrgApprovedIterator{contract: _OrgManager.contract, event: "OrgApproved", logs: logs, sub: sub}, nil
   570  }
   571  
   572  // WatchOrgApproved is a free log subscription operation binding the contract event 0xd705723a50859c9cc1d3953e10b8b9478820e7a62927ad3215897ed87b20591c.
   573  //
   574  // Solidity: e OrgApproved(_orgId string, _porgId string, _ultParent string, _level uint256, _status uint256)
   575  func (_OrgManager *OrgManagerFilterer) WatchOrgApproved(opts *bind.WatchOpts, sink chan<- *OrgManagerOrgApproved) (event.Subscription, error) {
   576  
   577  	logs, sub, err := _OrgManager.contract.WatchLogs(opts, "OrgApproved")
   578  	if err != nil {
   579  		return nil, err
   580  	}
   581  	return event.NewSubscription(func(quit <-chan struct{}) error {
   582  		defer sub.Unsubscribe()
   583  		for {
   584  			select {
   585  			case log := <-logs:
   586  				// New log arrived, parse the event and forward to the user
   587  				event := new(OrgManagerOrgApproved)
   588  				if err := _OrgManager.contract.UnpackLog(event, "OrgApproved", log); err != nil {
   589  					return err
   590  				}
   591  				event.Raw = log
   592  
   593  				select {
   594  				case sink <- event:
   595  				case err := <-sub.Err():
   596  					return err
   597  				case <-quit:
   598  					return nil
   599  				}
   600  			case err := <-sub.Err():
   601  				return err
   602  			case <-quit:
   603  				return nil
   604  			}
   605  		}
   606  	}), nil
   607  }
   608  
   609  // OrgManagerOrgPendingApprovalIterator is returned from FilterOrgPendingApproval and is used to iterate over the raw logs and unpacked data for OrgPendingApproval events raised by the OrgManager contract.
   610  type OrgManagerOrgPendingApprovalIterator struct {
   611  	Event *OrgManagerOrgPendingApproval // Event containing the contract specifics and raw log
   612  
   613  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   614  	event    string              // Event name to use for unpacking event data
   615  
   616  	logs chan types.Log        // Log channel receiving the found contract events
   617  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   618  	done bool                  // Whether the subscription completed delivering logs
   619  	fail error                 // Occurred error to stop iteration
   620  }
   621  
   622  // Next advances the iterator to the subsequent event, returning whether there
   623  // are any more events found. In case of a retrieval or parsing error, false is
   624  // returned and Error() can be queried for the exact failure.
   625  func (it *OrgManagerOrgPendingApprovalIterator) Next() bool {
   626  	// If the iterator failed, stop iterating
   627  	if it.fail != nil {
   628  		return false
   629  	}
   630  	// If the iterator completed, deliver directly whatever's available
   631  	if it.done {
   632  		select {
   633  		case log := <-it.logs:
   634  			it.Event = new(OrgManagerOrgPendingApproval)
   635  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   636  				it.fail = err
   637  				return false
   638  			}
   639  			it.Event.Raw = log
   640  			return true
   641  
   642  		default:
   643  			return false
   644  		}
   645  	}
   646  	// Iterator still in progress, wait for either a data or an error event
   647  	select {
   648  	case log := <-it.logs:
   649  		it.Event = new(OrgManagerOrgPendingApproval)
   650  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   651  			it.fail = err
   652  			return false
   653  		}
   654  		it.Event.Raw = log
   655  		return true
   656  
   657  	case err := <-it.sub.Err():
   658  		it.done = true
   659  		it.fail = err
   660  		return it.Next()
   661  	}
   662  }
   663  
   664  // Error returns any retrieval or parsing error occurred during filtering.
   665  func (it *OrgManagerOrgPendingApprovalIterator) Error() error {
   666  	return it.fail
   667  }
   668  
   669  // Close terminates the iteration process, releasing any pending underlying
   670  // resources.
   671  func (it *OrgManagerOrgPendingApprovalIterator) Close() error {
   672  	it.sub.Unsubscribe()
   673  	return nil
   674  }
   675  
   676  // OrgManagerOrgPendingApproval represents a OrgPendingApproval event raised by the OrgManager contract.
   677  type OrgManagerOrgPendingApproval struct {
   678  	OrgId     string
   679  	PorgId    string
   680  	UltParent string
   681  	Level     *big.Int
   682  	Status    *big.Int
   683  	Raw       types.Log // Blockchain specific contextual infos
   684  }
   685  
   686  // FilterOrgPendingApproval is a free log retrieval operation binding the contract event 0x0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b.
   687  //
   688  // Solidity: e OrgPendingApproval(_orgId string, _porgId string, _ultParent string, _level uint256, _status uint256)
   689  func (_OrgManager *OrgManagerFilterer) FilterOrgPendingApproval(opts *bind.FilterOpts) (*OrgManagerOrgPendingApprovalIterator, error) {
   690  
   691  	logs, sub, err := _OrgManager.contract.FilterLogs(opts, "OrgPendingApproval")
   692  	if err != nil {
   693  		return nil, err
   694  	}
   695  	return &OrgManagerOrgPendingApprovalIterator{contract: _OrgManager.contract, event: "OrgPendingApproval", logs: logs, sub: sub}, nil
   696  }
   697  
   698  // WatchOrgPendingApproval is a free log subscription operation binding the contract event 0x0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b.
   699  //
   700  // Solidity: e OrgPendingApproval(_orgId string, _porgId string, _ultParent string, _level uint256, _status uint256)
   701  func (_OrgManager *OrgManagerFilterer) WatchOrgPendingApproval(opts *bind.WatchOpts, sink chan<- *OrgManagerOrgPendingApproval) (event.Subscription, error) {
   702  
   703  	logs, sub, err := _OrgManager.contract.WatchLogs(opts, "OrgPendingApproval")
   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(OrgManagerOrgPendingApproval)
   714  				if err := _OrgManager.contract.UnpackLog(event, "OrgPendingApproval", 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  // OrgManagerOrgSuspendedIterator is returned from FilterOrgSuspended and is used to iterate over the raw logs and unpacked data for OrgSuspended events raised by the OrgManager contract.
   736  type OrgManagerOrgSuspendedIterator struct {
   737  	Event *OrgManagerOrgSuspended // Event containing the contract specifics and raw log
   738  
   739  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   740  	event    string              // Event name to use for unpacking event data
   741  
   742  	logs chan types.Log        // Log channel receiving the found contract events
   743  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   744  	done bool                  // Whether the subscription completed delivering logs
   745  	fail error                 // Occurred error to stop iteration
   746  }
   747  
   748  // Next advances the iterator to the subsequent event, returning whether there
   749  // are any more events found. In case of a retrieval or parsing error, false is
   750  // returned and Error() can be queried for the exact failure.
   751  func (it *OrgManagerOrgSuspendedIterator) Next() bool {
   752  	// If the iterator failed, stop iterating
   753  	if it.fail != nil {
   754  		return false
   755  	}
   756  	// If the iterator completed, deliver directly whatever's available
   757  	if it.done {
   758  		select {
   759  		case log := <-it.logs:
   760  			it.Event = new(OrgManagerOrgSuspended)
   761  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   762  				it.fail = err
   763  				return false
   764  			}
   765  			it.Event.Raw = log
   766  			return true
   767  
   768  		default:
   769  			return false
   770  		}
   771  	}
   772  	// Iterator still in progress, wait for either a data or an error event
   773  	select {
   774  	case log := <-it.logs:
   775  		it.Event = new(OrgManagerOrgSuspended)
   776  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   777  			it.fail = err
   778  			return false
   779  		}
   780  		it.Event.Raw = log
   781  		return true
   782  
   783  	case err := <-it.sub.Err():
   784  		it.done = true
   785  		it.fail = err
   786  		return it.Next()
   787  	}
   788  }
   789  
   790  // Error returns any retrieval or parsing error occurred during filtering.
   791  func (it *OrgManagerOrgSuspendedIterator) Error() error {
   792  	return it.fail
   793  }
   794  
   795  // Close terminates the iteration process, releasing any pending underlying
   796  // resources.
   797  func (it *OrgManagerOrgSuspendedIterator) Close() error {
   798  	it.sub.Unsubscribe()
   799  	return nil
   800  }
   801  
   802  // OrgManagerOrgSuspended represents a OrgSuspended event raised by the OrgManager contract.
   803  type OrgManagerOrgSuspended struct {
   804  	OrgId     string
   805  	PorgId    string
   806  	UltParent string
   807  	Level     *big.Int
   808  	Raw       types.Log // Blockchain specific contextual infos
   809  }
   810  
   811  // FilterOrgSuspended is a free log retrieval operation binding the contract event 0x73ccf8d6c8385bf5347269bd59712da33183c1a5e1702494bcdb87d0f4674d96.
   812  //
   813  // Solidity: e OrgSuspended(_orgId string, _porgId string, _ultParent string, _level uint256)
   814  func (_OrgManager *OrgManagerFilterer) FilterOrgSuspended(opts *bind.FilterOpts) (*OrgManagerOrgSuspendedIterator, error) {
   815  
   816  	logs, sub, err := _OrgManager.contract.FilterLogs(opts, "OrgSuspended")
   817  	if err != nil {
   818  		return nil, err
   819  	}
   820  	return &OrgManagerOrgSuspendedIterator{contract: _OrgManager.contract, event: "OrgSuspended", logs: logs, sub: sub}, nil
   821  }
   822  
   823  // WatchOrgSuspended is a free log subscription operation binding the contract event 0x73ccf8d6c8385bf5347269bd59712da33183c1a5e1702494bcdb87d0f4674d96.
   824  //
   825  // Solidity: e OrgSuspended(_orgId string, _porgId string, _ultParent string, _level uint256)
   826  func (_OrgManager *OrgManagerFilterer) WatchOrgSuspended(opts *bind.WatchOpts, sink chan<- *OrgManagerOrgSuspended) (event.Subscription, error) {
   827  
   828  	logs, sub, err := _OrgManager.contract.WatchLogs(opts, "OrgSuspended")
   829  	if err != nil {
   830  		return nil, err
   831  	}
   832  	return event.NewSubscription(func(quit <-chan struct{}) error {
   833  		defer sub.Unsubscribe()
   834  		for {
   835  			select {
   836  			case log := <-logs:
   837  				// New log arrived, parse the event and forward to the user
   838  				event := new(OrgManagerOrgSuspended)
   839  				if err := _OrgManager.contract.UnpackLog(event, "OrgSuspended", log); err != nil {
   840  					return err
   841  				}
   842  				event.Raw = log
   843  
   844  				select {
   845  				case sink <- event:
   846  				case err := <-sub.Err():
   847  					return err
   848  				case <-quit:
   849  					return nil
   850  				}
   851  			case err := <-sub.Err():
   852  				return err
   853  			case <-quit:
   854  				return nil
   855  			}
   856  		}
   857  	}), nil
   858  }
   859  
   860  // OrgManagerOrgSuspensionRevokedIterator is returned from FilterOrgSuspensionRevoked and is used to iterate over the raw logs and unpacked data for OrgSuspensionRevoked events raised by the OrgManager contract.
   861  type OrgManagerOrgSuspensionRevokedIterator struct {
   862  	Event *OrgManagerOrgSuspensionRevoked // Event containing the contract specifics and raw log
   863  
   864  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   865  	event    string              // Event name to use for unpacking event data
   866  
   867  	logs chan types.Log        // Log channel receiving the found contract events
   868  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   869  	done bool                  // Whether the subscription completed delivering logs
   870  	fail error                 // Occurred error to stop iteration
   871  }
   872  
   873  // Next advances the iterator to the subsequent event, returning whether there
   874  // are any more events found. In case of a retrieval or parsing error, false is
   875  // returned and Error() can be queried for the exact failure.
   876  func (it *OrgManagerOrgSuspensionRevokedIterator) Next() bool {
   877  	// If the iterator failed, stop iterating
   878  	if it.fail != nil {
   879  		return false
   880  	}
   881  	// If the iterator completed, deliver directly whatever's available
   882  	if it.done {
   883  		select {
   884  		case log := <-it.logs:
   885  			it.Event = new(OrgManagerOrgSuspensionRevoked)
   886  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   887  				it.fail = err
   888  				return false
   889  			}
   890  			it.Event.Raw = log
   891  			return true
   892  
   893  		default:
   894  			return false
   895  		}
   896  	}
   897  	// Iterator still in progress, wait for either a data or an error event
   898  	select {
   899  	case log := <-it.logs:
   900  		it.Event = new(OrgManagerOrgSuspensionRevoked)
   901  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   902  			it.fail = err
   903  			return false
   904  		}
   905  		it.Event.Raw = log
   906  		return true
   907  
   908  	case err := <-it.sub.Err():
   909  		it.done = true
   910  		it.fail = err
   911  		return it.Next()
   912  	}
   913  }
   914  
   915  // Error returns any retrieval or parsing error occurred during filtering.
   916  func (it *OrgManagerOrgSuspensionRevokedIterator) Error() error {
   917  	return it.fail
   918  }
   919  
   920  // Close terminates the iteration process, releasing any pending underlying
   921  // resources.
   922  func (it *OrgManagerOrgSuspensionRevokedIterator) Close() error {
   923  	it.sub.Unsubscribe()
   924  	return nil
   925  }
   926  
   927  // OrgManagerOrgSuspensionRevoked represents a OrgSuspensionRevoked event raised by the OrgManager contract.
   928  type OrgManagerOrgSuspensionRevoked struct {
   929  	OrgId     string
   930  	PorgId    string
   931  	UltParent string
   932  	Level     *big.Int
   933  	Raw       types.Log // Blockchain specific contextual infos
   934  }
   935  
   936  // FilterOrgSuspensionRevoked is a free log retrieval operation binding the contract event 0x882f030c609566cd82918a97d457fd48f9cfcefd11282e2654cde3f94579c15f.
   937  //
   938  // Solidity: e OrgSuspensionRevoked(_orgId string, _porgId string, _ultParent string, _level uint256)
   939  func (_OrgManager *OrgManagerFilterer) FilterOrgSuspensionRevoked(opts *bind.FilterOpts) (*OrgManagerOrgSuspensionRevokedIterator, error) {
   940  
   941  	logs, sub, err := _OrgManager.contract.FilterLogs(opts, "OrgSuspensionRevoked")
   942  	if err != nil {
   943  		return nil, err
   944  	}
   945  	return &OrgManagerOrgSuspensionRevokedIterator{contract: _OrgManager.contract, event: "OrgSuspensionRevoked", logs: logs, sub: sub}, nil
   946  }
   947  
   948  // WatchOrgSuspensionRevoked is a free log subscription operation binding the contract event 0x882f030c609566cd82918a97d457fd48f9cfcefd11282e2654cde3f94579c15f.
   949  //
   950  // Solidity: e OrgSuspensionRevoked(_orgId string, _porgId string, _ultParent string, _level uint256)
   951  func (_OrgManager *OrgManagerFilterer) WatchOrgSuspensionRevoked(opts *bind.WatchOpts, sink chan<- *OrgManagerOrgSuspensionRevoked) (event.Subscription, error) {
   952  
   953  	logs, sub, err := _OrgManager.contract.WatchLogs(opts, "OrgSuspensionRevoked")
   954  	if err != nil {
   955  		return nil, err
   956  	}
   957  	return event.NewSubscription(func(quit <-chan struct{}) error {
   958  		defer sub.Unsubscribe()
   959  		for {
   960  			select {
   961  			case log := <-logs:
   962  				// New log arrived, parse the event and forward to the user
   963  				event := new(OrgManagerOrgSuspensionRevoked)
   964  				if err := _OrgManager.contract.UnpackLog(event, "OrgSuspensionRevoked", log); err != nil {
   965  					return err
   966  				}
   967  				event.Raw = log
   968  
   969  				select {
   970  				case sink <- event:
   971  				case err := <-sub.Err():
   972  					return err
   973  				case <-quit:
   974  					return nil
   975  				}
   976  			case err := <-sub.Err():
   977  				return err
   978  			case <-quit:
   979  				return nil
   980  			}
   981  		}
   982  	}), nil
   983  }