github.com/status-im/status-go@v1.1.0/contracts/directory/directory.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 directory
     5  
     6  import (
     7  	"errors"
     8  	"math/big"
     9  	"strings"
    10  
    11  	ethereum "github.com/ethereum/go-ethereum"
    12  	"github.com/ethereum/go-ethereum/accounts/abi"
    13  	"github.com/ethereum/go-ethereum/accounts/abi/bind"
    14  	"github.com/ethereum/go-ethereum/common"
    15  	"github.com/ethereum/go-ethereum/core/types"
    16  	"github.com/ethereum/go-ethereum/event"
    17  )
    18  
    19  // Reference imports to suppress errors if they are not otherwise used.
    20  var (
    21  	_ = errors.New
    22  	_ = big.NewInt
    23  	_ = strings.NewReader
    24  	_ = ethereum.NotFound
    25  	_ = bind.Bind
    26  	_ = common.Big1
    27  	_ = types.BloomLookup
    28  	_ = event.NewSubscription
    29  	_ = abi.ConvertType
    30  )
    31  
    32  // DirectoryMetaData contains all meta data concerning the Directory contract.
    33  var DirectoryMetaData = &bind.MetaData{
    34  	ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_votingContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_featuredVotingContract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"community\",\"type\":\"bytes\"}],\"name\":\"addCommunity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"featuredVotingContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCommunities\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeaturedCommunities\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"community\",\"type\":\"bytes\"}],\"name\":\"isCommunityFeatured\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"community\",\"type\":\"bytes\"}],\"name\":\"isCommunityInDirectory\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"community\",\"type\":\"bytes\"}],\"name\":\"removeCommunity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"_featuredCommunities\",\"type\":\"bytes[]\"}],\"name\":\"setFeaturedCommunities\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
    35  }
    36  
    37  // DirectoryABI is the input ABI used to generate the binding from.
    38  // Deprecated: Use DirectoryMetaData.ABI instead.
    39  var DirectoryABI = DirectoryMetaData.ABI
    40  
    41  // Directory is an auto generated Go binding around an Ethereum contract.
    42  type Directory struct {
    43  	DirectoryCaller     // Read-only binding to the contract
    44  	DirectoryTransactor // Write-only binding to the contract
    45  	DirectoryFilterer   // Log filterer for contract events
    46  }
    47  
    48  // DirectoryCaller is an auto generated read-only Go binding around an Ethereum contract.
    49  type DirectoryCaller struct {
    50  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    51  }
    52  
    53  // DirectoryTransactor is an auto generated write-only Go binding around an Ethereum contract.
    54  type DirectoryTransactor struct {
    55  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    56  }
    57  
    58  // DirectoryFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    59  type DirectoryFilterer struct {
    60  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    61  }
    62  
    63  // DirectorySession is an auto generated Go binding around an Ethereum contract,
    64  // with pre-set call and transact options.
    65  type DirectorySession struct {
    66  	Contract     *Directory        // Generic contract binding to set the session for
    67  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    68  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    69  }
    70  
    71  // DirectoryCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    72  // with pre-set call options.
    73  type DirectoryCallerSession struct {
    74  	Contract *DirectoryCaller // Generic contract caller binding to set the session for
    75  	CallOpts bind.CallOpts    // Call options to use throughout this session
    76  }
    77  
    78  // DirectoryTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    79  // with pre-set transact options.
    80  type DirectoryTransactorSession struct {
    81  	Contract     *DirectoryTransactor // Generic contract transactor binding to set the session for
    82  	TransactOpts bind.TransactOpts    // Transaction auth options to use throughout this session
    83  }
    84  
    85  // DirectoryRaw is an auto generated low-level Go binding around an Ethereum contract.
    86  type DirectoryRaw struct {
    87  	Contract *Directory // Generic contract binding to access the raw methods on
    88  }
    89  
    90  // DirectoryCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
    91  type DirectoryCallerRaw struct {
    92  	Contract *DirectoryCaller // Generic read-only contract binding to access the raw methods on
    93  }
    94  
    95  // DirectoryTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
    96  type DirectoryTransactorRaw struct {
    97  	Contract *DirectoryTransactor // Generic write-only contract binding to access the raw methods on
    98  }
    99  
   100  // NewDirectory creates a new instance of Directory, bound to a specific deployed contract.
   101  func NewDirectory(address common.Address, backend bind.ContractBackend) (*Directory, error) {
   102  	contract, err := bindDirectory(address, backend, backend, backend)
   103  	if err != nil {
   104  		return nil, err
   105  	}
   106  	return &Directory{DirectoryCaller: DirectoryCaller{contract: contract}, DirectoryTransactor: DirectoryTransactor{contract: contract}, DirectoryFilterer: DirectoryFilterer{contract: contract}}, nil
   107  }
   108  
   109  // NewDirectoryCaller creates a new read-only instance of Directory, bound to a specific deployed contract.
   110  func NewDirectoryCaller(address common.Address, caller bind.ContractCaller) (*DirectoryCaller, error) {
   111  	contract, err := bindDirectory(address, caller, nil, nil)
   112  	if err != nil {
   113  		return nil, err
   114  	}
   115  	return &DirectoryCaller{contract: contract}, nil
   116  }
   117  
   118  // NewDirectoryTransactor creates a new write-only instance of Directory, bound to a specific deployed contract.
   119  func NewDirectoryTransactor(address common.Address, transactor bind.ContractTransactor) (*DirectoryTransactor, error) {
   120  	contract, err := bindDirectory(address, nil, transactor, nil)
   121  	if err != nil {
   122  		return nil, err
   123  	}
   124  	return &DirectoryTransactor{contract: contract}, nil
   125  }
   126  
   127  // NewDirectoryFilterer creates a new log filterer instance of Directory, bound to a specific deployed contract.
   128  func NewDirectoryFilterer(address common.Address, filterer bind.ContractFilterer) (*DirectoryFilterer, error) {
   129  	contract, err := bindDirectory(address, nil, nil, filterer)
   130  	if err != nil {
   131  		return nil, err
   132  	}
   133  	return &DirectoryFilterer{contract: contract}, nil
   134  }
   135  
   136  // bindDirectory binds a generic wrapper to an already deployed contract.
   137  func bindDirectory(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   138  	parsed, err := DirectoryMetaData.GetAbi()
   139  	if err != nil {
   140  		return nil, err
   141  	}
   142  	return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil
   143  }
   144  
   145  // Call invokes the (constant) contract method with params as input values and
   146  // sets the output to result. The result type might be a single field for simple
   147  // returns, a slice of interfaces for anonymous returns and a struct for named
   148  // returns.
   149  func (_Directory *DirectoryRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   150  	return _Directory.Contract.DirectoryCaller.contract.Call(opts, result, method, params...)
   151  }
   152  
   153  // Transfer initiates a plain transaction to move funds to the contract, calling
   154  // its default method if one is available.
   155  func (_Directory *DirectoryRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   156  	return _Directory.Contract.DirectoryTransactor.contract.Transfer(opts)
   157  }
   158  
   159  // Transact invokes the (paid) contract method with params as input values.
   160  func (_Directory *DirectoryRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   161  	return _Directory.Contract.DirectoryTransactor.contract.Transact(opts, method, params...)
   162  }
   163  
   164  // Call invokes the (constant) contract method with params as input values and
   165  // sets the output to result. The result type might be a single field for simple
   166  // returns, a slice of interfaces for anonymous returns and a struct for named
   167  // returns.
   168  func (_Directory *DirectoryCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   169  	return _Directory.Contract.contract.Call(opts, result, method, params...)
   170  }
   171  
   172  // Transfer initiates a plain transaction to move funds to the contract, calling
   173  // its default method if one is available.
   174  func (_Directory *DirectoryTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   175  	return _Directory.Contract.contract.Transfer(opts)
   176  }
   177  
   178  // Transact invokes the (paid) contract method with params as input values.
   179  func (_Directory *DirectoryTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   180  	return _Directory.Contract.contract.Transact(opts, method, params...)
   181  }
   182  
   183  // FeaturedVotingContract is a free data retrieval call binding the contract method 0x7475fe93.
   184  //
   185  // Solidity: function featuredVotingContract() view returns(address)
   186  func (_Directory *DirectoryCaller) FeaturedVotingContract(opts *bind.CallOpts) (common.Address, error) {
   187  	var out []interface{}
   188  	err := _Directory.contract.Call(opts, &out, "featuredVotingContract")
   189  
   190  	if err != nil {
   191  		return *new(common.Address), err
   192  	}
   193  
   194  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   195  
   196  	return out0, err
   197  
   198  }
   199  
   200  // FeaturedVotingContract is a free data retrieval call binding the contract method 0x7475fe93.
   201  //
   202  // Solidity: function featuredVotingContract() view returns(address)
   203  func (_Directory *DirectorySession) FeaturedVotingContract() (common.Address, error) {
   204  	return _Directory.Contract.FeaturedVotingContract(&_Directory.CallOpts)
   205  }
   206  
   207  // FeaturedVotingContract is a free data retrieval call binding the contract method 0x7475fe93.
   208  //
   209  // Solidity: function featuredVotingContract() view returns(address)
   210  func (_Directory *DirectoryCallerSession) FeaturedVotingContract() (common.Address, error) {
   211  	return _Directory.Contract.FeaturedVotingContract(&_Directory.CallOpts)
   212  }
   213  
   214  // GetCommunities is a free data retrieval call binding the contract method 0xc251b565.
   215  //
   216  // Solidity: function getCommunities() view returns(bytes[])
   217  func (_Directory *DirectoryCaller) GetCommunities(opts *bind.CallOpts) ([][]byte, error) {
   218  	var out []interface{}
   219  	err := _Directory.contract.Call(opts, &out, "getCommunities")
   220  
   221  	if err != nil {
   222  		return *new([][]byte), err
   223  	}
   224  
   225  	out0 := *abi.ConvertType(out[0], new([][]byte)).(*[][]byte)
   226  
   227  	return out0, err
   228  
   229  }
   230  
   231  // GetCommunities is a free data retrieval call binding the contract method 0xc251b565.
   232  //
   233  // Solidity: function getCommunities() view returns(bytes[])
   234  func (_Directory *DirectorySession) GetCommunities() ([][]byte, error) {
   235  	return _Directory.Contract.GetCommunities(&_Directory.CallOpts)
   236  }
   237  
   238  // GetCommunities is a free data retrieval call binding the contract method 0xc251b565.
   239  //
   240  // Solidity: function getCommunities() view returns(bytes[])
   241  func (_Directory *DirectoryCallerSession) GetCommunities() ([][]byte, error) {
   242  	return _Directory.Contract.GetCommunities(&_Directory.CallOpts)
   243  }
   244  
   245  // GetFeaturedCommunities is a free data retrieval call binding the contract method 0x967961c6.
   246  //
   247  // Solidity: function getFeaturedCommunities() view returns(bytes[])
   248  func (_Directory *DirectoryCaller) GetFeaturedCommunities(opts *bind.CallOpts) ([][]byte, error) {
   249  	var out []interface{}
   250  	err := _Directory.contract.Call(opts, &out, "getFeaturedCommunities")
   251  
   252  	if err != nil {
   253  		return *new([][]byte), err
   254  	}
   255  
   256  	out0 := *abi.ConvertType(out[0], new([][]byte)).(*[][]byte)
   257  
   258  	return out0, err
   259  
   260  }
   261  
   262  // GetFeaturedCommunities is a free data retrieval call binding the contract method 0x967961c6.
   263  //
   264  // Solidity: function getFeaturedCommunities() view returns(bytes[])
   265  func (_Directory *DirectorySession) GetFeaturedCommunities() ([][]byte, error) {
   266  	return _Directory.Contract.GetFeaturedCommunities(&_Directory.CallOpts)
   267  }
   268  
   269  // GetFeaturedCommunities is a free data retrieval call binding the contract method 0x967961c6.
   270  //
   271  // Solidity: function getFeaturedCommunities() view returns(bytes[])
   272  func (_Directory *DirectoryCallerSession) GetFeaturedCommunities() ([][]byte, error) {
   273  	return _Directory.Contract.GetFeaturedCommunities(&_Directory.CallOpts)
   274  }
   275  
   276  // IsCommunityFeatured is a free data retrieval call binding the contract method 0xf6a18e62.
   277  //
   278  // Solidity: function isCommunityFeatured(bytes community) view returns(bool)
   279  func (_Directory *DirectoryCaller) IsCommunityFeatured(opts *bind.CallOpts, community []byte) (bool, error) {
   280  	var out []interface{}
   281  	err := _Directory.contract.Call(opts, &out, "isCommunityFeatured", community)
   282  
   283  	if err != nil {
   284  		return *new(bool), err
   285  	}
   286  
   287  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   288  
   289  	return out0, err
   290  
   291  }
   292  
   293  // IsCommunityFeatured is a free data retrieval call binding the contract method 0xf6a18e62.
   294  //
   295  // Solidity: function isCommunityFeatured(bytes community) view returns(bool)
   296  func (_Directory *DirectorySession) IsCommunityFeatured(community []byte) (bool, error) {
   297  	return _Directory.Contract.IsCommunityFeatured(&_Directory.CallOpts, community)
   298  }
   299  
   300  // IsCommunityFeatured is a free data retrieval call binding the contract method 0xf6a18e62.
   301  //
   302  // Solidity: function isCommunityFeatured(bytes community) view returns(bool)
   303  func (_Directory *DirectoryCallerSession) IsCommunityFeatured(community []byte) (bool, error) {
   304  	return _Directory.Contract.IsCommunityFeatured(&_Directory.CallOpts, community)
   305  }
   306  
   307  // IsCommunityInDirectory is a free data retrieval call binding the contract method 0xb3dbb52a.
   308  //
   309  // Solidity: function isCommunityInDirectory(bytes community) view returns(bool)
   310  func (_Directory *DirectoryCaller) IsCommunityInDirectory(opts *bind.CallOpts, community []byte) (bool, error) {
   311  	var out []interface{}
   312  	err := _Directory.contract.Call(opts, &out, "isCommunityInDirectory", community)
   313  
   314  	if err != nil {
   315  		return *new(bool), err
   316  	}
   317  
   318  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   319  
   320  	return out0, err
   321  
   322  }
   323  
   324  // IsCommunityInDirectory is a free data retrieval call binding the contract method 0xb3dbb52a.
   325  //
   326  // Solidity: function isCommunityInDirectory(bytes community) view returns(bool)
   327  func (_Directory *DirectorySession) IsCommunityInDirectory(community []byte) (bool, error) {
   328  	return _Directory.Contract.IsCommunityInDirectory(&_Directory.CallOpts, community)
   329  }
   330  
   331  // IsCommunityInDirectory is a free data retrieval call binding the contract method 0xb3dbb52a.
   332  //
   333  // Solidity: function isCommunityInDirectory(bytes community) view returns(bool)
   334  func (_Directory *DirectoryCallerSession) IsCommunityInDirectory(community []byte) (bool, error) {
   335  	return _Directory.Contract.IsCommunityInDirectory(&_Directory.CallOpts, community)
   336  }
   337  
   338  // VotingContract is a free data retrieval call binding the contract method 0xc1fc006a.
   339  //
   340  // Solidity: function votingContract() view returns(address)
   341  func (_Directory *DirectoryCaller) VotingContract(opts *bind.CallOpts) (common.Address, error) {
   342  	var out []interface{}
   343  	err := _Directory.contract.Call(opts, &out, "votingContract")
   344  
   345  	if err != nil {
   346  		return *new(common.Address), err
   347  	}
   348  
   349  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   350  
   351  	return out0, err
   352  
   353  }
   354  
   355  // VotingContract is a free data retrieval call binding the contract method 0xc1fc006a.
   356  //
   357  // Solidity: function votingContract() view returns(address)
   358  func (_Directory *DirectorySession) VotingContract() (common.Address, error) {
   359  	return _Directory.Contract.VotingContract(&_Directory.CallOpts)
   360  }
   361  
   362  // VotingContract is a free data retrieval call binding the contract method 0xc1fc006a.
   363  //
   364  // Solidity: function votingContract() view returns(address)
   365  func (_Directory *DirectoryCallerSession) VotingContract() (common.Address, error) {
   366  	return _Directory.Contract.VotingContract(&_Directory.CallOpts)
   367  }
   368  
   369  // AddCommunity is a paid mutator transaction binding the contract method 0x74837935.
   370  //
   371  // Solidity: function addCommunity(bytes community) returns()
   372  func (_Directory *DirectoryTransactor) AddCommunity(opts *bind.TransactOpts, community []byte) (*types.Transaction, error) {
   373  	return _Directory.contract.Transact(opts, "addCommunity", community)
   374  }
   375  
   376  // AddCommunity is a paid mutator transaction binding the contract method 0x74837935.
   377  //
   378  // Solidity: function addCommunity(bytes community) returns()
   379  func (_Directory *DirectorySession) AddCommunity(community []byte) (*types.Transaction, error) {
   380  	return _Directory.Contract.AddCommunity(&_Directory.TransactOpts, community)
   381  }
   382  
   383  // AddCommunity is a paid mutator transaction binding the contract method 0x74837935.
   384  //
   385  // Solidity: function addCommunity(bytes community) returns()
   386  func (_Directory *DirectoryTransactorSession) AddCommunity(community []byte) (*types.Transaction, error) {
   387  	return _Directory.Contract.AddCommunity(&_Directory.TransactOpts, community)
   388  }
   389  
   390  // RemoveCommunity is a paid mutator transaction binding the contract method 0x3c01b93c.
   391  //
   392  // Solidity: function removeCommunity(bytes community) returns()
   393  func (_Directory *DirectoryTransactor) RemoveCommunity(opts *bind.TransactOpts, community []byte) (*types.Transaction, error) {
   394  	return _Directory.contract.Transact(opts, "removeCommunity", community)
   395  }
   396  
   397  // RemoveCommunity is a paid mutator transaction binding the contract method 0x3c01b93c.
   398  //
   399  // Solidity: function removeCommunity(bytes community) returns()
   400  func (_Directory *DirectorySession) RemoveCommunity(community []byte) (*types.Transaction, error) {
   401  	return _Directory.Contract.RemoveCommunity(&_Directory.TransactOpts, community)
   402  }
   403  
   404  // RemoveCommunity is a paid mutator transaction binding the contract method 0x3c01b93c.
   405  //
   406  // Solidity: function removeCommunity(bytes community) returns()
   407  func (_Directory *DirectoryTransactorSession) RemoveCommunity(community []byte) (*types.Transaction, error) {
   408  	return _Directory.Contract.RemoveCommunity(&_Directory.TransactOpts, community)
   409  }
   410  
   411  // SetFeaturedCommunities is a paid mutator transaction binding the contract method 0xd62879f1.
   412  //
   413  // Solidity: function setFeaturedCommunities(bytes[] _featuredCommunities) returns()
   414  func (_Directory *DirectoryTransactor) SetFeaturedCommunities(opts *bind.TransactOpts, _featuredCommunities [][]byte) (*types.Transaction, error) {
   415  	return _Directory.contract.Transact(opts, "setFeaturedCommunities", _featuredCommunities)
   416  }
   417  
   418  // SetFeaturedCommunities is a paid mutator transaction binding the contract method 0xd62879f1.
   419  //
   420  // Solidity: function setFeaturedCommunities(bytes[] _featuredCommunities) returns()
   421  func (_Directory *DirectorySession) SetFeaturedCommunities(_featuredCommunities [][]byte) (*types.Transaction, error) {
   422  	return _Directory.Contract.SetFeaturedCommunities(&_Directory.TransactOpts, _featuredCommunities)
   423  }
   424  
   425  // SetFeaturedCommunities is a paid mutator transaction binding the contract method 0xd62879f1.
   426  //
   427  // Solidity: function setFeaturedCommunities(bytes[] _featuredCommunities) returns()
   428  func (_Directory *DirectoryTransactorSession) SetFeaturedCommunities(_featuredCommunities [][]byte) (*types.Transaction, error) {
   429  	return _Directory.Contract.SetFeaturedCommunities(&_Directory.TransactOpts, _featuredCommunities)
   430  }