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