github.com/0xPolygon/supernets2-node@v0.0.0-20230711153321-2fe574524eaa/etherman/smartcontracts/matic/matic.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 matic
     5  
     6  import (
     7  	"errors"
     8  	"math/big"
     9  	"strings"
    10  
    11  	ethereum "github.com/ethereum/go-ethereum"
    12  	"github.com/ethereum/go-ethereum/accounts/abi"
    13  	"github.com/ethereum/go-ethereum/accounts/abi/bind"
    14  	"github.com/ethereum/go-ethereum/common"
    15  	"github.com/ethereum/go-ethereum/core/types"
    16  	"github.com/ethereum/go-ethereum/event"
    17  )
    18  
    19  // Reference imports to suppress errors if they are not otherwise used.
    20  var (
    21  	_ = errors.New
    22  	_ = big.NewInt
    23  	_ = strings.NewReader
    24  	_ = ethereum.NotFound
    25  	_ = bind.Bind
    26  	_ = common.Big1
    27  	_ = types.BloomLookup
    28  	_ = event.NewSubscription
    29  	_ = abi.ConvertType
    30  )
    31  
    32  // MaticMetaData contains all meta data concerning the Matic contract.
    33  var MaticMetaData = &bind.MetaData{
    34  	ABI: "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPauser\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renouncePauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addPauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"symbol\",\"type\":\"string\"},{\"name\":\"decimals\",\"type\":\"uint8\"},{\"name\":\"totalSupply\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}]",
    35  	Bin: "0x60806040523480156200001157600080fd5b5060405162001d7e38038062001d7e833981018060405260808110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b828101905060208101848111156200006757600080fd5b81518560018202830111640100000000821117156200008557600080fd5b50509291906020018051640100000000811115620000a257600080fd5b82810190506020810184811115620000b957600080fd5b8151856001820283011164010000000082111715620000d757600080fd5b505092919060200180519060200190929190805190602001909291905050508383836200011333620001a3640100000000026401000000009004565b6000600460006101000a81548160ff021916908315150217905550826005908051906020019062000146929190620004fc565b5081600690805190602001906200015f929190620004fc565b5080600760006101000a81548160ff021916908360ff1602179055505050506200019933826200020d640100000000026401000000009004565b50505050620005ab565b620001c78160036200038264010000000002620016e7179091906401000000009004565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156200024a57600080fd5b6200026f81600254620004456401000000000262001617179091906401000000009004565b600281905550620002d6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620004456401000000000262001617179091906401000000009004565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515620003bf57600080fd5b620003da828262000467640100000000026401000000009004565b151515620003e757600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008082840190508381101515156200045d57600080fd5b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515620004a557600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200053f57805160ff191683800117855562000570565b8280016001018555821562000570579182015b828111156200056f57825182559160200191906001019062000552565b5b5090506200057f919062000583565b5090565b620005a891905b80821115620005a45760008160009055506001016200058a565b5090565b90565b6117c380620005bb6000396000f3fe608060405234801561001057600080fd5b5060043610610128576000357c0100000000000000000000000000000000000000000000000000000000900480635c975abb116100bf5780638456cb591161008e5780638456cb591461047257806395d89b411461047c578063a457c2d7146104ff578063a9059cbb14610565578063dd62ed3e146105cb57610128565b80635c975abb146103aa5780636ef8d66d146103cc57806370a08231146103d657806382dc1ec41461042e57610128565b8063313ce567116100fb578063313ce567146102ba57806339509351146102de5780633f4ba83a1461034457806346fbf68e1461034e57610128565b806306fdde031461012d578063095ea7b3146101b057806318160ddd1461021657806323b872dd14610234575b600080fd5b610135610643565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017557808201518184015260208101905061015a565b50505050905090810190601f1680156101a25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fc600480360360408110156101c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106e5565b604051808215151515815260200191505060405180910390f35b61021e610715565b6040518082815260200191505060405180910390f35b6102a06004803603606081101561024a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061071f565b604051808215151515815260200191505060405180910390f35b6102c2610751565b604051808260ff1660ff16815260200191505060405180910390f35b61032a600480360360408110156102f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610768565b604051808215151515815260200191505060405180910390f35b61034c610798565b005b6103906004803603602081101561036457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610847565b604051808215151515815260200191505060405180910390f35b6103b2610864565b604051808215151515815260200191505060405180910390f35b6103d461087b565b005b610418600480360360208110156103ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610886565b6040518082815260200191505060405180910390f35b6104706004803603602081101561044457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108ce565b005b61047a6108ee565b005b61048461099e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104c45780820151818401526020810190506104a9565b50505050905090810190601f1680156104f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61054b6004803603604081101561051557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a40565b604051808215151515815260200191505060405180910390f35b6105b16004803603604081101561057b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a70565b604051808215151515815260200191505060405180910390f35b61062d600480360360408110156105e157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aa0565b6040518082815260200191505060405180910390f35b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106db5780601f106106b0576101008083540402835291602001916106db565b820191906000526020600020905b8154815290600101906020018083116106be57829003601f168201915b5050505050905090565b6000600460009054906101000a900460ff1615151561070357600080fd5b61070d8383610b27565b905092915050565b6000600254905090565b6000600460009054906101000a900460ff1615151561073d57600080fd5b610748848484610c54565b90509392505050565b6000600760009054906101000a900460ff16905090565b6000600460009054906101000a900460ff1615151561078657600080fd5b6107908383610e5c565b905092915050565b6107a133610847565b15156107ac57600080fd5b600460009054906101000a900460ff1615156107c757600080fd5b6000600460006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600061085d82600361109390919063ffffffff16565b9050919050565b6000600460009054906101000a900460ff16905090565b61088433611127565b565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108d733610847565b15156108e257600080fd5b6108eb81611181565b50565b6108f733610847565b151561090257600080fd5b600460009054906101000a900460ff1615151561091e57600080fd5b6001600460006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a365780601f10610a0b57610100808354040283529160200191610a36565b820191906000526020600020905b815481529060010190602001808311610a1957829003601f168201915b5050505050905090565b6000600460009054906101000a900460ff16151515610a5e57600080fd5b610a6883836111db565b905092915050565b6000600460009054906101000a900460ff16151515610a8e57600080fd5b610a988383611412565b905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b6457600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000610ce582600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461142990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d7084848461144b565b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600190509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610e9957600080fd5b610f2882600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461161790919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156110d057600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61113b81600361163890919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b6111958160036116e790919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561121857600080fd5b6112a782600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461142990919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600061141f33848461144b565b6001905092915050565b600082821115151561143a57600080fd5b600082840390508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561148757600080fd5b6114d8816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461142990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061156b816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461161790919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600080828401905083811015151561162e57600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561167457600080fd5b61167e8282611093565b151561168957600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561172357600080fd5b61172d8282611093565b15151561173957600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fea165627a7a72305820879c414099176efffc035ea338d61756fed3939b69fd8b70a814591e4d5cfcb50029",
    36  }
    37  
    38  // MaticABI is the input ABI used to generate the binding from.
    39  // Deprecated: Use MaticMetaData.ABI instead.
    40  var MaticABI = MaticMetaData.ABI
    41  
    42  // MaticBin is the compiled bytecode used for deploying new contracts.
    43  // Deprecated: Use MaticMetaData.Bin instead.
    44  var MaticBin = MaticMetaData.Bin
    45  
    46  // DeployMatic deploys a new Ethereum contract, binding an instance of Matic to it.
    47  func DeployMatic(auth *bind.TransactOpts, backend bind.ContractBackend, name string, symbol string, decimals uint8, totalSupply *big.Int) (common.Address, *types.Transaction, *Matic, error) {
    48  	parsed, err := MaticMetaData.GetAbi()
    49  	if err != nil {
    50  		return common.Address{}, nil, nil, err
    51  	}
    52  	if parsed == nil {
    53  		return common.Address{}, nil, nil, errors.New("GetABI returned nil")
    54  	}
    55  
    56  	address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(MaticBin), backend, name, symbol, decimals, totalSupply)
    57  	if err != nil {
    58  		return common.Address{}, nil, nil, err
    59  	}
    60  	return address, tx, &Matic{MaticCaller: MaticCaller{contract: contract}, MaticTransactor: MaticTransactor{contract: contract}, MaticFilterer: MaticFilterer{contract: contract}}, nil
    61  }
    62  
    63  // Matic is an auto generated Go binding around an Ethereum contract.
    64  type Matic struct {
    65  	MaticCaller     // Read-only binding to the contract
    66  	MaticTransactor // Write-only binding to the contract
    67  	MaticFilterer   // Log filterer for contract events
    68  }
    69  
    70  // MaticCaller is an auto generated read-only Go binding around an Ethereum contract.
    71  type MaticCaller struct {
    72  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    73  }
    74  
    75  // MaticTransactor is an auto generated write-only Go binding around an Ethereum contract.
    76  type MaticTransactor struct {
    77  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    78  }
    79  
    80  // MaticFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    81  type MaticFilterer struct {
    82  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    83  }
    84  
    85  // MaticSession is an auto generated Go binding around an Ethereum contract,
    86  // with pre-set call and transact options.
    87  type MaticSession struct {
    88  	Contract     *Matic            // Generic contract binding to set the session for
    89  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    90  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    91  }
    92  
    93  // MaticCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    94  // with pre-set call options.
    95  type MaticCallerSession struct {
    96  	Contract *MaticCaller  // Generic contract caller binding to set the session for
    97  	CallOpts bind.CallOpts // Call options to use throughout this session
    98  }
    99  
   100  // MaticTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
   101  // with pre-set transact options.
   102  type MaticTransactorSession struct {
   103  	Contract     *MaticTransactor  // Generic contract transactor binding to set the session for
   104  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
   105  }
   106  
   107  // MaticRaw is an auto generated low-level Go binding around an Ethereum contract.
   108  type MaticRaw struct {
   109  	Contract *Matic // Generic contract binding to access the raw methods on
   110  }
   111  
   112  // MaticCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
   113  type MaticCallerRaw struct {
   114  	Contract *MaticCaller // Generic read-only contract binding to access the raw methods on
   115  }
   116  
   117  // MaticTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
   118  type MaticTransactorRaw struct {
   119  	Contract *MaticTransactor // Generic write-only contract binding to access the raw methods on
   120  }
   121  
   122  // NewMatic creates a new instance of Matic, bound to a specific deployed contract.
   123  func NewMatic(address common.Address, backend bind.ContractBackend) (*Matic, error) {
   124  	contract, err := bindMatic(address, backend, backend, backend)
   125  	if err != nil {
   126  		return nil, err
   127  	}
   128  	return &Matic{MaticCaller: MaticCaller{contract: contract}, MaticTransactor: MaticTransactor{contract: contract}, MaticFilterer: MaticFilterer{contract: contract}}, nil
   129  }
   130  
   131  // NewMaticCaller creates a new read-only instance of Matic, bound to a specific deployed contract.
   132  func NewMaticCaller(address common.Address, caller bind.ContractCaller) (*MaticCaller, error) {
   133  	contract, err := bindMatic(address, caller, nil, nil)
   134  	if err != nil {
   135  		return nil, err
   136  	}
   137  	return &MaticCaller{contract: contract}, nil
   138  }
   139  
   140  // NewMaticTransactor creates a new write-only instance of Matic, bound to a specific deployed contract.
   141  func NewMaticTransactor(address common.Address, transactor bind.ContractTransactor) (*MaticTransactor, error) {
   142  	contract, err := bindMatic(address, nil, transactor, nil)
   143  	if err != nil {
   144  		return nil, err
   145  	}
   146  	return &MaticTransactor{contract: contract}, nil
   147  }
   148  
   149  // NewMaticFilterer creates a new log filterer instance of Matic, bound to a specific deployed contract.
   150  func NewMaticFilterer(address common.Address, filterer bind.ContractFilterer) (*MaticFilterer, error) {
   151  	contract, err := bindMatic(address, nil, nil, filterer)
   152  	if err != nil {
   153  		return nil, err
   154  	}
   155  	return &MaticFilterer{contract: contract}, nil
   156  }
   157  
   158  // bindMatic binds a generic wrapper to an already deployed contract.
   159  func bindMatic(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   160  	parsed, err := MaticMetaData.GetAbi()
   161  	if err != nil {
   162  		return nil, err
   163  	}
   164  	return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil
   165  }
   166  
   167  // Call invokes the (constant) contract method with params as input values and
   168  // sets the output to result. The result type might be a single field for simple
   169  // returns, a slice of interfaces for anonymous returns and a struct for named
   170  // returns.
   171  func (_Matic *MaticRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   172  	return _Matic.Contract.MaticCaller.contract.Call(opts, result, method, params...)
   173  }
   174  
   175  // Transfer initiates a plain transaction to move funds to the contract, calling
   176  // its default method if one is available.
   177  func (_Matic *MaticRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   178  	return _Matic.Contract.MaticTransactor.contract.Transfer(opts)
   179  }
   180  
   181  // Transact invokes the (paid) contract method with params as input values.
   182  func (_Matic *MaticRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   183  	return _Matic.Contract.MaticTransactor.contract.Transact(opts, method, params...)
   184  }
   185  
   186  // Call invokes the (constant) contract method with params as input values and
   187  // sets the output to result. The result type might be a single field for simple
   188  // returns, a slice of interfaces for anonymous returns and a struct for named
   189  // returns.
   190  func (_Matic *MaticCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   191  	return _Matic.Contract.contract.Call(opts, result, method, params...)
   192  }
   193  
   194  // Transfer initiates a plain transaction to move funds to the contract, calling
   195  // its default method if one is available.
   196  func (_Matic *MaticTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   197  	return _Matic.Contract.contract.Transfer(opts)
   198  }
   199  
   200  // Transact invokes the (paid) contract method with params as input values.
   201  func (_Matic *MaticTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   202  	return _Matic.Contract.contract.Transact(opts, method, params...)
   203  }
   204  
   205  // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.
   206  //
   207  // Solidity: function allowance(address owner, address spender) view returns(uint256)
   208  func (_Matic *MaticCaller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) {
   209  	var out []interface{}
   210  	err := _Matic.contract.Call(opts, &out, "allowance", owner, spender)
   211  
   212  	if err != nil {
   213  		return *new(*big.Int), err
   214  	}
   215  
   216  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   217  
   218  	return out0, err
   219  
   220  }
   221  
   222  // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.
   223  //
   224  // Solidity: function allowance(address owner, address spender) view returns(uint256)
   225  func (_Matic *MaticSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) {
   226  	return _Matic.Contract.Allowance(&_Matic.CallOpts, owner, spender)
   227  }
   228  
   229  // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.
   230  //
   231  // Solidity: function allowance(address owner, address spender) view returns(uint256)
   232  func (_Matic *MaticCallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) {
   233  	return _Matic.Contract.Allowance(&_Matic.CallOpts, owner, spender)
   234  }
   235  
   236  // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
   237  //
   238  // Solidity: function balanceOf(address owner) view returns(uint256)
   239  func (_Matic *MaticCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) {
   240  	var out []interface{}
   241  	err := _Matic.contract.Call(opts, &out, "balanceOf", owner)
   242  
   243  	if err != nil {
   244  		return *new(*big.Int), err
   245  	}
   246  
   247  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   248  
   249  	return out0, err
   250  
   251  }
   252  
   253  // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
   254  //
   255  // Solidity: function balanceOf(address owner) view returns(uint256)
   256  func (_Matic *MaticSession) BalanceOf(owner common.Address) (*big.Int, error) {
   257  	return _Matic.Contract.BalanceOf(&_Matic.CallOpts, owner)
   258  }
   259  
   260  // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
   261  //
   262  // Solidity: function balanceOf(address owner) view returns(uint256)
   263  func (_Matic *MaticCallerSession) BalanceOf(owner common.Address) (*big.Int, error) {
   264  	return _Matic.Contract.BalanceOf(&_Matic.CallOpts, owner)
   265  }
   266  
   267  // Decimals is a free data retrieval call binding the contract method 0x313ce567.
   268  //
   269  // Solidity: function decimals() view returns(uint8)
   270  func (_Matic *MaticCaller) Decimals(opts *bind.CallOpts) (uint8, error) {
   271  	var out []interface{}
   272  	err := _Matic.contract.Call(opts, &out, "decimals")
   273  
   274  	if err != nil {
   275  		return *new(uint8), err
   276  	}
   277  
   278  	out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8)
   279  
   280  	return out0, err
   281  
   282  }
   283  
   284  // Decimals is a free data retrieval call binding the contract method 0x313ce567.
   285  //
   286  // Solidity: function decimals() view returns(uint8)
   287  func (_Matic *MaticSession) Decimals() (uint8, error) {
   288  	return _Matic.Contract.Decimals(&_Matic.CallOpts)
   289  }
   290  
   291  // Decimals is a free data retrieval call binding the contract method 0x313ce567.
   292  //
   293  // Solidity: function decimals() view returns(uint8)
   294  func (_Matic *MaticCallerSession) Decimals() (uint8, error) {
   295  	return _Matic.Contract.Decimals(&_Matic.CallOpts)
   296  }
   297  
   298  // IsPauser is a free data retrieval call binding the contract method 0x46fbf68e.
   299  //
   300  // Solidity: function isPauser(address account) view returns(bool)
   301  func (_Matic *MaticCaller) IsPauser(opts *bind.CallOpts, account common.Address) (bool, error) {
   302  	var out []interface{}
   303  	err := _Matic.contract.Call(opts, &out, "isPauser", account)
   304  
   305  	if err != nil {
   306  		return *new(bool), err
   307  	}
   308  
   309  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   310  
   311  	return out0, err
   312  
   313  }
   314  
   315  // IsPauser is a free data retrieval call binding the contract method 0x46fbf68e.
   316  //
   317  // Solidity: function isPauser(address account) view returns(bool)
   318  func (_Matic *MaticSession) IsPauser(account common.Address) (bool, error) {
   319  	return _Matic.Contract.IsPauser(&_Matic.CallOpts, account)
   320  }
   321  
   322  // IsPauser is a free data retrieval call binding the contract method 0x46fbf68e.
   323  //
   324  // Solidity: function isPauser(address account) view returns(bool)
   325  func (_Matic *MaticCallerSession) IsPauser(account common.Address) (bool, error) {
   326  	return _Matic.Contract.IsPauser(&_Matic.CallOpts, account)
   327  }
   328  
   329  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   330  //
   331  // Solidity: function name() view returns(string)
   332  func (_Matic *MaticCaller) Name(opts *bind.CallOpts) (string, error) {
   333  	var out []interface{}
   334  	err := _Matic.contract.Call(opts, &out, "name")
   335  
   336  	if err != nil {
   337  		return *new(string), err
   338  	}
   339  
   340  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   341  
   342  	return out0, err
   343  
   344  }
   345  
   346  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   347  //
   348  // Solidity: function name() view returns(string)
   349  func (_Matic *MaticSession) Name() (string, error) {
   350  	return _Matic.Contract.Name(&_Matic.CallOpts)
   351  }
   352  
   353  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   354  //
   355  // Solidity: function name() view returns(string)
   356  func (_Matic *MaticCallerSession) Name() (string, error) {
   357  	return _Matic.Contract.Name(&_Matic.CallOpts)
   358  }
   359  
   360  // Paused is a free data retrieval call binding the contract method 0x5c975abb.
   361  //
   362  // Solidity: function paused() view returns(bool)
   363  func (_Matic *MaticCaller) Paused(opts *bind.CallOpts) (bool, error) {
   364  	var out []interface{}
   365  	err := _Matic.contract.Call(opts, &out, "paused")
   366  
   367  	if err != nil {
   368  		return *new(bool), err
   369  	}
   370  
   371  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   372  
   373  	return out0, err
   374  
   375  }
   376  
   377  // Paused is a free data retrieval call binding the contract method 0x5c975abb.
   378  //
   379  // Solidity: function paused() view returns(bool)
   380  func (_Matic *MaticSession) Paused() (bool, error) {
   381  	return _Matic.Contract.Paused(&_Matic.CallOpts)
   382  }
   383  
   384  // Paused is a free data retrieval call binding the contract method 0x5c975abb.
   385  //
   386  // Solidity: function paused() view returns(bool)
   387  func (_Matic *MaticCallerSession) Paused() (bool, error) {
   388  	return _Matic.Contract.Paused(&_Matic.CallOpts)
   389  }
   390  
   391  // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
   392  //
   393  // Solidity: function symbol() view returns(string)
   394  func (_Matic *MaticCaller) Symbol(opts *bind.CallOpts) (string, error) {
   395  	var out []interface{}
   396  	err := _Matic.contract.Call(opts, &out, "symbol")
   397  
   398  	if err != nil {
   399  		return *new(string), err
   400  	}
   401  
   402  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   403  
   404  	return out0, err
   405  
   406  }
   407  
   408  // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
   409  //
   410  // Solidity: function symbol() view returns(string)
   411  func (_Matic *MaticSession) Symbol() (string, error) {
   412  	return _Matic.Contract.Symbol(&_Matic.CallOpts)
   413  }
   414  
   415  // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
   416  //
   417  // Solidity: function symbol() view returns(string)
   418  func (_Matic *MaticCallerSession) Symbol() (string, error) {
   419  	return _Matic.Contract.Symbol(&_Matic.CallOpts)
   420  }
   421  
   422  // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
   423  //
   424  // Solidity: function totalSupply() view returns(uint256)
   425  func (_Matic *MaticCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) {
   426  	var out []interface{}
   427  	err := _Matic.contract.Call(opts, &out, "totalSupply")
   428  
   429  	if err != nil {
   430  		return *new(*big.Int), err
   431  	}
   432  
   433  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   434  
   435  	return out0, err
   436  
   437  }
   438  
   439  // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
   440  //
   441  // Solidity: function totalSupply() view returns(uint256)
   442  func (_Matic *MaticSession) TotalSupply() (*big.Int, error) {
   443  	return _Matic.Contract.TotalSupply(&_Matic.CallOpts)
   444  }
   445  
   446  // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
   447  //
   448  // Solidity: function totalSupply() view returns(uint256)
   449  func (_Matic *MaticCallerSession) TotalSupply() (*big.Int, error) {
   450  	return _Matic.Contract.TotalSupply(&_Matic.CallOpts)
   451  }
   452  
   453  // AddPauser is a paid mutator transaction binding the contract method 0x82dc1ec4.
   454  //
   455  // Solidity: function addPauser(address account) returns()
   456  func (_Matic *MaticTransactor) AddPauser(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) {
   457  	return _Matic.contract.Transact(opts, "addPauser", account)
   458  }
   459  
   460  // AddPauser is a paid mutator transaction binding the contract method 0x82dc1ec4.
   461  //
   462  // Solidity: function addPauser(address account) returns()
   463  func (_Matic *MaticSession) AddPauser(account common.Address) (*types.Transaction, error) {
   464  	return _Matic.Contract.AddPauser(&_Matic.TransactOpts, account)
   465  }
   466  
   467  // AddPauser is a paid mutator transaction binding the contract method 0x82dc1ec4.
   468  //
   469  // Solidity: function addPauser(address account) returns()
   470  func (_Matic *MaticTransactorSession) AddPauser(account common.Address) (*types.Transaction, error) {
   471  	return _Matic.Contract.AddPauser(&_Matic.TransactOpts, account)
   472  }
   473  
   474  // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
   475  //
   476  // Solidity: function approve(address spender, uint256 value) returns(bool)
   477  func (_Matic *MaticTransactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) {
   478  	return _Matic.contract.Transact(opts, "approve", spender, value)
   479  }
   480  
   481  // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
   482  //
   483  // Solidity: function approve(address spender, uint256 value) returns(bool)
   484  func (_Matic *MaticSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) {
   485  	return _Matic.Contract.Approve(&_Matic.TransactOpts, spender, value)
   486  }
   487  
   488  // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
   489  //
   490  // Solidity: function approve(address spender, uint256 value) returns(bool)
   491  func (_Matic *MaticTransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) {
   492  	return _Matic.Contract.Approve(&_Matic.TransactOpts, spender, value)
   493  }
   494  
   495  // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7.
   496  //
   497  // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool success)
   498  func (_Matic *MaticTransactor) DecreaseAllowance(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) {
   499  	return _Matic.contract.Transact(opts, "decreaseAllowance", spender, subtractedValue)
   500  }
   501  
   502  // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7.
   503  //
   504  // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool success)
   505  func (_Matic *MaticSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) {
   506  	return _Matic.Contract.DecreaseAllowance(&_Matic.TransactOpts, spender, subtractedValue)
   507  }
   508  
   509  // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7.
   510  //
   511  // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool success)
   512  func (_Matic *MaticTransactorSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) {
   513  	return _Matic.Contract.DecreaseAllowance(&_Matic.TransactOpts, spender, subtractedValue)
   514  }
   515  
   516  // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351.
   517  //
   518  // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool success)
   519  func (_Matic *MaticTransactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) {
   520  	return _Matic.contract.Transact(opts, "increaseAllowance", spender, addedValue)
   521  }
   522  
   523  // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351.
   524  //
   525  // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool success)
   526  func (_Matic *MaticSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) {
   527  	return _Matic.Contract.IncreaseAllowance(&_Matic.TransactOpts, spender, addedValue)
   528  }
   529  
   530  // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351.
   531  //
   532  // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool success)
   533  func (_Matic *MaticTransactorSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) {
   534  	return _Matic.Contract.IncreaseAllowance(&_Matic.TransactOpts, spender, addedValue)
   535  }
   536  
   537  // Pause is a paid mutator transaction binding the contract method 0x8456cb59.
   538  //
   539  // Solidity: function pause() returns()
   540  func (_Matic *MaticTransactor) Pause(opts *bind.TransactOpts) (*types.Transaction, error) {
   541  	return _Matic.contract.Transact(opts, "pause")
   542  }
   543  
   544  // Pause is a paid mutator transaction binding the contract method 0x8456cb59.
   545  //
   546  // Solidity: function pause() returns()
   547  func (_Matic *MaticSession) Pause() (*types.Transaction, error) {
   548  	return _Matic.Contract.Pause(&_Matic.TransactOpts)
   549  }
   550  
   551  // Pause is a paid mutator transaction binding the contract method 0x8456cb59.
   552  //
   553  // Solidity: function pause() returns()
   554  func (_Matic *MaticTransactorSession) Pause() (*types.Transaction, error) {
   555  	return _Matic.Contract.Pause(&_Matic.TransactOpts)
   556  }
   557  
   558  // RenouncePauser is a paid mutator transaction binding the contract method 0x6ef8d66d.
   559  //
   560  // Solidity: function renouncePauser() returns()
   561  func (_Matic *MaticTransactor) RenouncePauser(opts *bind.TransactOpts) (*types.Transaction, error) {
   562  	return _Matic.contract.Transact(opts, "renouncePauser")
   563  }
   564  
   565  // RenouncePauser is a paid mutator transaction binding the contract method 0x6ef8d66d.
   566  //
   567  // Solidity: function renouncePauser() returns()
   568  func (_Matic *MaticSession) RenouncePauser() (*types.Transaction, error) {
   569  	return _Matic.Contract.RenouncePauser(&_Matic.TransactOpts)
   570  }
   571  
   572  // RenouncePauser is a paid mutator transaction binding the contract method 0x6ef8d66d.
   573  //
   574  // Solidity: function renouncePauser() returns()
   575  func (_Matic *MaticTransactorSession) RenouncePauser() (*types.Transaction, error) {
   576  	return _Matic.Contract.RenouncePauser(&_Matic.TransactOpts)
   577  }
   578  
   579  // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.
   580  //
   581  // Solidity: function transfer(address to, uint256 value) returns(bool)
   582  func (_Matic *MaticTransactor) Transfer(opts *bind.TransactOpts, to common.Address, value *big.Int) (*types.Transaction, error) {
   583  	return _Matic.contract.Transact(opts, "transfer", to, value)
   584  }
   585  
   586  // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.
   587  //
   588  // Solidity: function transfer(address to, uint256 value) returns(bool)
   589  func (_Matic *MaticSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) {
   590  	return _Matic.Contract.Transfer(&_Matic.TransactOpts, to, value)
   591  }
   592  
   593  // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.
   594  //
   595  // Solidity: function transfer(address to, uint256 value) returns(bool)
   596  func (_Matic *MaticTransactorSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) {
   597  	return _Matic.Contract.Transfer(&_Matic.TransactOpts, to, value)
   598  }
   599  
   600  // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
   601  //
   602  // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool)
   603  func (_Matic *MaticTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) {
   604  	return _Matic.contract.Transact(opts, "transferFrom", from, to, value)
   605  }
   606  
   607  // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
   608  //
   609  // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool)
   610  func (_Matic *MaticSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) {
   611  	return _Matic.Contract.TransferFrom(&_Matic.TransactOpts, from, to, value)
   612  }
   613  
   614  // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
   615  //
   616  // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool)
   617  func (_Matic *MaticTransactorSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) {
   618  	return _Matic.Contract.TransferFrom(&_Matic.TransactOpts, from, to, value)
   619  }
   620  
   621  // Unpause is a paid mutator transaction binding the contract method 0x3f4ba83a.
   622  //
   623  // Solidity: function unpause() returns()
   624  func (_Matic *MaticTransactor) Unpause(opts *bind.TransactOpts) (*types.Transaction, error) {
   625  	return _Matic.contract.Transact(opts, "unpause")
   626  }
   627  
   628  // Unpause is a paid mutator transaction binding the contract method 0x3f4ba83a.
   629  //
   630  // Solidity: function unpause() returns()
   631  func (_Matic *MaticSession) Unpause() (*types.Transaction, error) {
   632  	return _Matic.Contract.Unpause(&_Matic.TransactOpts)
   633  }
   634  
   635  // Unpause is a paid mutator transaction binding the contract method 0x3f4ba83a.
   636  //
   637  // Solidity: function unpause() returns()
   638  func (_Matic *MaticTransactorSession) Unpause() (*types.Transaction, error) {
   639  	return _Matic.Contract.Unpause(&_Matic.TransactOpts)
   640  }
   641  
   642  // MaticApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the Matic contract.
   643  type MaticApprovalIterator struct {
   644  	Event *MaticApproval // Event containing the contract specifics and raw log
   645  
   646  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   647  	event    string              // Event name to use for unpacking event data
   648  
   649  	logs chan types.Log        // Log channel receiving the found contract events
   650  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   651  	done bool                  // Whether the subscription completed delivering logs
   652  	fail error                 // Occurred error to stop iteration
   653  }
   654  
   655  // Next advances the iterator to the subsequent event, returning whether there
   656  // are any more events found. In case of a retrieval or parsing error, false is
   657  // returned and Error() can be queried for the exact failure.
   658  func (it *MaticApprovalIterator) Next() bool {
   659  	// If the iterator failed, stop iterating
   660  	if it.fail != nil {
   661  		return false
   662  	}
   663  	// If the iterator completed, deliver directly whatever's available
   664  	if it.done {
   665  		select {
   666  		case log := <-it.logs:
   667  			it.Event = new(MaticApproval)
   668  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   669  				it.fail = err
   670  				return false
   671  			}
   672  			it.Event.Raw = log
   673  			return true
   674  
   675  		default:
   676  			return false
   677  		}
   678  	}
   679  	// Iterator still in progress, wait for either a data or an error event
   680  	select {
   681  	case log := <-it.logs:
   682  		it.Event = new(MaticApproval)
   683  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   684  			it.fail = err
   685  			return false
   686  		}
   687  		it.Event.Raw = log
   688  		return true
   689  
   690  	case err := <-it.sub.Err():
   691  		it.done = true
   692  		it.fail = err
   693  		return it.Next()
   694  	}
   695  }
   696  
   697  // Error returns any retrieval or parsing error occurred during filtering.
   698  func (it *MaticApprovalIterator) Error() error {
   699  	return it.fail
   700  }
   701  
   702  // Close terminates the iteration process, releasing any pending underlying
   703  // resources.
   704  func (it *MaticApprovalIterator) Close() error {
   705  	it.sub.Unsubscribe()
   706  	return nil
   707  }
   708  
   709  // MaticApproval represents a Approval event raised by the Matic contract.
   710  type MaticApproval struct {
   711  	Owner   common.Address
   712  	Spender common.Address
   713  	Value   *big.Int
   714  	Raw     types.Log // Blockchain specific contextual infos
   715  }
   716  
   717  // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
   718  //
   719  // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)
   720  func (_Matic *MaticFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*MaticApprovalIterator, error) {
   721  
   722  	var ownerRule []interface{}
   723  	for _, ownerItem := range owner {
   724  		ownerRule = append(ownerRule, ownerItem)
   725  	}
   726  	var spenderRule []interface{}
   727  	for _, spenderItem := range spender {
   728  		spenderRule = append(spenderRule, spenderItem)
   729  	}
   730  
   731  	logs, sub, err := _Matic.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule)
   732  	if err != nil {
   733  		return nil, err
   734  	}
   735  	return &MaticApprovalIterator{contract: _Matic.contract, event: "Approval", logs: logs, sub: sub}, nil
   736  }
   737  
   738  // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
   739  //
   740  // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)
   741  func (_Matic *MaticFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *MaticApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) {
   742  
   743  	var ownerRule []interface{}
   744  	for _, ownerItem := range owner {
   745  		ownerRule = append(ownerRule, ownerItem)
   746  	}
   747  	var spenderRule []interface{}
   748  	for _, spenderItem := range spender {
   749  		spenderRule = append(spenderRule, spenderItem)
   750  	}
   751  
   752  	logs, sub, err := _Matic.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule)
   753  	if err != nil {
   754  		return nil, err
   755  	}
   756  	return event.NewSubscription(func(quit <-chan struct{}) error {
   757  		defer sub.Unsubscribe()
   758  		for {
   759  			select {
   760  			case log := <-logs:
   761  				// New log arrived, parse the event and forward to the user
   762  				event := new(MaticApproval)
   763  				if err := _Matic.contract.UnpackLog(event, "Approval", log); err != nil {
   764  					return err
   765  				}
   766  				event.Raw = log
   767  
   768  				select {
   769  				case sink <- event:
   770  				case err := <-sub.Err():
   771  					return err
   772  				case <-quit:
   773  					return nil
   774  				}
   775  			case err := <-sub.Err():
   776  				return err
   777  			case <-quit:
   778  				return nil
   779  			}
   780  		}
   781  	}), nil
   782  }
   783  
   784  // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
   785  //
   786  // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)
   787  func (_Matic *MaticFilterer) ParseApproval(log types.Log) (*MaticApproval, error) {
   788  	event := new(MaticApproval)
   789  	if err := _Matic.contract.UnpackLog(event, "Approval", log); err != nil {
   790  		return nil, err
   791  	}
   792  	event.Raw = log
   793  	return event, nil
   794  }
   795  
   796  // MaticPausedIterator is returned from FilterPaused and is used to iterate over the raw logs and unpacked data for Paused events raised by the Matic contract.
   797  type MaticPausedIterator struct {
   798  	Event *MaticPaused // Event containing the contract specifics and raw log
   799  
   800  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   801  	event    string              // Event name to use for unpacking event data
   802  
   803  	logs chan types.Log        // Log channel receiving the found contract events
   804  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   805  	done bool                  // Whether the subscription completed delivering logs
   806  	fail error                 // Occurred error to stop iteration
   807  }
   808  
   809  // Next advances the iterator to the subsequent event, returning whether there
   810  // are any more events found. In case of a retrieval or parsing error, false is
   811  // returned and Error() can be queried for the exact failure.
   812  func (it *MaticPausedIterator) Next() bool {
   813  	// If the iterator failed, stop iterating
   814  	if it.fail != nil {
   815  		return false
   816  	}
   817  	// If the iterator completed, deliver directly whatever's available
   818  	if it.done {
   819  		select {
   820  		case log := <-it.logs:
   821  			it.Event = new(MaticPaused)
   822  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   823  				it.fail = err
   824  				return false
   825  			}
   826  			it.Event.Raw = log
   827  			return true
   828  
   829  		default:
   830  			return false
   831  		}
   832  	}
   833  	// Iterator still in progress, wait for either a data or an error event
   834  	select {
   835  	case log := <-it.logs:
   836  		it.Event = new(MaticPaused)
   837  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   838  			it.fail = err
   839  			return false
   840  		}
   841  		it.Event.Raw = log
   842  		return true
   843  
   844  	case err := <-it.sub.Err():
   845  		it.done = true
   846  		it.fail = err
   847  		return it.Next()
   848  	}
   849  }
   850  
   851  // Error returns any retrieval or parsing error occurred during filtering.
   852  func (it *MaticPausedIterator) Error() error {
   853  	return it.fail
   854  }
   855  
   856  // Close terminates the iteration process, releasing any pending underlying
   857  // resources.
   858  func (it *MaticPausedIterator) Close() error {
   859  	it.sub.Unsubscribe()
   860  	return nil
   861  }
   862  
   863  // MaticPaused represents a Paused event raised by the Matic contract.
   864  type MaticPaused struct {
   865  	Account common.Address
   866  	Raw     types.Log // Blockchain specific contextual infos
   867  }
   868  
   869  // FilterPaused is a free log retrieval operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258.
   870  //
   871  // Solidity: event Paused(address account)
   872  func (_Matic *MaticFilterer) FilterPaused(opts *bind.FilterOpts) (*MaticPausedIterator, error) {
   873  
   874  	logs, sub, err := _Matic.contract.FilterLogs(opts, "Paused")
   875  	if err != nil {
   876  		return nil, err
   877  	}
   878  	return &MaticPausedIterator{contract: _Matic.contract, event: "Paused", logs: logs, sub: sub}, nil
   879  }
   880  
   881  // WatchPaused is a free log subscription operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258.
   882  //
   883  // Solidity: event Paused(address account)
   884  func (_Matic *MaticFilterer) WatchPaused(opts *bind.WatchOpts, sink chan<- *MaticPaused) (event.Subscription, error) {
   885  
   886  	logs, sub, err := _Matic.contract.WatchLogs(opts, "Paused")
   887  	if err != nil {
   888  		return nil, err
   889  	}
   890  	return event.NewSubscription(func(quit <-chan struct{}) error {
   891  		defer sub.Unsubscribe()
   892  		for {
   893  			select {
   894  			case log := <-logs:
   895  				// New log arrived, parse the event and forward to the user
   896  				event := new(MaticPaused)
   897  				if err := _Matic.contract.UnpackLog(event, "Paused", log); err != nil {
   898  					return err
   899  				}
   900  				event.Raw = log
   901  
   902  				select {
   903  				case sink <- event:
   904  				case err := <-sub.Err():
   905  					return err
   906  				case <-quit:
   907  					return nil
   908  				}
   909  			case err := <-sub.Err():
   910  				return err
   911  			case <-quit:
   912  				return nil
   913  			}
   914  		}
   915  	}), nil
   916  }
   917  
   918  // ParsePaused is a log parse operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258.
   919  //
   920  // Solidity: event Paused(address account)
   921  func (_Matic *MaticFilterer) ParsePaused(log types.Log) (*MaticPaused, error) {
   922  	event := new(MaticPaused)
   923  	if err := _Matic.contract.UnpackLog(event, "Paused", log); err != nil {
   924  		return nil, err
   925  	}
   926  	event.Raw = log
   927  	return event, nil
   928  }
   929  
   930  // MaticPauserAddedIterator is returned from FilterPauserAdded and is used to iterate over the raw logs and unpacked data for PauserAdded events raised by the Matic contract.
   931  type MaticPauserAddedIterator struct {
   932  	Event *MaticPauserAdded // Event containing the contract specifics and raw log
   933  
   934  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   935  	event    string              // Event name to use for unpacking event data
   936  
   937  	logs chan types.Log        // Log channel receiving the found contract events
   938  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   939  	done bool                  // Whether the subscription completed delivering logs
   940  	fail error                 // Occurred error to stop iteration
   941  }
   942  
   943  // Next advances the iterator to the subsequent event, returning whether there
   944  // are any more events found. In case of a retrieval or parsing error, false is
   945  // returned and Error() can be queried for the exact failure.
   946  func (it *MaticPauserAddedIterator) Next() bool {
   947  	// If the iterator failed, stop iterating
   948  	if it.fail != nil {
   949  		return false
   950  	}
   951  	// If the iterator completed, deliver directly whatever's available
   952  	if it.done {
   953  		select {
   954  		case log := <-it.logs:
   955  			it.Event = new(MaticPauserAdded)
   956  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   957  				it.fail = err
   958  				return false
   959  			}
   960  			it.Event.Raw = log
   961  			return true
   962  
   963  		default:
   964  			return false
   965  		}
   966  	}
   967  	// Iterator still in progress, wait for either a data or an error event
   968  	select {
   969  	case log := <-it.logs:
   970  		it.Event = new(MaticPauserAdded)
   971  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   972  			it.fail = err
   973  			return false
   974  		}
   975  		it.Event.Raw = log
   976  		return true
   977  
   978  	case err := <-it.sub.Err():
   979  		it.done = true
   980  		it.fail = err
   981  		return it.Next()
   982  	}
   983  }
   984  
   985  // Error returns any retrieval or parsing error occurred during filtering.
   986  func (it *MaticPauserAddedIterator) Error() error {
   987  	return it.fail
   988  }
   989  
   990  // Close terminates the iteration process, releasing any pending underlying
   991  // resources.
   992  func (it *MaticPauserAddedIterator) Close() error {
   993  	it.sub.Unsubscribe()
   994  	return nil
   995  }
   996  
   997  // MaticPauserAdded represents a PauserAdded event raised by the Matic contract.
   998  type MaticPauserAdded struct {
   999  	Account common.Address
  1000  	Raw     types.Log // Blockchain specific contextual infos
  1001  }
  1002  
  1003  // FilterPauserAdded is a free log retrieval operation binding the contract event 0x6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f8.
  1004  //
  1005  // Solidity: event PauserAdded(address indexed account)
  1006  func (_Matic *MaticFilterer) FilterPauserAdded(opts *bind.FilterOpts, account []common.Address) (*MaticPauserAddedIterator, error) {
  1007  
  1008  	var accountRule []interface{}
  1009  	for _, accountItem := range account {
  1010  		accountRule = append(accountRule, accountItem)
  1011  	}
  1012  
  1013  	logs, sub, err := _Matic.contract.FilterLogs(opts, "PauserAdded", accountRule)
  1014  	if err != nil {
  1015  		return nil, err
  1016  	}
  1017  	return &MaticPauserAddedIterator{contract: _Matic.contract, event: "PauserAdded", logs: logs, sub: sub}, nil
  1018  }
  1019  
  1020  // WatchPauserAdded is a free log subscription operation binding the contract event 0x6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f8.
  1021  //
  1022  // Solidity: event PauserAdded(address indexed account)
  1023  func (_Matic *MaticFilterer) WatchPauserAdded(opts *bind.WatchOpts, sink chan<- *MaticPauserAdded, account []common.Address) (event.Subscription, error) {
  1024  
  1025  	var accountRule []interface{}
  1026  	for _, accountItem := range account {
  1027  		accountRule = append(accountRule, accountItem)
  1028  	}
  1029  
  1030  	logs, sub, err := _Matic.contract.WatchLogs(opts, "PauserAdded", accountRule)
  1031  	if err != nil {
  1032  		return nil, err
  1033  	}
  1034  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1035  		defer sub.Unsubscribe()
  1036  		for {
  1037  			select {
  1038  			case log := <-logs:
  1039  				// New log arrived, parse the event and forward to the user
  1040  				event := new(MaticPauserAdded)
  1041  				if err := _Matic.contract.UnpackLog(event, "PauserAdded", log); err != nil {
  1042  					return err
  1043  				}
  1044  				event.Raw = log
  1045  
  1046  				select {
  1047  				case sink <- event:
  1048  				case err := <-sub.Err():
  1049  					return err
  1050  				case <-quit:
  1051  					return nil
  1052  				}
  1053  			case err := <-sub.Err():
  1054  				return err
  1055  			case <-quit:
  1056  				return nil
  1057  			}
  1058  		}
  1059  	}), nil
  1060  }
  1061  
  1062  // ParsePauserAdded is a log parse operation binding the contract event 0x6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f8.
  1063  //
  1064  // Solidity: event PauserAdded(address indexed account)
  1065  func (_Matic *MaticFilterer) ParsePauserAdded(log types.Log) (*MaticPauserAdded, error) {
  1066  	event := new(MaticPauserAdded)
  1067  	if err := _Matic.contract.UnpackLog(event, "PauserAdded", log); err != nil {
  1068  		return nil, err
  1069  	}
  1070  	event.Raw = log
  1071  	return event, nil
  1072  }
  1073  
  1074  // MaticPauserRemovedIterator is returned from FilterPauserRemoved and is used to iterate over the raw logs and unpacked data for PauserRemoved events raised by the Matic contract.
  1075  type MaticPauserRemovedIterator struct {
  1076  	Event *MaticPauserRemoved // Event containing the contract specifics and raw log
  1077  
  1078  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1079  	event    string              // Event name to use for unpacking event data
  1080  
  1081  	logs chan types.Log        // Log channel receiving the found contract events
  1082  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1083  	done bool                  // Whether the subscription completed delivering logs
  1084  	fail error                 // Occurred error to stop iteration
  1085  }
  1086  
  1087  // Next advances the iterator to the subsequent event, returning whether there
  1088  // are any more events found. In case of a retrieval or parsing error, false is
  1089  // returned and Error() can be queried for the exact failure.
  1090  func (it *MaticPauserRemovedIterator) Next() bool {
  1091  	// If the iterator failed, stop iterating
  1092  	if it.fail != nil {
  1093  		return false
  1094  	}
  1095  	// If the iterator completed, deliver directly whatever's available
  1096  	if it.done {
  1097  		select {
  1098  		case log := <-it.logs:
  1099  			it.Event = new(MaticPauserRemoved)
  1100  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1101  				it.fail = err
  1102  				return false
  1103  			}
  1104  			it.Event.Raw = log
  1105  			return true
  1106  
  1107  		default:
  1108  			return false
  1109  		}
  1110  	}
  1111  	// Iterator still in progress, wait for either a data or an error event
  1112  	select {
  1113  	case log := <-it.logs:
  1114  		it.Event = new(MaticPauserRemoved)
  1115  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1116  			it.fail = err
  1117  			return false
  1118  		}
  1119  		it.Event.Raw = log
  1120  		return true
  1121  
  1122  	case err := <-it.sub.Err():
  1123  		it.done = true
  1124  		it.fail = err
  1125  		return it.Next()
  1126  	}
  1127  }
  1128  
  1129  // Error returns any retrieval or parsing error occurred during filtering.
  1130  func (it *MaticPauserRemovedIterator) Error() error {
  1131  	return it.fail
  1132  }
  1133  
  1134  // Close terminates the iteration process, releasing any pending underlying
  1135  // resources.
  1136  func (it *MaticPauserRemovedIterator) Close() error {
  1137  	it.sub.Unsubscribe()
  1138  	return nil
  1139  }
  1140  
  1141  // MaticPauserRemoved represents a PauserRemoved event raised by the Matic contract.
  1142  type MaticPauserRemoved struct {
  1143  	Account common.Address
  1144  	Raw     types.Log // Blockchain specific contextual infos
  1145  }
  1146  
  1147  // FilterPauserRemoved is a free log retrieval operation binding the contract event 0xcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e.
  1148  //
  1149  // Solidity: event PauserRemoved(address indexed account)
  1150  func (_Matic *MaticFilterer) FilterPauserRemoved(opts *bind.FilterOpts, account []common.Address) (*MaticPauserRemovedIterator, error) {
  1151  
  1152  	var accountRule []interface{}
  1153  	for _, accountItem := range account {
  1154  		accountRule = append(accountRule, accountItem)
  1155  	}
  1156  
  1157  	logs, sub, err := _Matic.contract.FilterLogs(opts, "PauserRemoved", accountRule)
  1158  	if err != nil {
  1159  		return nil, err
  1160  	}
  1161  	return &MaticPauserRemovedIterator{contract: _Matic.contract, event: "PauserRemoved", logs: logs, sub: sub}, nil
  1162  }
  1163  
  1164  // WatchPauserRemoved is a free log subscription operation binding the contract event 0xcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e.
  1165  //
  1166  // Solidity: event PauserRemoved(address indexed account)
  1167  func (_Matic *MaticFilterer) WatchPauserRemoved(opts *bind.WatchOpts, sink chan<- *MaticPauserRemoved, account []common.Address) (event.Subscription, error) {
  1168  
  1169  	var accountRule []interface{}
  1170  	for _, accountItem := range account {
  1171  		accountRule = append(accountRule, accountItem)
  1172  	}
  1173  
  1174  	logs, sub, err := _Matic.contract.WatchLogs(opts, "PauserRemoved", accountRule)
  1175  	if err != nil {
  1176  		return nil, err
  1177  	}
  1178  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1179  		defer sub.Unsubscribe()
  1180  		for {
  1181  			select {
  1182  			case log := <-logs:
  1183  				// New log arrived, parse the event and forward to the user
  1184  				event := new(MaticPauserRemoved)
  1185  				if err := _Matic.contract.UnpackLog(event, "PauserRemoved", log); err != nil {
  1186  					return err
  1187  				}
  1188  				event.Raw = log
  1189  
  1190  				select {
  1191  				case sink <- event:
  1192  				case err := <-sub.Err():
  1193  					return err
  1194  				case <-quit:
  1195  					return nil
  1196  				}
  1197  			case err := <-sub.Err():
  1198  				return err
  1199  			case <-quit:
  1200  				return nil
  1201  			}
  1202  		}
  1203  	}), nil
  1204  }
  1205  
  1206  // ParsePauserRemoved is a log parse operation binding the contract event 0xcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e.
  1207  //
  1208  // Solidity: event PauserRemoved(address indexed account)
  1209  func (_Matic *MaticFilterer) ParsePauserRemoved(log types.Log) (*MaticPauserRemoved, error) {
  1210  	event := new(MaticPauserRemoved)
  1211  	if err := _Matic.contract.UnpackLog(event, "PauserRemoved", log); err != nil {
  1212  		return nil, err
  1213  	}
  1214  	event.Raw = log
  1215  	return event, nil
  1216  }
  1217  
  1218  // MaticTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the Matic contract.
  1219  type MaticTransferIterator struct {
  1220  	Event *MaticTransfer // Event containing the contract specifics and raw log
  1221  
  1222  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1223  	event    string              // Event name to use for unpacking event data
  1224  
  1225  	logs chan types.Log        // Log channel receiving the found contract events
  1226  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1227  	done bool                  // Whether the subscription completed delivering logs
  1228  	fail error                 // Occurred error to stop iteration
  1229  }
  1230  
  1231  // Next advances the iterator to the subsequent event, returning whether there
  1232  // are any more events found. In case of a retrieval or parsing error, false is
  1233  // returned and Error() can be queried for the exact failure.
  1234  func (it *MaticTransferIterator) Next() bool {
  1235  	// If the iterator failed, stop iterating
  1236  	if it.fail != nil {
  1237  		return false
  1238  	}
  1239  	// If the iterator completed, deliver directly whatever's available
  1240  	if it.done {
  1241  		select {
  1242  		case log := <-it.logs:
  1243  			it.Event = new(MaticTransfer)
  1244  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1245  				it.fail = err
  1246  				return false
  1247  			}
  1248  			it.Event.Raw = log
  1249  			return true
  1250  
  1251  		default:
  1252  			return false
  1253  		}
  1254  	}
  1255  	// Iterator still in progress, wait for either a data or an error event
  1256  	select {
  1257  	case log := <-it.logs:
  1258  		it.Event = new(MaticTransfer)
  1259  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1260  			it.fail = err
  1261  			return false
  1262  		}
  1263  		it.Event.Raw = log
  1264  		return true
  1265  
  1266  	case err := <-it.sub.Err():
  1267  		it.done = true
  1268  		it.fail = err
  1269  		return it.Next()
  1270  	}
  1271  }
  1272  
  1273  // Error returns any retrieval or parsing error occurred during filtering.
  1274  func (it *MaticTransferIterator) Error() error {
  1275  	return it.fail
  1276  }
  1277  
  1278  // Close terminates the iteration process, releasing any pending underlying
  1279  // resources.
  1280  func (it *MaticTransferIterator) Close() error {
  1281  	it.sub.Unsubscribe()
  1282  	return nil
  1283  }
  1284  
  1285  // MaticTransfer represents a Transfer event raised by the Matic contract.
  1286  type MaticTransfer struct {
  1287  	From  common.Address
  1288  	To    common.Address
  1289  	Value *big.Int
  1290  	Raw   types.Log // Blockchain specific contextual infos
  1291  }
  1292  
  1293  // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  1294  //
  1295  // Solidity: event Transfer(address indexed from, address indexed to, uint256 value)
  1296  func (_Matic *MaticFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*MaticTransferIterator, error) {
  1297  
  1298  	var fromRule []interface{}
  1299  	for _, fromItem := range from {
  1300  		fromRule = append(fromRule, fromItem)
  1301  	}
  1302  	var toRule []interface{}
  1303  	for _, toItem := range to {
  1304  		toRule = append(toRule, toItem)
  1305  	}
  1306  
  1307  	logs, sub, err := _Matic.contract.FilterLogs(opts, "Transfer", fromRule, toRule)
  1308  	if err != nil {
  1309  		return nil, err
  1310  	}
  1311  	return &MaticTransferIterator{contract: _Matic.contract, event: "Transfer", logs: logs, sub: sub}, nil
  1312  }
  1313  
  1314  // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  1315  //
  1316  // Solidity: event Transfer(address indexed from, address indexed to, uint256 value)
  1317  func (_Matic *MaticFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *MaticTransfer, from []common.Address, to []common.Address) (event.Subscription, error) {
  1318  
  1319  	var fromRule []interface{}
  1320  	for _, fromItem := range from {
  1321  		fromRule = append(fromRule, fromItem)
  1322  	}
  1323  	var toRule []interface{}
  1324  	for _, toItem := range to {
  1325  		toRule = append(toRule, toItem)
  1326  	}
  1327  
  1328  	logs, sub, err := _Matic.contract.WatchLogs(opts, "Transfer", fromRule, toRule)
  1329  	if err != nil {
  1330  		return nil, err
  1331  	}
  1332  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1333  		defer sub.Unsubscribe()
  1334  		for {
  1335  			select {
  1336  			case log := <-logs:
  1337  				// New log arrived, parse the event and forward to the user
  1338  				event := new(MaticTransfer)
  1339  				if err := _Matic.contract.UnpackLog(event, "Transfer", log); err != nil {
  1340  					return err
  1341  				}
  1342  				event.Raw = log
  1343  
  1344  				select {
  1345  				case sink <- event:
  1346  				case err := <-sub.Err():
  1347  					return err
  1348  				case <-quit:
  1349  					return nil
  1350  				}
  1351  			case err := <-sub.Err():
  1352  				return err
  1353  			case <-quit:
  1354  				return nil
  1355  			}
  1356  		}
  1357  	}), nil
  1358  }
  1359  
  1360  // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  1361  //
  1362  // Solidity: event Transfer(address indexed from, address indexed to, uint256 value)
  1363  func (_Matic *MaticFilterer) ParseTransfer(log types.Log) (*MaticTransfer, error) {
  1364  	event := new(MaticTransfer)
  1365  	if err := _Matic.contract.UnpackLog(event, "Transfer", log); err != nil {
  1366  		return nil, err
  1367  	}
  1368  	event.Raw = log
  1369  	return event, nil
  1370  }
  1371  
  1372  // MaticUnpausedIterator is returned from FilterUnpaused and is used to iterate over the raw logs and unpacked data for Unpaused events raised by the Matic contract.
  1373  type MaticUnpausedIterator struct {
  1374  	Event *MaticUnpaused // Event containing the contract specifics and raw log
  1375  
  1376  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1377  	event    string              // Event name to use for unpacking event data
  1378  
  1379  	logs chan types.Log        // Log channel receiving the found contract events
  1380  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1381  	done bool                  // Whether the subscription completed delivering logs
  1382  	fail error                 // Occurred error to stop iteration
  1383  }
  1384  
  1385  // Next advances the iterator to the subsequent event, returning whether there
  1386  // are any more events found. In case of a retrieval or parsing error, false is
  1387  // returned and Error() can be queried for the exact failure.
  1388  func (it *MaticUnpausedIterator) Next() bool {
  1389  	// If the iterator failed, stop iterating
  1390  	if it.fail != nil {
  1391  		return false
  1392  	}
  1393  	// If the iterator completed, deliver directly whatever's available
  1394  	if it.done {
  1395  		select {
  1396  		case log := <-it.logs:
  1397  			it.Event = new(MaticUnpaused)
  1398  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1399  				it.fail = err
  1400  				return false
  1401  			}
  1402  			it.Event.Raw = log
  1403  			return true
  1404  
  1405  		default:
  1406  			return false
  1407  		}
  1408  	}
  1409  	// Iterator still in progress, wait for either a data or an error event
  1410  	select {
  1411  	case log := <-it.logs:
  1412  		it.Event = new(MaticUnpaused)
  1413  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1414  			it.fail = err
  1415  			return false
  1416  		}
  1417  		it.Event.Raw = log
  1418  		return true
  1419  
  1420  	case err := <-it.sub.Err():
  1421  		it.done = true
  1422  		it.fail = err
  1423  		return it.Next()
  1424  	}
  1425  }
  1426  
  1427  // Error returns any retrieval or parsing error occurred during filtering.
  1428  func (it *MaticUnpausedIterator) Error() error {
  1429  	return it.fail
  1430  }
  1431  
  1432  // Close terminates the iteration process, releasing any pending underlying
  1433  // resources.
  1434  func (it *MaticUnpausedIterator) Close() error {
  1435  	it.sub.Unsubscribe()
  1436  	return nil
  1437  }
  1438  
  1439  // MaticUnpaused represents a Unpaused event raised by the Matic contract.
  1440  type MaticUnpaused struct {
  1441  	Account common.Address
  1442  	Raw     types.Log // Blockchain specific contextual infos
  1443  }
  1444  
  1445  // FilterUnpaused is a free log retrieval operation binding the contract event 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa.
  1446  //
  1447  // Solidity: event Unpaused(address account)
  1448  func (_Matic *MaticFilterer) FilterUnpaused(opts *bind.FilterOpts) (*MaticUnpausedIterator, error) {
  1449  
  1450  	logs, sub, err := _Matic.contract.FilterLogs(opts, "Unpaused")
  1451  	if err != nil {
  1452  		return nil, err
  1453  	}
  1454  	return &MaticUnpausedIterator{contract: _Matic.contract, event: "Unpaused", logs: logs, sub: sub}, nil
  1455  }
  1456  
  1457  // WatchUnpaused is a free log subscription operation binding the contract event 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa.
  1458  //
  1459  // Solidity: event Unpaused(address account)
  1460  func (_Matic *MaticFilterer) WatchUnpaused(opts *bind.WatchOpts, sink chan<- *MaticUnpaused) (event.Subscription, error) {
  1461  
  1462  	logs, sub, err := _Matic.contract.WatchLogs(opts, "Unpaused")
  1463  	if err != nil {
  1464  		return nil, err
  1465  	}
  1466  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1467  		defer sub.Unsubscribe()
  1468  		for {
  1469  			select {
  1470  			case log := <-logs:
  1471  				// New log arrived, parse the event and forward to the user
  1472  				event := new(MaticUnpaused)
  1473  				if err := _Matic.contract.UnpackLog(event, "Unpaused", log); err != nil {
  1474  					return err
  1475  				}
  1476  				event.Raw = log
  1477  
  1478  				select {
  1479  				case sink <- event:
  1480  				case err := <-sub.Err():
  1481  					return err
  1482  				case <-quit:
  1483  					return nil
  1484  				}
  1485  			case err := <-sub.Err():
  1486  				return err
  1487  			case <-quit:
  1488  				return nil
  1489  			}
  1490  		}
  1491  	}), nil
  1492  }
  1493  
  1494  // ParseUnpaused is a log parse operation binding the contract event 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa.
  1495  //
  1496  // Solidity: event Unpaused(address account)
  1497  func (_Matic *MaticFilterer) ParseUnpaused(log types.Log) (*MaticUnpaused, error) {
  1498  	event := new(MaticUnpaused)
  1499  	if err := _Matic.contract.UnpackLog(event, "Unpaused", log); err != nil {
  1500  		return nil, err
  1501  	}
  1502  	event.Raw = log
  1503  	return event, nil
  1504  }