func (_TokenList *TokenListSession) MaxAmount(_token common.Address) (*big.Int, error) {
	return _TokenList.Contract.MaxAmount(&_TokenList.CallOpts, _token)
}
MaxAmount is a free data retrieval call binding the contract method 0x94dee0a4.

Solidity: function maxAmount(address _token) view returns(uint256 maxAmount_)
package contract
import (
	"math/big"
	"strings"
	ethereum "github.com/ethereum/go-ethereum"
	"github.com/ethereum/go-ethereum/accounts/abi"
	"github.com/ethereum/go-ethereum/accounts/abi/bind"
	"github.com/ethereum/go-ethereum/common"
	"github.com/ethereum/go-ethereum/core/types"
	"github.com/ethereum/go-ethereum/event"
)
var (
	_ = big.NewInt
	_ = strings.NewReader
	_ = ethereum.NotFound
	_ = bind.Bind
	_ = common.Big1
	_ = types.BloomLookup
	_ = event.NewSubscription
)
const TokenListABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"name\":\"TokenAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"name\":\"TokenUpdated\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"count\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"limit\",\"type\":\"uint8\"}],\"name\":\"getActiveItems\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count_\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"items_\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_item\",\"type\":\"address\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_item\",\"type\":\"address\"}],\"name\":\"isExist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"numOfActive\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"isAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_max\",\"type\":\"uint256\"}],\"name\":\"addToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_tokens\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_mins\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_maxs\",\"type\":\"uint256[]\"}],\"name\":\"addTokens\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"removeToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_minAmount\",\"type\":\"uint256\"}],\"name\":\"setMinAmount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxAmount\",\"type\":\"uint256\"}],\"name\":\"setMaxAmount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"minAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"minAmount_\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"maxAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount_\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]"
var TokenListBin = "0x6080604052600080546001600160a01b03191633179055610cc1806100256000396000f3fe608060405234801561001057600080fd5b50600436106100f45760003560e01c806394dee0a411610097578063dee1f2af11610066578063dee1f2af14610410578063f2fde38b14610442578063f7cb131214610468578063fb52b065146104e9576100f4565b806394dee0a4146103705780639f8a13d714610396578063babcc539146103bc578063d5708d5a146103e2576100f4565b8063593f6969116100d3578063593f6969146101735780635fa7b5841461017b57806373d432ce146101a15780638da5cb5b1461034c576100f4565b806213eb4b146100f957806306661abd146101335780634d0a32db1461014d575b600080fd5b61011f6004803603602081101561010f57600080fd5b50356001600160a01b0316610515565b604080519115158252519081900360200190f35b61013b610537565b60408051918252519081900360200190f35b61013b6004803603602081101561016357600080fd5b50356001600160a01b031661053d565b61013b610569565b61011f6004803603602081101561019157600080fd5b50356001600160a01b031661056f565b61011f600480360360608110156101b757600080fd5b8101906020810181356401000000008111156101d257600080fd5b8201836020820111156101e457600080fd5b8035906020019184602083028401116401000000008311171561020657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561025657600080fd5b82018360208201111561026857600080fd5b8035906020019184602083028401116401000000008311171561028a57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156102da57600080fd5b8201836020820111156102ec57600080fd5b8035906020019184602083028401116401000000008311171561030e57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506105d1945050505050565b6103546106ab565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603602081101561038657600080fd5b50356001600160a01b03166106ba565b61011f600480360360208110156103ac57600080fd5b50356001600160a01b03166106e9565b61011f600480360360208110156103d257600080fd5b50356001600160a01b031661070c565b61040e600480360360408110156103f857600080fd5b506001600160a01b03813516906020013561071d565b005b61011f6004803603606081101561042657600080fd5b506001600160a01b0381351690602081013590604001356107d1565b61040e6004803603602081101561045857600080fd5b50356001600160a01b03166108c8565b61048e6004803603604081101561047e57600080fd5b508035906020013560ff1661094d565b6040518083815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156104d45781810151838201526020016104bc565b50505050905001935050505060405180910390f35b61040e600480360360408110156104ff57600080fd5b506001600160a01b038135169060200135610a6b565b6001600160a01b03811660009081526003602052604090205460ff165b919050565b60025490565b600061054882610515565b1561053257506001600160a01b031660009081526004602052604090205490565b60015490565b600080546001600160a01b0316331461058757600080fd5b61059082610b12565b15610532576040516001600160a01b038316907f4c910b69fe65a61f7531b9c5042b2329ca7179c77290aa7e2eb3afa3c8511fd390600090a2506001919050565b600080546001600160a01b031633146105e957600080fd5b825184511480156105fb575081518351145b610641576040805162461bcd60e51b8152602060048201526012602482015271696e76616c696420706172616d657465727360701b604482015290519081900360640190fd5b60005b84518110156106a35761069185828151811061065c57fe5b602002602001015185838151811061067057fe5b602002602001015185848151811061068457fe5b60200260200101516107d1565b1561069b57600191505b600101610644565b509392505050565b6000546001600160a01b031681565b60006106c582610515565b1561053257506001600160a01b031660009081526004602052604090206001015490565b6001600160a01b0316600090815260036020526040902054610100900460ff1690565b6000610717826106e9565b92915050565b6000546001600160a01b0316331461073457600080fd5b61073d82610515565b610780576040805162461bcd60e51b815260206004820152600f60248201526e1d1bdad95b881b9bdd081859191959608a1b604482015290519081900360640190fd5b6001600160a01b0382166000908152600460205260409020600101548111156107a857600080fd5b600081116107b557600080fd5b6001600160a01b03909116600090815260046020526040902055565b600080546001600160a01b031633146107e957600080fd5b6107f284610b95565b156108c15760008311801561080657508282115b61084c576040805162461bcd60e51b8152602060048201526012602482015271696e76616c696420706172616d657465727360701b604482015290519081900360640190fd5b60408051808201825284815260208082018581526001600160a01b0388166000818152600484528590209351845590516001909301929092558251868152908101859052825191927fa818a22273fc309f0a3682b642c74c5b5c25c0615ff378d07767cd231e19fffc92918290030190a25060015b9392505050565b6000546001600160a01b031633146108df57600080fd5b6001600160a01b0381166108f257600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60025460009060609084108015610966575060ff831615155b61096f57600080fd5b8260ff1660405190808252806020026020018201604052801561099c578160200160208202803883390190505b50905060005b8360ff16811015610a6357600254858201106109bd57610a63565b600360006002838801815481106109d057fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff6101009091041615610a5b57600281860181548110610a1257fe5b9060005260206000200160009054906101000a90046001600160a01b0316828481518110610a3c57fe5b6001600160a01b03909216602092830291909101909101526001909201915b6001016109a2565b509250929050565b6000546001600160a01b03163314610a8257600080fd5b610a8b82610515565b610ace576040805162461bcd60e51b815260206004820152600f60248201526e1d1bdad95b881b9bdd081859191959608a1b604482015290519081900360640190fd5b6001600160a01b038216600090815260046020526040902054811015610af357600080fd5b6001600160a01b03909116600090815260046020526040902060010155565b6001600160a01b03811660009081526003602052604081205460ff168015610b5757506001600160a01b038216600090815260036020526040902054610100900460ff165b15610b8d5750600180546000190181556001600160a01b0382166000908152600360205260409020805461ff0019169055610532565b506000919050565b6001600160a01b038116600090815260036020526040812054610100900460ff1615610bc357506000610532565b6001600160a01b03821660009081526003602052604090205460ff16610c2f57600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b0384161790555b50600180548101815560408051808201825282815260208082018481526001600160a01b0386166000908152600390925292902090518154925115156101000261ff001991151560ff19909416939093171691909117905591905056fea265627a7a723158204b5c202045580f17099379d431a94f021547a70de58e83550a43c177b23d165964736f6c63430005110032"
func DeployTokenList(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *TokenList, error) {
	parsed, err := abi.JSON(strings.NewReader(TokenListABI))
	if err != nil {
		return common.Address{}, nil, nil, err
	}
	address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(TokenListBin), backend)
	if err != nil {
		return common.Address{}, nil, nil, err
	}
	return address, tx, &TokenList{TokenListCaller: TokenListCaller{contract: contract}, TokenListTransactor: TokenListTransactor{contract: contract}, TokenListFilterer: TokenListFilterer{contract: contract}}, nil
}
type TokenList struct {
	TokenListCaller      
	TokenListTransactor  
	TokenListFilterer    
}
type TokenListCaller struct {
	contract *bind.BoundContract  
}
type TokenListTransactor struct {
	contract *bind.BoundContract  
}
type TokenListFilterer struct {
	contract *bind.BoundContract  
}
type TokenListSession struct {
	Contract     *TokenList         
	CallOpts     bind.CallOpts      
	TransactOpts bind.TransactOpts  
}
type TokenListCallerSession struct {
	Contract *TokenListCaller  
	CallOpts bind.CallOpts     
}
type TokenListTransactorSession struct {
	Contract     *TokenListTransactor  
	TransactOpts bind.TransactOpts     
}
type TokenListRaw struct {
	Contract *TokenList  
}
type TokenListCallerRaw struct {
	Contract *TokenListCaller  
}
type TokenListTransactorRaw struct {
	Contract *TokenListTransactor  
}
func NewTokenList(address common.Address, backend bind.ContractBackend) (*TokenList, error) {
	contract, err := bindTokenList(address, backend, backend, backend)
	if err != nil {
		return nil, err
	}
	return &TokenList{TokenListCaller: TokenListCaller{contract: contract}, TokenListTransactor: TokenListTransactor{contract: contract}, TokenListFilterer: TokenListFilterer{contract: contract}}, nil
}
func NewTokenListCaller(address common.Address, caller bind.ContractCaller) (*TokenListCaller, error) {
	contract, err := bindTokenList(address, caller, nil, nil)
	if err != nil {
		return nil, err
	}
	return &TokenListCaller{contract: contract}, nil
}
func NewTokenListTransactor(address common.Address, transactor bind.ContractTransactor) (*TokenListTransactor, error) {
	contract, err := bindTokenList(address, nil, transactor, nil)
	if err != nil {
		return nil, err
	}
	return &TokenListTransactor{contract: contract}, nil
}
func NewTokenListFilterer(address common.Address, filterer bind.ContractFilterer) (*TokenListFilterer, error) {
	contract, err := bindTokenList(address, nil, nil, filterer)
	if err != nil {
		return nil, err
	}
	return &TokenListFilterer{contract: contract}, nil
}
func bindTokenList(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
	parsed, err := abi.JSON(strings.NewReader(TokenListABI))
	if err != nil {
		return nil, err
	}
	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
}
func (_TokenList *TokenListRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
	return _TokenList.Contract.TokenListCaller.contract.Call(opts, result, method, params...)
}
func (_TokenList *TokenListRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
	return _TokenList.Contract.TokenListTransactor.contract.Transfer(opts)
}
func (_TokenList *TokenListRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
	return _TokenList.Contract.TokenListTransactor.contract.Transact(opts, method, params...)
}
func (_TokenList *TokenListCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
	return _TokenList.Contract.contract.Call(opts, result, method, params...)
}
func (_TokenList *TokenListTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
	return _TokenList.Contract.contract.Transfer(opts)
}
func (_TokenList *TokenListTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
	return _TokenList.Contract.contract.Transact(opts, method, params...)
}
func (_TokenList *TokenListCaller) Count(opts *bind.CallOpts) (*big.Int, error) {
	var out []interface{}
	err := _TokenList.contract.Call(opts, &out, "count")
	if err != nil {
		return *new(*big.Int), err
	}
	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
	return out0, err
}
func (_TokenList *TokenListSession) Count() (*big.Int, error) {
	return _TokenList.Contract.Count(&_TokenList.CallOpts)
}
func (_TokenList *TokenListCallerSession) Count() (*big.Int, error) {
	return _TokenList.Contract.Count(&_TokenList.CallOpts)
}
func (_TokenList *TokenListCaller) GetActiveItems(opts *bind.CallOpts, offset *big.Int, limit uint8) (struct {
	Count *big.Int
	Items []common.Address
}, error) {
	var out []interface{}
	err := _TokenList.contract.Call(opts, &out, "getActiveItems", offset, limit)
	outstruct := new(struct {
		Count *big.Int
		Items []common.Address
	})
	if err != nil {
		return *outstruct, err
	}
	outstruct.Count = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
	outstruct.Items = *abi.ConvertType(out[1], new([]common.Address)).(*[]common.Address)
	return *outstruct, err
}
func (_TokenList *TokenListSession) GetActiveItems(offset *big.Int, limit uint8) (struct {
	Count *big.Int
	Items []common.Address
}, error) {
	return _TokenList.Contract.GetActiveItems(&_TokenList.CallOpts, offset, limit)
}
func (_TokenList *TokenListCallerSession) GetActiveItems(offset *big.Int, limit uint8) (struct {
	Count *big.Int
	Items []common.Address
}, error) {
	return _TokenList.Contract.GetActiveItems(&_TokenList.CallOpts, offset, limit)
}
func (_TokenList *TokenListCaller) IsActive(opts *bind.CallOpts, _item common.Address) (bool, error) {
	var out []interface{}
	err := _TokenList.contract.Call(opts, &out, "isActive", _item)
	if err != nil {
		return *new(bool), err
	}
	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
	return out0, err
}
func (_TokenList *TokenListSession) IsActive(_item common.Address) (bool, error) {
	return _TokenList.Contract.IsActive(&_TokenList.CallOpts, _item)
}
func (_TokenList *TokenListCallerSession) IsActive(_item common.Address) (bool, error) {
	return _TokenList.Contract.IsActive(&_TokenList.CallOpts, _item)
}
func (_TokenList *TokenListCaller) IsAllowed(opts *bind.CallOpts, _token common.Address) (bool, error) {
	var out []interface{}
	err := _TokenList.contract.Call(opts, &out, "isAllowed", _token)
	if err != nil {
		return *new(bool), err
	}
	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
	return out0, err
}
func (_TokenList *TokenListSession) IsAllowed(_token common.Address) (bool, error) {
	return _TokenList.Contract.IsAllowed(&_TokenList.CallOpts, _token)
}
func (_TokenList *TokenListCallerSession) IsAllowed(_token common.Address) (bool, error) {
	return _TokenList.Contract.IsAllowed(&_TokenList.CallOpts, _token)
}
func (_TokenList *TokenListCaller) IsExist(opts *bind.CallOpts, _item common.Address) (bool, error) {
	var out []interface{}
	err := _TokenList.contract.Call(opts, &out, "isExist", _item)
	if err != nil {
		return *new(bool), err
	}
	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
	return out0, err
}
func (_TokenList *TokenListSession) IsExist(_item common.Address) (bool, error) {
	return _TokenList.Contract.IsExist(&_TokenList.CallOpts, _item)
}
func (_TokenList *TokenListCallerSession) IsExist(_item common.Address) (bool, error) {
	return _TokenList.Contract.IsExist(&_TokenList.CallOpts, _item)
}
func (_TokenList *TokenListCaller) MaxAmount(opts *bind.CallOpts, _token common.Address) (*big.Int, error) {
	var out []interface{}
	err := _TokenList.contract.Call(opts, &out, "maxAmount", _token)
	if err != nil {
		return *new(*big.Int), err
	}
	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
	return out0, err
}