github.com/diadata-org/diadata@v1.4.593/pkg/dia/scraper/exchange-scrapers/anyerc20/AnyErc20.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 anyerc20
     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  )
    30  
    31  // Anyerc20MetaData contains all meta data concerning the Anyerc20 contract.
    32  var Anyerc20MetaData = &bind.MetaData{
    33  	ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"_decimals\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vault\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"auth\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"LogAddAuth\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"effectiveHeight\",\"type\":\"uint256\"}],\"name\":\"LogChangeMPCOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldVault\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newVault\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"effectiveTime\",\"type\":\"uint256\"}],\"name\":\"LogChangeVault\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"txhash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LogSwapin\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bindaddr\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LogSwapout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txhash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Swapin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"bindaddr\",\"type\":\"address\"}],\"name\":\"Swapout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TRANSFER_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"applyMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"applyVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newVault\",\"type\":\"address\"}],\"name\":\"changeMPCOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newVault\",\"type\":\"address\"}],\"name\":\"changeVault\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delayDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delayMinter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delayVault\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"depositVault\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"depositWithPermit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"depositWithTransferPermit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllMinters\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vault\",\"type\":\"address\"}],\"name\":\"initVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"minters\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mpc\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingMinter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingVault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_auth\",\"type\":\"address\"}],\"name\":\"revokeMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_auth\",\"type\":\"address\"}],\"name\":\"setMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vault\",\"type\":\"address\"}],\"name\":\"setVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"setVaultOnly\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"transferAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"transferWithPermit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"underlying\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"withdrawVault\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
    34  }
    35  
    36  // Anyerc20ABI is the input ABI used to generate the binding from.
    37  // Deprecated: Use Anyerc20MetaData.ABI instead.
    38  var Anyerc20ABI = Anyerc20MetaData.ABI
    39  
    40  // Anyerc20 is an auto generated Go binding around an Ethereum contract.
    41  type Anyerc20 struct {
    42  	Anyerc20Caller     // Read-only binding to the contract
    43  	Anyerc20Transactor // Write-only binding to the contract
    44  	Anyerc20Filterer   // Log filterer for contract events
    45  }
    46  
    47  // Anyerc20Caller is an auto generated read-only Go binding around an Ethereum contract.
    48  type Anyerc20Caller struct {
    49  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    50  }
    51  
    52  // Anyerc20Transactor is an auto generated write-only Go binding around an Ethereum contract.
    53  type Anyerc20Transactor struct {
    54  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    55  }
    56  
    57  // Anyerc20Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
    58  type Anyerc20Filterer struct {
    59  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    60  }
    61  
    62  // Anyerc20Session is an auto generated Go binding around an Ethereum contract,
    63  // with pre-set call and transact options.
    64  type Anyerc20Session struct {
    65  	Contract     *Anyerc20         // Generic contract binding to set the session for
    66  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    67  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    68  }
    69  
    70  // Anyerc20CallerSession is an auto generated read-only Go binding around an Ethereum contract,
    71  // with pre-set call options.
    72  type Anyerc20CallerSession struct {
    73  	Contract *Anyerc20Caller // Generic contract caller binding to set the session for
    74  	CallOpts bind.CallOpts   // Call options to use throughout this session
    75  }
    76  
    77  // Anyerc20TransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    78  // with pre-set transact options.
    79  type Anyerc20TransactorSession struct {
    80  	Contract     *Anyerc20Transactor // Generic contract transactor binding to set the session for
    81  	TransactOpts bind.TransactOpts   // Transaction auth options to use throughout this session
    82  }
    83  
    84  // Anyerc20Raw is an auto generated low-level Go binding around an Ethereum contract.
    85  type Anyerc20Raw struct {
    86  	Contract *Anyerc20 // Generic contract binding to access the raw methods on
    87  }
    88  
    89  // Anyerc20CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
    90  type Anyerc20CallerRaw struct {
    91  	Contract *Anyerc20Caller // Generic read-only contract binding to access the raw methods on
    92  }
    93  
    94  // Anyerc20TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
    95  type Anyerc20TransactorRaw struct {
    96  	Contract *Anyerc20Transactor // Generic write-only contract binding to access the raw methods on
    97  }
    98  
    99  // NewAnyerc20 creates a new instance of Anyerc20, bound to a specific deployed contract.
   100  func NewAnyerc20(address common.Address, backend bind.ContractBackend) (*Anyerc20, error) {
   101  	contract, err := bindAnyerc20(address, backend, backend, backend)
   102  	if err != nil {
   103  		return nil, err
   104  	}
   105  	return &Anyerc20{Anyerc20Caller: Anyerc20Caller{contract: contract}, Anyerc20Transactor: Anyerc20Transactor{contract: contract}, Anyerc20Filterer: Anyerc20Filterer{contract: contract}}, nil
   106  }
   107  
   108  // NewAnyerc20Caller creates a new read-only instance of Anyerc20, bound to a specific deployed contract.
   109  func NewAnyerc20Caller(address common.Address, caller bind.ContractCaller) (*Anyerc20Caller, error) {
   110  	contract, err := bindAnyerc20(address, caller, nil, nil)
   111  	if err != nil {
   112  		return nil, err
   113  	}
   114  	return &Anyerc20Caller{contract: contract}, nil
   115  }
   116  
   117  // NewAnyerc20Transactor creates a new write-only instance of Anyerc20, bound to a specific deployed contract.
   118  func NewAnyerc20Transactor(address common.Address, transactor bind.ContractTransactor) (*Anyerc20Transactor, error) {
   119  	contract, err := bindAnyerc20(address, nil, transactor, nil)
   120  	if err != nil {
   121  		return nil, err
   122  	}
   123  	return &Anyerc20Transactor{contract: contract}, nil
   124  }
   125  
   126  // NewAnyerc20Filterer creates a new log filterer instance of Anyerc20, bound to a specific deployed contract.
   127  func NewAnyerc20Filterer(address common.Address, filterer bind.ContractFilterer) (*Anyerc20Filterer, error) {
   128  	contract, err := bindAnyerc20(address, nil, nil, filterer)
   129  	if err != nil {
   130  		return nil, err
   131  	}
   132  	return &Anyerc20Filterer{contract: contract}, nil
   133  }
   134  
   135  // bindAnyerc20 binds a generic wrapper to an already deployed contract.
   136  func bindAnyerc20(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   137  	parsed, err := abi.JSON(strings.NewReader(Anyerc20ABI))
   138  	if err != nil {
   139  		return nil, err
   140  	}
   141  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
   142  }
   143  
   144  // Call invokes the (constant) contract method with params as input values and
   145  // sets the output to result. The result type might be a single field for simple
   146  // returns, a slice of interfaces for anonymous returns and a struct for named
   147  // returns.
   148  func (_Anyerc20 *Anyerc20Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   149  	return _Anyerc20.Contract.Anyerc20Caller.contract.Call(opts, result, method, params...)
   150  }
   151  
   152  // Transfer initiates a plain transaction to move funds to the contract, calling
   153  // its default method if one is available.
   154  func (_Anyerc20 *Anyerc20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   155  	return _Anyerc20.Contract.Anyerc20Transactor.contract.Transfer(opts)
   156  }
   157  
   158  // Transact invokes the (paid) contract method with params as input values.
   159  func (_Anyerc20 *Anyerc20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   160  	return _Anyerc20.Contract.Anyerc20Transactor.contract.Transact(opts, method, params...)
   161  }
   162  
   163  // Call invokes the (constant) contract method with params as input values and
   164  // sets the output to result. The result type might be a single field for simple
   165  // returns, a slice of interfaces for anonymous returns and a struct for named
   166  // returns.
   167  func (_Anyerc20 *Anyerc20CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   168  	return _Anyerc20.Contract.contract.Call(opts, result, method, params...)
   169  }
   170  
   171  // Transfer initiates a plain transaction to move funds to the contract, calling
   172  // its default method if one is available.
   173  func (_Anyerc20 *Anyerc20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   174  	return _Anyerc20.Contract.contract.Transfer(opts)
   175  }
   176  
   177  // Transact invokes the (paid) contract method with params as input values.
   178  func (_Anyerc20 *Anyerc20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   179  	return _Anyerc20.Contract.contract.Transact(opts, method, params...)
   180  }
   181  
   182  // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515.
   183  //
   184  // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32)
   185  func (_Anyerc20 *Anyerc20Caller) DOMAINSEPARATOR(opts *bind.CallOpts) ([32]byte, error) {
   186  	var out []interface{}
   187  	err := _Anyerc20.contract.Call(opts, &out, "DOMAIN_SEPARATOR")
   188  
   189  	if err != nil {
   190  		return *new([32]byte), err
   191  	}
   192  
   193  	out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
   194  
   195  	return out0, err
   196  
   197  }
   198  
   199  // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515.
   200  //
   201  // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32)
   202  func (_Anyerc20 *Anyerc20Session) DOMAINSEPARATOR() ([32]byte, error) {
   203  	return _Anyerc20.Contract.DOMAINSEPARATOR(&_Anyerc20.CallOpts)
   204  }
   205  
   206  // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515.
   207  //
   208  // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32)
   209  func (_Anyerc20 *Anyerc20CallerSession) DOMAINSEPARATOR() ([32]byte, error) {
   210  	return _Anyerc20.Contract.DOMAINSEPARATOR(&_Anyerc20.CallOpts)
   211  }
   212  
   213  // PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f.
   214  //
   215  // Solidity: function PERMIT_TYPEHASH() view returns(bytes32)
   216  func (_Anyerc20 *Anyerc20Caller) PERMITTYPEHASH(opts *bind.CallOpts) ([32]byte, error) {
   217  	var out []interface{}
   218  	err := _Anyerc20.contract.Call(opts, &out, "PERMIT_TYPEHASH")
   219  
   220  	if err != nil {
   221  		return *new([32]byte), err
   222  	}
   223  
   224  	out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
   225  
   226  	return out0, err
   227  
   228  }
   229  
   230  // PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f.
   231  //
   232  // Solidity: function PERMIT_TYPEHASH() view returns(bytes32)
   233  func (_Anyerc20 *Anyerc20Session) PERMITTYPEHASH() ([32]byte, error) {
   234  	return _Anyerc20.Contract.PERMITTYPEHASH(&_Anyerc20.CallOpts)
   235  }
   236  
   237  // PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f.
   238  //
   239  // Solidity: function PERMIT_TYPEHASH() view returns(bytes32)
   240  func (_Anyerc20 *Anyerc20CallerSession) PERMITTYPEHASH() ([32]byte, error) {
   241  	return _Anyerc20.Contract.PERMITTYPEHASH(&_Anyerc20.CallOpts)
   242  }
   243  
   244  // TRANSFERTYPEHASH is a free data retrieval call binding the contract method 0x00bf26f4.
   245  //
   246  // Solidity: function TRANSFER_TYPEHASH() view returns(bytes32)
   247  func (_Anyerc20 *Anyerc20Caller) TRANSFERTYPEHASH(opts *bind.CallOpts) ([32]byte, error) {
   248  	var out []interface{}
   249  	err := _Anyerc20.contract.Call(opts, &out, "TRANSFER_TYPEHASH")
   250  
   251  	if err != nil {
   252  		return *new([32]byte), err
   253  	}
   254  
   255  	out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
   256  
   257  	return out0, err
   258  
   259  }
   260  
   261  // TRANSFERTYPEHASH is a free data retrieval call binding the contract method 0x00bf26f4.
   262  //
   263  // Solidity: function TRANSFER_TYPEHASH() view returns(bytes32)
   264  func (_Anyerc20 *Anyerc20Session) TRANSFERTYPEHASH() ([32]byte, error) {
   265  	return _Anyerc20.Contract.TRANSFERTYPEHASH(&_Anyerc20.CallOpts)
   266  }
   267  
   268  // TRANSFERTYPEHASH is a free data retrieval call binding the contract method 0x00bf26f4.
   269  //
   270  // Solidity: function TRANSFER_TYPEHASH() view returns(bytes32)
   271  func (_Anyerc20 *Anyerc20CallerSession) TRANSFERTYPEHASH() ([32]byte, error) {
   272  	return _Anyerc20.Contract.TRANSFERTYPEHASH(&_Anyerc20.CallOpts)
   273  }
   274  
   275  // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.
   276  //
   277  // Solidity: function allowance(address , address ) view returns(uint256)
   278  func (_Anyerc20 *Anyerc20Caller) Allowance(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address) (*big.Int, error) {
   279  	var out []interface{}
   280  	err := _Anyerc20.contract.Call(opts, &out, "allowance", arg0, arg1)
   281  
   282  	if err != nil {
   283  		return *new(*big.Int), err
   284  	}
   285  
   286  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   287  
   288  	return out0, err
   289  
   290  }
   291  
   292  // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.
   293  //
   294  // Solidity: function allowance(address , address ) view returns(uint256)
   295  func (_Anyerc20 *Anyerc20Session) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) {
   296  	return _Anyerc20.Contract.Allowance(&_Anyerc20.CallOpts, arg0, arg1)
   297  }
   298  
   299  // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.
   300  //
   301  // Solidity: function allowance(address , address ) view returns(uint256)
   302  func (_Anyerc20 *Anyerc20CallerSession) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) {
   303  	return _Anyerc20.Contract.Allowance(&_Anyerc20.CallOpts, arg0, arg1)
   304  }
   305  
   306  // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
   307  //
   308  // Solidity: function balanceOf(address ) view returns(uint256)
   309  func (_Anyerc20 *Anyerc20Caller) BalanceOf(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) {
   310  	var out []interface{}
   311  	err := _Anyerc20.contract.Call(opts, &out, "balanceOf", arg0)
   312  
   313  	if err != nil {
   314  		return *new(*big.Int), err
   315  	}
   316  
   317  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   318  
   319  	return out0, err
   320  
   321  }
   322  
   323  // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
   324  //
   325  // Solidity: function balanceOf(address ) view returns(uint256)
   326  func (_Anyerc20 *Anyerc20Session) BalanceOf(arg0 common.Address) (*big.Int, error) {
   327  	return _Anyerc20.Contract.BalanceOf(&_Anyerc20.CallOpts, arg0)
   328  }
   329  
   330  // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
   331  //
   332  // Solidity: function balanceOf(address ) view returns(uint256)
   333  func (_Anyerc20 *Anyerc20CallerSession) BalanceOf(arg0 common.Address) (*big.Int, error) {
   334  	return _Anyerc20.Contract.BalanceOf(&_Anyerc20.CallOpts, arg0)
   335  }
   336  
   337  // Decimals is a free data retrieval call binding the contract method 0x313ce567.
   338  //
   339  // Solidity: function decimals() view returns(uint8)
   340  func (_Anyerc20 *Anyerc20Caller) Decimals(opts *bind.CallOpts) (uint8, error) {
   341  	var out []interface{}
   342  	err := _Anyerc20.contract.Call(opts, &out, "decimals")
   343  
   344  	if err != nil {
   345  		return *new(uint8), err
   346  	}
   347  
   348  	out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8)
   349  
   350  	return out0, err
   351  
   352  }
   353  
   354  // Decimals is a free data retrieval call binding the contract method 0x313ce567.
   355  //
   356  // Solidity: function decimals() view returns(uint8)
   357  func (_Anyerc20 *Anyerc20Session) Decimals() (uint8, error) {
   358  	return _Anyerc20.Contract.Decimals(&_Anyerc20.CallOpts)
   359  }
   360  
   361  // Decimals is a free data retrieval call binding the contract method 0x313ce567.
   362  //
   363  // Solidity: function decimals() view returns(uint8)
   364  func (_Anyerc20 *Anyerc20CallerSession) Decimals() (uint8, error) {
   365  	return _Anyerc20.Contract.Decimals(&_Anyerc20.CallOpts)
   366  }
   367  
   368  // Delay is a free data retrieval call binding the contract method 0x6a42b8f8.
   369  //
   370  // Solidity: function delay() view returns(uint256)
   371  func (_Anyerc20 *Anyerc20Caller) Delay(opts *bind.CallOpts) (*big.Int, error) {
   372  	var out []interface{}
   373  	err := _Anyerc20.contract.Call(opts, &out, "delay")
   374  
   375  	if err != nil {
   376  		return *new(*big.Int), err
   377  	}
   378  
   379  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   380  
   381  	return out0, err
   382  
   383  }
   384  
   385  // Delay is a free data retrieval call binding the contract method 0x6a42b8f8.
   386  //
   387  // Solidity: function delay() view returns(uint256)
   388  func (_Anyerc20 *Anyerc20Session) Delay() (*big.Int, error) {
   389  	return _Anyerc20.Contract.Delay(&_Anyerc20.CallOpts)
   390  }
   391  
   392  // Delay is a free data retrieval call binding the contract method 0x6a42b8f8.
   393  //
   394  // Solidity: function delay() view returns(uint256)
   395  func (_Anyerc20 *Anyerc20CallerSession) Delay() (*big.Int, error) {
   396  	return _Anyerc20.Contract.Delay(&_Anyerc20.CallOpts)
   397  }
   398  
   399  // DelayDelay is a free data retrieval call binding the contract method 0xa29dff72.
   400  //
   401  // Solidity: function delayDelay() view returns(uint256)
   402  func (_Anyerc20 *Anyerc20Caller) DelayDelay(opts *bind.CallOpts) (*big.Int, error) {
   403  	var out []interface{}
   404  	err := _Anyerc20.contract.Call(opts, &out, "delayDelay")
   405  
   406  	if err != nil {
   407  		return *new(*big.Int), err
   408  	}
   409  
   410  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   411  
   412  	return out0, err
   413  
   414  }
   415  
   416  // DelayDelay is a free data retrieval call binding the contract method 0xa29dff72.
   417  //
   418  // Solidity: function delayDelay() view returns(uint256)
   419  func (_Anyerc20 *Anyerc20Session) DelayDelay() (*big.Int, error) {
   420  	return _Anyerc20.Contract.DelayDelay(&_Anyerc20.CallOpts)
   421  }
   422  
   423  // DelayDelay is a free data retrieval call binding the contract method 0xa29dff72.
   424  //
   425  // Solidity: function delayDelay() view returns(uint256)
   426  func (_Anyerc20 *Anyerc20CallerSession) DelayDelay() (*big.Int, error) {
   427  	return _Anyerc20.Contract.DelayDelay(&_Anyerc20.CallOpts)
   428  }
   429  
   430  // DelayMinter is a free data retrieval call binding the contract method 0xc3081240.
   431  //
   432  // Solidity: function delayMinter() view returns(uint256)
   433  func (_Anyerc20 *Anyerc20Caller) DelayMinter(opts *bind.CallOpts) (*big.Int, error) {
   434  	var out []interface{}
   435  	err := _Anyerc20.contract.Call(opts, &out, "delayMinter")
   436  
   437  	if err != nil {
   438  		return *new(*big.Int), err
   439  	}
   440  
   441  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   442  
   443  	return out0, err
   444  
   445  }
   446  
   447  // DelayMinter is a free data retrieval call binding the contract method 0xc3081240.
   448  //
   449  // Solidity: function delayMinter() view returns(uint256)
   450  func (_Anyerc20 *Anyerc20Session) DelayMinter() (*big.Int, error) {
   451  	return _Anyerc20.Contract.DelayMinter(&_Anyerc20.CallOpts)
   452  }
   453  
   454  // DelayMinter is a free data retrieval call binding the contract method 0xc3081240.
   455  //
   456  // Solidity: function delayMinter() view returns(uint256)
   457  func (_Anyerc20 *Anyerc20CallerSession) DelayMinter() (*big.Int, error) {
   458  	return _Anyerc20.Contract.DelayMinter(&_Anyerc20.CallOpts)
   459  }
   460  
   461  // DelayVault is a free data retrieval call binding the contract method 0x87689e28.
   462  //
   463  // Solidity: function delayVault() view returns(uint256)
   464  func (_Anyerc20 *Anyerc20Caller) DelayVault(opts *bind.CallOpts) (*big.Int, error) {
   465  	var out []interface{}
   466  	err := _Anyerc20.contract.Call(opts, &out, "delayVault")
   467  
   468  	if err != nil {
   469  		return *new(*big.Int), err
   470  	}
   471  
   472  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   473  
   474  	return out0, err
   475  
   476  }
   477  
   478  // DelayVault is a free data retrieval call binding the contract method 0x87689e28.
   479  //
   480  // Solidity: function delayVault() view returns(uint256)
   481  func (_Anyerc20 *Anyerc20Session) DelayVault() (*big.Int, error) {
   482  	return _Anyerc20.Contract.DelayVault(&_Anyerc20.CallOpts)
   483  }
   484  
   485  // DelayVault is a free data retrieval call binding the contract method 0x87689e28.
   486  //
   487  // Solidity: function delayVault() view returns(uint256)
   488  func (_Anyerc20 *Anyerc20CallerSession) DelayVault() (*big.Int, error) {
   489  	return _Anyerc20.Contract.DelayVault(&_Anyerc20.CallOpts)
   490  }
   491  
   492  // GetAllMinters is a free data retrieval call binding the contract method 0xa045442c.
   493  //
   494  // Solidity: function getAllMinters() view returns(address[])
   495  func (_Anyerc20 *Anyerc20Caller) GetAllMinters(opts *bind.CallOpts) ([]common.Address, error) {
   496  	var out []interface{}
   497  	err := _Anyerc20.contract.Call(opts, &out, "getAllMinters")
   498  
   499  	if err != nil {
   500  		return *new([]common.Address), err
   501  	}
   502  
   503  	out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address)
   504  
   505  	return out0, err
   506  
   507  }
   508  
   509  // GetAllMinters is a free data retrieval call binding the contract method 0xa045442c.
   510  //
   511  // Solidity: function getAllMinters() view returns(address[])
   512  func (_Anyerc20 *Anyerc20Session) GetAllMinters() ([]common.Address, error) {
   513  	return _Anyerc20.Contract.GetAllMinters(&_Anyerc20.CallOpts)
   514  }
   515  
   516  // GetAllMinters is a free data retrieval call binding the contract method 0xa045442c.
   517  //
   518  // Solidity: function getAllMinters() view returns(address[])
   519  func (_Anyerc20 *Anyerc20CallerSession) GetAllMinters() ([]common.Address, error) {
   520  	return _Anyerc20.Contract.GetAllMinters(&_Anyerc20.CallOpts)
   521  }
   522  
   523  // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a.
   524  //
   525  // Solidity: function isMinter(address ) view returns(bool)
   526  func (_Anyerc20 *Anyerc20Caller) IsMinter(opts *bind.CallOpts, arg0 common.Address) (bool, error) {
   527  	var out []interface{}
   528  	err := _Anyerc20.contract.Call(opts, &out, "isMinter", arg0)
   529  
   530  	if err != nil {
   531  		return *new(bool), err
   532  	}
   533  
   534  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   535  
   536  	return out0, err
   537  
   538  }
   539  
   540  // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a.
   541  //
   542  // Solidity: function isMinter(address ) view returns(bool)
   543  func (_Anyerc20 *Anyerc20Session) IsMinter(arg0 common.Address) (bool, error) {
   544  	return _Anyerc20.Contract.IsMinter(&_Anyerc20.CallOpts, arg0)
   545  }
   546  
   547  // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a.
   548  //
   549  // Solidity: function isMinter(address ) view returns(bool)
   550  func (_Anyerc20 *Anyerc20CallerSession) IsMinter(arg0 common.Address) (bool, error) {
   551  	return _Anyerc20.Contract.IsMinter(&_Anyerc20.CallOpts, arg0)
   552  }
   553  
   554  // Minters is a free data retrieval call binding the contract method 0x8623ec7b.
   555  //
   556  // Solidity: function minters(uint256 ) view returns(address)
   557  func (_Anyerc20 *Anyerc20Caller) Minters(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) {
   558  	var out []interface{}
   559  	err := _Anyerc20.contract.Call(opts, &out, "minters", arg0)
   560  
   561  	if err != nil {
   562  		return *new(common.Address), err
   563  	}
   564  
   565  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   566  
   567  	return out0, err
   568  
   569  }
   570  
   571  // Minters is a free data retrieval call binding the contract method 0x8623ec7b.
   572  //
   573  // Solidity: function minters(uint256 ) view returns(address)
   574  func (_Anyerc20 *Anyerc20Session) Minters(arg0 *big.Int) (common.Address, error) {
   575  	return _Anyerc20.Contract.Minters(&_Anyerc20.CallOpts, arg0)
   576  }
   577  
   578  // Minters is a free data retrieval call binding the contract method 0x8623ec7b.
   579  //
   580  // Solidity: function minters(uint256 ) view returns(address)
   581  func (_Anyerc20 *Anyerc20CallerSession) Minters(arg0 *big.Int) (common.Address, error) {
   582  	return _Anyerc20.Contract.Minters(&_Anyerc20.CallOpts, arg0)
   583  }
   584  
   585  // Mpc is a free data retrieval call binding the contract method 0xf75c2664.
   586  //
   587  // Solidity: function mpc() view returns(address)
   588  func (_Anyerc20 *Anyerc20Caller) Mpc(opts *bind.CallOpts) (common.Address, error) {
   589  	var out []interface{}
   590  	err := _Anyerc20.contract.Call(opts, &out, "mpc")
   591  
   592  	if err != nil {
   593  		return *new(common.Address), err
   594  	}
   595  
   596  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   597  
   598  	return out0, err
   599  
   600  }
   601  
   602  // Mpc is a free data retrieval call binding the contract method 0xf75c2664.
   603  //
   604  // Solidity: function mpc() view returns(address)
   605  func (_Anyerc20 *Anyerc20Session) Mpc() (common.Address, error) {
   606  	return _Anyerc20.Contract.Mpc(&_Anyerc20.CallOpts)
   607  }
   608  
   609  // Mpc is a free data retrieval call binding the contract method 0xf75c2664.
   610  //
   611  // Solidity: function mpc() view returns(address)
   612  func (_Anyerc20 *Anyerc20CallerSession) Mpc() (common.Address, error) {
   613  	return _Anyerc20.Contract.Mpc(&_Anyerc20.CallOpts)
   614  }
   615  
   616  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   617  //
   618  // Solidity: function name() view returns(string)
   619  func (_Anyerc20 *Anyerc20Caller) Name(opts *bind.CallOpts) (string, error) {
   620  	var out []interface{}
   621  	err := _Anyerc20.contract.Call(opts, &out, "name")
   622  
   623  	if err != nil {
   624  		return *new(string), err
   625  	}
   626  
   627  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   628  
   629  	return out0, err
   630  
   631  }
   632  
   633  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   634  //
   635  // Solidity: function name() view returns(string)
   636  func (_Anyerc20 *Anyerc20Session) Name() (string, error) {
   637  	return _Anyerc20.Contract.Name(&_Anyerc20.CallOpts)
   638  }
   639  
   640  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   641  //
   642  // Solidity: function name() view returns(string)
   643  func (_Anyerc20 *Anyerc20CallerSession) Name() (string, error) {
   644  	return _Anyerc20.Contract.Name(&_Anyerc20.CallOpts)
   645  }
   646  
   647  // Nonces is a free data retrieval call binding the contract method 0x7ecebe00.
   648  //
   649  // Solidity: function nonces(address ) view returns(uint256)
   650  func (_Anyerc20 *Anyerc20Caller) Nonces(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) {
   651  	var out []interface{}
   652  	err := _Anyerc20.contract.Call(opts, &out, "nonces", arg0)
   653  
   654  	if err != nil {
   655  		return *new(*big.Int), err
   656  	}
   657  
   658  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   659  
   660  	return out0, err
   661  
   662  }
   663  
   664  // Nonces is a free data retrieval call binding the contract method 0x7ecebe00.
   665  //
   666  // Solidity: function nonces(address ) view returns(uint256)
   667  func (_Anyerc20 *Anyerc20Session) Nonces(arg0 common.Address) (*big.Int, error) {
   668  	return _Anyerc20.Contract.Nonces(&_Anyerc20.CallOpts, arg0)
   669  }
   670  
   671  // Nonces is a free data retrieval call binding the contract method 0x7ecebe00.
   672  //
   673  // Solidity: function nonces(address ) view returns(uint256)
   674  func (_Anyerc20 *Anyerc20CallerSession) Nonces(arg0 common.Address) (*big.Int, error) {
   675  	return _Anyerc20.Contract.Nonces(&_Anyerc20.CallOpts, arg0)
   676  }
   677  
   678  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   679  //
   680  // Solidity: function owner() view returns(address)
   681  func (_Anyerc20 *Anyerc20Caller) Owner(opts *bind.CallOpts) (common.Address, error) {
   682  	var out []interface{}
   683  	err := _Anyerc20.contract.Call(opts, &out, "owner")
   684  
   685  	if err != nil {
   686  		return *new(common.Address), err
   687  	}
   688  
   689  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   690  
   691  	return out0, err
   692  
   693  }
   694  
   695  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   696  //
   697  // Solidity: function owner() view returns(address)
   698  func (_Anyerc20 *Anyerc20Session) Owner() (common.Address, error) {
   699  	return _Anyerc20.Contract.Owner(&_Anyerc20.CallOpts)
   700  }
   701  
   702  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   703  //
   704  // Solidity: function owner() view returns(address)
   705  func (_Anyerc20 *Anyerc20CallerSession) Owner() (common.Address, error) {
   706  	return _Anyerc20.Contract.Owner(&_Anyerc20.CallOpts)
   707  }
   708  
   709  // PendingDelay is a free data retrieval call binding the contract method 0x4ca8f0ed.
   710  //
   711  // Solidity: function pendingDelay() view returns(uint256)
   712  func (_Anyerc20 *Anyerc20Caller) PendingDelay(opts *bind.CallOpts) (*big.Int, error) {
   713  	var out []interface{}
   714  	err := _Anyerc20.contract.Call(opts, &out, "pendingDelay")
   715  
   716  	if err != nil {
   717  		return *new(*big.Int), err
   718  	}
   719  
   720  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   721  
   722  	return out0, err
   723  
   724  }
   725  
   726  // PendingDelay is a free data retrieval call binding the contract method 0x4ca8f0ed.
   727  //
   728  // Solidity: function pendingDelay() view returns(uint256)
   729  func (_Anyerc20 *Anyerc20Session) PendingDelay() (*big.Int, error) {
   730  	return _Anyerc20.Contract.PendingDelay(&_Anyerc20.CallOpts)
   731  }
   732  
   733  // PendingDelay is a free data retrieval call binding the contract method 0x4ca8f0ed.
   734  //
   735  // Solidity: function pendingDelay() view returns(uint256)
   736  func (_Anyerc20 *Anyerc20CallerSession) PendingDelay() (*big.Int, error) {
   737  	return _Anyerc20.Contract.PendingDelay(&_Anyerc20.CallOpts)
   738  }
   739  
   740  // PendingMinter is a free data retrieval call binding the contract method 0x91c5df49.
   741  //
   742  // Solidity: function pendingMinter() view returns(address)
   743  func (_Anyerc20 *Anyerc20Caller) PendingMinter(opts *bind.CallOpts) (common.Address, error) {
   744  	var out []interface{}
   745  	err := _Anyerc20.contract.Call(opts, &out, "pendingMinter")
   746  
   747  	if err != nil {
   748  		return *new(common.Address), err
   749  	}
   750  
   751  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   752  
   753  	return out0, err
   754  
   755  }
   756  
   757  // PendingMinter is a free data retrieval call binding the contract method 0x91c5df49.
   758  //
   759  // Solidity: function pendingMinter() view returns(address)
   760  func (_Anyerc20 *Anyerc20Session) PendingMinter() (common.Address, error) {
   761  	return _Anyerc20.Contract.PendingMinter(&_Anyerc20.CallOpts)
   762  }
   763  
   764  // PendingMinter is a free data retrieval call binding the contract method 0x91c5df49.
   765  //
   766  // Solidity: function pendingMinter() view returns(address)
   767  func (_Anyerc20 *Anyerc20CallerSession) PendingMinter() (common.Address, error) {
   768  	return _Anyerc20.Contract.PendingMinter(&_Anyerc20.CallOpts)
   769  }
   770  
   771  // PendingVault is a free data retrieval call binding the contract method 0x52113ba7.
   772  //
   773  // Solidity: function pendingVault() view returns(address)
   774  func (_Anyerc20 *Anyerc20Caller) PendingVault(opts *bind.CallOpts) (common.Address, error) {
   775  	var out []interface{}
   776  	err := _Anyerc20.contract.Call(opts, &out, "pendingVault")
   777  
   778  	if err != nil {
   779  		return *new(common.Address), err
   780  	}
   781  
   782  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   783  
   784  	return out0, err
   785  
   786  }
   787  
   788  // PendingVault is a free data retrieval call binding the contract method 0x52113ba7.
   789  //
   790  // Solidity: function pendingVault() view returns(address)
   791  func (_Anyerc20 *Anyerc20Session) PendingVault() (common.Address, error) {
   792  	return _Anyerc20.Contract.PendingVault(&_Anyerc20.CallOpts)
   793  }
   794  
   795  // PendingVault is a free data retrieval call binding the contract method 0x52113ba7.
   796  //
   797  // Solidity: function pendingVault() view returns(address)
   798  func (_Anyerc20 *Anyerc20CallerSession) PendingVault() (common.Address, error) {
   799  	return _Anyerc20.Contract.PendingVault(&_Anyerc20.CallOpts)
   800  }
   801  
   802  // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
   803  //
   804  // Solidity: function symbol() view returns(string)
   805  func (_Anyerc20 *Anyerc20Caller) Symbol(opts *bind.CallOpts) (string, error) {
   806  	var out []interface{}
   807  	err := _Anyerc20.contract.Call(opts, &out, "symbol")
   808  
   809  	if err != nil {
   810  		return *new(string), err
   811  	}
   812  
   813  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   814  
   815  	return out0, err
   816  
   817  }
   818  
   819  // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
   820  //
   821  // Solidity: function symbol() view returns(string)
   822  func (_Anyerc20 *Anyerc20Session) Symbol() (string, error) {
   823  	return _Anyerc20.Contract.Symbol(&_Anyerc20.CallOpts)
   824  }
   825  
   826  // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
   827  //
   828  // Solidity: function symbol() view returns(string)
   829  func (_Anyerc20 *Anyerc20CallerSession) Symbol() (string, error) {
   830  	return _Anyerc20.Contract.Symbol(&_Anyerc20.CallOpts)
   831  }
   832  
   833  // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
   834  //
   835  // Solidity: function totalSupply() view returns(uint256)
   836  func (_Anyerc20 *Anyerc20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) {
   837  	var out []interface{}
   838  	err := _Anyerc20.contract.Call(opts, &out, "totalSupply")
   839  
   840  	if err != nil {
   841  		return *new(*big.Int), err
   842  	}
   843  
   844  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   845  
   846  	return out0, err
   847  
   848  }
   849  
   850  // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
   851  //
   852  // Solidity: function totalSupply() view returns(uint256)
   853  func (_Anyerc20 *Anyerc20Session) TotalSupply() (*big.Int, error) {
   854  	return _Anyerc20.Contract.TotalSupply(&_Anyerc20.CallOpts)
   855  }
   856  
   857  // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
   858  //
   859  // Solidity: function totalSupply() view returns(uint256)
   860  func (_Anyerc20 *Anyerc20CallerSession) TotalSupply() (*big.Int, error) {
   861  	return _Anyerc20.Contract.TotalSupply(&_Anyerc20.CallOpts)
   862  }
   863  
   864  // Underlying is a free data retrieval call binding the contract method 0x6f307dc3.
   865  //
   866  // Solidity: function underlying() view returns(address)
   867  func (_Anyerc20 *Anyerc20Caller) Underlying(opts *bind.CallOpts) (common.Address, error) {
   868  	var out []interface{}
   869  	err := _Anyerc20.contract.Call(opts, &out, "underlying")
   870  
   871  	if err != nil {
   872  		return *new(common.Address), err
   873  	}
   874  
   875  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   876  
   877  	return out0, err
   878  
   879  }
   880  
   881  // Underlying is a free data retrieval call binding the contract method 0x6f307dc3.
   882  //
   883  // Solidity: function underlying() view returns(address)
   884  func (_Anyerc20 *Anyerc20Session) Underlying() (common.Address, error) {
   885  	return _Anyerc20.Contract.Underlying(&_Anyerc20.CallOpts)
   886  }
   887  
   888  // Underlying is a free data retrieval call binding the contract method 0x6f307dc3.
   889  //
   890  // Solidity: function underlying() view returns(address)
   891  func (_Anyerc20 *Anyerc20CallerSession) Underlying() (common.Address, error) {
   892  	return _Anyerc20.Contract.Underlying(&_Anyerc20.CallOpts)
   893  }
   894  
   895  // Vault is a free data retrieval call binding the contract method 0xfbfa77cf.
   896  //
   897  // Solidity: function vault() view returns(address)
   898  func (_Anyerc20 *Anyerc20Caller) Vault(opts *bind.CallOpts) (common.Address, error) {
   899  	var out []interface{}
   900  	err := _Anyerc20.contract.Call(opts, &out, "vault")
   901  
   902  	if err != nil {
   903  		return *new(common.Address), err
   904  	}
   905  
   906  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   907  
   908  	return out0, err
   909  
   910  }
   911  
   912  // Vault is a free data retrieval call binding the contract method 0xfbfa77cf.
   913  //
   914  // Solidity: function vault() view returns(address)
   915  func (_Anyerc20 *Anyerc20Session) Vault() (common.Address, error) {
   916  	return _Anyerc20.Contract.Vault(&_Anyerc20.CallOpts)
   917  }
   918  
   919  // Vault is a free data retrieval call binding the contract method 0xfbfa77cf.
   920  //
   921  // Solidity: function vault() view returns(address)
   922  func (_Anyerc20 *Anyerc20CallerSession) Vault() (common.Address, error) {
   923  	return _Anyerc20.Contract.Vault(&_Anyerc20.CallOpts)
   924  }
   925  
   926  // Swapin is a paid mutator transaction binding the contract method 0xec126c77.
   927  //
   928  // Solidity: function Swapin(bytes32 txhash, address account, uint256 amount) returns(bool)
   929  func (_Anyerc20 *Anyerc20Transactor) Swapin(opts *bind.TransactOpts, txhash [32]byte, account common.Address, amount *big.Int) (*types.Transaction, error) {
   930  	return _Anyerc20.contract.Transact(opts, "Swapin", txhash, account, amount)
   931  }
   932  
   933  // Swapin is a paid mutator transaction binding the contract method 0xec126c77.
   934  //
   935  // Solidity: function Swapin(bytes32 txhash, address account, uint256 amount) returns(bool)
   936  func (_Anyerc20 *Anyerc20Session) Swapin(txhash [32]byte, account common.Address, amount *big.Int) (*types.Transaction, error) {
   937  	return _Anyerc20.Contract.Swapin(&_Anyerc20.TransactOpts, txhash, account, amount)
   938  }
   939  
   940  // Swapin is a paid mutator transaction binding the contract method 0xec126c77.
   941  //
   942  // Solidity: function Swapin(bytes32 txhash, address account, uint256 amount) returns(bool)
   943  func (_Anyerc20 *Anyerc20TransactorSession) Swapin(txhash [32]byte, account common.Address, amount *big.Int) (*types.Transaction, error) {
   944  	return _Anyerc20.Contract.Swapin(&_Anyerc20.TransactOpts, txhash, account, amount)
   945  }
   946  
   947  // Swapout is a paid mutator transaction binding the contract method 0x628d6cba.
   948  //
   949  // Solidity: function Swapout(uint256 amount, address bindaddr) returns(bool)
   950  func (_Anyerc20 *Anyerc20Transactor) Swapout(opts *bind.TransactOpts, amount *big.Int, bindaddr common.Address) (*types.Transaction, error) {
   951  	return _Anyerc20.contract.Transact(opts, "Swapout", amount, bindaddr)
   952  }
   953  
   954  // Swapout is a paid mutator transaction binding the contract method 0x628d6cba.
   955  //
   956  // Solidity: function Swapout(uint256 amount, address bindaddr) returns(bool)
   957  func (_Anyerc20 *Anyerc20Session) Swapout(amount *big.Int, bindaddr common.Address) (*types.Transaction, error) {
   958  	return _Anyerc20.Contract.Swapout(&_Anyerc20.TransactOpts, amount, bindaddr)
   959  }
   960  
   961  // Swapout is a paid mutator transaction binding the contract method 0x628d6cba.
   962  //
   963  // Solidity: function Swapout(uint256 amount, address bindaddr) returns(bool)
   964  func (_Anyerc20 *Anyerc20TransactorSession) Swapout(amount *big.Int, bindaddr common.Address) (*types.Transaction, error) {
   965  	return _Anyerc20.Contract.Swapout(&_Anyerc20.TransactOpts, amount, bindaddr)
   966  }
   967  
   968  // ApplyMinter is a paid mutator transaction binding the contract method 0x0d707df8.
   969  //
   970  // Solidity: function applyMinter() returns()
   971  func (_Anyerc20 *Anyerc20Transactor) ApplyMinter(opts *bind.TransactOpts) (*types.Transaction, error) {
   972  	return _Anyerc20.contract.Transact(opts, "applyMinter")
   973  }
   974  
   975  // ApplyMinter is a paid mutator transaction binding the contract method 0x0d707df8.
   976  //
   977  // Solidity: function applyMinter() returns()
   978  func (_Anyerc20 *Anyerc20Session) ApplyMinter() (*types.Transaction, error) {
   979  	return _Anyerc20.Contract.ApplyMinter(&_Anyerc20.TransactOpts)
   980  }
   981  
   982  // ApplyMinter is a paid mutator transaction binding the contract method 0x0d707df8.
   983  //
   984  // Solidity: function applyMinter() returns()
   985  func (_Anyerc20 *Anyerc20TransactorSession) ApplyMinter() (*types.Transaction, error) {
   986  	return _Anyerc20.Contract.ApplyMinter(&_Anyerc20.TransactOpts)
   987  }
   988  
   989  // ApplyVault is a paid mutator transaction binding the contract method 0xd93f2445.
   990  //
   991  // Solidity: function applyVault() returns()
   992  func (_Anyerc20 *Anyerc20Transactor) ApplyVault(opts *bind.TransactOpts) (*types.Transaction, error) {
   993  	return _Anyerc20.contract.Transact(opts, "applyVault")
   994  }
   995  
   996  // ApplyVault is a paid mutator transaction binding the contract method 0xd93f2445.
   997  //
   998  // Solidity: function applyVault() returns()
   999  func (_Anyerc20 *Anyerc20Session) ApplyVault() (*types.Transaction, error) {
  1000  	return _Anyerc20.Contract.ApplyVault(&_Anyerc20.TransactOpts)
  1001  }
  1002  
  1003  // ApplyVault is a paid mutator transaction binding the contract method 0xd93f2445.
  1004  //
  1005  // Solidity: function applyVault() returns()
  1006  func (_Anyerc20 *Anyerc20TransactorSession) ApplyVault() (*types.Transaction, error) {
  1007  	return _Anyerc20.Contract.ApplyVault(&_Anyerc20.TransactOpts)
  1008  }
  1009  
  1010  // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  1011  //
  1012  // Solidity: function approve(address spender, uint256 value) returns(bool)
  1013  func (_Anyerc20 *Anyerc20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) {
  1014  	return _Anyerc20.contract.Transact(opts, "approve", spender, value)
  1015  }
  1016  
  1017  // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  1018  //
  1019  // Solidity: function approve(address spender, uint256 value) returns(bool)
  1020  func (_Anyerc20 *Anyerc20Session) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) {
  1021  	return _Anyerc20.Contract.Approve(&_Anyerc20.TransactOpts, spender, value)
  1022  }
  1023  
  1024  // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  1025  //
  1026  // Solidity: function approve(address spender, uint256 value) returns(bool)
  1027  func (_Anyerc20 *Anyerc20TransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) {
  1028  	return _Anyerc20.Contract.Approve(&_Anyerc20.TransactOpts, spender, value)
  1029  }
  1030  
  1031  // ApproveAndCall is a paid mutator transaction binding the contract method 0xcae9ca51.
  1032  //
  1033  // Solidity: function approveAndCall(address spender, uint256 value, bytes data) returns(bool)
  1034  func (_Anyerc20 *Anyerc20Transactor) ApproveAndCall(opts *bind.TransactOpts, spender common.Address, value *big.Int, data []byte) (*types.Transaction, error) {
  1035  	return _Anyerc20.contract.Transact(opts, "approveAndCall", spender, value, data)
  1036  }
  1037  
  1038  // ApproveAndCall is a paid mutator transaction binding the contract method 0xcae9ca51.
  1039  //
  1040  // Solidity: function approveAndCall(address spender, uint256 value, bytes data) returns(bool)
  1041  func (_Anyerc20 *Anyerc20Session) ApproveAndCall(spender common.Address, value *big.Int, data []byte) (*types.Transaction, error) {
  1042  	return _Anyerc20.Contract.ApproveAndCall(&_Anyerc20.TransactOpts, spender, value, data)
  1043  }
  1044  
  1045  // ApproveAndCall is a paid mutator transaction binding the contract method 0xcae9ca51.
  1046  //
  1047  // Solidity: function approveAndCall(address spender, uint256 value, bytes data) returns(bool)
  1048  func (_Anyerc20 *Anyerc20TransactorSession) ApproveAndCall(spender common.Address, value *big.Int, data []byte) (*types.Transaction, error) {
  1049  	return _Anyerc20.Contract.ApproveAndCall(&_Anyerc20.TransactOpts, spender, value, data)
  1050  }
  1051  
  1052  // Burn is a paid mutator transaction binding the contract method 0x9dc29fac.
  1053  //
  1054  // Solidity: function burn(address from, uint256 amount) returns(bool)
  1055  func (_Anyerc20 *Anyerc20Transactor) Burn(opts *bind.TransactOpts, from common.Address, amount *big.Int) (*types.Transaction, error) {
  1056  	return _Anyerc20.contract.Transact(opts, "burn", from, amount)
  1057  }
  1058  
  1059  // Burn is a paid mutator transaction binding the contract method 0x9dc29fac.
  1060  //
  1061  // Solidity: function burn(address from, uint256 amount) returns(bool)
  1062  func (_Anyerc20 *Anyerc20Session) Burn(from common.Address, amount *big.Int) (*types.Transaction, error) {
  1063  	return _Anyerc20.Contract.Burn(&_Anyerc20.TransactOpts, from, amount)
  1064  }
  1065  
  1066  // Burn is a paid mutator transaction binding the contract method 0x9dc29fac.
  1067  //
  1068  // Solidity: function burn(address from, uint256 amount) returns(bool)
  1069  func (_Anyerc20 *Anyerc20TransactorSession) Burn(from common.Address, amount *big.Int) (*types.Transaction, error) {
  1070  	return _Anyerc20.Contract.Burn(&_Anyerc20.TransactOpts, from, amount)
  1071  }
  1072  
  1073  // ChangeMPCOwner is a paid mutator transaction binding the contract method 0x5f9b105d.
  1074  //
  1075  // Solidity: function changeMPCOwner(address newVault) returns(bool)
  1076  func (_Anyerc20 *Anyerc20Transactor) ChangeMPCOwner(opts *bind.TransactOpts, newVault common.Address) (*types.Transaction, error) {
  1077  	return _Anyerc20.contract.Transact(opts, "changeMPCOwner", newVault)
  1078  }
  1079  
  1080  // ChangeMPCOwner is a paid mutator transaction binding the contract method 0x5f9b105d.
  1081  //
  1082  // Solidity: function changeMPCOwner(address newVault) returns(bool)
  1083  func (_Anyerc20 *Anyerc20Session) ChangeMPCOwner(newVault common.Address) (*types.Transaction, error) {
  1084  	return _Anyerc20.Contract.ChangeMPCOwner(&_Anyerc20.TransactOpts, newVault)
  1085  }
  1086  
  1087  // ChangeMPCOwner is a paid mutator transaction binding the contract method 0x5f9b105d.
  1088  //
  1089  // Solidity: function changeMPCOwner(address newVault) returns(bool)
  1090  func (_Anyerc20 *Anyerc20TransactorSession) ChangeMPCOwner(newVault common.Address) (*types.Transaction, error) {
  1091  	return _Anyerc20.Contract.ChangeMPCOwner(&_Anyerc20.TransactOpts, newVault)
  1092  }
  1093  
  1094  // ChangeVault is a paid mutator transaction binding the contract method 0x60e232a9.
  1095  //
  1096  // Solidity: function changeVault(address newVault) returns(bool)
  1097  func (_Anyerc20 *Anyerc20Transactor) ChangeVault(opts *bind.TransactOpts, newVault common.Address) (*types.Transaction, error) {
  1098  	return _Anyerc20.contract.Transact(opts, "changeVault", newVault)
  1099  }
  1100  
  1101  // ChangeVault is a paid mutator transaction binding the contract method 0x60e232a9.
  1102  //
  1103  // Solidity: function changeVault(address newVault) returns(bool)
  1104  func (_Anyerc20 *Anyerc20Session) ChangeVault(newVault common.Address) (*types.Transaction, error) {
  1105  	return _Anyerc20.Contract.ChangeVault(&_Anyerc20.TransactOpts, newVault)
  1106  }
  1107  
  1108  // ChangeVault is a paid mutator transaction binding the contract method 0x60e232a9.
  1109  //
  1110  // Solidity: function changeVault(address newVault) returns(bool)
  1111  func (_Anyerc20 *Anyerc20TransactorSession) ChangeVault(newVault common.Address) (*types.Transaction, error) {
  1112  	return _Anyerc20.Contract.ChangeVault(&_Anyerc20.TransactOpts, newVault)
  1113  }
  1114  
  1115  // Deposit is a paid mutator transaction binding the contract method 0x6e553f65.
  1116  //
  1117  // Solidity: function deposit(uint256 amount, address to) returns(uint256)
  1118  func (_Anyerc20 *Anyerc20Transactor) Deposit(opts *bind.TransactOpts, amount *big.Int, to common.Address) (*types.Transaction, error) {
  1119  	return _Anyerc20.contract.Transact(opts, "deposit", amount, to)
  1120  }
  1121  
  1122  // Deposit is a paid mutator transaction binding the contract method 0x6e553f65.
  1123  //
  1124  // Solidity: function deposit(uint256 amount, address to) returns(uint256)
  1125  func (_Anyerc20 *Anyerc20Session) Deposit(amount *big.Int, to common.Address) (*types.Transaction, error) {
  1126  	return _Anyerc20.Contract.Deposit(&_Anyerc20.TransactOpts, amount, to)
  1127  }
  1128  
  1129  // Deposit is a paid mutator transaction binding the contract method 0x6e553f65.
  1130  //
  1131  // Solidity: function deposit(uint256 amount, address to) returns(uint256)
  1132  func (_Anyerc20 *Anyerc20TransactorSession) Deposit(amount *big.Int, to common.Address) (*types.Transaction, error) {
  1133  	return _Anyerc20.Contract.Deposit(&_Anyerc20.TransactOpts, amount, to)
  1134  }
  1135  
  1136  // Deposit0 is a paid mutator transaction binding the contract method 0xb6b55f25.
  1137  //
  1138  // Solidity: function deposit(uint256 amount) returns(uint256)
  1139  func (_Anyerc20 *Anyerc20Transactor) Deposit0(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) {
  1140  	return _Anyerc20.contract.Transact(opts, "deposit0", amount)
  1141  }
  1142  
  1143  // Deposit0 is a paid mutator transaction binding the contract method 0xb6b55f25.
  1144  //
  1145  // Solidity: function deposit(uint256 amount) returns(uint256)
  1146  func (_Anyerc20 *Anyerc20Session) Deposit0(amount *big.Int) (*types.Transaction, error) {
  1147  	return _Anyerc20.Contract.Deposit0(&_Anyerc20.TransactOpts, amount)
  1148  }
  1149  
  1150  // Deposit0 is a paid mutator transaction binding the contract method 0xb6b55f25.
  1151  //
  1152  // Solidity: function deposit(uint256 amount) returns(uint256)
  1153  func (_Anyerc20 *Anyerc20TransactorSession) Deposit0(amount *big.Int) (*types.Transaction, error) {
  1154  	return _Anyerc20.Contract.Deposit0(&_Anyerc20.TransactOpts, amount)
  1155  }
  1156  
  1157  // Deposit1 is a paid mutator transaction binding the contract method 0xd0e30db0.
  1158  //
  1159  // Solidity: function deposit() returns(uint256)
  1160  func (_Anyerc20 *Anyerc20Transactor) Deposit1(opts *bind.TransactOpts) (*types.Transaction, error) {
  1161  	return _Anyerc20.contract.Transact(opts, "deposit1")
  1162  }
  1163  
  1164  // Deposit1 is a paid mutator transaction binding the contract method 0xd0e30db0.
  1165  //
  1166  // Solidity: function deposit() returns(uint256)
  1167  func (_Anyerc20 *Anyerc20Session) Deposit1() (*types.Transaction, error) {
  1168  	return _Anyerc20.Contract.Deposit1(&_Anyerc20.TransactOpts)
  1169  }
  1170  
  1171  // Deposit1 is a paid mutator transaction binding the contract method 0xd0e30db0.
  1172  //
  1173  // Solidity: function deposit() returns(uint256)
  1174  func (_Anyerc20 *Anyerc20TransactorSession) Deposit1() (*types.Transaction, error) {
  1175  	return _Anyerc20.Contract.Deposit1(&_Anyerc20.TransactOpts)
  1176  }
  1177  
  1178  // DepositVault is a paid mutator transaction binding the contract method 0xbebbf4d0.
  1179  //
  1180  // Solidity: function depositVault(uint256 amount, address to) returns(uint256)
  1181  func (_Anyerc20 *Anyerc20Transactor) DepositVault(opts *bind.TransactOpts, amount *big.Int, to common.Address) (*types.Transaction, error) {
  1182  	return _Anyerc20.contract.Transact(opts, "depositVault", amount, to)
  1183  }
  1184  
  1185  // DepositVault is a paid mutator transaction binding the contract method 0xbebbf4d0.
  1186  //
  1187  // Solidity: function depositVault(uint256 amount, address to) returns(uint256)
  1188  func (_Anyerc20 *Anyerc20Session) DepositVault(amount *big.Int, to common.Address) (*types.Transaction, error) {
  1189  	return _Anyerc20.Contract.DepositVault(&_Anyerc20.TransactOpts, amount, to)
  1190  }
  1191  
  1192  // DepositVault is a paid mutator transaction binding the contract method 0xbebbf4d0.
  1193  //
  1194  // Solidity: function depositVault(uint256 amount, address to) returns(uint256)
  1195  func (_Anyerc20 *Anyerc20TransactorSession) DepositVault(amount *big.Int, to common.Address) (*types.Transaction, error) {
  1196  	return _Anyerc20.Contract.DepositVault(&_Anyerc20.TransactOpts, amount, to)
  1197  }
  1198  
  1199  // DepositWithPermit is a paid mutator transaction binding the contract method 0x81a37c18.
  1200  //
  1201  // Solidity: function depositWithPermit(address target, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s, address to) returns(uint256)
  1202  func (_Anyerc20 *Anyerc20Transactor) DepositWithPermit(opts *bind.TransactOpts, target common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte, to common.Address) (*types.Transaction, error) {
  1203  	return _Anyerc20.contract.Transact(opts, "depositWithPermit", target, value, deadline, v, r, s, to)
  1204  }
  1205  
  1206  // DepositWithPermit is a paid mutator transaction binding the contract method 0x81a37c18.
  1207  //
  1208  // Solidity: function depositWithPermit(address target, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s, address to) returns(uint256)
  1209  func (_Anyerc20 *Anyerc20Session) DepositWithPermit(target common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte, to common.Address) (*types.Transaction, error) {
  1210  	return _Anyerc20.Contract.DepositWithPermit(&_Anyerc20.TransactOpts, target, value, deadline, v, r, s, to)
  1211  }
  1212  
  1213  // DepositWithPermit is a paid mutator transaction binding the contract method 0x81a37c18.
  1214  //
  1215  // Solidity: function depositWithPermit(address target, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s, address to) returns(uint256)
  1216  func (_Anyerc20 *Anyerc20TransactorSession) DepositWithPermit(target common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte, to common.Address) (*types.Transaction, error) {
  1217  	return _Anyerc20.Contract.DepositWithPermit(&_Anyerc20.TransactOpts, target, value, deadline, v, r, s, to)
  1218  }
  1219  
  1220  // DepositWithTransferPermit is a paid mutator transaction binding the contract method 0xf954734e.
  1221  //
  1222  // Solidity: function depositWithTransferPermit(address target, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s, address to) returns(uint256)
  1223  func (_Anyerc20 *Anyerc20Transactor) DepositWithTransferPermit(opts *bind.TransactOpts, target common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte, to common.Address) (*types.Transaction, error) {
  1224  	return _Anyerc20.contract.Transact(opts, "depositWithTransferPermit", target, value, deadline, v, r, s, to)
  1225  }
  1226  
  1227  // DepositWithTransferPermit is a paid mutator transaction binding the contract method 0xf954734e.
  1228  //
  1229  // Solidity: function depositWithTransferPermit(address target, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s, address to) returns(uint256)
  1230  func (_Anyerc20 *Anyerc20Session) DepositWithTransferPermit(target common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte, to common.Address) (*types.Transaction, error) {
  1231  	return _Anyerc20.Contract.DepositWithTransferPermit(&_Anyerc20.TransactOpts, target, value, deadline, v, r, s, to)
  1232  }
  1233  
  1234  // DepositWithTransferPermit is a paid mutator transaction binding the contract method 0xf954734e.
  1235  //
  1236  // Solidity: function depositWithTransferPermit(address target, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s, address to) returns(uint256)
  1237  func (_Anyerc20 *Anyerc20TransactorSession) DepositWithTransferPermit(target common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte, to common.Address) (*types.Transaction, error) {
  1238  	return _Anyerc20.Contract.DepositWithTransferPermit(&_Anyerc20.TransactOpts, target, value, deadline, v, r, s, to)
  1239  }
  1240  
  1241  // InitVault is a paid mutator transaction binding the contract method 0x2ebe3fbb.
  1242  //
  1243  // Solidity: function initVault(address _vault) returns()
  1244  func (_Anyerc20 *Anyerc20Transactor) InitVault(opts *bind.TransactOpts, _vault common.Address) (*types.Transaction, error) {
  1245  	return _Anyerc20.contract.Transact(opts, "initVault", _vault)
  1246  }
  1247  
  1248  // InitVault is a paid mutator transaction binding the contract method 0x2ebe3fbb.
  1249  //
  1250  // Solidity: function initVault(address _vault) returns()
  1251  func (_Anyerc20 *Anyerc20Session) InitVault(_vault common.Address) (*types.Transaction, error) {
  1252  	return _Anyerc20.Contract.InitVault(&_Anyerc20.TransactOpts, _vault)
  1253  }
  1254  
  1255  // InitVault is a paid mutator transaction binding the contract method 0x2ebe3fbb.
  1256  //
  1257  // Solidity: function initVault(address _vault) returns()
  1258  func (_Anyerc20 *Anyerc20TransactorSession) InitVault(_vault common.Address) (*types.Transaction, error) {
  1259  	return _Anyerc20.Contract.InitVault(&_Anyerc20.TransactOpts, _vault)
  1260  }
  1261  
  1262  // Mint is a paid mutator transaction binding the contract method 0x40c10f19.
  1263  //
  1264  // Solidity: function mint(address to, uint256 amount) returns(bool)
  1265  func (_Anyerc20 *Anyerc20Transactor) Mint(opts *bind.TransactOpts, to common.Address, amount *big.Int) (*types.Transaction, error) {
  1266  	return _Anyerc20.contract.Transact(opts, "mint", to, amount)
  1267  }
  1268  
  1269  // Mint is a paid mutator transaction binding the contract method 0x40c10f19.
  1270  //
  1271  // Solidity: function mint(address to, uint256 amount) returns(bool)
  1272  func (_Anyerc20 *Anyerc20Session) Mint(to common.Address, amount *big.Int) (*types.Transaction, error) {
  1273  	return _Anyerc20.Contract.Mint(&_Anyerc20.TransactOpts, to, amount)
  1274  }
  1275  
  1276  // Mint is a paid mutator transaction binding the contract method 0x40c10f19.
  1277  //
  1278  // Solidity: function mint(address to, uint256 amount) returns(bool)
  1279  func (_Anyerc20 *Anyerc20TransactorSession) Mint(to common.Address, amount *big.Int) (*types.Transaction, error) {
  1280  	return _Anyerc20.Contract.Mint(&_Anyerc20.TransactOpts, to, amount)
  1281  }
  1282  
  1283  // Permit is a paid mutator transaction binding the contract method 0xd505accf.
  1284  //
  1285  // Solidity: function permit(address target, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns()
  1286  func (_Anyerc20 *Anyerc20Transactor) Permit(opts *bind.TransactOpts, target common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
  1287  	return _Anyerc20.contract.Transact(opts, "permit", target, spender, value, deadline, v, r, s)
  1288  }
  1289  
  1290  // Permit is a paid mutator transaction binding the contract method 0xd505accf.
  1291  //
  1292  // Solidity: function permit(address target, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns()
  1293  func (_Anyerc20 *Anyerc20Session) Permit(target common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
  1294  	return _Anyerc20.Contract.Permit(&_Anyerc20.TransactOpts, target, spender, value, deadline, v, r, s)
  1295  }
  1296  
  1297  // Permit is a paid mutator transaction binding the contract method 0xd505accf.
  1298  //
  1299  // Solidity: function permit(address target, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns()
  1300  func (_Anyerc20 *Anyerc20TransactorSession) Permit(target common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
  1301  	return _Anyerc20.Contract.Permit(&_Anyerc20.TransactOpts, target, spender, value, deadline, v, r, s)
  1302  }
  1303  
  1304  // RevokeMinter is a paid mutator transaction binding the contract method 0xcfbd4885.
  1305  //
  1306  // Solidity: function revokeMinter(address _auth) returns()
  1307  func (_Anyerc20 *Anyerc20Transactor) RevokeMinter(opts *bind.TransactOpts, _auth common.Address) (*types.Transaction, error) {
  1308  	return _Anyerc20.contract.Transact(opts, "revokeMinter", _auth)
  1309  }
  1310  
  1311  // RevokeMinter is a paid mutator transaction binding the contract method 0xcfbd4885.
  1312  //
  1313  // Solidity: function revokeMinter(address _auth) returns()
  1314  func (_Anyerc20 *Anyerc20Session) RevokeMinter(_auth common.Address) (*types.Transaction, error) {
  1315  	return _Anyerc20.Contract.RevokeMinter(&_Anyerc20.TransactOpts, _auth)
  1316  }
  1317  
  1318  // RevokeMinter is a paid mutator transaction binding the contract method 0xcfbd4885.
  1319  //
  1320  // Solidity: function revokeMinter(address _auth) returns()
  1321  func (_Anyerc20 *Anyerc20TransactorSession) RevokeMinter(_auth common.Address) (*types.Transaction, error) {
  1322  	return _Anyerc20.Contract.RevokeMinter(&_Anyerc20.TransactOpts, _auth)
  1323  }
  1324  
  1325  // SetMinter is a paid mutator transaction binding the contract method 0xfca3b5aa.
  1326  //
  1327  // Solidity: function setMinter(address _auth) returns()
  1328  func (_Anyerc20 *Anyerc20Transactor) SetMinter(opts *bind.TransactOpts, _auth common.Address) (*types.Transaction, error) {
  1329  	return _Anyerc20.contract.Transact(opts, "setMinter", _auth)
  1330  }
  1331  
  1332  // SetMinter is a paid mutator transaction binding the contract method 0xfca3b5aa.
  1333  //
  1334  // Solidity: function setMinter(address _auth) returns()
  1335  func (_Anyerc20 *Anyerc20Session) SetMinter(_auth common.Address) (*types.Transaction, error) {
  1336  	return _Anyerc20.Contract.SetMinter(&_Anyerc20.TransactOpts, _auth)
  1337  }
  1338  
  1339  // SetMinter is a paid mutator transaction binding the contract method 0xfca3b5aa.
  1340  //
  1341  // Solidity: function setMinter(address _auth) returns()
  1342  func (_Anyerc20 *Anyerc20TransactorSession) SetMinter(_auth common.Address) (*types.Transaction, error) {
  1343  	return _Anyerc20.Contract.SetMinter(&_Anyerc20.TransactOpts, _auth)
  1344  }
  1345  
  1346  // SetVault is a paid mutator transaction binding the contract method 0x6817031b.
  1347  //
  1348  // Solidity: function setVault(address _vault) returns()
  1349  func (_Anyerc20 *Anyerc20Transactor) SetVault(opts *bind.TransactOpts, _vault common.Address) (*types.Transaction, error) {
  1350  	return _Anyerc20.contract.Transact(opts, "setVault", _vault)
  1351  }
  1352  
  1353  // SetVault is a paid mutator transaction binding the contract method 0x6817031b.
  1354  //
  1355  // Solidity: function setVault(address _vault) returns()
  1356  func (_Anyerc20 *Anyerc20Session) SetVault(_vault common.Address) (*types.Transaction, error) {
  1357  	return _Anyerc20.Contract.SetVault(&_Anyerc20.TransactOpts, _vault)
  1358  }
  1359  
  1360  // SetVault is a paid mutator transaction binding the contract method 0x6817031b.
  1361  //
  1362  // Solidity: function setVault(address _vault) returns()
  1363  func (_Anyerc20 *Anyerc20TransactorSession) SetVault(_vault common.Address) (*types.Transaction, error) {
  1364  	return _Anyerc20.Contract.SetVault(&_Anyerc20.TransactOpts, _vault)
  1365  }
  1366  
  1367  // SetVaultOnly is a paid mutator transaction binding the contract method 0xc4b740f5.
  1368  //
  1369  // Solidity: function setVaultOnly(bool enabled) returns()
  1370  func (_Anyerc20 *Anyerc20Transactor) SetVaultOnly(opts *bind.TransactOpts, enabled bool) (*types.Transaction, error) {
  1371  	return _Anyerc20.contract.Transact(opts, "setVaultOnly", enabled)
  1372  }
  1373  
  1374  // SetVaultOnly is a paid mutator transaction binding the contract method 0xc4b740f5.
  1375  //
  1376  // Solidity: function setVaultOnly(bool enabled) returns()
  1377  func (_Anyerc20 *Anyerc20Session) SetVaultOnly(enabled bool) (*types.Transaction, error) {
  1378  	return _Anyerc20.Contract.SetVaultOnly(&_Anyerc20.TransactOpts, enabled)
  1379  }
  1380  
  1381  // SetVaultOnly is a paid mutator transaction binding the contract method 0xc4b740f5.
  1382  //
  1383  // Solidity: function setVaultOnly(bool enabled) returns()
  1384  func (_Anyerc20 *Anyerc20TransactorSession) SetVaultOnly(enabled bool) (*types.Transaction, error) {
  1385  	return _Anyerc20.Contract.SetVaultOnly(&_Anyerc20.TransactOpts, enabled)
  1386  }
  1387  
  1388  // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.
  1389  //
  1390  // Solidity: function transfer(address to, uint256 value) returns(bool)
  1391  func (_Anyerc20 *Anyerc20Transactor) Transfer(opts *bind.TransactOpts, to common.Address, value *big.Int) (*types.Transaction, error) {
  1392  	return _Anyerc20.contract.Transact(opts, "transfer", to, value)
  1393  }
  1394  
  1395  // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.
  1396  //
  1397  // Solidity: function transfer(address to, uint256 value) returns(bool)
  1398  func (_Anyerc20 *Anyerc20Session) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) {
  1399  	return _Anyerc20.Contract.Transfer(&_Anyerc20.TransactOpts, to, value)
  1400  }
  1401  
  1402  // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.
  1403  //
  1404  // Solidity: function transfer(address to, uint256 value) returns(bool)
  1405  func (_Anyerc20 *Anyerc20TransactorSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) {
  1406  	return _Anyerc20.Contract.Transfer(&_Anyerc20.TransactOpts, to, value)
  1407  }
  1408  
  1409  // TransferAndCall is a paid mutator transaction binding the contract method 0x4000aea0.
  1410  //
  1411  // Solidity: function transferAndCall(address to, uint256 value, bytes data) returns(bool)
  1412  func (_Anyerc20 *Anyerc20Transactor) TransferAndCall(opts *bind.TransactOpts, to common.Address, value *big.Int, data []byte) (*types.Transaction, error) {
  1413  	return _Anyerc20.contract.Transact(opts, "transferAndCall", to, value, data)
  1414  }
  1415  
  1416  // TransferAndCall is a paid mutator transaction binding the contract method 0x4000aea0.
  1417  //
  1418  // Solidity: function transferAndCall(address to, uint256 value, bytes data) returns(bool)
  1419  func (_Anyerc20 *Anyerc20Session) TransferAndCall(to common.Address, value *big.Int, data []byte) (*types.Transaction, error) {
  1420  	return _Anyerc20.Contract.TransferAndCall(&_Anyerc20.TransactOpts, to, value, data)
  1421  }
  1422  
  1423  // TransferAndCall is a paid mutator transaction binding the contract method 0x4000aea0.
  1424  //
  1425  // Solidity: function transferAndCall(address to, uint256 value, bytes data) returns(bool)
  1426  func (_Anyerc20 *Anyerc20TransactorSession) TransferAndCall(to common.Address, value *big.Int, data []byte) (*types.Transaction, error) {
  1427  	return _Anyerc20.Contract.TransferAndCall(&_Anyerc20.TransactOpts, to, value, data)
  1428  }
  1429  
  1430  // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  1431  //
  1432  // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool)
  1433  func (_Anyerc20 *Anyerc20Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) {
  1434  	return _Anyerc20.contract.Transact(opts, "transferFrom", from, to, value)
  1435  }
  1436  
  1437  // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  1438  //
  1439  // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool)
  1440  func (_Anyerc20 *Anyerc20Session) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) {
  1441  	return _Anyerc20.Contract.TransferFrom(&_Anyerc20.TransactOpts, from, to, value)
  1442  }
  1443  
  1444  // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  1445  //
  1446  // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool)
  1447  func (_Anyerc20 *Anyerc20TransactorSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) {
  1448  	return _Anyerc20.Contract.TransferFrom(&_Anyerc20.TransactOpts, from, to, value)
  1449  }
  1450  
  1451  // TransferWithPermit is a paid mutator transaction binding the contract method 0x605629d6.
  1452  //
  1453  // Solidity: function transferWithPermit(address target, address to, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns(bool)
  1454  func (_Anyerc20 *Anyerc20Transactor) TransferWithPermit(opts *bind.TransactOpts, target common.Address, to common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
  1455  	return _Anyerc20.contract.Transact(opts, "transferWithPermit", target, to, value, deadline, v, r, s)
  1456  }
  1457  
  1458  // TransferWithPermit is a paid mutator transaction binding the contract method 0x605629d6.
  1459  //
  1460  // Solidity: function transferWithPermit(address target, address to, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns(bool)
  1461  func (_Anyerc20 *Anyerc20Session) TransferWithPermit(target common.Address, to common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
  1462  	return _Anyerc20.Contract.TransferWithPermit(&_Anyerc20.TransactOpts, target, to, value, deadline, v, r, s)
  1463  }
  1464  
  1465  // TransferWithPermit is a paid mutator transaction binding the contract method 0x605629d6.
  1466  //
  1467  // Solidity: function transferWithPermit(address target, address to, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns(bool)
  1468  func (_Anyerc20 *Anyerc20TransactorSession) TransferWithPermit(target common.Address, to common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
  1469  	return _Anyerc20.Contract.TransferWithPermit(&_Anyerc20.TransactOpts, target, to, value, deadline, v, r, s)
  1470  }
  1471  
  1472  // Withdraw is a paid mutator transaction binding the contract method 0x00f714ce.
  1473  //
  1474  // Solidity: function withdraw(uint256 amount, address to) returns(uint256)
  1475  func (_Anyerc20 *Anyerc20Transactor) Withdraw(opts *bind.TransactOpts, amount *big.Int, to common.Address) (*types.Transaction, error) {
  1476  	return _Anyerc20.contract.Transact(opts, "withdraw", amount, to)
  1477  }
  1478  
  1479  // Withdraw is a paid mutator transaction binding the contract method 0x00f714ce.
  1480  //
  1481  // Solidity: function withdraw(uint256 amount, address to) returns(uint256)
  1482  func (_Anyerc20 *Anyerc20Session) Withdraw(amount *big.Int, to common.Address) (*types.Transaction, error) {
  1483  	return _Anyerc20.Contract.Withdraw(&_Anyerc20.TransactOpts, amount, to)
  1484  }
  1485  
  1486  // Withdraw is a paid mutator transaction binding the contract method 0x00f714ce.
  1487  //
  1488  // Solidity: function withdraw(uint256 amount, address to) returns(uint256)
  1489  func (_Anyerc20 *Anyerc20TransactorSession) Withdraw(amount *big.Int, to common.Address) (*types.Transaction, error) {
  1490  	return _Anyerc20.Contract.Withdraw(&_Anyerc20.TransactOpts, amount, to)
  1491  }
  1492  
  1493  // Withdraw0 is a paid mutator transaction binding the contract method 0x2e1a7d4d.
  1494  //
  1495  // Solidity: function withdraw(uint256 amount) returns(uint256)
  1496  func (_Anyerc20 *Anyerc20Transactor) Withdraw0(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) {
  1497  	return _Anyerc20.contract.Transact(opts, "withdraw0", amount)
  1498  }
  1499  
  1500  // Withdraw0 is a paid mutator transaction binding the contract method 0x2e1a7d4d.
  1501  //
  1502  // Solidity: function withdraw(uint256 amount) returns(uint256)
  1503  func (_Anyerc20 *Anyerc20Session) Withdraw0(amount *big.Int) (*types.Transaction, error) {
  1504  	return _Anyerc20.Contract.Withdraw0(&_Anyerc20.TransactOpts, amount)
  1505  }
  1506  
  1507  // Withdraw0 is a paid mutator transaction binding the contract method 0x2e1a7d4d.
  1508  //
  1509  // Solidity: function withdraw(uint256 amount) returns(uint256)
  1510  func (_Anyerc20 *Anyerc20TransactorSession) Withdraw0(amount *big.Int) (*types.Transaction, error) {
  1511  	return _Anyerc20.Contract.Withdraw0(&_Anyerc20.TransactOpts, amount)
  1512  }
  1513  
  1514  // Withdraw1 is a paid mutator transaction binding the contract method 0x3ccfd60b.
  1515  //
  1516  // Solidity: function withdraw() returns(uint256)
  1517  func (_Anyerc20 *Anyerc20Transactor) Withdraw1(opts *bind.TransactOpts) (*types.Transaction, error) {
  1518  	return _Anyerc20.contract.Transact(opts, "withdraw1")
  1519  }
  1520  
  1521  // Withdraw1 is a paid mutator transaction binding the contract method 0x3ccfd60b.
  1522  //
  1523  // Solidity: function withdraw() returns(uint256)
  1524  func (_Anyerc20 *Anyerc20Session) Withdraw1() (*types.Transaction, error) {
  1525  	return _Anyerc20.Contract.Withdraw1(&_Anyerc20.TransactOpts)
  1526  }
  1527  
  1528  // Withdraw1 is a paid mutator transaction binding the contract method 0x3ccfd60b.
  1529  //
  1530  // Solidity: function withdraw() returns(uint256)
  1531  func (_Anyerc20 *Anyerc20TransactorSession) Withdraw1() (*types.Transaction, error) {
  1532  	return _Anyerc20.Contract.Withdraw1(&_Anyerc20.TransactOpts)
  1533  }
  1534  
  1535  // WithdrawVault is a paid mutator transaction binding the contract method 0x0039d6ec.
  1536  //
  1537  // Solidity: function withdrawVault(address from, uint256 amount, address to) returns(uint256)
  1538  func (_Anyerc20 *Anyerc20Transactor) WithdrawVault(opts *bind.TransactOpts, from common.Address, amount *big.Int, to common.Address) (*types.Transaction, error) {
  1539  	return _Anyerc20.contract.Transact(opts, "withdrawVault", from, amount, to)
  1540  }
  1541  
  1542  // WithdrawVault is a paid mutator transaction binding the contract method 0x0039d6ec.
  1543  //
  1544  // Solidity: function withdrawVault(address from, uint256 amount, address to) returns(uint256)
  1545  func (_Anyerc20 *Anyerc20Session) WithdrawVault(from common.Address, amount *big.Int, to common.Address) (*types.Transaction, error) {
  1546  	return _Anyerc20.Contract.WithdrawVault(&_Anyerc20.TransactOpts, from, amount, to)
  1547  }
  1548  
  1549  // WithdrawVault is a paid mutator transaction binding the contract method 0x0039d6ec.
  1550  //
  1551  // Solidity: function withdrawVault(address from, uint256 amount, address to) returns(uint256)
  1552  func (_Anyerc20 *Anyerc20TransactorSession) WithdrawVault(from common.Address, amount *big.Int, to common.Address) (*types.Transaction, error) {
  1553  	return _Anyerc20.Contract.WithdrawVault(&_Anyerc20.TransactOpts, from, amount, to)
  1554  }
  1555  
  1556  // Anyerc20ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the Anyerc20 contract.
  1557  type Anyerc20ApprovalIterator struct {
  1558  	Event *Anyerc20Approval // Event containing the contract specifics and raw log
  1559  
  1560  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1561  	event    string              // Event name to use for unpacking event data
  1562  
  1563  	logs chan types.Log        // Log channel receiving the found contract events
  1564  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1565  	done bool                  // Whether the subscription completed delivering logs
  1566  	fail error                 // Occurred error to stop iteration
  1567  }
  1568  
  1569  // Next advances the iterator to the subsequent event, returning whether there
  1570  // are any more events found. In case of a retrieval or parsing error, false is
  1571  // returned and Error() can be queried for the exact failure.
  1572  func (it *Anyerc20ApprovalIterator) Next() bool {
  1573  	// If the iterator failed, stop iterating
  1574  	if it.fail != nil {
  1575  		return false
  1576  	}
  1577  	// If the iterator completed, deliver directly whatever's available
  1578  	if it.done {
  1579  		select {
  1580  		case log := <-it.logs:
  1581  			it.Event = new(Anyerc20Approval)
  1582  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1583  				it.fail = err
  1584  				return false
  1585  			}
  1586  			it.Event.Raw = log
  1587  			return true
  1588  
  1589  		default:
  1590  			return false
  1591  		}
  1592  	}
  1593  	// Iterator still in progress, wait for either a data or an error event
  1594  	select {
  1595  	case log := <-it.logs:
  1596  		it.Event = new(Anyerc20Approval)
  1597  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1598  			it.fail = err
  1599  			return false
  1600  		}
  1601  		it.Event.Raw = log
  1602  		return true
  1603  
  1604  	case err := <-it.sub.Err():
  1605  		it.done = true
  1606  		it.fail = err
  1607  		return it.Next()
  1608  	}
  1609  }
  1610  
  1611  // Error returns any retrieval or parsing error occurred during filtering.
  1612  func (it *Anyerc20ApprovalIterator) Error() error {
  1613  	return it.fail
  1614  }
  1615  
  1616  // Close terminates the iteration process, releasing any pending underlying
  1617  // resources.
  1618  func (it *Anyerc20ApprovalIterator) Close() error {
  1619  	it.sub.Unsubscribe()
  1620  	return nil
  1621  }
  1622  
  1623  // Anyerc20Approval represents a Approval event raised by the Anyerc20 contract.
  1624  type Anyerc20Approval struct {
  1625  	Owner   common.Address
  1626  	Spender common.Address
  1627  	Value   *big.Int
  1628  	Raw     types.Log // Blockchain specific contextual infos
  1629  }
  1630  
  1631  // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  1632  //
  1633  // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)
  1634  func (_Anyerc20 *Anyerc20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*Anyerc20ApprovalIterator, error) {
  1635  
  1636  	var ownerRule []interface{}
  1637  	for _, ownerItem := range owner {
  1638  		ownerRule = append(ownerRule, ownerItem)
  1639  	}
  1640  	var spenderRule []interface{}
  1641  	for _, spenderItem := range spender {
  1642  		spenderRule = append(spenderRule, spenderItem)
  1643  	}
  1644  
  1645  	logs, sub, err := _Anyerc20.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule)
  1646  	if err != nil {
  1647  		return nil, err
  1648  	}
  1649  	return &Anyerc20ApprovalIterator{contract: _Anyerc20.contract, event: "Approval", logs: logs, sub: sub}, nil
  1650  }
  1651  
  1652  // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  1653  //
  1654  // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)
  1655  func (_Anyerc20 *Anyerc20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *Anyerc20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error) {
  1656  
  1657  	var ownerRule []interface{}
  1658  	for _, ownerItem := range owner {
  1659  		ownerRule = append(ownerRule, ownerItem)
  1660  	}
  1661  	var spenderRule []interface{}
  1662  	for _, spenderItem := range spender {
  1663  		spenderRule = append(spenderRule, spenderItem)
  1664  	}
  1665  
  1666  	logs, sub, err := _Anyerc20.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule)
  1667  	if err != nil {
  1668  		return nil, err
  1669  	}
  1670  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1671  		defer sub.Unsubscribe()
  1672  		for {
  1673  			select {
  1674  			case log := <-logs:
  1675  				// New log arrived, parse the event and forward to the user
  1676  				event := new(Anyerc20Approval)
  1677  				if err := _Anyerc20.contract.UnpackLog(event, "Approval", log); err != nil {
  1678  					return err
  1679  				}
  1680  				event.Raw = log
  1681  
  1682  				select {
  1683  				case sink <- event:
  1684  				case err := <-sub.Err():
  1685  					return err
  1686  				case <-quit:
  1687  					return nil
  1688  				}
  1689  			case err := <-sub.Err():
  1690  				return err
  1691  			case <-quit:
  1692  				return nil
  1693  			}
  1694  		}
  1695  	}), nil
  1696  }
  1697  
  1698  // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  1699  //
  1700  // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)
  1701  func (_Anyerc20 *Anyerc20Filterer) ParseApproval(log types.Log) (*Anyerc20Approval, error) {
  1702  	event := new(Anyerc20Approval)
  1703  	if err := _Anyerc20.contract.UnpackLog(event, "Approval", log); err != nil {
  1704  		return nil, err
  1705  	}
  1706  	event.Raw = log
  1707  	return event, nil
  1708  }
  1709  
  1710  // Anyerc20LogAddAuthIterator is returned from FilterLogAddAuth and is used to iterate over the raw logs and unpacked data for LogAddAuth events raised by the Anyerc20 contract.
  1711  type Anyerc20LogAddAuthIterator struct {
  1712  	Event *Anyerc20LogAddAuth // Event containing the contract specifics and raw log
  1713  
  1714  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1715  	event    string              // Event name to use for unpacking event data
  1716  
  1717  	logs chan types.Log        // Log channel receiving the found contract events
  1718  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1719  	done bool                  // Whether the subscription completed delivering logs
  1720  	fail error                 // Occurred error to stop iteration
  1721  }
  1722  
  1723  // Next advances the iterator to the subsequent event, returning whether there
  1724  // are any more events found. In case of a retrieval or parsing error, false is
  1725  // returned and Error() can be queried for the exact failure.
  1726  func (it *Anyerc20LogAddAuthIterator) Next() bool {
  1727  	// If the iterator failed, stop iterating
  1728  	if it.fail != nil {
  1729  		return false
  1730  	}
  1731  	// If the iterator completed, deliver directly whatever's available
  1732  	if it.done {
  1733  		select {
  1734  		case log := <-it.logs:
  1735  			it.Event = new(Anyerc20LogAddAuth)
  1736  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1737  				it.fail = err
  1738  				return false
  1739  			}
  1740  			it.Event.Raw = log
  1741  			return true
  1742  
  1743  		default:
  1744  			return false
  1745  		}
  1746  	}
  1747  	// Iterator still in progress, wait for either a data or an error event
  1748  	select {
  1749  	case log := <-it.logs:
  1750  		it.Event = new(Anyerc20LogAddAuth)
  1751  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1752  			it.fail = err
  1753  			return false
  1754  		}
  1755  		it.Event.Raw = log
  1756  		return true
  1757  
  1758  	case err := <-it.sub.Err():
  1759  		it.done = true
  1760  		it.fail = err
  1761  		return it.Next()
  1762  	}
  1763  }
  1764  
  1765  // Error returns any retrieval or parsing error occurred during filtering.
  1766  func (it *Anyerc20LogAddAuthIterator) Error() error {
  1767  	return it.fail
  1768  }
  1769  
  1770  // Close terminates the iteration process, releasing any pending underlying
  1771  // resources.
  1772  func (it *Anyerc20LogAddAuthIterator) Close() error {
  1773  	it.sub.Unsubscribe()
  1774  	return nil
  1775  }
  1776  
  1777  // Anyerc20LogAddAuth represents a LogAddAuth event raised by the Anyerc20 contract.
  1778  type Anyerc20LogAddAuth struct {
  1779  	Auth      common.Address
  1780  	Timestamp *big.Int
  1781  	Raw       types.Log // Blockchain specific contextual infos
  1782  }
  1783  
  1784  // FilterLogAddAuth is a free log retrieval operation binding the contract event 0xff9be4a5a0b9027fd253167d4c170ef1bbf8403af21bf06a0ed87ac8c8ecb5c6.
  1785  //
  1786  // Solidity: event LogAddAuth(address indexed auth, uint256 timestamp)
  1787  func (_Anyerc20 *Anyerc20Filterer) FilterLogAddAuth(opts *bind.FilterOpts, auth []common.Address) (*Anyerc20LogAddAuthIterator, error) {
  1788  
  1789  	var authRule []interface{}
  1790  	for _, authItem := range auth {
  1791  		authRule = append(authRule, authItem)
  1792  	}
  1793  
  1794  	logs, sub, err := _Anyerc20.contract.FilterLogs(opts, "LogAddAuth", authRule)
  1795  	if err != nil {
  1796  		return nil, err
  1797  	}
  1798  	return &Anyerc20LogAddAuthIterator{contract: _Anyerc20.contract, event: "LogAddAuth", logs: logs, sub: sub}, nil
  1799  }
  1800  
  1801  // WatchLogAddAuth is a free log subscription operation binding the contract event 0xff9be4a5a0b9027fd253167d4c170ef1bbf8403af21bf06a0ed87ac8c8ecb5c6.
  1802  //
  1803  // Solidity: event LogAddAuth(address indexed auth, uint256 timestamp)
  1804  func (_Anyerc20 *Anyerc20Filterer) WatchLogAddAuth(opts *bind.WatchOpts, sink chan<- *Anyerc20LogAddAuth, auth []common.Address) (event.Subscription, error) {
  1805  
  1806  	var authRule []interface{}
  1807  	for _, authItem := range auth {
  1808  		authRule = append(authRule, authItem)
  1809  	}
  1810  
  1811  	logs, sub, err := _Anyerc20.contract.WatchLogs(opts, "LogAddAuth", authRule)
  1812  	if err != nil {
  1813  		return nil, err
  1814  	}
  1815  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1816  		defer sub.Unsubscribe()
  1817  		for {
  1818  			select {
  1819  			case log := <-logs:
  1820  				// New log arrived, parse the event and forward to the user
  1821  				event := new(Anyerc20LogAddAuth)
  1822  				if err := _Anyerc20.contract.UnpackLog(event, "LogAddAuth", log); err != nil {
  1823  					return err
  1824  				}
  1825  				event.Raw = log
  1826  
  1827  				select {
  1828  				case sink <- event:
  1829  				case err := <-sub.Err():
  1830  					return err
  1831  				case <-quit:
  1832  					return nil
  1833  				}
  1834  			case err := <-sub.Err():
  1835  				return err
  1836  			case <-quit:
  1837  				return nil
  1838  			}
  1839  		}
  1840  	}), nil
  1841  }
  1842  
  1843  // ParseLogAddAuth is a log parse operation binding the contract event 0xff9be4a5a0b9027fd253167d4c170ef1bbf8403af21bf06a0ed87ac8c8ecb5c6.
  1844  //
  1845  // Solidity: event LogAddAuth(address indexed auth, uint256 timestamp)
  1846  func (_Anyerc20 *Anyerc20Filterer) ParseLogAddAuth(log types.Log) (*Anyerc20LogAddAuth, error) {
  1847  	event := new(Anyerc20LogAddAuth)
  1848  	if err := _Anyerc20.contract.UnpackLog(event, "LogAddAuth", log); err != nil {
  1849  		return nil, err
  1850  	}
  1851  	event.Raw = log
  1852  	return event, nil
  1853  }
  1854  
  1855  // Anyerc20LogChangeMPCOwnerIterator is returned from FilterLogChangeMPCOwner and is used to iterate over the raw logs and unpacked data for LogChangeMPCOwner events raised by the Anyerc20 contract.
  1856  type Anyerc20LogChangeMPCOwnerIterator struct {
  1857  	Event *Anyerc20LogChangeMPCOwner // Event containing the contract specifics and raw log
  1858  
  1859  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1860  	event    string              // Event name to use for unpacking event data
  1861  
  1862  	logs chan types.Log        // Log channel receiving the found contract events
  1863  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1864  	done bool                  // Whether the subscription completed delivering logs
  1865  	fail error                 // Occurred error to stop iteration
  1866  }
  1867  
  1868  // Next advances the iterator to the subsequent event, returning whether there
  1869  // are any more events found. In case of a retrieval or parsing error, false is
  1870  // returned and Error() can be queried for the exact failure.
  1871  func (it *Anyerc20LogChangeMPCOwnerIterator) Next() bool {
  1872  	// If the iterator failed, stop iterating
  1873  	if it.fail != nil {
  1874  		return false
  1875  	}
  1876  	// If the iterator completed, deliver directly whatever's available
  1877  	if it.done {
  1878  		select {
  1879  		case log := <-it.logs:
  1880  			it.Event = new(Anyerc20LogChangeMPCOwner)
  1881  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1882  				it.fail = err
  1883  				return false
  1884  			}
  1885  			it.Event.Raw = log
  1886  			return true
  1887  
  1888  		default:
  1889  			return false
  1890  		}
  1891  	}
  1892  	// Iterator still in progress, wait for either a data or an error event
  1893  	select {
  1894  	case log := <-it.logs:
  1895  		it.Event = new(Anyerc20LogChangeMPCOwner)
  1896  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1897  			it.fail = err
  1898  			return false
  1899  		}
  1900  		it.Event.Raw = log
  1901  		return true
  1902  
  1903  	case err := <-it.sub.Err():
  1904  		it.done = true
  1905  		it.fail = err
  1906  		return it.Next()
  1907  	}
  1908  }
  1909  
  1910  // Error returns any retrieval or parsing error occurred during filtering.
  1911  func (it *Anyerc20LogChangeMPCOwnerIterator) Error() error {
  1912  	return it.fail
  1913  }
  1914  
  1915  // Close terminates the iteration process, releasing any pending underlying
  1916  // resources.
  1917  func (it *Anyerc20LogChangeMPCOwnerIterator) Close() error {
  1918  	it.sub.Unsubscribe()
  1919  	return nil
  1920  }
  1921  
  1922  // Anyerc20LogChangeMPCOwner represents a LogChangeMPCOwner event raised by the Anyerc20 contract.
  1923  type Anyerc20LogChangeMPCOwner struct {
  1924  	OldOwner        common.Address
  1925  	NewOwner        common.Address
  1926  	EffectiveHeight *big.Int
  1927  	Raw             types.Log // Blockchain specific contextual infos
  1928  }
  1929  
  1930  // FilterLogChangeMPCOwner is a free log retrieval operation binding the contract event 0x1d065115f314fb9bad9557bd5460b9e3c66f7223b1dd04e73e828f0bb5afe89f.
  1931  //
  1932  // Solidity: event LogChangeMPCOwner(address indexed oldOwner, address indexed newOwner, uint256 indexed effectiveHeight)
  1933  func (_Anyerc20 *Anyerc20Filterer) FilterLogChangeMPCOwner(opts *bind.FilterOpts, oldOwner []common.Address, newOwner []common.Address, effectiveHeight []*big.Int) (*Anyerc20LogChangeMPCOwnerIterator, error) {
  1934  
  1935  	var oldOwnerRule []interface{}
  1936  	for _, oldOwnerItem := range oldOwner {
  1937  		oldOwnerRule = append(oldOwnerRule, oldOwnerItem)
  1938  	}
  1939  	var newOwnerRule []interface{}
  1940  	for _, newOwnerItem := range newOwner {
  1941  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  1942  	}
  1943  	var effectiveHeightRule []interface{}
  1944  	for _, effectiveHeightItem := range effectiveHeight {
  1945  		effectiveHeightRule = append(effectiveHeightRule, effectiveHeightItem)
  1946  	}
  1947  
  1948  	logs, sub, err := _Anyerc20.contract.FilterLogs(opts, "LogChangeMPCOwner", oldOwnerRule, newOwnerRule, effectiveHeightRule)
  1949  	if err != nil {
  1950  		return nil, err
  1951  	}
  1952  	return &Anyerc20LogChangeMPCOwnerIterator{contract: _Anyerc20.contract, event: "LogChangeMPCOwner", logs: logs, sub: sub}, nil
  1953  }
  1954  
  1955  // WatchLogChangeMPCOwner is a free log subscription operation binding the contract event 0x1d065115f314fb9bad9557bd5460b9e3c66f7223b1dd04e73e828f0bb5afe89f.
  1956  //
  1957  // Solidity: event LogChangeMPCOwner(address indexed oldOwner, address indexed newOwner, uint256 indexed effectiveHeight)
  1958  func (_Anyerc20 *Anyerc20Filterer) WatchLogChangeMPCOwner(opts *bind.WatchOpts, sink chan<- *Anyerc20LogChangeMPCOwner, oldOwner []common.Address, newOwner []common.Address, effectiveHeight []*big.Int) (event.Subscription, error) {
  1959  
  1960  	var oldOwnerRule []interface{}
  1961  	for _, oldOwnerItem := range oldOwner {
  1962  		oldOwnerRule = append(oldOwnerRule, oldOwnerItem)
  1963  	}
  1964  	var newOwnerRule []interface{}
  1965  	for _, newOwnerItem := range newOwner {
  1966  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  1967  	}
  1968  	var effectiveHeightRule []interface{}
  1969  	for _, effectiveHeightItem := range effectiveHeight {
  1970  		effectiveHeightRule = append(effectiveHeightRule, effectiveHeightItem)
  1971  	}
  1972  
  1973  	logs, sub, err := _Anyerc20.contract.WatchLogs(opts, "LogChangeMPCOwner", oldOwnerRule, newOwnerRule, effectiveHeightRule)
  1974  	if err != nil {
  1975  		return nil, err
  1976  	}
  1977  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1978  		defer sub.Unsubscribe()
  1979  		for {
  1980  			select {
  1981  			case log := <-logs:
  1982  				// New log arrived, parse the event and forward to the user
  1983  				event := new(Anyerc20LogChangeMPCOwner)
  1984  				if err := _Anyerc20.contract.UnpackLog(event, "LogChangeMPCOwner", log); err != nil {
  1985  					return err
  1986  				}
  1987  				event.Raw = log
  1988  
  1989  				select {
  1990  				case sink <- event:
  1991  				case err := <-sub.Err():
  1992  					return err
  1993  				case <-quit:
  1994  					return nil
  1995  				}
  1996  			case err := <-sub.Err():
  1997  				return err
  1998  			case <-quit:
  1999  				return nil
  2000  			}
  2001  		}
  2002  	}), nil
  2003  }
  2004  
  2005  // ParseLogChangeMPCOwner is a log parse operation binding the contract event 0x1d065115f314fb9bad9557bd5460b9e3c66f7223b1dd04e73e828f0bb5afe89f.
  2006  //
  2007  // Solidity: event LogChangeMPCOwner(address indexed oldOwner, address indexed newOwner, uint256 indexed effectiveHeight)
  2008  func (_Anyerc20 *Anyerc20Filterer) ParseLogChangeMPCOwner(log types.Log) (*Anyerc20LogChangeMPCOwner, error) {
  2009  	event := new(Anyerc20LogChangeMPCOwner)
  2010  	if err := _Anyerc20.contract.UnpackLog(event, "LogChangeMPCOwner", log); err != nil {
  2011  		return nil, err
  2012  	}
  2013  	event.Raw = log
  2014  	return event, nil
  2015  }
  2016  
  2017  // Anyerc20LogChangeVaultIterator is returned from FilterLogChangeVault and is used to iterate over the raw logs and unpacked data for LogChangeVault events raised by the Anyerc20 contract.
  2018  type Anyerc20LogChangeVaultIterator struct {
  2019  	Event *Anyerc20LogChangeVault // Event containing the contract specifics and raw log
  2020  
  2021  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2022  	event    string              // Event name to use for unpacking event data
  2023  
  2024  	logs chan types.Log        // Log channel receiving the found contract events
  2025  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2026  	done bool                  // Whether the subscription completed delivering logs
  2027  	fail error                 // Occurred error to stop iteration
  2028  }
  2029  
  2030  // Next advances the iterator to the subsequent event, returning whether there
  2031  // are any more events found. In case of a retrieval or parsing error, false is
  2032  // returned and Error() can be queried for the exact failure.
  2033  func (it *Anyerc20LogChangeVaultIterator) Next() bool {
  2034  	// If the iterator failed, stop iterating
  2035  	if it.fail != nil {
  2036  		return false
  2037  	}
  2038  	// If the iterator completed, deliver directly whatever's available
  2039  	if it.done {
  2040  		select {
  2041  		case log := <-it.logs:
  2042  			it.Event = new(Anyerc20LogChangeVault)
  2043  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2044  				it.fail = err
  2045  				return false
  2046  			}
  2047  			it.Event.Raw = log
  2048  			return true
  2049  
  2050  		default:
  2051  			return false
  2052  		}
  2053  	}
  2054  	// Iterator still in progress, wait for either a data or an error event
  2055  	select {
  2056  	case log := <-it.logs:
  2057  		it.Event = new(Anyerc20LogChangeVault)
  2058  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2059  			it.fail = err
  2060  			return false
  2061  		}
  2062  		it.Event.Raw = log
  2063  		return true
  2064  
  2065  	case err := <-it.sub.Err():
  2066  		it.done = true
  2067  		it.fail = err
  2068  		return it.Next()
  2069  	}
  2070  }
  2071  
  2072  // Error returns any retrieval or parsing error occurred during filtering.
  2073  func (it *Anyerc20LogChangeVaultIterator) Error() error {
  2074  	return it.fail
  2075  }
  2076  
  2077  // Close terminates the iteration process, releasing any pending underlying
  2078  // resources.
  2079  func (it *Anyerc20LogChangeVaultIterator) Close() error {
  2080  	it.sub.Unsubscribe()
  2081  	return nil
  2082  }
  2083  
  2084  // Anyerc20LogChangeVault represents a LogChangeVault event raised by the Anyerc20 contract.
  2085  type Anyerc20LogChangeVault struct {
  2086  	OldVault      common.Address
  2087  	NewVault      common.Address
  2088  	EffectiveTime *big.Int
  2089  	Raw           types.Log // Blockchain specific contextual infos
  2090  }
  2091  
  2092  // FilterLogChangeVault is a free log retrieval operation binding the contract event 0x5c364079e7102c27c608f9b237c735a1b7bfa0b67f27c2ad26bad447bf965cac.
  2093  //
  2094  // Solidity: event LogChangeVault(address indexed oldVault, address indexed newVault, uint256 indexed effectiveTime)
  2095  func (_Anyerc20 *Anyerc20Filterer) FilterLogChangeVault(opts *bind.FilterOpts, oldVault []common.Address, newVault []common.Address, effectiveTime []*big.Int) (*Anyerc20LogChangeVaultIterator, error) {
  2096  
  2097  	var oldVaultRule []interface{}
  2098  	for _, oldVaultItem := range oldVault {
  2099  		oldVaultRule = append(oldVaultRule, oldVaultItem)
  2100  	}
  2101  	var newVaultRule []interface{}
  2102  	for _, newVaultItem := range newVault {
  2103  		newVaultRule = append(newVaultRule, newVaultItem)
  2104  	}
  2105  	var effectiveTimeRule []interface{}
  2106  	for _, effectiveTimeItem := range effectiveTime {
  2107  		effectiveTimeRule = append(effectiveTimeRule, effectiveTimeItem)
  2108  	}
  2109  
  2110  	logs, sub, err := _Anyerc20.contract.FilterLogs(opts, "LogChangeVault", oldVaultRule, newVaultRule, effectiveTimeRule)
  2111  	if err != nil {
  2112  		return nil, err
  2113  	}
  2114  	return &Anyerc20LogChangeVaultIterator{contract: _Anyerc20.contract, event: "LogChangeVault", logs: logs, sub: sub}, nil
  2115  }
  2116  
  2117  // WatchLogChangeVault is a free log subscription operation binding the contract event 0x5c364079e7102c27c608f9b237c735a1b7bfa0b67f27c2ad26bad447bf965cac.
  2118  //
  2119  // Solidity: event LogChangeVault(address indexed oldVault, address indexed newVault, uint256 indexed effectiveTime)
  2120  func (_Anyerc20 *Anyerc20Filterer) WatchLogChangeVault(opts *bind.WatchOpts, sink chan<- *Anyerc20LogChangeVault, oldVault []common.Address, newVault []common.Address, effectiveTime []*big.Int) (event.Subscription, error) {
  2121  
  2122  	var oldVaultRule []interface{}
  2123  	for _, oldVaultItem := range oldVault {
  2124  		oldVaultRule = append(oldVaultRule, oldVaultItem)
  2125  	}
  2126  	var newVaultRule []interface{}
  2127  	for _, newVaultItem := range newVault {
  2128  		newVaultRule = append(newVaultRule, newVaultItem)
  2129  	}
  2130  	var effectiveTimeRule []interface{}
  2131  	for _, effectiveTimeItem := range effectiveTime {
  2132  		effectiveTimeRule = append(effectiveTimeRule, effectiveTimeItem)
  2133  	}
  2134  
  2135  	logs, sub, err := _Anyerc20.contract.WatchLogs(opts, "LogChangeVault", oldVaultRule, newVaultRule, effectiveTimeRule)
  2136  	if err != nil {
  2137  		return nil, err
  2138  	}
  2139  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2140  		defer sub.Unsubscribe()
  2141  		for {
  2142  			select {
  2143  			case log := <-logs:
  2144  				// New log arrived, parse the event and forward to the user
  2145  				event := new(Anyerc20LogChangeVault)
  2146  				if err := _Anyerc20.contract.UnpackLog(event, "LogChangeVault", log); err != nil {
  2147  					return err
  2148  				}
  2149  				event.Raw = log
  2150  
  2151  				select {
  2152  				case sink <- event:
  2153  				case err := <-sub.Err():
  2154  					return err
  2155  				case <-quit:
  2156  					return nil
  2157  				}
  2158  			case err := <-sub.Err():
  2159  				return err
  2160  			case <-quit:
  2161  				return nil
  2162  			}
  2163  		}
  2164  	}), nil
  2165  }
  2166  
  2167  // ParseLogChangeVault is a log parse operation binding the contract event 0x5c364079e7102c27c608f9b237c735a1b7bfa0b67f27c2ad26bad447bf965cac.
  2168  //
  2169  // Solidity: event LogChangeVault(address indexed oldVault, address indexed newVault, uint256 indexed effectiveTime)
  2170  func (_Anyerc20 *Anyerc20Filterer) ParseLogChangeVault(log types.Log) (*Anyerc20LogChangeVault, error) {
  2171  	event := new(Anyerc20LogChangeVault)
  2172  	if err := _Anyerc20.contract.UnpackLog(event, "LogChangeVault", log); err != nil {
  2173  		return nil, err
  2174  	}
  2175  	event.Raw = log
  2176  	return event, nil
  2177  }
  2178  
  2179  // Anyerc20LogSwapinIterator is returned from FilterLogSwapin and is used to iterate over the raw logs and unpacked data for LogSwapin events raised by the Anyerc20 contract.
  2180  type Anyerc20LogSwapinIterator struct {
  2181  	Event *Anyerc20LogSwapin // Event containing the contract specifics and raw log
  2182  
  2183  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2184  	event    string              // Event name to use for unpacking event data
  2185  
  2186  	logs chan types.Log        // Log channel receiving the found contract events
  2187  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2188  	done bool                  // Whether the subscription completed delivering logs
  2189  	fail error                 // Occurred error to stop iteration
  2190  }
  2191  
  2192  // Next advances the iterator to the subsequent event, returning whether there
  2193  // are any more events found. In case of a retrieval or parsing error, false is
  2194  // returned and Error() can be queried for the exact failure.
  2195  func (it *Anyerc20LogSwapinIterator) Next() bool {
  2196  	// If the iterator failed, stop iterating
  2197  	if it.fail != nil {
  2198  		return false
  2199  	}
  2200  	// If the iterator completed, deliver directly whatever's available
  2201  	if it.done {
  2202  		select {
  2203  		case log := <-it.logs:
  2204  			it.Event = new(Anyerc20LogSwapin)
  2205  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2206  				it.fail = err
  2207  				return false
  2208  			}
  2209  			it.Event.Raw = log
  2210  			return true
  2211  
  2212  		default:
  2213  			return false
  2214  		}
  2215  	}
  2216  	// Iterator still in progress, wait for either a data or an error event
  2217  	select {
  2218  	case log := <-it.logs:
  2219  		it.Event = new(Anyerc20LogSwapin)
  2220  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2221  			it.fail = err
  2222  			return false
  2223  		}
  2224  		it.Event.Raw = log
  2225  		return true
  2226  
  2227  	case err := <-it.sub.Err():
  2228  		it.done = true
  2229  		it.fail = err
  2230  		return it.Next()
  2231  	}
  2232  }
  2233  
  2234  // Error returns any retrieval or parsing error occurred during filtering.
  2235  func (it *Anyerc20LogSwapinIterator) Error() error {
  2236  	return it.fail
  2237  }
  2238  
  2239  // Close terminates the iteration process, releasing any pending underlying
  2240  // resources.
  2241  func (it *Anyerc20LogSwapinIterator) Close() error {
  2242  	it.sub.Unsubscribe()
  2243  	return nil
  2244  }
  2245  
  2246  // Anyerc20LogSwapin represents a LogSwapin event raised by the Anyerc20 contract.
  2247  type Anyerc20LogSwapin struct {
  2248  	Txhash  [32]byte
  2249  	Account common.Address
  2250  	Amount  *big.Int
  2251  	Raw     types.Log // Blockchain specific contextual infos
  2252  }
  2253  
  2254  // FilterLogSwapin is a free log retrieval operation binding the contract event 0x05d0634fe981be85c22e2942a880821b70095d84e152c3ea3c17a4e4250d9d61.
  2255  //
  2256  // Solidity: event LogSwapin(bytes32 indexed txhash, address indexed account, uint256 amount)
  2257  func (_Anyerc20 *Anyerc20Filterer) FilterLogSwapin(opts *bind.FilterOpts, txhash [][32]byte, account []common.Address) (*Anyerc20LogSwapinIterator, error) {
  2258  
  2259  	var txhashRule []interface{}
  2260  	for _, txhashItem := range txhash {
  2261  		txhashRule = append(txhashRule, txhashItem)
  2262  	}
  2263  	var accountRule []interface{}
  2264  	for _, accountItem := range account {
  2265  		accountRule = append(accountRule, accountItem)
  2266  	}
  2267  
  2268  	logs, sub, err := _Anyerc20.contract.FilterLogs(opts, "LogSwapin", txhashRule, accountRule)
  2269  	if err != nil {
  2270  		return nil, err
  2271  	}
  2272  	return &Anyerc20LogSwapinIterator{contract: _Anyerc20.contract, event: "LogSwapin", logs: logs, sub: sub}, nil
  2273  }
  2274  
  2275  // WatchLogSwapin is a free log subscription operation binding the contract event 0x05d0634fe981be85c22e2942a880821b70095d84e152c3ea3c17a4e4250d9d61.
  2276  //
  2277  // Solidity: event LogSwapin(bytes32 indexed txhash, address indexed account, uint256 amount)
  2278  func (_Anyerc20 *Anyerc20Filterer) WatchLogSwapin(opts *bind.WatchOpts, sink chan<- *Anyerc20LogSwapin, txhash [][32]byte, account []common.Address) (event.Subscription, error) {
  2279  
  2280  	var txhashRule []interface{}
  2281  	for _, txhashItem := range txhash {
  2282  		txhashRule = append(txhashRule, txhashItem)
  2283  	}
  2284  	var accountRule []interface{}
  2285  	for _, accountItem := range account {
  2286  		accountRule = append(accountRule, accountItem)
  2287  	}
  2288  
  2289  	logs, sub, err := _Anyerc20.contract.WatchLogs(opts, "LogSwapin", txhashRule, accountRule)
  2290  	if err != nil {
  2291  		return nil, err
  2292  	}
  2293  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2294  		defer sub.Unsubscribe()
  2295  		for {
  2296  			select {
  2297  			case log := <-logs:
  2298  				// New log arrived, parse the event and forward to the user
  2299  				event := new(Anyerc20LogSwapin)
  2300  				if err := _Anyerc20.contract.UnpackLog(event, "LogSwapin", log); err != nil {
  2301  					return err
  2302  				}
  2303  				event.Raw = log
  2304  
  2305  				select {
  2306  				case sink <- event:
  2307  				case err := <-sub.Err():
  2308  					return err
  2309  				case <-quit:
  2310  					return nil
  2311  				}
  2312  			case err := <-sub.Err():
  2313  				return err
  2314  			case <-quit:
  2315  				return nil
  2316  			}
  2317  		}
  2318  	}), nil
  2319  }
  2320  
  2321  // ParseLogSwapin is a log parse operation binding the contract event 0x05d0634fe981be85c22e2942a880821b70095d84e152c3ea3c17a4e4250d9d61.
  2322  //
  2323  // Solidity: event LogSwapin(bytes32 indexed txhash, address indexed account, uint256 amount)
  2324  func (_Anyerc20 *Anyerc20Filterer) ParseLogSwapin(log types.Log) (*Anyerc20LogSwapin, error) {
  2325  	event := new(Anyerc20LogSwapin)
  2326  	if err := _Anyerc20.contract.UnpackLog(event, "LogSwapin", log); err != nil {
  2327  		return nil, err
  2328  	}
  2329  	event.Raw = log
  2330  	return event, nil
  2331  }
  2332  
  2333  // Anyerc20LogSwapoutIterator is returned from FilterLogSwapout and is used to iterate over the raw logs and unpacked data for LogSwapout events raised by the Anyerc20 contract.
  2334  type Anyerc20LogSwapoutIterator struct {
  2335  	Event *Anyerc20LogSwapout // Event containing the contract specifics and raw log
  2336  
  2337  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2338  	event    string              // Event name to use for unpacking event data
  2339  
  2340  	logs chan types.Log        // Log channel receiving the found contract events
  2341  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2342  	done bool                  // Whether the subscription completed delivering logs
  2343  	fail error                 // Occurred error to stop iteration
  2344  }
  2345  
  2346  // Next advances the iterator to the subsequent event, returning whether there
  2347  // are any more events found. In case of a retrieval or parsing error, false is
  2348  // returned and Error() can be queried for the exact failure.
  2349  func (it *Anyerc20LogSwapoutIterator) Next() bool {
  2350  	// If the iterator failed, stop iterating
  2351  	if it.fail != nil {
  2352  		return false
  2353  	}
  2354  	// If the iterator completed, deliver directly whatever's available
  2355  	if it.done {
  2356  		select {
  2357  		case log := <-it.logs:
  2358  			it.Event = new(Anyerc20LogSwapout)
  2359  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2360  				it.fail = err
  2361  				return false
  2362  			}
  2363  			it.Event.Raw = log
  2364  			return true
  2365  
  2366  		default:
  2367  			return false
  2368  		}
  2369  	}
  2370  	// Iterator still in progress, wait for either a data or an error event
  2371  	select {
  2372  	case log := <-it.logs:
  2373  		it.Event = new(Anyerc20LogSwapout)
  2374  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2375  			it.fail = err
  2376  			return false
  2377  		}
  2378  		it.Event.Raw = log
  2379  		return true
  2380  
  2381  	case err := <-it.sub.Err():
  2382  		it.done = true
  2383  		it.fail = err
  2384  		return it.Next()
  2385  	}
  2386  }
  2387  
  2388  // Error returns any retrieval or parsing error occurred during filtering.
  2389  func (it *Anyerc20LogSwapoutIterator) Error() error {
  2390  	return it.fail
  2391  }
  2392  
  2393  // Close terminates the iteration process, releasing any pending underlying
  2394  // resources.
  2395  func (it *Anyerc20LogSwapoutIterator) Close() error {
  2396  	it.sub.Unsubscribe()
  2397  	return nil
  2398  }
  2399  
  2400  // Anyerc20LogSwapout represents a LogSwapout event raised by the Anyerc20 contract.
  2401  type Anyerc20LogSwapout struct {
  2402  	Account  common.Address
  2403  	Bindaddr common.Address
  2404  	Amount   *big.Int
  2405  	Raw      types.Log // Blockchain specific contextual infos
  2406  }
  2407  
  2408  // FilterLogSwapout is a free log retrieval operation binding the contract event 0x6b616089d04950dc06c45c6dd787d657980543f89651aec47924752c7d16c888.
  2409  //
  2410  // Solidity: event LogSwapout(address indexed account, address indexed bindaddr, uint256 amount)
  2411  func (_Anyerc20 *Anyerc20Filterer) FilterLogSwapout(opts *bind.FilterOpts, account []common.Address, bindaddr []common.Address) (*Anyerc20LogSwapoutIterator, error) {
  2412  
  2413  	var accountRule []interface{}
  2414  	for _, accountItem := range account {
  2415  		accountRule = append(accountRule, accountItem)
  2416  	}
  2417  	var bindaddrRule []interface{}
  2418  	for _, bindaddrItem := range bindaddr {
  2419  		bindaddrRule = append(bindaddrRule, bindaddrItem)
  2420  	}
  2421  
  2422  	logs, sub, err := _Anyerc20.contract.FilterLogs(opts, "LogSwapout", accountRule, bindaddrRule)
  2423  	if err != nil {
  2424  		return nil, err
  2425  	}
  2426  	return &Anyerc20LogSwapoutIterator{contract: _Anyerc20.contract, event: "LogSwapout", logs: logs, sub: sub}, nil
  2427  }
  2428  
  2429  // WatchLogSwapout is a free log subscription operation binding the contract event 0x6b616089d04950dc06c45c6dd787d657980543f89651aec47924752c7d16c888.
  2430  //
  2431  // Solidity: event LogSwapout(address indexed account, address indexed bindaddr, uint256 amount)
  2432  func (_Anyerc20 *Anyerc20Filterer) WatchLogSwapout(opts *bind.WatchOpts, sink chan<- *Anyerc20LogSwapout, account []common.Address, bindaddr []common.Address) (event.Subscription, error) {
  2433  
  2434  	var accountRule []interface{}
  2435  	for _, accountItem := range account {
  2436  		accountRule = append(accountRule, accountItem)
  2437  	}
  2438  	var bindaddrRule []interface{}
  2439  	for _, bindaddrItem := range bindaddr {
  2440  		bindaddrRule = append(bindaddrRule, bindaddrItem)
  2441  	}
  2442  
  2443  	logs, sub, err := _Anyerc20.contract.WatchLogs(opts, "LogSwapout", accountRule, bindaddrRule)
  2444  	if err != nil {
  2445  		return nil, err
  2446  	}
  2447  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2448  		defer sub.Unsubscribe()
  2449  		for {
  2450  			select {
  2451  			case log := <-logs:
  2452  				// New log arrived, parse the event and forward to the user
  2453  				event := new(Anyerc20LogSwapout)
  2454  				if err := _Anyerc20.contract.UnpackLog(event, "LogSwapout", log); err != nil {
  2455  					return err
  2456  				}
  2457  				event.Raw = log
  2458  
  2459  				select {
  2460  				case sink <- event:
  2461  				case err := <-sub.Err():
  2462  					return err
  2463  				case <-quit:
  2464  					return nil
  2465  				}
  2466  			case err := <-sub.Err():
  2467  				return err
  2468  			case <-quit:
  2469  				return nil
  2470  			}
  2471  		}
  2472  	}), nil
  2473  }
  2474  
  2475  // ParseLogSwapout is a log parse operation binding the contract event 0x6b616089d04950dc06c45c6dd787d657980543f89651aec47924752c7d16c888.
  2476  //
  2477  // Solidity: event LogSwapout(address indexed account, address indexed bindaddr, uint256 amount)
  2478  func (_Anyerc20 *Anyerc20Filterer) ParseLogSwapout(log types.Log) (*Anyerc20LogSwapout, error) {
  2479  	event := new(Anyerc20LogSwapout)
  2480  	if err := _Anyerc20.contract.UnpackLog(event, "LogSwapout", log); err != nil {
  2481  		return nil, err
  2482  	}
  2483  	event.Raw = log
  2484  	return event, nil
  2485  }
  2486  
  2487  // Anyerc20TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the Anyerc20 contract.
  2488  type Anyerc20TransferIterator struct {
  2489  	Event *Anyerc20Transfer // Event containing the contract specifics and raw log
  2490  
  2491  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2492  	event    string              // Event name to use for unpacking event data
  2493  
  2494  	logs chan types.Log        // Log channel receiving the found contract events
  2495  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2496  	done bool                  // Whether the subscription completed delivering logs
  2497  	fail error                 // Occurred error to stop iteration
  2498  }
  2499  
  2500  // Next advances the iterator to the subsequent event, returning whether there
  2501  // are any more events found. In case of a retrieval or parsing error, false is
  2502  // returned and Error() can be queried for the exact failure.
  2503  func (it *Anyerc20TransferIterator) Next() bool {
  2504  	// If the iterator failed, stop iterating
  2505  	if it.fail != nil {
  2506  		return false
  2507  	}
  2508  	// If the iterator completed, deliver directly whatever's available
  2509  	if it.done {
  2510  		select {
  2511  		case log := <-it.logs:
  2512  			it.Event = new(Anyerc20Transfer)
  2513  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2514  				it.fail = err
  2515  				return false
  2516  			}
  2517  			it.Event.Raw = log
  2518  			return true
  2519  
  2520  		default:
  2521  			return false
  2522  		}
  2523  	}
  2524  	// Iterator still in progress, wait for either a data or an error event
  2525  	select {
  2526  	case log := <-it.logs:
  2527  		it.Event = new(Anyerc20Transfer)
  2528  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2529  			it.fail = err
  2530  			return false
  2531  		}
  2532  		it.Event.Raw = log
  2533  		return true
  2534  
  2535  	case err := <-it.sub.Err():
  2536  		it.done = true
  2537  		it.fail = err
  2538  		return it.Next()
  2539  	}
  2540  }
  2541  
  2542  // Error returns any retrieval or parsing error occurred during filtering.
  2543  func (it *Anyerc20TransferIterator) Error() error {
  2544  	return it.fail
  2545  }
  2546  
  2547  // Close terminates the iteration process, releasing any pending underlying
  2548  // resources.
  2549  func (it *Anyerc20TransferIterator) Close() error {
  2550  	it.sub.Unsubscribe()
  2551  	return nil
  2552  }
  2553  
  2554  // Anyerc20Transfer represents a Transfer event raised by the Anyerc20 contract.
  2555  type Anyerc20Transfer struct {
  2556  	From  common.Address
  2557  	To    common.Address
  2558  	Value *big.Int
  2559  	Raw   types.Log // Blockchain specific contextual infos
  2560  }
  2561  
  2562  // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  2563  //
  2564  // Solidity: event Transfer(address indexed from, address indexed to, uint256 value)
  2565  func (_Anyerc20 *Anyerc20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*Anyerc20TransferIterator, error) {
  2566  
  2567  	var fromRule []interface{}
  2568  	for _, fromItem := range from {
  2569  		fromRule = append(fromRule, fromItem)
  2570  	}
  2571  	var toRule []interface{}
  2572  	for _, toItem := range to {
  2573  		toRule = append(toRule, toItem)
  2574  	}
  2575  
  2576  	logs, sub, err := _Anyerc20.contract.FilterLogs(opts, "Transfer", fromRule, toRule)
  2577  	if err != nil {
  2578  		return nil, err
  2579  	}
  2580  	return &Anyerc20TransferIterator{contract: _Anyerc20.contract, event: "Transfer", logs: logs, sub: sub}, nil
  2581  }
  2582  
  2583  // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  2584  //
  2585  // Solidity: event Transfer(address indexed from, address indexed to, uint256 value)
  2586  func (_Anyerc20 *Anyerc20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *Anyerc20Transfer, from []common.Address, to []common.Address) (event.Subscription, error) {
  2587  
  2588  	var fromRule []interface{}
  2589  	for _, fromItem := range from {
  2590  		fromRule = append(fromRule, fromItem)
  2591  	}
  2592  	var toRule []interface{}
  2593  	for _, toItem := range to {
  2594  		toRule = append(toRule, toItem)
  2595  	}
  2596  
  2597  	logs, sub, err := _Anyerc20.contract.WatchLogs(opts, "Transfer", fromRule, toRule)
  2598  	if err != nil {
  2599  		return nil, err
  2600  	}
  2601  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2602  		defer sub.Unsubscribe()
  2603  		for {
  2604  			select {
  2605  			case log := <-logs:
  2606  				// New log arrived, parse the event and forward to the user
  2607  				event := new(Anyerc20Transfer)
  2608  				if err := _Anyerc20.contract.UnpackLog(event, "Transfer", log); err != nil {
  2609  					return err
  2610  				}
  2611  				event.Raw = log
  2612  
  2613  				select {
  2614  				case sink <- event:
  2615  				case err := <-sub.Err():
  2616  					return err
  2617  				case <-quit:
  2618  					return nil
  2619  				}
  2620  			case err := <-sub.Err():
  2621  				return err
  2622  			case <-quit:
  2623  				return nil
  2624  			}
  2625  		}
  2626  	}), nil
  2627  }
  2628  
  2629  // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  2630  //
  2631  // Solidity: event Transfer(address indexed from, address indexed to, uint256 value)
  2632  func (_Anyerc20 *Anyerc20Filterer) ParseTransfer(log types.Log) (*Anyerc20Transfer, error) {
  2633  	event := new(Anyerc20Transfer)
  2634  	if err := _Anyerc20.contract.UnpackLog(event, "Transfer", log); err != nil {
  2635  		return nil, err
  2636  	}
  2637  	event.Raw = log
  2638  	return event, nil
  2639  }